/* ============================================================
   BULK PEPTIDES — DESIGN SYSTEM v1
   White-dominant clinical. Cool blue. Dark technical panels.
   Derived from the vial label: white field, blue haze, moire line-work.
   ============================================================ */

:root{
  /* surface */
  --bp-white:#FFFFFF;
  --bp-paper:#F7F9FC;
  --bp-mist:#EEF3F9;
  --bp-line:#E3EAF3;
  --bp-line-2:#D3DEEC;

  /* ink */
  --bp-ink:#0A1222;
  --bp-ink-2:#39465A;
  --bp-ink-3:#6C7C92;
  --bp-ink-4:#95A3B6;

  /* dark technical */
  --bp-abyss:#05080F;
  --bp-abyss-2:#0A1120;
  --bp-abyss-3:#131E33;

  /* blue */
  --bp-blue:#1668D6;
  --bp-blue-h:#0E55B8;
  --bp-blue-2:#4C9DEA;
  --bp-blue-3:#93C6F6;
  --bp-haze:#D3E6FA;
  --bp-haze-2:#EAF3FD;
  --bp-glow:#6FB7FF;

  /* signal */
  --bp-ok:#0E9F6E;
  --bp-warn:#B45309;

  /* space scale */
  --bp-1:4px; --bp-2:8px; --bp-3:12px; --bp-4:16px; --bp-5:24px;
  --bp-6:32px; --bp-7:48px; --bp-8:64px; --bp-9:96px; --bp-10:128px;

  /* radius + shadow */
  --bp-r:10px; --bp-r-lg:16px; --bp-r-xl:24px;
  --bp-sh-1:0 1px 2px rgba(10,18,34,.05);
  --bp-sh-2:0 2px 4px rgba(10,18,34,.04), 0 12px 28px rgba(10,18,34,.06);
  --bp-sh-3:0 4px 8px rgba(10,18,34,.05), 0 24px 56px rgba(10,18,34,.10);
  --bp-sh-blue:0 12px 32px rgba(22,104,214,.18);

  --bp-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --bp-mono:ui-monospace,'SF Mono','JetBrains Mono','Roboto Mono',Menlo,monospace;

  --bp-max:1240px;
}

/* ---------- reset-ish ---------- */
html{-webkit-text-size-adjust:100%;}
body.bp{overflow-x:hidden;}
body.bp{
  background:var(--bp-white);
  color:var(--bp-ink);
  font-family:var(--bp-sans);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-variant-numeric:tabular-nums;
}
body.bp img{max-width:100%;height:auto;}

/* ---------- type ---------- */
body.bp h1,body.bp h2,body.bp h3,body.bp h4,body.bp h5{
  font-family:var(--bp-sans);
  color:var(--bp-ink);
  font-weight:650;
  letter-spacing:-.022em;
  line-height:1.12;
  margin:0 0 var(--bp-4);
}
body.bp h1{font-size:clamp(38px,5.2vw,66px);letter-spacing:-.032em;line-height:1.04;}
body.bp h2{font-size:clamp(28px,3.4vw,42px);letter-spacing:-.028em;}
body.bp h3{font-size:clamp(21px,2.1vw,27px);letter-spacing:-.02em;}
body.bp h4{font-size:19px;letter-spacing:-.012em;}
body.bp p{margin:0 0 var(--bp-4);color:var(--bp-ink-2);}
body.bp a{color:var(--bp-blue);text-decoration:none;}
body.bp a:hover{color:var(--bp-blue-h);}
body.bp strong,body.bp b{font-weight:640;color:var(--bp-ink);}
/* dark surfaces: b/strong must win against body.bp b (0,1,2) */
body.bp .bp-sec--dark b,body.bp .bp-sec--dark strong,
body.bp .bp-panel b,body.bp .bp-panel strong,
body.bp .bpx b,body.bp .bpx strong,
body.bp .bpcalc b,body.bp .bpcalc strong,
body.bp .bph-dcard b,body.bp .bph-lot__r b{color:#F4F9FF;}
body.bp .bp-panel p,body.bp .bp-sec--dark li{color:#A9BDD6;}

.bp-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--bp-mono);font-size:11.5px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--bp-blue);
  margin-bottom:var(--bp-4);
}
.bp-eyebrow::before{content:"";width:22px;height:1px;background:var(--bp-blue-2);flex:0 0 22px;}
.bp-eyebrow--light{color:var(--bp-blue-3);}
.bp-eyebrow--light::before{background:var(--bp-blue-2);}

.bp-lede{font-size:clamp(17px,1.5vw,20px);line-height:1.62;color:var(--bp-ink-2);max-width:66ch;}
.bp-measure{max-width:70ch;}
.bp-mono{font-family:var(--bp-mono);font-size:.88em;letter-spacing:-.01em;}

/* ---------- layout ---------- */
.bp-wrap{max-width:var(--bp-max);margin:0 auto;padding:0 24px;}
.bp-wrap--narrow{max-width:860px;}
.bp-sec{padding:var(--bp-9) 0;}
.bp-sec--tight{padding:var(--bp-8) 0;}
.bp-sec--paper{background:var(--bp-paper);}
.bp-sec--mist{background:var(--bp-mist);}
.bp-sec--dark{background:var(--bp-abyss);color:#E8EFF9;}
.bp-sec--dark h2,.bp-sec--dark h3,.bp-sec--dark h4{color:#F2F7FD;}
.bp-sec--dark p{color:#A9BDD6;}
.bp-rule{height:1px;background:var(--bp-line);border:0;margin:0;}

.bp-grid{display:grid;gap:var(--bp-5);}
.bp-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.bp-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.bp-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.bp-split{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--bp-8);align-items:center;}

/* ---------- the label motif: haze + line-work ---------- */
.bp-haze{position:relative;overflow:hidden;isolation:isolate;}
.bp-haze::before{
  content:"";position:absolute;z-index:-1;inset:-30% -10% auto auto;
  width:56vw;height:56vw;max-width:760px;max-height:760px;border-radius:50%;
  background:
    radial-gradient(closest-side, rgba(111,183,255,.34), rgba(111,183,255,.12) 45%, rgba(111,183,255,0) 72%),
    radial-gradient(closest-side at 62% 58%, rgba(22,104,214,.20), rgba(22,104,214,0) 70%);
  filter:blur(18px);
  pointer-events:none;
}
.bp-haze--left::before{inset:auto auto -35% -12%;}

.bp-panel{
  position:relative;overflow:hidden;
  background:var(--bp-abyss);
  border-radius:var(--bp-r-xl);
  box-shadow:var(--bp-sh-3);
}
.bp-panel__art{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:1;}
.bp-panel__art svg{width:100%;height:100%;display:block;}
.bp-panel__body{position:relative;z-index:2;padding:clamp(28px,4vw,56px);}
.bp-panel::after{ /* vignette so text stays legible over the line-work */
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(130% 92% at 50% 50%, rgba(5,8,15,0) 0%, rgba(5,8,15,.30) 52%, rgba(5,8,15,.80) 88%);
}

/* ---------- buttons ---------- */
.bp-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--bp-sans);font-size:15px;font-weight:600;letter-spacing:-.006em;
  padding:14px 26px;border-radius:var(--bp-r);border:1px solid transparent;
  cursor:pointer;transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
  text-decoration:none;line-height:1;
}
.bp-btn:focus-visible{outline:2px solid var(--bp-blue-2);outline-offset:3px;}
.bp-btn--primary{background:var(--bp-blue);color:#fff !important;box-shadow:var(--bp-sh-blue);}
.bp-btn--primary:hover{background:var(--bp-blue-h);transform:translateY(-1px);box-shadow:0 16px 40px rgba(22,104,214,.26);}
.bp-btn--ghost{background:#fff;color:var(--bp-ink) !important;border-color:var(--bp-line-2);box-shadow:var(--bp-sh-1);}
.bp-btn--ghost:hover{border-color:var(--bp-blue-2);color:var(--bp-blue) !important;transform:translateY(-1px);}
.bp-btn--onDark{background:rgba(255,255,255,.07);color:#EAF2FC !important;border-color:rgba(147,198,246,.30);backdrop-filter:blur(6px);}
.bp-btn--onDark:hover{background:rgba(255,255,255,.13);border-color:var(--bp-blue-2);}
.bp-btn--lg{padding:17px 34px;font-size:16px;}
.bp-btn__arrow{transition:transform .18s ease;}
.bp-btn:hover .bp-btn__arrow{transform:translateX(3px);}

/* ---------- cards ---------- */
.bp-card{
  background:#fff;border:1px solid var(--bp-line);border-radius:var(--bp-r-lg);
  padding:var(--bp-6);box-shadow:var(--bp-sh-1);
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.bp-card:hover{border-color:var(--bp-line-2);box-shadow:var(--bp-sh-2);transform:translateY(-2px);}
.bp-card__num{
  font-family:var(--bp-mono);font-size:12px;font-weight:600;color:var(--bp-blue);
  letter-spacing:.1em;display:block;margin-bottom:var(--bp-3);
}
.bp-card h3{font-size:20px;margin-bottom:10px;}
.bp-card p{font-size:15.5px;line-height:1.62;color:var(--bp-ink-2);margin:0;}

/* stat / metric */
.bp-stat{
  background:#fff;border:1px solid var(--bp-line);border-radius:var(--bp-r-lg);
  padding:var(--bp-5) var(--bp-5) 22px;position:relative;overflow:hidden;
}
.bp-stat::before{content:"";position:absolute;inset:0 auto auto 0;width:3px;height:100%;
  background:linear-gradient(180deg,var(--bp-blue-2),rgba(76,157,234,0));}
.bp-stat__v{font-size:clamp(26px,3vw,36px);font-weight:650;letter-spacing:-.03em;color:var(--bp-ink);line-height:1.05;}
.bp-stat__l{font-size:13.5px;color:var(--bp-ink-3);margin-top:7px;line-height:1.45;}

/* tier / pricing rows — the bulk story */
.bp-tiers{border:1px solid var(--bp-line);border-radius:var(--bp-r-lg);overflow:hidden;background:#fff;box-shadow:var(--bp-sh-1);}
.bp-tier{display:grid;grid-template-columns:1fr auto auto;gap:var(--bp-4);align-items:center;
  padding:18px var(--bp-5);border-bottom:1px solid var(--bp-line);}
.bp-tier:last-child{border-bottom:0;}
.bp-tier:nth-child(odd){background:var(--bp-paper);}
.bp-tier__q{font-weight:600;font-size:15.5px;color:var(--bp-ink);}
.bp-tier__d{font-family:var(--bp-mono);font-size:14px;color:var(--bp-blue);font-weight:600;}
.bp-tier__n{font-size:14px;color:var(--bp-ink-3);}
.bp-tier--head{background:var(--bp-abyss-2) !important;color:#DCE8F7;font-family:var(--bp-mono);
  font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;padding:13px var(--bp-5);}
.bp-tier--head .bp-tier__q,.bp-tier--head .bp-tier__d,.bp-tier--head .bp-tier__n{color:#8FA8C6;font-weight:600;font-size:11.5px;font-family:var(--bp-mono);letter-spacing:.12em;}

/* chips */
.bp-chips{display:flex;flex-wrap:wrap;gap:9px;}
.bp-chip{
  display:inline-flex;align-items:center;gap:7px;
  background:#fff;border:1px solid var(--bp-line);border-radius:999px;
  padding:8px 15px;font-size:14px;color:var(--bp-ink-2);
  transition:border-color .15s ease,color .15s ease,background .15s ease;
}
.bp-chip:hover{border-color:var(--bp-blue-2);color:var(--bp-blue);background:var(--bp-haze-2);}
.bp-chip--dark{background:rgba(255,255,255,.05);border-color:rgba(147,198,246,.22);color:#C6D8ED;}

/* tick list */
.bp-ticks{list-style:none;margin:0;padding:0;display:grid;gap:13px;}
.bp-ticks li{position:relative;padding-left:30px;font-size:15.5px;color:var(--bp-ink-2);line-height:1.6;}
.bp-ticks li::before{
  content:"";position:absolute;left:0;top:7px;width:17px;height:17px;border-radius:50%;
  background:var(--bp-haze);
  box-shadow:inset 0 0 0 1px rgba(22,104,214,.25);
}
.bp-ticks li::after{
  content:"";position:absolute;left:5.5px;top:11.5px;width:5px;height:8.5px;
  border:solid var(--bp-blue);border-width:0 1.8px 1.8px 0;transform:rotate(43deg);
}

/* notice */
.bp-note{
  border:1px solid var(--bp-line);border-left:3px solid var(--bp-blue-2);
  background:var(--bp-paper);border-radius:0 var(--bp-r) var(--bp-r) 0;
  padding:var(--bp-5);font-size:15px;color:var(--bp-ink-2);
}
.bp-note strong{color:var(--bp-ink);}

/* RUO footer line */
.bp-ruo{
  font-size:13px;line-height:1.6;color:var(--bp-ink-3);
  border-top:1px solid var(--bp-line);padding-top:var(--bp-5);margin-top:var(--bp-7);
}

/* tables */
body.bp .bp-table-wrap{overflow-x:auto;border:1px solid var(--bp-line);border-radius:var(--bp-r-lg);background:#fff;}
body.bp table.bp-table{width:100%;border-collapse:collapse;font-size:15px;margin:0;}
body.bp table.bp-table th{
  background:var(--bp-abyss-2);color:#9FB5D1;font-family:var(--bp-mono);
  font-size:11.5px;letter-spacing:.11em;text-transform:uppercase;font-weight:600;
  text-align:left;padding:14px 18px;white-space:nowrap;
}
body.bp table.bp-table td{padding:14px 18px;border-bottom:1px solid var(--bp-line);color:var(--bp-ink-2);vertical-align:top;}
body.bp table.bp-table tr:last-child td{border-bottom:0;}
body.bp table.bp-table tr:nth-child(even) td{background:var(--bp-paper);}

/* ---------- mobile ---------- */
@media (max-width:1024px){
  .bp-split{grid-template-columns:1fr;gap:var(--bp-7);}
  .bp-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){
  .bph__in{gap:12px;}
  .bph__cta .bp-btn{padding:10px 14px;font-size:13.5px;white-space:nowrap;}
  .bph__wm{font-size:15.5px;}
  body.bp{font-size:16px;}
  .bp-sec{padding:var(--bp-8) 0;}
  .bp-sec--tight{padding:var(--bp-7) 0;}
  .bp-wrap{padding:0 18px;}
  .bp-grid-2,.bp-grid-3,.bp-grid-4{grid-template-columns:1fr;}
  .bp-card{padding:var(--bp-5);}
  .bp-tier{grid-template-columns:1fr auto;row-gap:6px;}
  .bp-tier__n{grid-column:1/-1;}
  .bp-btn{width:100%;}
  .bp-btn-row .bp-btn{width:auto;}
  .bp-panel__body{padding:24px 20px;}
}
@media (prefers-reduced-motion:reduce){
  body.bp *{animation-duration:.001ms !important;transition-duration:.001ms !important;}
}

/* ===== HERO: the living field ===== */
.bpx{position:relative;background:#04070E;color:#EAF2FC;overflow:hidden;isolation:isolate;}
.bpx__field{position:absolute;inset:0;width:100%;height:100%;z-index:0;display:block;}
.bpx::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
   radial-gradient(90% 70% at 22% 42%, rgba(4,7,14,.92) 0%, rgba(4,7,14,.55) 42%, rgba(4,7,14,0) 74%),
   linear-gradient(180deg, rgba(4,7,14,.55) 0%, rgba(4,7,14,0) 22%, rgba(4,7,14,.30) 72%, #04070E 100%);}
.bpx__in{position:relative;z-index:2;padding:clamp(88px,11vh,150px) 0 clamp(72px,9vh,120px);}
.bpx__grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(40px,5vw,84px);align-items:center;}

.bpx__kick{display:inline-flex;align-items:center;gap:10px;font-family:var(--bp-mono);font-size:11px;
  letter-spacing:.2em;text-transform:uppercase;color:#8FC4F5;padding:7px 14px;border-radius:999px;
  border:1px solid rgba(143,196,245,.24);background:rgba(143,196,245,.06);backdrop-filter:blur(8px);margin-bottom:28px;}
.bpx__kick i{width:6px;height:6px;border-radius:50%;background:#6FB7FF;box-shadow:0 0 0 4px rgba(111,183,255,.18);
  animation:bpPulse 2.6s ease-in-out infinite;font-style:normal;}
@keyframes bpPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.78)}}

body.bp .bpx h1{
  font-size:clamp(46px,7.4vw,104px);line-height:.94;letter-spacing:-.045em;font-weight:660;
  color:#F4F9FF;margin:0 0 26px;text-wrap:balance;}
.bpx h1 em{font-style:normal;display:block;
  background:linear-gradient(96deg,#8FC4F5 0%,#4C9DEA 42%,#1668D6 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.bpx__lede{font-size:clamp(16.5px,1.42vw,19.5px);line-height:1.6;color:#A9BDD6;max-width:50ch;margin:0 0 34px;}
.bpx__row{display:flex;gap:12px;flex-wrap:wrap;}
.bpx__meta{display:flex;gap:clamp(18px,3vw,44px);flex-wrap:wrap;margin-top:46px;
  padding-top:26px;border-top:1px solid rgba(143,196,245,.14);}
.bpx__m b{display:block;font-size:clamp(20px,2.2vw,28px);font-weight:640;letter-spacing:-.03em;color:#F4F9FF;line-height:1.1;}
.bpx__m span{display:block;font-size:12.5px;color:#7E93AE;margin-top:5px;letter-spacing:.01em;}

/* ===== the calculator ===== */
.bpcalc{position:relative;border-radius:22px;padding:30px;
  background:linear-gradient(168deg, rgba(20,32,54,.92) 0%, rgba(8,14,26,.94) 100%);
  border:1px solid rgba(143,196,245,.20);
  box-shadow:0 30px 80px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(18px) saturate(140%);}
.bpcalc__h{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:22px;}
body.bp .bpcalc__h b{font-family:var(--bp-mono);font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:#8FC4F5;font-weight:600;}
.bpcalc__q{font-size:15px;color:#A9BDD6;}
body.bp .bpcalc__q b{color:#F4F9FF;font-size:15px;font-family:var(--bp-sans);letter-spacing:0;}

.bpcalc__slider{position:relative;margin:4px 0 26px;}
input.bpr{-webkit-appearance:none;appearance:none;width:100%;height:36px;background:transparent;cursor:grab;display:block;}
input.bpr:active{cursor:grabbing;}
input.bpr::-webkit-slider-runnable-track{height:5px;border-radius:99px;
  background:linear-gradient(90deg,#1668D6 0%,#6FB7FF var(--fill,8%),rgba(143,196,245,.16) var(--fill,8%),rgba(143,196,245,.16) 100%);}
input.bpr::-moz-range-track{height:5px;border-radius:99px;background:rgba(143,196,245,.16);}
input.bpr::-moz-range-progress{height:5px;border-radius:99px;background:linear-gradient(90deg,#1668D6,#6FB7FF);}
input.bpr::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;margin-top:-10.5px;
  background:radial-gradient(circle at 34% 30%,#fff 0%,#CFE4FA 44%,#6FB7FF 100%);
  border:1px solid rgba(255,255,255,.7);box-shadow:0 4px 14px rgba(22,104,214,.6), 0 0 0 7px rgba(111,183,255,.13);
  transition:box-shadow .16s ease,transform .16s ease;}
input.bpr:hover::-webkit-slider-thumb{transform:scale(1.07);box-shadow:0 6px 20px rgba(22,104,214,.7),0 0 0 11px rgba(111,183,255,.17);}
input.bpr::-moz-range-thumb{width:24px;height:24px;border-radius:50%;border:1px solid rgba(255,255,255,.7);
  background:radial-gradient(circle at 34% 30%,#fff,#6FB7FF);box-shadow:0 4px 14px rgba(22,104,214,.6);}
.bpcalc__scale{display:flex;justify-content:space-between;font-family:var(--bp-mono);font-size:10.5px;color:#5F738C;}
.bpcalc__scale{color:#5F738C;letter-spacing:.08em;margin-top:-4px;}

.bpcalc__out{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(143,196,245,.14);
  border:1px solid rgba(143,196,245,.14);border-radius:14px;overflow:hidden;margin-bottom:16px;}
.bpcalc__cell{background:rgba(6,11,21,.72);padding:17px 18px;}
.bpcalc__cell span{display:block;font-size:11.5px;color:#7E93AE;letter-spacing:.05em;text-transform:uppercase;font-family:var(--bp-mono);margin-bottom:7px;}
.bpcalc__cell b{font-size:clamp(21px,2.4vw,27px);font-weight:640;letter-spacing:-.03em;color:#F4F9FF;line-height:1;}
body.bp .bpcalc__cell--hl b{background:linear-gradient(94deg,#93C6F6,#4C9DEA);-webkit-background-clip:text;background-clip:text;color:transparent;}
.bpcalc__save{font-size:13.5px;color:#7E93AE;text-align:center;padding:11px;border-radius:10px;
  background:rgba(143,196,245,.05);border:1px solid rgba(143,196,245,.10);transition:all .25s ease;}
.bpcalc__save.is-on{color:#8FE3C0;background:rgba(14,159,110,.10);border-color:rgba(14,159,110,.26);font-weight:600;}
.bpcalc__note{font-size:12px;color:#5F738C;margin:14px 0 0;line-height:1.55;}

.bpcalc__ladder{display:flex;gap:6px;margin-top:18px;}
.bpcalc__step{flex:1;text-align:center;padding:9px 4px;border-radius:9px;font-family:var(--bp-mono);font-size:10.5px;
  letter-spacing:.06em;color:#5F738C;background:rgba(143,196,245,.04);border:1px solid transparent;transition:all .22s ease;}
.bpcalc__step.is-live{color:#04070E;background:linear-gradient(94deg,#93C6F6,#4C9DEA);border-color:transparent;font-weight:700;
  box-shadow:0 6px 18px rgba(76,157,234,.32);}

/* scroll reveal */
html.bp-js [data-rise]{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);}
html.bp-js [data-rise].is-in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){[data-rise]{opacity:1;transform:none;}}

@media(max-width:1024px){
  .bpx__grid{grid-template-columns:1fr;gap:44px;}
  .bpx__in{padding:72px 0 64px;}
}
@media(max-width:620px){
  .bpcalc{padding:22px;border-radius:18px;}
  .bpcalc__out{grid-template-columns:1fr;}
  .bpx__meta{gap:22px;}
  .bpcalc__ladder{flex-wrap:wrap;}
  .bpcalc__step{flex:1 1 30%;}
}

/* header over the dark hero */
body.bp .bph{background:transparent;border-bottom-color:transparent;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;}
body.bp .bph .bph__wm{color:#F4F9FF;}
body.bp .bph .bph__wm i{color:#7E93AE;}
body.bp .bph__nav a{color:#B9CCE3;}
body.bp .bph__nav a:hover{color:#8FC4F5;}
body.bp .bph .bp-btn--ghost{background:rgba(255,255,255,.07);border-color:rgba(143,196,245,.26);color:#EAF2FC !important;}
body.bp .bph .bp-btn--ghost:hover{background:rgba(255,255,255,.13);color:#fff !important;}
body.bp .bph.is-stuck{background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(16px);
  border-bottom-color:var(--bp-line);box-shadow:0 1px 0 rgba(10,18,34,.04);}
body.bp .bph.is-stuck .bph__wm{color:var(--bp-ink);}
body.bp .bph.is-stuck .bph__wm i{color:var(--bp-ink-4);}
body.bp .bph.is-stuck .bph__nav a{color:var(--bp-ink-2);}
body.bp .bph.is-stuck .bph__nav a:hover{color:var(--bp-blue);}
body.bp .bph.is-stuck .bp-btn--ghost{background:#fff;border-color:var(--bp-line-2);color:var(--bp-ink) !important;}

/* --- header: decisive colours, both states --- */
body.bp .bph .bph__wm,
body.bp .bph .bph__wm b{color:#F4F9FF;}
body.bp .bph .bph__wm i{color:#8095AE;}
body.bp .bph.is-stuck .bph__wm,
body.bp .bph.is-stuck .bph__wm b{color:var(--bp-ink);}
body.bp .bph.is-stuck .bph__wm i{color:var(--bp-ink-4);}

/* --- hamburger --- */
.bpburger{display:none;width:44px;height:44px;border:1px solid rgba(143,196,245,.24);border-radius:11px;
  background:rgba(255,255,255,.06);backdrop-filter:blur(8px);cursor:pointer;padding:0;
  align-items:center;justify-content:center;flex:0 0 auto;transition:border-color .2s ease,background .2s ease;}
.bph.is-stuck .bpburger{border-color:var(--bp-line-2);background:#fff;}
.bpburger:hover{border-color:var(--bp-blue-2);}
.bpburger span{display:block;position:relative;width:18px;height:1.6px;background:#EAF2FC;border-radius:2px;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .18s ease,background .2s ease;}
.bph.is-stuck .bpburger span{background:var(--bp-ink);}
.bpburger span::before,.bpburger span::after{content:"";position:absolute;left:0;width:18px;height:1.6px;
  background:inherit;border-radius:2px;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .18s ease;}
.bpburger span::before{top:-6px;} .bpburger span::after{top:6px;}
.bpburger[aria-expanded="true"] span{background:transparent !important;}
.bpburger[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg);background:#EAF2FC;}
.bpburger[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg);background:#EAF2FC;}

/* --- mobile drawer --- */
.bpdrawer{position:fixed;inset:0;z-index:60;display:grid;grid-template-rows:1fr auto;
  background:linear-gradient(175deg,#060B15 0%,#0A1120 60%,#05080F 100%);
  opacity:0;visibility:hidden;transform:translateY(-12px);
  transition:opacity .3s ease,transform .38s cubic-bezier(.2,.8,.2,1),visibility .3s;overflow-y:auto;}
.bpdrawer.is-open{opacity:1;visibility:visible;transform:none;}
.bpdrawer__art{position:absolute;inset:0;opacity:.34;pointer-events:none;}
.bpdrawer__art svg{width:100%;height:100%;}
.bpdrawer__in{position:relative;z-index:2;padding:96px 24px 32px;}
.bpdrawer__l{display:block;font-family:var(--bp-sans);font-size:clamp(28px,8vw,42px);font-weight:650;
  letter-spacing:-.035em;color:#F4F9FF;text-decoration:none;padding:14px 0;
  border-bottom:1px solid rgba(143,196,245,.12);display:flex;align-items:center;justify-content:space-between;gap:14px;
  opacity:0;transform:translateY(14px);transition:opacity .4s ease,transform .4s cubic-bezier(.2,.8,.2,1);}
.bpdrawer.is-open .bpdrawer__l{opacity:1;transform:none;}
.bpdrawer__l small{font-family:var(--bp-mono);font-size:11px;letter-spacing:.14em;color:#5F738C;font-weight:500;}
.bpdrawer__l:hover{color:#8FC4F5;}
.bpdrawer__foot{position:relative;z-index:2;padding:22px 24px 32px;border-top:1px solid rgba(143,196,245,.12);
  display:grid;gap:10px;}
.bpdrawer__foot .bp-btn{width:100%;}
body.bp.is-locked{overflow:hidden;}
@media(max-width:1024px){
  .bpburger{display:flex;}
  .bph__cta .bp-btn--primary{display:none;}
}
@media(min-width:1025px){ .bpdrawer{display:none;} }

/* burger must sit above its own drawer */
.bpburger{position:relative;z-index:70;}
.bph{z-index:65;}

/* ===== compound ticker ===== */
.bptick{position:relative;background:#04070E;border-top:1px solid rgba(143,196,245,.12);
  border-bottom:1px solid rgba(143,196,245,.12);overflow:hidden;padding:18px 0;}
.bptick__mask{position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,#04070E 0%,rgba(4,7,14,0) 12%,rgba(4,7,14,0) 88%,#04070E 100%);}
.bptick__row{display:flex;gap:0;width:max-content;animation:bpMarq 64s linear infinite;}
.bptick:hover .bptick__row{animation-play-state:paused;}
@keyframes bpMarq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.bptick__i{display:inline-flex;align-items:baseline;gap:10px;padding:0 26px;white-space:nowrap;
  border-right:1px solid rgba(143,196,245,.10);}
.bptick__i b{font-size:14.5px;color:#DCE8F7;font-weight:600;letter-spacing:-.01em;}
.bptick__i span{font-family:var(--bp-mono);font-size:12px;color:#6FB7FF;}
.bptick__i em{font-style:normal;font-family:var(--bp-mono);font-size:10.5px;color:#5F738C;}
.bptick__i em{color:#5F738C;letter-spacing:.08em;}
@media(prefers-reduced-motion:reduce){.bptick__row{animation:none;}}

/* ===== product grid ===== */
.bpshop{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:18px;}
.bpp{position:relative;background:#fff;border:1px solid var(--bp-line);border-radius:16px;overflow:hidden;
  display:flex;flex-direction:column;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease;}
.bpp:hover{border-color:var(--bp-blue-3);box-shadow:0 18px 44px rgba(10,18,34,.10);transform:translateY(-3px);}
.bpp__top{position:relative;aspect-ratio:1/1;background:linear-gradient(160deg,#F2F7FD 0%,#E6EFF9 100%);
  display:flex;align-items:center;justify-content:center;overflow:hidden;}
.bpp__top::after{content:"";position:absolute;inset:0;
  background:radial-gradient(60% 50% at 70% 22%, rgba(111,183,255,.26), rgba(111,183,255,0) 70%);}
.bpp__vial{position:relative;z-index:2;width:44%;filter:drop-shadow(0 12px 22px rgba(10,18,34,.18));
  transition:transform .35s cubic-bezier(.2,.8,.2,1);}
.bpp:hover .bpp__vial{transform:translateY(-5px) scale(1.04);}
.bpp__tag{position:absolute;z-index:3;top:12px;left:12px;font-family:var(--bp-mono);font-size:10px;
  letter-spacing:.11em;text-transform:uppercase;padding:5px 9px;border-radius:99px;
  background:rgba(4,7,14,.86);color:#8FC4F5;backdrop-filter:blur(6px);}
.bpp__tag--case{background:linear-gradient(94deg,#1668D6,#4C9DEA);color:#fff;}
.bpp__b{padding:17px 18px 18px;display:flex;flex-direction:column;gap:5px;flex:1;}
body.bp .bpp__b h3{font-size:16.5px;margin:0;letter-spacing:-.018em;line-height:1.25;}
.bpp__sub{font-family:var(--bp-mono);font-size:11.5px;color:var(--bp-ink-4);letter-spacing:.04em;}
.bpp__foot{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;}
.bpp__pr{font-size:19px;font-weight:650;letter-spacing:-.025em;color:var(--bp-ink);}
.bpp__pr i{font-style:normal;font-size:12px;color:var(--bp-ink-4);font-weight:500;}
.bpp__was{font-family:var(--bp-mono);font-size:11.5px;color:var(--bp-ok);}
.bpp__bar{height:3px;background:var(--bp-mist);border-radius:99px;overflow:hidden;margin-top:11px;}
.bpp__bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#1668D6,#6FB7FF);}
.bpp__stock{font-size:11.5px;color:var(--bp-ink-3);margin-top:7px;}

/* ===== split compare ===== */
.bpcmp{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--bp-line);
  border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--bp-sh-2);}
.bpcmp__c{padding:30px;}
.bpcmp__c:first-child{border-right:1px solid var(--bp-line);}
.bpcmp__c--win{background:linear-gradient(168deg,#F4F9FF,#EAF3FD);}
.bpcmp__h{font-family:var(--bp-mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--bp-ink-4);margin-bottom:6px;}
.bpcmp__c--win .bpcmp__h{color:var(--bp-blue);}
.bpcmp__v{font-size:clamp(30px,4vw,44px);font-weight:660;letter-spacing:-.035em;line-height:1;margin-bottom:5px;}
.bpcmp__c--win .bpcmp__v{background:linear-gradient(94deg,#1668D6,#4C9DEA);-webkit-background-clip:text;background-clip:text;color:transparent;}
.bpcmp__n{font-size:14px;color:var(--bp-ink-3);}
@media(max-width:620px){.bpcmp{grid-template-columns:1fr}.bpcmp__c:first-child{border-right:0;border-bottom:1px solid var(--bp-line)}}

/* ===== FAQ ===== */
.bpfaq{border-top:1px solid var(--bp-line);}
.bpfaq__i{border-bottom:1px solid var(--bp-line);}
.bpfaq__q{width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:22px 44px 22px 0;
  font-family:var(--bp-sans);font-size:clamp(16.5px,1.7vw,19px);font-weight:600;letter-spacing:-.018em;
  color:var(--bp-ink);position:relative;line-height:1.4;}
.bpfaq__q::after{content:"";position:absolute;right:6px;top:50%;width:11px;height:11px;margin-top:-7px;
  border-right:1.8px solid var(--bp-blue);border-bottom:1.8px solid var(--bp-blue);
  transform:rotate(45deg);transition:transform .28s cubic-bezier(.2,.8,.2,1);}
.bpfaq__i.is-open .bpfaq__q::after{transform:rotate(-135deg);margin-top:-2px;}
.bpfaq__q:hover{color:var(--bp-blue);}
.bpfaq__a{max-height:0;overflow:hidden;transition:max-height .42s cubic-bezier(.2,.8,.2,1);}
.bpfaq__a p{font-size:16px;line-height:1.68;color:var(--bp-ink-2);padding:0 40px 24px 0;margin:0;}
.bpfaq__a p + p{padding-top:14px;}

/* ===== sticky mobile bar ===== */
.bpsticky{position:fixed;left:0;right:0;bottom:0;z-index:55;display:none;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.94);backdrop-filter:blur(16px) saturate(180%);border-top:1px solid var(--bp-line);
  transform:translateY(110%);transition:transform .35s cubic-bezier(.2,.8,.2,1);}
.bpsticky.is-up{transform:none;}
.bpsticky .bp-btn{flex:1;}
@media(max-width:760px){.bpsticky{display:flex;}}

/* chrome */

*{box-sizing:border-box}
body{margin:0}
.bph{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--bp-line)}
.bph__in{display:flex;align-items:center;gap:32px;height:74px}
.bph__logo{display:flex;align-items:center;gap:11px;text-decoration:none;flex:0 0 auto}
.bph__wm{font-size:17.5px;letter-spacing:-.03em;color:var(--bp-ink);font-weight:500;white-space:nowrap}
.bph__wm b{font-weight:700}
.bph__wm i{font-style:normal;color:var(--bp-ink-4);font-weight:400}
.bph__nav{display:flex;gap:28px;margin-left:8px;flex:1 1 auto}
.bph__nav a{font-size:15px;color:var(--bp-ink-2);font-weight:500;letter-spacing:-.008em}
.bph__nav a:hover{color:var(--bp-blue)}
.bph__cta{display:flex;gap:10px;flex:0 0 auto}
.bph__cta .bp-btn{padding:11px 18px;font-size:14px;width:auto}
.bph-hero{padding-top:84px;padding-bottom:96px}
.bph-hero__panel{min-height:430px;display:flex;align-items:center}
.bph-lot__r{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:13px 0;border-bottom:1px solid rgba(147,198,246,.16)}
.bph-lot__r:last-child{border-bottom:0}
.bph-lot__r span{font-size:14.5px;color:#9FB5D1}
body.bp .bph-lot__r b{font-size:16px;color:#EAF2FC;font-weight:600;letter-spacing:-.01em}
.bph-dark{position:relative;overflow:hidden}
.bph-dark__art{position:absolute;inset:0;opacity:.30;pointer-events:none}
.bph-dark__art svg{width:100%;height:100%;display:block}
.bph-dcard{background:rgba(255,255,255,.04);border:1px solid rgba(147,198,246,.16);border-radius:var(--bp-r);padding:18px 20px}
body.bp .bph-dcard b{display:block;color:#EAF2FC;font-size:15.5px;font-weight:600;margin-bottom:5px;letter-spacing:-.01em}
.bph-dcard span{font-size:14.5px;color:#9FB5D1;line-height:1.55}
.bph-short{display:none}
@media(max-width:1024px){.bph__nav{display:none}.bph__cta .bp-btn--ghost{display:none}}
@media(max-width:620px){
 .bph__in{gap:12px}
 .bph__cta .bp-btn{padding:10px 14px;font-size:13.5px;white-space:nowrap}
 .bph__wm{font-size:15.5px}
 .bph__cta .bp-btn--primary .bph-long{display:none}
 .bph__cta .bp-btn--primary .bph-short{display:inline}
}

/* theme chrome suppressed — Bulk Peptides supplies its own */
body.bp .site-header,body.bp .header-wrapper,body.bp #masthead,body.bp .ts-header,
body.bp .avas-header,body.bp .header-main,body.bp .top-bar{display:none !important;}
body.bp{padding-top:0 !important;}

/* ============ CLOSING CTA ============ */
.bpcta__in{position:relative;overflow:hidden;display:grid;grid-template-columns:1.35fr .9fr;gap:52px;align-items:center;padding:56px 56px;}
.bpcta__art{position:absolute;inset:0;opacity:.26;pointer-events:none;}
.bpcta__art svg{width:120%;height:120%;display:block;transform:translate(-8%,-10%);}
.bpcta__copy,.bpcta__act{position:relative;z-index:2;}
.bpcta__h{font-size:clamp(28px,3.1vw,40px);line-height:1.1;letter-spacing:-.032em;color:#F4F9FF;margin:14px 0 16px;font-weight:600;}
.bpcta__copy p{font-size:16.5px;line-height:1.72;color:#A9BFDA;margin:0;max-width:58ch;}
.bpcta__act{display:flex;flex-direction:column;gap:12px;align-items:stretch;}
.bpcta__note{font-size:13.5px;line-height:1.6;color:#8199B7;margin-top:6px;}

/* ============ FOOTER ============ */
.bpf{background:var(--bp-abyss);color:#93A9C6;padding:74px 0 34px;margin-top:0;position:relative;}
.bpf::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(111,183,255,.34),transparent);}
.bpf__top{display:grid;grid-template-columns:1.05fr 2.35fr;gap:64px;padding-bottom:48px;}
.bpf__brand .bph__logo{margin-bottom:20px;}
.bph__wm--onDark{color:#EAF2FC;}
.bph__wm--onDark i{color:#6E86A5;}
.bpf__blurb{font-size:14.5px;line-height:1.75;color:#8CA2C0;margin:0 0 20px;max-width:44ch;}
.bpf__badges{display:flex;flex-wrap:wrap;gap:7px;}
.bpf__badge{font-size:12px;letter-spacing:.02em;color:#9FC4EC;border:1px solid rgba(111,183,255,.22);background:rgba(111,183,255,.06);border-radius:999px;padding:5px 11px;}
.bpf__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;}
.bpf__col h3{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:#6FB7FF;margin:0 0 15px;font-weight:600;}
.bpf__col a{display:block;font-size:14.3px;line-height:1.55;color:#93A9C6;text-decoration:none;padding:5px 0;transition:color .16s ease,transform .16s ease;}
.bpf__col a:hover{color:#DCEBFB;transform:translateX(2px);}
.bpf__cities{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:24px 0;border-top:1px solid rgba(147,198,246,.11);border-bottom:1px solid rgba(147,198,246,.11);}
.bpf__cities span{font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:#5F7595;margin-right:4px;}
.bpf__cities a{font-size:13.5px;color:#8CA2C0;text-decoration:none;}
.bpf__cities a:hover{color:#DCEBFB;}
.bpf__legal{padding-top:26px;}
.bpf__disc{font-size:12.6px;line-height:1.72;color:#6B819F;margin:0 0 22px;max-width:none;}
body.bp .bpf__disc b{color:#9FC4EC;font-weight:600;}
.bpf__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px 24px;align-items:center;font-size:13px;color:#6B819F;}
.bpf__bottom nav{display:flex;flex-wrap:wrap;gap:18px;}
.bpf__bottom a{color:#8CA2C0;text-decoration:none;}
.bpf__bottom a:hover{color:#DCEBFB;}

@media(max-width:1080px){
 .bpf__top{grid-template-columns:1fr;gap:40px;}
 .bpcta__in{grid-template-columns:1fr;gap:30px;padding:42px 34px;}
 .bpf__blurb{max-width:none;}
}
@media(max-width:760px){
 .bpf__cols{grid-template-columns:repeat(2,1fr);gap:26px;}
 .bpf{padding:52px 0 96px;}
 .bpcta__in{padding:32px 22px;}
 .bpf__bottom{flex-direction:column;align-items:flex-start;}
}
@media(max-width:430px){ .bpf__cols{grid-template-columns:1fr;} }

/* ============ HEADER PLACEMENT ============
   On the front page the header floats over the dark hero, so the hero has to
   start at the very top of the document. Everywhere else the header needs a
   solid surface, because its light-on-dark treatment is invisible on white. */
body.bp.home .bpx{margin-top:-74px;padding-top:74px;}
body.bp.home .bpx__in{padding-top:clamp(120px,13vh,180px);}

body.bp:not(.home) .bph{background:rgba(255,255,255,.93);backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--bp-line);}
body.bp:not(.home) .bph .bph__wm,
body.bp:not(.home) .bph .bph__wm b{color:var(--bp-ink);}
body.bp:not(.home) .bph .bph__wm i{color:var(--bp-ink-3);}
body.bp:not(.home) .bph .bph__nav a{color:var(--bp-ink-2);}
body.bp:not(.home) .bph .bph__nav a:hover{color:var(--bp-blue);}
body.bp:not(.home) .bph .bp-btn--ghost{background:#fff;border-color:var(--bp-line-2);color:var(--bp-ink) !important;}
body.bp:not(.home) .bph .bp-btn--ghost:hover{background:var(--bp-mist);color:var(--bp-ink) !important;}
body.bp:not(.home) .bph .bpburger{border-color:var(--bp-line-2);background:#fff;}
body.bp:not(.home) .bph .bpburger span,
body.bp:not(.home) .bph .bpburger span::before,
body.bp:not(.home) .bph .bpburger span::after{background:var(--bp-ink);}
body.bp:not(.home) .bph .bph__logo svg ellipse{stroke:var(--bp-blue);}

/* ============ FOOTER SPECIFICITY ============
   Global element rules (body.bp h3 / body.bp a) outrank single-class rules,
   so the footer's own treatment has to be stated at the same weight. */
body.bp .bpf__col h3{font-size:12px;line-height:1.3;letter-spacing:.13em;text-transform:uppercase;color:#6FB7FF;margin:0 0 15px;font-weight:600;}
body.bp .bpf__col a{display:block;font-size:14.3px;line-height:1.5;color:#93A9C6;text-decoration:none;padding:5px 0;}
body.bp .bpf__col a:hover{color:#DCEBFB;}
body.bp .bpf__cities a{font-size:13.5px;color:#8CA2C0;text-decoration:none;}
body.bp .bpf__cities a:hover{color:#DCEBFB;}
body.bp .bpf__bottom a{color:#8CA2C0;text-decoration:none;font-size:13px;}
body.bp .bpf__bottom a:hover{color:#DCEBFB;}
body.bp .bpf .bph__logo{text-decoration:none;}
body.bp .bpf .bph__wm,
body.bp .bpf .bph__wm b{color:#EAF2FC;}
body.bp .bpf .bph__wm i{color:#6E86A5;}
body.bp .bpf__blurb{color:#8CA2C0;}
body.bp .bpf p{margin-top:0;}
body.bp .bpcta__copy p{color:#A9BFDA;}

/* ============ AGE GATE ============ */
html.age-gate__restricted{background:var(--bp-abyss);}
body.bp .age-gate__wrapper{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto;}
body.bp .age-gate__background-color{position:fixed;inset:0;background:
  radial-gradient(120% 90% at 50% 0%, #0B1524 0%, #05080F 62%, #04070E 100%) !important;opacity:1 !important;}
body.bp .age-gate__background{position:fixed;inset:0;opacity:.30;background-image:
  repeating-radial-gradient(circle at 50% 46%, rgba(111,183,255,.12) 0 1px, transparent 1px 13px),
  repeating-radial-gradient(circle at 63% 54%, rgba(111,183,255,.10) 0 1px, transparent 1px 17px);}
body.bp .age-gate{position:relative;z-index:2;width:100%;max-width:640px;margin:auto;}
body.bp .age-gate__form{background:rgba(255,255,255,.035);border:1px solid rgba(147,198,246,.18);
  border-radius:20px;padding:44px 44px 38px;backdrop-filter:blur(14px);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.85), 0 0 0 1px rgba(255,255,255,.02) inset;}
body.bp .age-gate__heading{text-align:center;margin:0 0 6px;}
body.bp .age-gate__heading-title--logo{width:250px;max-width:74%;height:auto;display:inline-block;}
body.bp .age-gate__subheadline{text-align:center;margin:0 0 22px;}
body.bp .age-gate__subheadline::before{content:"Research use only. 21+ to enter.";display:block;
  font-size:clamp(20px,2.6vw,26px);line-height:1.2;letter-spacing:-.028em;font-weight:600;color:#F4F9FF;margin:18px 0 8px;}
body.bp .age-gate__subheadline::after{content:"Bulk Peptides supplies laboratory reference materials to research buyers in Canada. Not for human or veterinary use.";
  display:block;font-size:14.5px;line-height:1.6;color:#94AAC7;max-width:46ch;margin:0 auto;}
body.bp .age-gate__fields{margin:0;}
body.bp .age-gate__challenge{max-height:210px;overflow-y:auto;font-size:13.4px;line-height:1.7;color:#8FA6C4;
  background:rgba(4,7,14,.55);border:1px solid rgba(147,198,246,.14);border-radius:12px;padding:18px 20px;margin:0 0 22px;
  scrollbar-width:thin;scrollbar-color:rgba(111,183,255,.35) transparent;text-align:left;}
body.bp .age-gate__challenge::-webkit-scrollbar{width:8px;}
body.bp .age-gate__challenge::-webkit-scrollbar-thumb{background:rgba(111,183,255,.30);border-radius:8px;}
body.bp .age-gate__buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;direction:rtl;}
body.bp .age-gate__submit{direction:ltr;appearance:none;cursor:pointer;font-family:var(--bp-sans);
  font-size:15px;font-weight:600;letter-spacing:-.01em;border-radius:12px;padding:15px 18px;transition:all .16s ease;}
body.bp .age-gate__submit--yes{background:var(--bp-blue);border:1px solid var(--bp-blue);color:#fff;
  box-shadow:0 10px 26px -12px rgba(22,104,214,.9);}
body.bp .age-gate__submit--yes:hover{background:#1159BC;border-color:#1159BC;transform:translateY(-1px);}
body.bp .age-gate__submit--no{background:rgba(255,255,255,.05);border:1px solid rgba(147,198,246,.22);color:#C6D7EC;}
body.bp .age-gate__submit--no:hover{background:rgba(255,255,255,.1);color:#fff;}
body.bp .age-gate__errors{color:#FF9B9B;font-size:13.5px;text-align:center;margin-top:14px;}
body.bp .age-gate__loader svg circle{fill:var(--bp-blue-2);}
@media(max-width:520px){
 body.bp .age-gate__form{padding:30px 22px 26px;border-radius:16px;}
 body.bp .age-gate__buttons{grid-template-columns:1fr;direction:ltr;}
 body.bp .age-gate__submit--no{order:2;}
}

/* ============ SIDE CART BUTTON ============ */
body.bp .xoo-wsc-basket{background:var(--bp-blue) !important;box-shadow:0 12px 30px -12px rgba(22,104,214,.85) !important;}
body.bp .xoo-wsc-basket .xoo-wsc-bki,body.bp .xoo-wsc-basket svg{color:#fff !important;fill:#fff !important;}
body.bp .xoo-wsc-items-count{background:var(--bp-ink) !important;color:#fff !important;}
body.bp .xoo-wsc-cart-active .xoo-wsc-ctxt,body.bp .xoo-wsc-cart{font-family:var(--bp-sans) !important;}
body.bp .xoo-wsc-ft-btn-checkout,body.bp .xoo-wsc-ft-btn-continue{background:var(--bp-blue) !important;border-color:var(--bp-blue) !important;color:#fff !important;border-radius:10px !important;}

/* age gate: corrections */
body.bp .age-gate{background:transparent !important;padding:0 !important;}
body.bp .age-gate__heading-title--logo{content:url("/wp-content/uploads/bp/logo-light.svg");width:238px;max-width:72%;height:auto;}
body.bp .age-gate__form{position:relative;}

/* ==========================================================
   INNER PAGES — shop, product, journal, policy, account
   The inherited theme and builder templates supply the DOM;
   this gives them the Bulk Peptides surface.
   ========================================================== */

/* Elementor entrance animations leave sections at opacity 0 when its
   frontend script does not run. Content must never depend on that. */
body.bp .elementor-invisible{opacity:1 !important;animation:none !important;}
body.bp .elementor-background-overlay{display:none !important;}

/* ---------- page shell ---------- */
body.bp:not(.home) .container.space-content,
body.bp:not(.home) .container.space-blank{
  max-width:1240px !important;width:100% !important;
  padding:0 var(--bp-gut,28px) !important;margin:0 auto !important;}
body.bp:not(.home) .content-area,body.bp:not(.home) .site-main{padding:0 !important;}
body.bp .woocommerce-notices-wrapper:empty{display:none;}

/* page header band */
body.bp .tx-page-title{position:relative;background:var(--bp-abyss) !important;color:#EAF2FC;
  padding:104px 0 46px !important;margin:0 0 54px !important;overflow:hidden;border:0 !important;}
body.bp .tx-page-title::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:
   repeating-radial-gradient(circle at 74% 24%, rgba(111,183,255,.10) 0 1px, transparent 1px 15px),
   repeating-radial-gradient(circle at 82% 36%, rgba(111,183,255,.08) 0 1px, transparent 1px 21px),
   linear-gradient(180deg, rgba(4,7,14,.5) 0%, rgba(4,7,14,0) 40%, #04070E 100%);}
body.bp .tx-page-title > *{position:relative;z-index:2;max-width:1240px;margin:0 auto;padding:0 28px;}
body.bp .tx-page-title h1,body.bp .tx-page-title .tx-page-title-text{
  font-size:clamp(30px,4vw,52px) !important;line-height:1.06 !important;letter-spacing:-.034em !important;
  color:#F7FBFF !important;font-weight:600 !important;margin:0 0 12px !important;}
body.bp .tx-breadcrumbs,body.bp .tx-breadcrumbs *{font-size:13.2px !important;color:#8FA6C4 !important;}
body.bp .tx-breadcrumbs a{color:#9FC4EC !important;text-decoration:none !important;}
body.bp .tx-breadcrumbs a:hover{color:#DCEBFB !important;}

/* ---------- long-form content typography ---------- */
body.bp .entry-content h2,body.bp .woocommerce-Tabs-panel h2,body.bp .elementor-widget-text-editor h2{
  display:block !important;font-size:clamp(23px,2.4vw,31px) !important;line-height:1.18 !important;
  letter-spacing:-.028em !important;color:var(--bp-ink) !important;font-weight:600 !important;
  margin:44px 0 14px !important;}
body.bp .entry-content h3,body.bp .woocommerce-Tabs-panel h3{
  display:block !important;font-size:19.5px !important;line-height:1.3 !important;letter-spacing:-.02em !important;
  color:var(--bp-ink) !important;font-weight:600 !important;margin:30px 0 10px !important;}
body.bp .entry-content p,body.bp .woocommerce-Tabs-panel p{
  font-size:16.3px;line-height:1.76;color:var(--bp-ink-2);margin:0 0 17px;max-width:76ch;}
body.bp .entry-content li,body.bp .woocommerce-Tabs-panel li{
  font-size:16.3px;line-height:1.7;color:var(--bp-ink-2);margin:0 0 9px;}
body.bp .entry-content ul,body.bp .woocommerce-Tabs-panel ul{padding-left:20px;margin:0 0 20px;max-width:76ch;}
body.bp .entry-content hr,body.bp .woocommerce-Tabs-panel hr{
  border:0;border-top:1px solid var(--bp-line);margin:40px 0;}
body.bp .entry-content a,body.bp .woocommerce-Tabs-panel a{color:var(--bp-blue);text-decoration:none;
  border-bottom:1px solid rgba(22,104,214,.28);}
body.bp .entry-content a:hover,body.bp .woocommerce-Tabs-panel a:hover{border-bottom-color:var(--bp-blue);}
body.bp .entry-content table,body.bp .woocommerce-Tabs-panel table{
  width:100%;border-collapse:collapse;margin:22px 0 28px;font-size:14.8px;
  border:1px solid var(--bp-line);border-radius:12px;overflow:hidden;}
body.bp .entry-content th,body.bp .woocommerce-Tabs-panel th{
  text-align:left;background:var(--bp-mist);color:var(--bp-ink);font-weight:600;
  padding:12px 15px;border-bottom:1px solid var(--bp-line);font-size:13px;letter-spacing:.04em;text-transform:uppercase;}
body.bp .entry-content td,body.bp .woocommerce-Tabs-panel td{
  padding:12px 15px;border-bottom:1px solid var(--bp-line);color:var(--bp-ink-2);vertical-align:top;}
body.bp .bpk-analytical-note,body.bp .bpk-id,body.bp .decorated-link{font-family:var(--bp-sans);}
body.bp .bpk-analytical-note{background:var(--bp-paper);border-left:3px solid var(--bp-blue-3);
  border-radius:0 10px 10px 0;padding:13px 17px !important;font-size:15px !important;}

/* ---------- product page ---------- */
body.bp.single-product h1.product_title{
  font-size:clamp(28px,3.2vw,40px) !important;line-height:1.1 !important;letter-spacing:-.032em !important;
  color:var(--bp-ink) !important;font-weight:600 !important;margin:0 0 14px !important;}
body.bp.single-product div.product{display:grid;grid-template-columns:1fr 1fr;gap:56px 60px;align-items:start;}
body.bp.single-product .woocommerce-product-gallery{
  background:var(--bp-mist);border:1px solid var(--bp-line);border-radius:18px;padding:22px;position:sticky;top:96px;}
body.bp.single-product .woocommerce-product-gallery__image img{border-radius:12px;}
body.bp.single-product .flex-control-thumbs{display:flex;gap:10px;margin:14px 0 0 !important;padding:0 !important;list-style:none;}
body.bp.single-product .flex-control-thumbs li{margin:0 !important;width:auto !important;}
body.bp.single-product .flex-control-thumbs img{width:72px;height:72px;object-fit:cover;border-radius:9px;
  border:1px solid var(--bp-line);cursor:pointer;opacity:.62;transition:opacity .16s ease,border-color .16s ease;}
body.bp.single-product .flex-control-thumbs img.flex-active,
body.bp.single-product .flex-control-thumbs img:hover{opacity:1;border-color:var(--bp-blue-2);}
body.bp.single-product .summary.entry-summary{margin:0 !important;width:auto !important;float:none !important;}
body.bp.single-product p.price,body.bp .woocommerce-Price-amount{
  font-size:32px !important;font-weight:650 !important;color:var(--bp-ink) !important;letter-spacing:-.03em;margin:0 0 6px !important;}
body.bp.single-product .woocommerce-product-details__short-description p{font-size:16px;line-height:1.7;color:var(--bp-ink-2);}
body.bp .wccs-bulk-pricing-table-title{font-size:12px !important;letter-spacing:.13em;text-transform:uppercase;
  color:var(--bp-ink-3) !important;margin:26px 0 10px !important;}
body.bp .wccs-bulk-pricing-table-title strong{color:var(--bp-ink-3) !important;font-weight:600;font-size:12px;}
body.bp .wccs-bulk-pricing-table{width:100%;border-collapse:separate;border-spacing:0;
  border:1px solid var(--bp-line);border-radius:12px;overflow:hidden;font-size:14.5px;}
body.bp .wccs-bulk-pricing-table td,body.bp .wccs-bulk-pricing-table th{
  padding:11px 14px;border-bottom:1px solid var(--bp-line);color:var(--bp-ink-2);}
body.bp .wccs-bulk-pricing-table tr:last-child td{border-bottom:0;}
body.bp p.stock.in-stock{font-size:13.6px !important;color:#1F7A4D !important;font-weight:500;margin:16px 0 0 !important;}
body.bp p.stock.out-of-stock{color:#B4461F !important;}
body.bp form.cart{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:22px 0 0 !important;}
body.bp form.cart .quantity{flex:0 0 auto;}
body.bp form.cart .quantity input.qty{height:50px;width:78px;border:1px solid var(--bp-line-2);border-radius:11px;
  font-size:16px;text-align:center;color:var(--bp-ink);background:#fff;font-family:var(--bp-sans);}
body.bp .single_add_to_cart_button,body.bp .woocommerce button.button.alt,body.bp .woocommerce a.button.alt,
body.bp .woocommerce #respond input#submit,body.bp .woocommerce button.button,body.bp .woocommerce input.button{
  background:var(--bp-blue) !important;color:#fff !important;border:1px solid var(--bp-blue) !important;
  border-radius:12px !important;font-family:var(--bp-sans) !important;font-size:15.5px !important;font-weight:600 !important;
  letter-spacing:-.01em !important;padding:0 26px !important;height:50px !important;line-height:48px !important;
  box-shadow:0 12px 26px -14px rgba(22,104,214,.9) !important;transition:background .16s ease,transform .16s ease !important;}
body.bp .single_add_to_cart_button:hover,body.bp .woocommerce button.button.alt:hover,
body.bp .woocommerce a.button.alt:hover,body.bp .woocommerce button.button:hover{
  background:#1159BC !important;border-color:#1159BC !important;transform:translateY(-1px);}
body.bp .woocommerce a.button.wcz-continue{background:#fff !important;color:var(--bp-ink) !important;
  border:1px solid var(--bp-line-2) !important;box-shadow:none !important;height:42px !important;line-height:40px !important;
  font-size:14px !important;padding:0 18px !important;}
body.bp .thwepo-extra-options{width:100%;margin:0 0 6px;}
body.bp .thwepo-extra-options td{padding:7px 0;font-size:14.6px;color:var(--bp-ink-2);}
body.bp .product_meta{margin:26px 0 0 !important;padding:18px 0 0;border-top:1px solid var(--bp-line);
  font-size:13.6px;color:var(--bp-ink-3);display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;}
body.bp .product_meta a{color:var(--bp-ink-2);text-decoration:none;}
body.bp .product_meta a:hover{color:var(--bp-blue);}

/* tabs */
body.bp .woocommerce-tabs{grid-column:1/-1;margin:16px 0 0 !important;padding-top:44px;border-top:1px solid var(--bp-line);}
body.bp ul.tabs.wc-tabs{display:flex;gap:6px;margin:0 0 30px !important;padding:0 !important;list-style:none;border:0 !important;background:none !important;}
body.bp ul.tabs.wc-tabs::before,body.bp ul.tabs.wc-tabs::after{display:none !important;}
body.bp ul.tabs.wc-tabs li{background:var(--bp-mist) !important;border:1px solid var(--bp-line) !important;
  border-radius:999px !important;margin:0 !important;padding:0 !important;}
body.bp ul.tabs.wc-tabs li::before,body.bp ul.tabs.wc-tabs li::after{display:none !important;}
body.bp ul.tabs.wc-tabs li a{display:block;padding:10px 20px !important;font-size:14.5px;font-weight:500;
  color:var(--bp-ink-2) !important;text-decoration:none;}
body.bp ul.tabs.wc-tabs li.active{background:var(--bp-ink) !important;border-color:var(--bp-ink) !important;}
body.bp ul.tabs.wc-tabs li.active a{color:#fff !important;}
body.bp .woocommerce-Tabs-panel > h2:first-child{display:none !important;}

/* ---------- archive / catalogue grid ---------- */
body.bp ul.products{display:grid !important;grid-template-columns:repeat(4,1fr) !important;
  gap:22px !important;margin:0 0 42px !important;padding:0 !important;list-style:none !important;}
body.bp ul.products::before,body.bp ul.products::after{display:none !important;}
body.bp ul.products li.product{width:auto !important;margin:0 !important;float:none !important;clear:none !important;
  background:#fff;border:1px solid var(--bp-line);border-radius:16px;overflow:hidden;
  display:flex;flex-direction:column;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;}
body.bp ul.products li.product:hover{border-color:var(--bp-blue-3);
  box-shadow:0 22px 46px -28px rgba(10,18,34,.36);transform:translateY(-3px);}
body.bp ul.products li.product a img{margin:0 !important;width:100%;aspect-ratio:1/1;object-fit:cover;
  background:var(--bp-mist);border-bottom:1px solid var(--bp-line);}
body.bp ul.products li.product .woocommerce-loop-product__title{
  font-size:16.5px !important;line-height:1.3 !important;font-weight:600 !important;letter-spacing:-.018em;
  color:var(--bp-ink) !important;padding:16px 17px 4px !important;margin:0 !important;}
body.bp ul.products li.product .price{font-size:17px !important;font-weight:650 !important;
  color:var(--bp-ink) !important;padding:0 17px 14px !important;margin:0 !important;display:block;}
body.bp ul.products li.product .price del{color:var(--bp-ink-3) !important;font-weight:400;font-size:14px;}
body.bp ul.products li.product .button{margin:auto 17px 17px !important;text-align:center;}
body.bp ul.products li.product .onsale{background:var(--bp-blue) !important;color:#fff !important;
  border-radius:999px !important;font-size:12px !important;padding:5px 11px !important;min-height:0 !important;
  min-width:0 !important;line-height:1.2 !important;top:12px !important;right:12px !important;left:auto !important;margin:0 !important;}
body.bp .woocommerce-result-count,body.bp .woocommerce-ordering{font-size:14px;color:var(--bp-ink-3);}
body.bp .woocommerce-ordering select{border:1px solid var(--bp-line-2);border-radius:10px;padding:9px 12px;
  font-family:var(--bp-sans);font-size:14px;color:var(--bp-ink);background:#fff;}
body.bp .woocommerce-pagination ul.page-numbers{display:flex;gap:7px;border:0 !important;padding:0;list-style:none;justify-content:center;}
body.bp .woocommerce-pagination li{border:0 !important;}
body.bp .woocommerce-pagination a.page-numbers,body.bp .woocommerce-pagination span.page-numbers{
  display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border-radius:11px;
  border:1px solid var(--bp-line);background:#fff;color:var(--bp-ink-2);font-size:14.5px;text-decoration:none;}
body.bp .woocommerce-pagination span.page-numbers.current{background:var(--bp-ink);border-color:var(--bp-ink);color:#fff;}

/* ---------- forms, cart, checkout, account ---------- */
body.bp input[type=text],body.bp input[type=email],body.bp input[type=tel],body.bp input[type=password],
body.bp input[type=search],body.bp input[type=number],body.bp textarea,body.bp select{
  font-family:var(--bp-sans);font-size:15.5px;color:var(--bp-ink);background:#fff;
  border:1px solid var(--bp-line-2);border-radius:11px;padding:12px 14px;}
body.bp input:focus,body.bp textarea:focus,body.bp select:focus{
  outline:none;border-color:var(--bp-blue-2);box-shadow:0 0 0 3px rgba(76,157,234,.18);}
body.bp .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0 0 26px;display:flex;flex-wrap:wrap;gap:8px;}
body.bp .woocommerce-MyAccount-navigation li a{display:block;padding:10px 16px;border-radius:999px;
  border:1px solid var(--bp-line);background:#fff;color:var(--bp-ink-2);font-size:14.3px;text-decoration:none;}
body.bp .woocommerce-MyAccount-navigation li.is-active a{background:var(--bp-ink);border-color:var(--bp-ink);color:#fff;}
body.bp .woocommerce-info,body.bp .woocommerce-message,body.bp .woocommerce-error{
  border-top:0 !important;border:1px solid var(--bp-line) !important;border-left:3px solid var(--bp-blue) !important;
  background:var(--bp-paper) !important;border-radius:0 12px 12px 0 !important;color:var(--bp-ink-2) !important;
  font-size:15px !important;padding:15px 18px !important;}
body.bp .woocommerce-message{border-left-color:#1F7A4D !important;}
body.bp .woocommerce-error{border-left-color:#B4461F !important;}

/* ---------- scroll-to-top ---------- */
body.bp .tx-scroll-up-btn{background:var(--bp-ink) !important;border-radius:12px !important;color:#fff !important;}

@media(max-width:1100px){
 body.bp ul.products{grid-template-columns:repeat(3,1fr) !important;}
 body.bp.single-product div.product{grid-template-columns:1fr;gap:32px;}
 body.bp.single-product .woocommerce-product-gallery{position:static;}
}
@media(max-width:720px){
 body.bp ul.products{grid-template-columns:repeat(2,1fr) !important;gap:14px !important;}
 body.bp .tx-page-title{padding:92px 0 34px !important;margin-bottom:34px !important;}
 body.bp .woocommerce-tabs{padding-top:30px;}
 body.bp ul.tabs.wc-tabs{overflow-x:auto;padding-bottom:4px !important;}
 body.bp ul.tabs.wc-tabs li a{white-space:nowrap;}
}
@media(max-width:430px){
 body.bp ul.products{grid-template-columns:1fr !important;}
}

/* ============ CATALOGUE ============ */
body.bp-catalogue{background:var(--bp-white);}
.bpcat__head{position:relative;background:var(--bp-abyss);color:#EAF2FC;overflow:hidden;isolation:isolate;}
.bpcat__art{position:absolute;inset:-14% -10%;opacity:.26;pointer-events:none;z-index:0;}
.bpcat__art svg{width:100%;height:100%;display:block;}
.bpcat__head::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
   radial-gradient(80% 70% at 18% 40%, rgba(4,7,14,.92) 0%, rgba(4,7,14,.55) 45%, rgba(4,7,14,0) 78%),
   linear-gradient(180deg, rgba(4,7,14,.6) 0%, rgba(4,7,14,0) 30%, #04070E 100%);}
.bpcat__headin{position:relative;z-index:2;padding:56px 0 66px;}
.bpcat__crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:13.2px;color:#7E93AE;margin:0 0 22px;}
body.bp .bpcat__crumbs a{color:#9FC4EC;text-decoration:none;}
body.bp .bpcat__crumbs a:hover{color:#DCEBFB;}
body.bp .bpcat__crumbs b{color:#C6D7EC;font-weight:500;}
body.bp .bpcat__head h1{font-size:clamp(34px,4.6vw,58px);line-height:1.04;letter-spacing:-.036em;
  color:#F7FBFF;font-weight:600;margin:0 0 16px;max-width:17ch;}
body.bp .bpcat__lede{font-size:17px;line-height:1.66;color:#9FB5D1;margin:0 0 30px;max-width:64ch;}
.bpcat__meta{display:flex;flex-wrap:wrap;gap:12px 34px;padding-top:26px;border-top:1px solid rgba(147,198,246,.14);}
.bpcat__meta span{font-size:13.4px;color:#8199B7;}
body.bp .bpcat__meta b{display:block;font-size:21px;color:#F4F9FF;font-weight:650;letter-spacing:-.024em;margin-bottom:2px;}

.bpcat__body{padding-top:40px;}
.bpcat__chips{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 26px;}
body.bp a.bpchip{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:999px;
  border:1px solid var(--bp-line);background:#fff;color:var(--bp-ink-2);font-size:14.2px;font-weight:500;
  text-decoration:none;transition:border-color .16s ease,color .16s ease,background .16s ease;}
body.bp a.bpchip i{font-style:normal;font-size:12px;color:var(--bp-ink-3);background:var(--bp-mist);
  border-radius:999px;padding:2px 7px;line-height:1.4;}
body.bp a.bpchip:hover{border-color:var(--bp-blue-3);color:var(--bp-ink);}
body.bp a.bpchip.is-on{background:var(--bp-ink);border-color:var(--bp-ink);color:#fff;}
body.bp a.bpchip.is-on i{background:rgba(255,255,255,.14);color:#CFE0F3;}

.bpcat__ladder{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 34px;
  padding:16px 20px;border:1px solid var(--bp-line);border-radius:14px;background:var(--bp-paper);}
.bpcat__ladderlab{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--bp-ink-3);margin-right:4px;}
.bpcat__tier{display:inline-flex;align-items:baseline;gap:7px;padding:6px 12px;border-radius:999px;background:#fff;
  border:1px solid var(--bp-line);}
body.bp .bpcat__tier b{font-size:13.4px;color:var(--bp-ink);font-weight:600;}
.bpcat__tier i{font-style:normal;font-size:13px;color:var(--bp-blue);font-weight:650;}
.bpcat__laddernote{font-size:13px;color:var(--bp-ink-3);flex:1 1 220px;}

.bpshop--wide{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:0 0 40px;}
.bpcat__empty{font-size:16px;color:var(--bp-ink-3);}
.bpcat__pag ul{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:0;justify-content:center;}
body.bp .bpcat__pag a,body.bp .bpcat__pag span{display:grid;place-items:center;min-width:42px;height:42px;padding:0 13px;
  border-radius:11px;border:1px solid var(--bp-line);background:#fff;color:var(--bp-ink-2);font-size:14.5px;text-decoration:none;}
body.bp .bpcat__pag span.current{background:var(--bp-ink);border-color:var(--bp-ink);color:#fff;}
body.bp .bpcat__pag a:hover{border-color:var(--bp-blue-3);color:var(--bp-ink);}
body.bp .bpp__img{width:100%;height:auto;display:block;}

@media(max-width:1180px){ .bpshop--wide{grid-template-columns:repeat(3,1fr);} }
@media(max-width:820px){ .bpshop--wide{grid-template-columns:repeat(2,1fr);gap:14px;} .bpcat__headin{padding:40px 0 46px;} }
@media(max-width:460px){ .bpshop--wide{grid-template-columns:1fr;} }

/* ============ PRODUCT PAGE CORRECTIONS ============ */
body.bp:not(.home):not(.bp-catalogue) .container.space-content,
body.bp:not(.home):not(.bp-catalogue) .container.space-blank{padding-top:46px !important;padding-bottom:64px !important;}
body.bp .tx-page-title{padding:56px 0 44px !important;}
body.bp .thwepo-extra-options h1,body.bp .thwepo-extra-options h2,body.bp .thwepo-extra-options h3{
  font-size:13.4px !important;font-weight:600 !important;line-height:1.4 !important;color:#1F7A4D !important;
  margin:0 !important;letter-spacing:0 !important;display:inline-block !important;
  background:rgba(31,122,77,.08);border-radius:999px;padding:6px 13px !important;}
body.bp .woocommerce-product-gallery__trigger{z-index:5;}

/* ============ GENERATED PRODUCT ARTWORK ============ */
.bpp__img,.bpv{display:block;width:100%;height:auto;}
body.bp .bpp__top{position:relative;display:grid;place-items:center;padding:20px 16px 8px;
  background:linear-gradient(170deg,#EEF5FD 0%,#F7FAFE 55%,#FFFFFF 100%);}
body.bp .bpp__top .bpp__img{max-width:132px;margin:0 auto;filter:drop-shadow(0 16px 26px rgba(10,18,34,.14));}
body.bp .bp-vial-hero{display:grid;place-items:center;padding:34px;background:transparent;}
body.bp .bp-vial-hero .bpv{max-width:262px;filter:drop-shadow(0 26px 44px rgba(10,18,34,.18));}
body.bp.single-product .flex-control-thumbs,
body.bp.single-product .woocommerce-product-gallery__trigger,
body.bp.single-product .flex-viewport{display:none !important;}
body.bp.single-product .woocommerce-product-gallery .bp-vial-hero{display:grid !important;}
body.bp ul.products li.product .bpp__img{aspect-ratio:auto !important;border:0 !important;background:none !important;
  max-width:150px;margin:18px auto 4px !important;}

/* ============ POLISH ============ */
body.bp.single-product .woocommerce-product-gallery{min-height:420px;display:grid;place-items:center;}
body.bp .bp-vial-hero{padding:18px;width:100%;}
body.bp .bp-vial-hero .bpv{max-width:300px;}
body.bp.single-product .summary.entry-summary > *:first-child{margin-top:0 !important;}

/* never let a section touch the edge on a phone */
@media(max-width:620px){
 body.bp .bp-wrap{padding-left:20px !important;padding-right:20px !important;}
 body.bp .bpcat__headin{padding-left:0;padding-right:0;}
 body.bp .bpcat__meta{gap:16px 26px;}
 body.bp .bpcat__ladder{padding:14px 15px;}
 body.bp .xoo-wsc-basket{bottom:86px !important;}
}

/* the cart bubble must never sit on top of the sticky action bar */
body.bp .xoo-wsc-basket{z-index:54 !important;}

/* journal + generic pages: keep measure readable */
body.bp .entry-content{max-width:none;}
body.bp .bpcat__seoin{max-width:78ch;margin:0 auto;}
body.bp .bpcat__seo{padding-top:52px;padding-bottom:58px;}

/* ============================================================
   BULK PEPTIDES — ELEVATION LAYER v2
   Material, depth, motion and instrument-grade data type.
   ============================================================ */

:root{
  --bp-mono:'IBM Plex Mono',ui-monospace,'SF Mono',Menlo,monospace;
  --bp-grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='160' height='160' filter='url(%23n)' opacity='.42'/></svg>");
  --bp-ease:cubic-bezier(.22,.61,.36,1);
  --bp-ease-out:cubic-bezier(.16,1,.3,1);
  --sx:50vw; --sy:30vh;
}

::selection{background:rgba(22,104,214,.22);color:var(--bp-ink);}
body.bp *:focus-visible{outline:2px solid var(--bp-blue-2);outline-offset:3px;border-radius:6px;}
body.bp{scrollbar-color:var(--bp-line-2) transparent;}
body.bp ::-webkit-scrollbar{width:11px;height:11px;}
body.bp ::-webkit-scrollbar-thumb{background:var(--bp-line-2);border-radius:99px;border:3px solid #fff;}
body.bp ::-webkit-scrollbar-thumb:hover{background:var(--bp-ink-4);}

/* ---------- material: grain + aurora on every dark surface ---------- */
.bpx,.bp-sec--dark,.bpcat__head,.bpf,.bp-panel,.bph-dark{position:relative;isolation:isolate;}
.bpx::before,.bp-sec--dark::before,.bpcat__head::before,.bpf::before,.bp-panel::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background-image:var(--bp-grain);background-size:160px 160px;
  opacity:.26;mix-blend-mode:overlay;}
:where(.bpx,.bp-sec--dark,.bpcat__head,.bpf,.bp-panel) > *{position:relative;z-index:2;}
:where(.bpx,.bp-sec--dark,.bpcat__head,.bpf,.bp-panel,.bpcta__in) > [class$="__art"],
:where(.bpx) > .bpx__field{position:absolute;z-index:0;}

.bp-aurora{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;contain:paint;
  background:
    radial-gradient(52% 58% at 16% 26%, rgba(22,104,214,.30) 0%, rgba(22,104,214,0) 62%),
    radial-gradient(46% 52% at 78% 14%, rgba(111,183,255,.18) 0%, rgba(111,183,255,0) 64%),
    radial-gradient(58% 62% at 64% 86%, rgba(70,48,168,.22) 0%, rgba(70,48,168,0) 66%),
    radial-gradient(42% 46% at 32% 76%, rgba(16,140,190,.16) 0%, rgba(16,140,190,0) 64%);}

/* cursor spotlight on dark chapters */
.bp-spot{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;contain:paint;}
.bp-spot::before{content:"";position:absolute;top:0;left:0;width:760px;height:760px;margin:-380px 0 0 -380px;
  border-radius:50%;opacity:0;will-change:transform,opacity;transition:opacity .45s ease;
  background:radial-gradient(circle closest-side, rgba(111,183,255,.16) 0%, rgba(111,183,255,.05) 44%, rgba(111,183,255,0) 72%);
  transform:translate3d(var(--sx,50vw),var(--sy,30vh),0);}
.bp-lit .bp-spot::before{opacity:1;}

/* hairline grid texture on light sections */
.bp-sec--paper,.bp-sec--mist{position:relative;}
.bp-sec--paper::after,.bp-sec--mist::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:linear-gradient(rgba(10,18,34,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(10,18,34,.028) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:radial-gradient(120% 90% at 50% 0%,#000 0%,transparent 72%);
  mask-image:radial-gradient(120% 90% at 50% 0%,#000 0%,transparent 72%);}
.bp-sec--paper > *,.bp-sec--mist > *{position:relative;z-index:1;}

/* ---------- typography: display + instrument mono ---------- */
body.bp .bp-display{
  font-size:clamp(40px,6.6vw,88px);line-height:.96;letter-spacing:-.045em;font-weight:650;
  color:var(--bp-ink);margin:0 0 20px;text-wrap:balance;}
body.bp .bpx .bp-display,body.bp .bp-sec--dark .bp-display{color:#F7FBFF;}
body.bp .bp-display em{font-style:normal;
  background:linear-gradient(96deg,#4C9DEA 0%,#93C6F6 42%,#6FB7FF 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
body.bp .bp-sec h2,body.bp .bpcat__body h2{letter-spacing:-.034em;text-wrap:balance;}

.bp-mono,body.bp .bp-eyebrow,body.bp .bpp__tag,body.bp .bpcat__ladderlab,
body.bp .bpcalc__cell span,body.bp .bph-lot__r span,body.bp .bpsp__k,body.bp .bpsp__v,
body.bp .bpchip i,body.bp .bptick__i{
  font-family:var(--bp-mono);font-feature-settings:"tnum" 1,"zero" 1;}
body.bp .bp-num{font-family:var(--bp-mono);font-variant-numeric:tabular-nums;letter-spacing:-.03em;}
body.bp .bp-eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;}

/* oversized chapter numeral */
.bp-sec[data-num]{position:relative;}
.bp-sec[data-num]::before{
  content:attr(data-num);position:absolute;z-index:0;pointer-events:none;
  top:clamp(6px,1.8vw,26px);left:max(28px,calc(50% - 620px));
  font-family:var(--bp-mono);font-size:clamp(62px,8vw,112px);line-height:1;font-weight:600;
  letter-spacing:-.055em;color:transparent;-webkit-text-stroke:1px rgba(10,18,34,.085);}
.bp-sec--dark[data-num]::before{-webkit-text-stroke-color:rgba(147,198,246,.18);}
.bp-sec[data-num] > .bp-wrap{position:relative;}
.bp-sec[data-num] > .bp-wrap > *{position:relative;z-index:1;}

/* ---------- buttons ---------- */
body.bp .bp-btn{position:relative;overflow:hidden;isolation:isolate;
  transition:transform .22s var(--bp-ease-out),box-shadow .22s var(--bp-ease-out),background .18s ease;}
body.bp .bp-btn--primary{
  background:linear-gradient(180deg,#2B7BE4 0%,#1461CE 58%,#0E55B8 100%);
  border-color:#0E55B8;
  box-shadow:0 1px 0 rgba(255,255,255,.28) inset,0 14px 30px -14px rgba(22,104,214,.9),0 2px 6px rgba(10,18,34,.14);}
body.bp .bp-btn--primary::after{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .22s ease;
  background:linear-gradient(180deg,#3E8BEE 0%,#1B6CDA 60%,#1360C8 100%);}
body.bp .bp-btn--primary:hover{transform:translateY(-2px);
  box-shadow:0 1px 0 rgba(255,255,255,.34) inset,0 20px 40px -14px rgba(22,104,214,1),0 3px 8px rgba(10,18,34,.16);}
body.bp .bp-btn--primary:hover::after{opacity:1;}
body.bp .bp-btn:active{transform:translateY(0);}
body.bp .bp-btn__arrow{display:inline-block;transition:transform .24s var(--bp-ease-out);}
body.bp .bp-btn:hover .bp-btn__arrow{transform:translateX(4px);}
body.bp .bp-btn--ghost:hover,body.bp .bp-btn--onDark:hover{transform:translateY(-2px);}

/* ---------- panels + cards: gradient hairline, glass, lift ---------- */
body.bp .bp-panel{
  background:linear-gradient(168deg,rgba(19,30,51,.92) 0%,rgba(5,8,15,.96) 62%,rgba(5,8,15,1) 100%);
  border:1px solid rgba(147,198,246,.14);
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 50px 90px -46px rgba(0,0,0,.9);}

body.bp .bpp,body.bp ul.products li.product{
  position:relative;isolation:isolate;
  transition:transform .3s var(--bp-ease-out),box-shadow .3s var(--bp-ease-out),border-color .3s ease;}
body.bp .bpp::after,body.bp ul.products li.product::after{
  content:"";position:absolute;inset:-1px;border-radius:inherit;z-index:-1;opacity:0;transition:opacity .3s ease;
  background:linear-gradient(140deg,rgba(76,157,234,.85),rgba(147,198,246,.25) 45%,rgba(22,104,214,.7));}
body.bp .bpp:hover,body.bp ul.products li.product:hover{
  transform:translateY(-6px);
  box-shadow:0 34px 60px -32px rgba(10,18,34,.42),0 4px 10px rgba(10,18,34,.05);}
body.bp .bpp:hover::after,body.bp ul.products li.product:hover::after{opacity:1;}
body.bp .bpp__top{transition:background .35s ease;}
body.bp .bpp:hover .bpp__top{background:linear-gradient(170deg,#E4F0FD 0%,#F2F8FE 55%,#FFFFFF 100%);}
body.bp .bpp .bpp__img{transition:transform .45s var(--bp-ease-out);}
body.bp .bpp:hover .bpp__img{transform:translateY(-5px) scale(1.035);}

body.bp .bpcalc,body.bp .bph-dcard{
  background:linear-gradient(162deg,rgba(255,255,255,.075) 0%,rgba(255,255,255,.028) 60%,rgba(255,255,255,.015) 100%);
  border:1px solid rgba(147,198,246,.18);
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 40px 80px -40px rgba(0,0,0,.85);
  backdrop-filter:blur(16px) saturate(140%);}

/* ---------- spec readout ---------- */
.bpsp{border:1px solid var(--bp-line);border-radius:var(--bp-r-lg);background:#fff;overflow:hidden;}
.bpsp__hd{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:13px 18px;background:var(--bp-mist);border-bottom:1px solid var(--bp-line);}
body.bp .bpsp__hd b{font-family:var(--bp-mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--bp-ink-3);font-weight:500;}
.bpsp__dot{width:7px;height:7px;border-radius:99px;background:var(--bp-ok);box-shadow:0 0 0 4px rgba(14,159,110,.14);}
.bpsp__r{display:flex;align-items:baseline;gap:12px;padding:12px 18px;border-bottom:1px solid var(--bp-line);}
.bpsp__r:last-child{border-bottom:0;}
.bpsp__k{font-size:13px;color:var(--bp-ink-3);white-space:nowrap;}
.bpsp__lead{flex:1;border-bottom:1px dotted var(--bp-line-2);transform:translateY(-3px);}
body.bp .bpsp__v{font-size:14px;color:var(--bp-ink);font-weight:500;white-space:nowrap;}

/* ---------- price ladder chart ---------- */
.bpchart{display:grid;gap:12px;}
.bpchart__row{display:grid;grid-template-columns:104px 1fr 96px;align-items:center;gap:16px;}
body.bp .bpchart__lab{font-family:var(--bp-mono);font-size:13px;color:var(--bp-ink-2);white-space:nowrap;}
.bpchart__track{position:relative;height:34px;border-radius:9px;background:var(--bp-mist);overflow:hidden;}
.bpchart__bar{position:absolute;inset:0 auto 0 0;width:0;border-radius:9px;
  background:linear-gradient(90deg,#0E4FA8 0%,#1668D6 52%,#4C9DEA 100%);
  transition:width 1.05s var(--bp-ease-out);}
.bpchart__bar::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.22) 50%,transparent 100%);
  transform:translateX(-100%);}
.bp-in .bpchart__bar::after{animation:bp-sheen 1.6s .35s var(--bp-ease-out) 1;}
@keyframes bp-sheen{to{transform:translateX(100%);}}
body.bp .bpchart__val{font-family:var(--bp-mono);font-size:15px;font-weight:600;color:var(--bp-ink);text-align:right;font-variant-numeric:tabular-nums;}
body.bp .bpchart__row--best .bpchart__val{color:var(--bp-blue);}
.bpchart__foot{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:6px;font-size:13px;color:var(--bp-ink-3);}

/* ---------- reveal ---------- */
html.bp-js [data-rise]{opacity:0;transform:translate3d(0,26px,0);
  clip-path:inset(0 0 14% 0);
  transition:opacity .8s var(--bp-ease-out),transform .9s var(--bp-ease-out),clip-path .9s var(--bp-ease-out);}
html.bp-js [data-rise].bp-in{opacity:1;transform:none;clip-path:inset(0 0 0 0);}
html.bp-js [data-rise][data-d="1"]{transition-delay:.08s;}
html.bp-js [data-rise][data-d="2"]{transition-delay:.16s;}
html.bp-js [data-rise][data-d="3"]{transition-delay:.24s;}
html.bp-js [data-rise][data-d="4"]{transition-delay:.32s;}
html.bp-js [data-rise][data-d="5"]{transition-delay:.4s;}
@media(prefers-reduced-motion:reduce){
  html.bp-js [data-rise]{opacity:1 !important;transform:none !important;clip-path:none !important;transition:none !important;}
  
}

/* parallax layer */
.bp-plx{will-change:transform;}

/* ---------- marquee edge fade ---------- */
body.bp .bptick{-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);}

/* ---------- header refinement ---------- */
body.bp .bph{transition:background .35s var(--bp-ease),backdrop-filter .35s ease,box-shadow .35s ease,border-color .35s ease;}
body.bp .bph.is-stuck{box-shadow:0 1px 0 var(--bp-line),0 12px 30px -22px rgba(10,18,34,.45);}
body.bp .bph__nav a{position:relative;}
body.bp .bph__nav a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1.5px;border-radius:2px;
  background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .28s var(--bp-ease-out);}
body.bp .bph__nav a:hover::after{transform:scaleX(1);}

/* ---------- section rhythm ---------- */
body.bp .bp-sec{padding-top:clamp(64px,8.4vw,116px);padding-bottom:clamp(64px,8.4vw,116px);}
body.bp .bp-sec--tight{padding-top:clamp(44px,5.4vw,72px);padding-bottom:clamp(44px,5.4vw,72px);}
body.bp .bp-sec--dark{background:var(--bp-abyss);color:#DCE8F7;}
body.bp .bp-lede{font-size:clamp(16.5px,1.32vw,19px);line-height:1.62;color:var(--bp-ink-2);max-width:62ch;}
body.bp .bp-sec--dark .bp-lede{color:#9FB5D1;}

/* editorial split */
.bp-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,5vw,72px);align-items:start;}
.bp-split--wide{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);}
.bp-stick{position:sticky;top:104px;}
@media(max-width:940px){.bp-split,.bp-split--wide{grid-template-columns:1fr;}.bp-stick{position:static;}}

/* rule with label */
.bp-rule{display:flex;align-items:center;gap:16px;margin:0 0 30px;}
body.bp .bp-rule span{font-family:var(--bp-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--bp-ink-3);white-space:nowrap;}
.bp-rule i{flex:1;height:1px;background:linear-gradient(90deg,var(--bp-line-2),transparent);}
body.bp .bp-sec--dark .bp-rule span{color:#7E93AE;}
body.bp .bp-sec--dark .bp-rule i{background:linear-gradient(90deg,rgba(147,198,246,.28),transparent);}


/* ---------- BUG 2: type colour on dark chapters ---------- */
body.bp .bp-sec--dark h2,body.bp .bp-sec--dark h3,body.bp .bpcat__head h2,
body.bp .bp-panel h2,body.bp .bp-panel h3,body.bp .bpx h2,body.bp .bpx h3{color:#F4F9FF;}
body.bp .bp-sec--dark p,body.bp .bp-panel p{color:#9FB5D1;}
body.bp .bp-sec--dark li{color:#9FB5D1;}
body.bp .bp-sec--dark a:not(.bp-btn){color:#9FC4EC;}
body.bp .bp-sec--dark a:not(.bp-btn):hover{color:#DCEBFB;}

/* ---------- chapter seams ---------- */
.bp-sec--dark::after,.bpx::after{}
.bp-sec--dark{box-shadow:0 1px 0 rgba(147,198,246,.10) inset,0 -1px 0 rgba(147,198,246,.10) inset;}

/* ---------- white sections: give the grids presence ---------- */
body.bp .bp-card,body.bp .bp-tile,body.bp .bp-fam,body.bp .bp-step{
  border-radius:var(--bp-r-lg);border:1px solid var(--bp-line);background:#fff;
  transition:transform .3s var(--bp-ease-out),box-shadow .3s var(--bp-ease-out),border-color .3s ease;}
body.bp .bp-card:hover,body.bp .bp-tile:hover,body.bp .bp-fam:hover,body.bp .bp-step:hover{
  transform:translateY(-4px);border-color:var(--bp-blue-3);
  box-shadow:0 26px 48px -30px rgba(10,18,34,.36);}

/* numbered flow: connect the steps */
.bp-steps{position:relative;}
.bp-steps::before{content:"";position:absolute;left:0;right:0;top:34px;height:1px;z-index:0;
  background:linear-gradient(90deg,transparent,var(--bp-line-2) 12%,var(--bp-line-2) 88%,transparent);}
.bp-steps > *{position:relative;z-index:1;background:#fff;}
body.bp .bp-step__n,body.bp [class*="__n"]:not(.bp-tier__n){font-family:var(--bp-mono);}

/* ---------- accordion polish ---------- */
body.bp .bpfaq__q{transition:color .2s ease;}
body.bp .bpfaq__i{transition:transform .3s var(--bp-ease-out);}
body.bp .bpfaq.is-open .bpfaq__i{transform:rotate(180deg);}

/* content-area typography carries !important for the inherited theme, so the
   dark chapters have to restate their own colours at the same weight */
body.bp .bp-sec--dark h2,body.bp .bp-sec--dark h3,body.bp .bp-sec--dark h4,
body.bp .bp-panel h2,body.bp .bp-panel h3,body.bp .bpx h1,body.bp .bpx h2,
body.bp .bpcat__head h1,body.bp .bpcta__h{color:#F4F9FF !important;}
body.bp .bp-sec--dark p,body.bp .bp-sec--dark li,body.bp .bp-panel p{color:#9FB5D1 !important;}
body.bp .bp-sec--dark .bp-lede,body.bp .bpx__lede{color:#A9BFDA !important;}
body.bp .bp-sec--dark b,body.bp .bp-sec--dark strong{color:#EAF2FC !important;}
body.bp .bpx .bp-display,body.bp .bp-sec--dark .bp-display{color:#F7FBFF !important;}
body.bp .bp-display em{color:transparent !important;}

/* ---------- vial card sizing (supersedes ds-5) ---------- */
body.bp .bpp__top{position:relative;aspect-ratio:1/1;display:grid;place-items:center;padding:16px;
  background:linear-gradient(160deg,#F2F7FD 0%,#E6EFF9 100%);overflow:hidden;}
body.bp .bpp__top .bpp__img,body.bp .bpp__top .bpp__vial{
  position:relative;z-index:2;width:auto;height:76%;max-width:70%;
  filter:drop-shadow(0 14px 24px rgba(10,18,34,.17));}
body.bp ul.products li.product .bpp__img{border:0 !important;background:none !important;
  height:170px;width:auto;max-width:70%;margin:20px auto 6px !important;aspect-ratio:auto !important;}
body.bp .bp-vial-hero .bpv{max-width:300px;width:100%;}

/* running prose stays in the sans face; mono is for data only */
body.bp .bpcalc__note,body.bp .bpchart__foot,body.bp .bpcat__laddernote,body.bp .bpcta__note{
  font-family:var(--bp-sans);letter-spacing:0;}
body.bp .bpcalc__note{font-size:13px;line-height:1.6;color:#8199B7;}

/* ============================================================
   BULK PEPTIDES — CINEMA LAYER v3
   Desktop spectacle. Every effect is additive: remove the JS,
   or the pointer, or the motion budget, and the page still works.
   ============================================================ */

/* ---------- pointer aura ----------
   The native cursor is NEVER hidden. A hidden cursor made the age gate
   and every other overlay feel dead, so the pointer stays the system
   pointer and the aura is decoration only: no hit-testing, no z-index
   war with modals, and it disappears entirely over any dialog. */
.bpcur{position:fixed;top:0;left:0;z-index:40;pointer-events:none;
  width:420px;height:420px;margin:-210px 0 0 -210px;border-radius:50%;
  will-change:transform;opacity:0;
  background:radial-gradient(circle,
    rgba(120,196,255,.16) 0%,
    rgba(96,172,242,.10) 34%,
    rgba(70,140,215,.04) 62%,
    transparent 76%);
  transition:opacity .45s ease,width .4s var(--bp-ease-out),height .4s var(--bp-ease-out),margin .4s var(--bp-ease-out);}
.bpcur-dot{position:fixed;top:0;left:0;z-index:41;pointer-events:none;
  width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;
  background:rgba(150,214,255,.85);box-shadow:0 0 12px rgba(120,196,255,.9);
  will-change:transform;opacity:0;transition:opacity .3s ease,transform .2s var(--bp-ease-out);}
/* the aura only lights up over dark surfaces, where it reads as depth */
html.bp-cur-dark .bpcur{opacity:1;}
html.bp-cur-dark .bpcur-dot{opacity:.9;}
html.bp-cur-link .bpcur{width:560px;height:560px;margin:-280px 0 0 -280px;}
html.bp-cur-link .bpcur-dot{transform:scale(2.2);}
/* any open overlay kills it outright */
html.bp-cur-hide .bpcur,html.bp-cur-hide .bpcur-dot,
body.age-restricted .bpcur,body.age-restricted .bpcur-dot,
html.bp-modal .bpcur,html.bp-modal .bpcur-dot{opacity:0 !important;}
.bpcur__lab{display:none !important;}
/* Nothing in this design system may hide the pointer. The earlier
   blanket "html *{cursor:auto}" did stop that, but it also outranked
   every cursor:pointer in the system, so cards, chips, tabs and
   anything script-bound lost their affordance. Only cursor:none is
   forbidden; everything else keeps its own cursor. */
html *{cursor:revert;}

/* ---------- kinetic headline ---------- */
.bpk{display:inline-block;overflow:hidden;vertical-align:bottom;}
.bpk__c{display:inline-block;transform:translate3d(0,102%,0) rotate(4deg);
  transition:transform .95s var(--bp-ease-out);}
.bp-in .bpk__c,.bpk.bp-in .bpk__c{transform:none;}

/* ---------- scroll progress rail ---------- */
.bprail-nav{position:fixed;right:26px;top:50%;transform:translateY(-50%);z-index:60;
  display:flex;flex-direction:column;gap:14px;pointer-events:auto;opacity:0;transition:opacity .4s ease;}
html.bp-js .bprail-nav.is-on{opacity:1;}
.bprail-nav a{display:flex;align-items:center;gap:10px;justify-content:flex-end;text-decoration:none;
  font-family:var(--bp-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--bp-ink-4);transition:color .25s ease;}
.bprail-nav a i{display:block;width:22px;height:2px;border-radius:2px;background:currentColor;opacity:.42;
  transition:width .3s var(--bp-ease-out),opacity .3s ease;}
.bprail-nav a span{opacity:0;transform:translateX(6px);transition:opacity .25s ease,transform .25s ease;white-space:nowrap;}
.bprail-nav a:hover span,.bprail-nav a.is-on span{opacity:1;transform:none;}
.bprail-nav a.is-on{color:var(--bp-blue);}
.bprail-nav a.is-on i{width:38px;opacity:1;}
.bprail-nav.on-dark a{color:#7E93AE;}
.bprail-nav.on-dark a.is-on{color:#8FC4F5;}
@media(max-width:1280px){.bprail-nav{display:none;}}

/* ---------- pinned horizontal rail ---------- */
.bppin{position:relative;}
.bppin__vp{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;
  overflow:hidden;}
.bppin__track{display:flex;gap:22px;will-change:transform;padding:0 max(28px,calc(50vw - 620px));}
.bppin__track > *{flex:0 0 302px;}
.bppin__hd{padding:0 max(28px,calc(50vw - 620px));margin:0 0 30px;
  display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;}
.bppin__hd h2{margin-bottom:8px !important;}
.bppin__hd .bp-lede{margin:0;max-width:56ch;}
.bppin__vp{padding:96px 0 0;}
.bppin__bar{position:relative;height:2px;border-radius:2px;background:var(--bp-line);
  margin:30px max(28px,calc(50vw - 620px)) 0;overflow:hidden;}
.bppin__bar i{position:absolute;inset:0 auto 0 0;width:12%;border-radius:2px;
  background:linear-gradient(90deg,var(--bp-blue),var(--bp-blue-2));}
.bppin__hint{font-family:var(--bp-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--bp-ink-4);margin:12px max(28px,calc(50vw - 620px)) 0;display:flex;gap:10px;align-items:center;}
.bppin__hint b{color:var(--bp-ink-2);font-weight:500;}

/* ---------- page transition ---------- */
.bpwipe{position:fixed;inset:0;z-index:9997;pointer-events:none;transform:translate3d(0,100%,0);
  background:linear-gradient(170deg,#0B1524 0%,#05080F 60%,#04070E 100%);}
.bpwipe__m{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transition:opacity .3s ease;}
html.bp-leaving .bpwipe{transform:translate3d(0,0,0);transition:transform .52s var(--bp-ease-out);}
html.bp-leaving .bpwipe__m{opacity:1;transition-delay:.18s;}
html.bp-entering .bpwipe{transform:translate3d(0,-100%,0);transition:transform .6s var(--bp-ease-out);}

/* ---------- magnetic ---------- */
.bp-mag{will-change:transform;}

/* ---------- velocity marquee ---------- */
body.bp .bptick__row{will-change:transform;}

@media(prefers-reduced-motion:reduce){
  .bpcur,.bpcur-dot,.bpwipe{display:none !important;}
  .bpk__c{transform:none !important;}
  .bppin__vp{position:static;height:auto;}
  .bppin__track{flex-wrap:wrap;transform:none !important;}
}

/* a rotated glyph needs room inside its own mask, or descenders and
   punctuation get clipped by the reveal box */
.bpk{padding:0 .04em .1em;margin:0 -.04em -.1em;}

/* running prose in the calculator is prose, not instrument data */
body.bp p.bpcalc__note{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  font-size:13px;line-height:1.62;letter-spacing:0;color:#8199B7;}
/* ==========================================================
   ds-9-lab : colour system, chrome, hero stage, new sections
   ========================================================== */
:root{
  --bp-cyan:#22D3EE;
  --bp-cyan-2:#67E8F9;
  --bp-violet:#7C5CFF;
  --bp-violet-2:#A78BFA;
  --bp-lime:#A3E635;
  --bp-amber:#F59E0B;
  --bp-rose:#F43F5E;
  --bp-mesh-1:radial-gradient(60% 80% at 12% 18%,rgba(34,211,238,.30),transparent 62%),
              radial-gradient(52% 70% at 86% 12%,rgba(124,92,255,.26),transparent 60%),
              radial-gradient(70% 90% at 62% 96%,rgba(22,104,214,.34),transparent 64%);
  --bp-grad-line:linear-gradient(90deg,var(--bp-cyan),var(--bp-blue) 42%,var(--bp-violet));
  --bp-sh-cyan:0 10px 34px rgba(34,211,238,.20);
  --bp-head:74px;
}

/* ---------- announcement ticker ---------- */
.bpann{position:relative;z-index:70;background:#05080F;color:#9FB5D1;font-size:12.5px;
  letter-spacing:.06em;text-transform:uppercase;font-family:var(--bp-mono);overflow:hidden;
  border-bottom:1px solid rgba(147,198,246,.12)}
.bpann__t{display:flex;gap:0;width:max-content;animation:bpann 46s linear infinite}
.bpann:hover .bpann__t{animation-play-state:paused}
.bpann__i{display:inline-flex;align-items:center;gap:10px;padding:9px 26px;white-space:nowrap}
.bpann__i b{color:#DCE9F8;font-weight:600}
.bpann__i::after{content:'';width:4px;height:4px;border-radius:50%;background:var(--bp-cyan);opacity:.7;margin-left:16px}
@keyframes bpann{to{transform:translate3d(-50%,0,0)}}

/* ---------- header v2 ---------- */
body.bp .bph{background:rgba(255,255,255,.86)}
body.bp.home .bph{background:transparent;border-bottom-color:transparent;backdrop-filter:none}
body.bp.home .bph .bph__nav a,
body.bp.home .bph .bph__wm{color:#E7F0FB}
body.bp.home .bph .bph__wm i{color:#7E93AE}
body.bp.home .bph .bph__nav a:hover{color:var(--bp-cyan)}
body.bp.home .bph .bp-btn--ghost{border-color:rgba(160,200,245,.34);color:#DCE9F8;background:rgba(255,255,255,.05)}
body.bp .bph.is-stuck{background:rgba(255,255,255,.9)!important;border-bottom-color:var(--bp-line)!important;
  backdrop-filter:saturate(180%) blur(16px)}
body.bp .bph.is-stuck .bph__nav a,body.bp .bph.is-stuck .bph__wm{color:var(--bp-ink)}
body.bp .bph.is-stuck .bph__wm i{color:var(--bp-ink-4)}
body.bp .bph.is-stuck .bp-btn--ghost{border-color:var(--bp-line-2);color:var(--bp-ink);background:#fff}
.bph__in{height:var(--bp-head)}
.bph__prog{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--bp-grad-line);
  box-shadow:0 0 12px rgba(34,211,238,.5);transition:width .12s linear;z-index:2}

/* nav item with mega panel */
.bphn{position:relative;display:flex;align-items:center;gap:26px;flex:1 1 auto;margin-left:6px}
.bphn__i{position:relative;font-size:14.5px;font-weight:500;letter-spacing:-.008em;color:var(--bp-ink-2);
  display:inline-flex;align-items:center;gap:6px;padding:20px 0;cursor:pointer;background:none;border:0;font-family:inherit}
body.bp.home .bph:not(.is-stuck) .bphn__i{color:#E7F0FB}
.bphn__i::after{content:'';position:absolute;left:0;right:0;bottom:14px;height:2px;
  background:var(--bp-grad-line);transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.2,.7,.3,1)}
.bphn__i:hover::after,.bphn__i[aria-expanded="true"]::after{transform:scaleX(1)}
.bphn__c{width:8px;height:8px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;
  transform:rotate(45deg) translateY(-2px);opacity:.5;transition:transform .25s}
.bphn__i[aria-expanded="true"] .bphn__c{transform:rotate(225deg) translateY(-2px)}

.bpmega{position:absolute;left:50%;top:100%;transform:translate(-50%,10px);width:min(1080px,94vw);
  background:rgba(255,255,255,.98);border:1px solid var(--bp-line);border-radius:var(--bp-r-lg);
  box-shadow:var(--bp-sh-3);padding:22px;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .22s,transform .28s cubic-bezier(.2,.7,.3,1);z-index:80}
.bpmega.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,8px)}
.bpmega__g{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.bpmega__l{display:block;padding:13px 14px;border-radius:var(--bp-r);text-decoration:none;
  border:1px solid transparent;transition:background .18s,border-color .18s,transform .18s}
.bpmega__l:hover{background:var(--bp-haze-2);border-color:var(--bp-line);transform:translateY(-1px)}
.bpmega__l b{display:block;font-size:14.5px;color:var(--bp-ink);font-weight:600;letter-spacing:-.01em}
.bpmega__l span{display:block;font-size:12.5px;color:var(--bp-ink-3);margin-top:3px;line-height:1.45}
.bpmega__l i{font-style:normal;font-family:var(--bp-mono);font-size:11px;color:var(--bp-blue);
  background:var(--bp-haze-2);border-radius:20px;padding:2px 7px;margin-left:6px}
.bpmega__f{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;
  padding-top:16px;border-top:1px solid var(--bp-line)}
.bpmega__f p{font-size:13px;color:var(--bp-ink-3);margin:0!important}

/* search trigger + palette */
.bpsrch{display:inline-flex;align-items:center;gap:9px;height:36px;padding:0 12px;border-radius:9px;
  border:1px solid var(--bp-line-2);background:#fff;color:var(--bp-ink-3);font-size:13.5px;cursor:pointer}
body.bp.home .bph:not(.is-stuck) .bpsrch{border-color:rgba(160,200,245,.3);background:rgba(255,255,255,.06);color:#B9CCE2}
.bpsrch kbd{font-family:var(--bp-mono);font-size:10.5px;border:1px solid currentColor;opacity:.5;
  border-radius:4px;padding:1px 4px}
.bppal{position:fixed;inset:0;z-index:200;display:none;align-items:flex-start;justify-content:center;
  padding-top:12vh;background:rgba(5,8,15,.62);backdrop-filter:blur(6px)}
.bppal.is-open{display:flex}
.bppal__b{width:min(680px,94vw);background:#fff;border-radius:var(--bp-r-lg);box-shadow:0 30px 90px rgba(5,8,15,.45);
  overflow:hidden;animation:bppal .28s cubic-bezier(.2,.7,.3,1)}
@keyframes bppal{from{opacity:0;transform:translateY(-14px) scale(.985)}}
.bppal__i{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--bp-line)}
.bppal__i input{flex:1;border:0;outline:0;font-size:17px;font-family:inherit;color:var(--bp-ink)}
.bppal__r{max-height:46vh;overflow:auto}
.bppal__o{display:flex;align-items:center;gap:12px;padding:11px 18px;text-decoration:none;border-bottom:1px solid var(--bp-mist)}
.bppal__o:hover,.bppal__o.is-sel{background:var(--bp-haze-2)}
.bppal__o b{font-size:14.5px;color:var(--bp-ink);font-weight:600}
.bppal__o span{font-size:12.5px;color:var(--bp-ink-3);font-family:var(--bp-mono)}
.bppal__o em{margin-left:auto;font-style:normal;font-size:13px;color:var(--bp-blue);font-weight:600}
.bppal__e{padding:26px 18px;text-align:center;color:var(--bp-ink-3);font-size:14px}

/* ---------- hero v2 ---------- */
.bpx{position:relative;isolation:isolate}
.bpx__mesh{position:absolute;inset:-10% -5% 0;z-index:0;background:var(--bp-mesh-1);
  opacity:.9;pointer-events:none;animation:bpmesh 24s ease-in-out infinite alternate}
@keyframes bpmesh{to{transform:translate3d(0,-3%,0) scale(1.06)}}
.bpx__scan{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.35;
  background:repeating-linear-gradient(to bottom,rgba(147,198,246,.10) 0 1px,transparent 1px 4px);
  mask-image:radial-gradient(70% 60% at 50% 40%,#000,transparent 78%)}
.bpx__in{position:relative;z-index:3}
.bpx__kick{background:rgba(34,211,238,.10);border-color:rgba(34,211,238,.34)!important;color:#BFF3FB!important}
.bpx__kick i{background:var(--bp-cyan)!important;box-shadow:0 0 0 4px rgba(34,211,238,.18)}
.bp-display em{background:linear-gradient(92deg,var(--bp-cyan),#8FD8FF 40%,var(--bp-violet-2));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-style:normal}

/* vial stage */
.bpstage{position:relative;display:grid;place-items:center;min-height:460px;perspective:1400px}
.bpstage__halo{position:absolute;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(34,211,238,.22),rgba(22,104,214,.12) 45%,transparent 70%);
  filter:none;animation:bphalo 9s ease-in-out infinite alternate}
@keyframes bphalo{to{transform:scale(1.12);opacity:.75}}
.bpstage__ring{position:absolute;border:1px solid rgba(147,198,246,.16);border-radius:50%}
.bpstage__ring--a{width:340px;height:340px;animation:bpspin 38s linear infinite}
.bpstage__ring--b{width:460px;height:460px;border-style:dashed;animation:bpspin 62s linear infinite reverse}
.bpstage__ring--c{width:580px;height:580px;border-color:rgba(124,92,255,.14);animation:bpspin 90s linear infinite}
@keyframes bpspin{to{transform:rotate(360deg)}}
.bpvial{position:relative;z-index:4;width:min(260px,52vw);transform-style:preserve-3d;
  animation:bpsway 14s ease-in-out infinite alternate;will-change:transform}
.bpvial img,.bpvial svg{display:block;width:100%;height:auto;
  filter:drop-shadow(0 30px 50px rgba(0,0,0,.55)) drop-shadow(0 0 40px rgba(34,211,238,.16))}
@keyframes bpsway{
  0%{transform:rotateY(-13deg) rotateX(3deg) translateY(0)}
  100%{transform:rotateY(13deg) rotateX(-2deg) translateY(-14px)}
}
.bpvial__gl{position:absolute;inset:0;border-radius:18px;pointer-events:none;mix-blend-mode:screen;
  background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.34) 46%,transparent 60%);
  background-size:280% 100%;animation:bpgl 6.5s ease-in-out infinite}
@keyframes bpgl{0%,100%{background-position:150% 0}50%{background-position:-50% 0}}
.bpchip{position:absolute;z-index:5;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;
  background:rgba(10,17,32,.72);border:1px solid rgba(147,198,246,.22);backdrop-filter:blur(8px);
  font-family:var(--bp-mono);font-size:11.5px;letter-spacing:.04em;color:#CFE2F6;white-space:nowrap;
  animation:bpfloat 7s ease-in-out infinite alternate}
.bpchip b{color:#fff;font-weight:600}
.bpchip::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--bp-cyan);box-shadow:0 0 8px var(--bp-cyan)}
.bpchip--1{top:12%;left:-4%;animation-delay:-1s}
.bpchip--2{top:44%;right:-8%;animation-delay:-3s}
.bpchip--3{bottom:14%;left:2%;animation-delay:-5s}
@keyframes bpfloat{to{transform:translateY(-12px)}}

/* ---------- gradient band ---------- */
.bpband{position:relative;overflow:hidden;background:#070C16;padding:clamp(56px,7vw,96px) 0}
.bpband::before{content:'';position:absolute;inset:0;background:var(--bp-mesh-1);opacity:.85}
.bpband::after{content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(115deg,rgba(255,255,255,.03) 0 1px,transparent 1px 7px)}
.bpband>*{position:relative;z-index:2}
.bpband h2,.bpband h3{color:#F4F9FF!important}
.bpband p,.bpband li{color:#A8BED9!important}

/* ---------- counters band ---------- */
.bpnum{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.4vw,34px)}
.bpnum__c{position:relative;padding:22px 20px;border-radius:var(--bp-r-lg);
  background:rgba(255,255,255,.045);border:1px solid rgba(147,198,246,.16);overflow:hidden}
.bpnum__c::after{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:var(--bp-grad-line);
  transform:scaleX(0);transform-origin:left;transition:transform 1s cubic-bezier(.2,.7,.3,1)}
.bpnum__c.is-in::after{transform:scaleX(1)}
.bpnum__v{font-size:clamp(30px,3.6vw,46px);font-weight:700;letter-spacing:-.03em;color:#fff;line-height:1}
.bpnum__l{margin-top:10px;font-size:13.5px;color:#9FB5D1;line-height:1.5}
.bpnum__s{margin-top:14px;height:3px;border-radius:3px;background:rgba(147,198,246,.14);overflow:hidden}
.bpnum__s i{display:block;height:100%;width:0;background:var(--bp-grad-line);transition:width 1.4s cubic-bezier(.2,.7,.3,1)}

/* ---------- marquee ---------- */
.bpmar{overflow:hidden;padding:18px 0;border-top:1px solid var(--bp-line);border-bottom:1px solid var(--bp-line);
  background:var(--bp-paper);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.bpmar__r{display:flex;width:max-content;gap:0;animation:bpmarl 58s linear infinite}
.bpmar__r--b{animation:bpmarr 72s linear infinite}
.bpmar:hover .bpmar__r{animation-play-state:paused}
.bpmar__i{display:inline-flex;align-items:center;gap:10px;padding:0 22px;font-size:clamp(20px,2.6vw,34px);
  font-weight:600;letter-spacing:-.03em;color:var(--bp-ink-4);white-space:nowrap;transition:color .2s}
.bpmar__i:hover{color:var(--bp-blue)}
.bpmar__i s{text-decoration:none;width:7px;height:7px;border-radius:50%;background:var(--bp-blue-3)}
@keyframes bpmarl{to{transform:translate3d(-50%,0,0)}}
@keyframes bpmarr{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}

/* ---------- compound explorer ---------- */
.bpexp__tabs{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 22px}
.bpexp__t{appearance:none;font-family:inherit;font-size:13.5px;font-weight:600;letter-spacing:-.005em;
  padding:9px 15px;border-radius:999px;border:1px solid var(--bp-line-2);background:#fff;color:var(--bp-ink-2);
  cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:.2s}
.bpexp__t i{font-style:normal;font-family:var(--bp-mono);font-size:11px;color:var(--bp-ink-3);
  background:var(--bp-mist);border-radius:20px;padding:1px 7px}
.bpexp__t:hover{border-color:var(--bp-blue-3);color:var(--bp-ink)}
.bpexp__t.is-on{background:var(--bp-ink);border-color:var(--bp-ink);color:#fff}
.bpexp__t.is-on i{background:rgba(255,255,255,.14);color:#CFE2F6}
.bpexp__g{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.bpexp__c{position:relative;display:block;text-decoration:none;border:1px solid var(--bp-line);
  border-radius:var(--bp-r-lg);background:#fff;overflow:hidden;transition:.28s cubic-bezier(.2,.7,.3,1)}
.bpexp__c:hover{transform:translateY(-4px);box-shadow:var(--bp-sh-3);border-color:var(--bp-blue-3)}
.bpexp__c::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(240px 160px at var(--mx,50%) var(--my,50%),rgba(34,211,238,.13),transparent 70%);
  opacity:0;transition:opacity .25s}
.bpexp__c:hover::after{opacity:1}
.bpexp__im{aspect-ratio:1;background:linear-gradient(180deg,var(--bp-haze-2),#fff);display:grid;place-items:center;padding:14px}
.bpexp__im img,.bpexp__im svg{width:74%;height:auto;display:block;transition:transform .4s cubic-bezier(.2,.7,.3,1)}
.bpexp__c:hover .bpexp__im img{transform:scale(1.06) rotate(-1.5deg)}
.bpexp__b{padding:14px 16px 16px;border-top:1px solid var(--bp-line)}
.bpexp__b h4{font-size:15px;font-weight:600;letter-spacing:-.015em;color:var(--bp-ink);margin:0 0 4px!important}
.bpexp__b p{font-size:12.5px!important;color:var(--bp-ink-3)!important;font-family:var(--bp-mono);margin:0!important}
.bpexp__p{display:flex;align-items:baseline;justify-content:space-between;margin-top:11px}
.bpexp__p b{font-size:16px;color:var(--bp-ink);letter-spacing:-.02em}
.bpexp__p span{font-size:12px;color:var(--bp-ok);font-weight:600}
.bpexp__c[hidden]{display:none}

/* ---------- certificate viewer ---------- */
.bpcoa{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(20px,3vw,44px);align-items:center}
.bpcoa__p{position:relative;border-radius:var(--bp-r-lg);overflow:hidden;
  background:linear-gradient(180deg,#0B1420,#060A12);border:1px solid rgba(147,198,246,.18);padding:22px}
.bpcoa__p::after{content:'';position:absolute;left:0;right:0;height:120px;top:-120px;
  background:linear-gradient(180deg,transparent,rgba(34,211,238,.16) 60%,rgba(34,211,238,.45));
  animation:bpscan 4.6s cubic-bezier(.5,0,.5,1) infinite}
@keyframes bpscan{0%{top:-120px}70%,100%{top:100%}}
.bpcoa__h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  padding-bottom:12px;border-bottom:1px dashed rgba(147,198,246,.22)}
.bpcoa__h b{color:#F4F9FF;font-size:14.5px;letter-spacing:-.01em}
.bpcoa__h span{font-family:var(--bp-mono);font-size:11.5px;color:var(--bp-cyan);letter-spacing:.06em}
.bpcoa__chart{height:180px;margin:16px 0 6px}
.bpcoa__chart svg{width:100%;height:100%;display:block;overflow:visible}
.bpcoa__pk{fill:none;stroke:var(--bp-cyan);stroke-width:1.6;
  stroke-dasharray:1400;stroke-dashoffset:1400;filter:drop-shadow(0 0 6px rgba(34,211,238,.6))}
.is-in .bpcoa__pk{animation:bpdraw 2.6s cubic-bezier(.3,.7,.3,1) forwards}
@keyframes bpdraw{to{stroke-dashoffset:0}}
.bpcoa__rows{display:grid;gap:0}
.bpcoa__r{display:flex;justify-content:space-between;gap:14px;padding:10px 0;
  border-bottom:1px solid rgba(147,198,246,.12);font-size:13.5px}
.bpcoa__r:last-child{border-bottom:0}
.bpcoa__r span{color:#9FB5D1}
.bpcoa__r b{color:#EAF2FC;font-family:var(--bp-mono);font-size:12.5px}

/* ---------- process timeline ---------- */
.bptl{position:relative;padding-left:64px}
.bptl__line{position:absolute;left:23px;top:8px;bottom:8px;width:2px;background:var(--bp-line)}
.bptl__line i{position:absolute;left:0;top:0;width:100%;height:0;background:var(--bp-grad-line);
  box-shadow:0 0 12px rgba(34,211,238,.4)}
.bptl__s{position:relative;padding:0 0 38px}
.bptl__s:last-child{padding-bottom:0}
.bptl__d{position:absolute;left:-64px;top:-2px;width:46px;height:46px;border-radius:50%;
  display:grid;place-items:center;background:#fff;border:2px solid var(--bp-line);
  font-family:var(--bp-mono);font-size:13px;font-weight:600;color:var(--bp-ink-3);transition:.4s}
.bptl__s.is-in .bptl__d{border-color:var(--bp-blue);color:var(--bp-blue);box-shadow:0 0 0 6px rgba(22,104,214,.08)}
.bptl__s h4{font-size:18px;font-weight:600;letter-spacing:-.02em;margin:0 0 6px!important}
.bptl__s p{margin:0!important;color:var(--bp-ink-2)!important;font-size:15px!important}

/* ---------- versus split ---------- */
.bpvs{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,26px)}
.bpvs__c{border-radius:var(--bp-r-lg);padding:clamp(20px,2.6vw,30px);border:1px solid var(--bp-line);background:#fff}
.bpvs__c--hl{background:linear-gradient(180deg,#0B1420,#070C16);border-color:rgba(147,198,246,.2);
  box-shadow:var(--bp-sh-3)}
.bpvs__c--hl h3{color:#F4F9FF!important}
.bpvs__c--hl li{color:#C9DCF2!important}
.bpvs__t{display:inline-flex;align-items:center;gap:8px;font-family:var(--bp-mono);font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:999px;
  border:1px solid var(--bp-line-2);color:var(--bp-ink-3);margin-bottom:14px}
.bpvs__c--hl .bpvs__t{border-color:rgba(34,211,238,.4);color:var(--bp-cyan);background:rgba(34,211,238,.08)}
.bpvs__l{list-style:none;margin:16px 0 0!important;padding:0!important;display:grid;gap:11px}
.bpvs__l li{display:flex;gap:11px;font-size:14.5px;line-height:1.55;align-items:flex-start}
.bpvs__l li::before{content:'';flex:0 0 auto;width:18px;height:18px;border-radius:50%;margin-top:1px;
  background:var(--bp-mist);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10l3.5 3.5L15 7' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10l3.5 3.5L15 7' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.bpvs__c--hl .bpvs__l li::before{background:var(--bp-cyan)}
.bpvs__c:not(.bpvs__c--hl) .bpvs__l li::before{background:var(--bp-ink-4)}
.bpvs__c--hl .bpvs__l li::before{background:var(--bp-cyan)}

/* ---------- responsive ---------- */
@media(max-width:1100px){
  .bpmega__g{grid-template-columns:repeat(2,1fr)}
  .bpcoa{grid-template-columns:1fr}
  .bpnum{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .bphn,.bpsrch{display:none}
  .bpvs{grid-template-columns:1fr}
  .bpstage{min-height:360px}
  .bpstage__ring--c{display:none}
  .bpchip--2{right:-2%}
}
@media(max-width:520px){
  .bpnum{grid-template-columns:1fr 1fr}
  .bptl{padding-left:52px}
  .bptl__d{left:-52px;width:38px;height:38px}
  .bptl__line{left:19px}
}
@media(prefers-reduced-motion:reduce){
  .bpann__t,.bpmar__r,.bpvial,.bpchip,.bpstage__ring,.bpstage__halo,.bpx__mesh,.bpcoa__p::after{animation:none!important}
}

/* ---------- cropped vial shots read large in every frame ---------- */
body.bp .bpp__top{aspect-ratio:4/5;padding:14px 10px;display:grid;place-items:center;
  background:linear-gradient(168deg,#EEF5FD 0%,#DCE9F7 58%,#F6FAFE 100%)}
body.bp .bpp__top .bpp__img,body.bp .bpp__top img.bp-shot{
  width:auto!important;height:100%!important;max-height:100%;max-width:100%;
  object-fit:contain;display:block;
  filter:drop-shadow(0 14px 22px rgba(10,18,34,.20))}
body.bp .bpexp__im{aspect-ratio:4/5}
body.bp .bpexp__im img{width:auto;height:100%;object-fit:contain;
  filter:drop-shadow(0 12px 20px rgba(10,18,34,.18))}
body.bp .woocommerce div.product div.images img.bp-shot,
body.bp .bpsingle__media img.bp-shot{width:auto;max-width:100%;height:auto;margin-inline:auto;display:block}
.bpvial img{width:auto;height:min(58vh,520px);max-width:100%;margin-inline:auto}

/* dark-band typography must beat .entry-content !important rules */
body.bp .bpband h1,body.bp .bpband h2,body.bp .bpband h3,body.bp .bpband h4,
body.bp .bpband .bpnum__v{color:#F4F9FF!important}
body.bp .bpband p,body.bp .bpband li,body.bp .bpband .bpnum__l{color:#A8BED9!important}
body.bp .bpband .bp-eyebrow{color:var(--bp-cyan)!important}
body.bp .bpvs__c--hl h3{color:#F4F9FF!important}
body.bp .bpvs__c--hl li,body.bp .bpvs__c--hl p{color:#C9DCF2!important}
body.bp .bpcoa__p b,body.bp .bpcoa__h b{color:#EAF2FC!important}
body.bp .bpcoa__r span{color:#9FB5D1!important}

/* bigger hero vial */
.bpvial{width:auto;max-width:min(360px,60vw)}
.bpvial img{height:min(62vh,560px);width:auto;max-width:100%}
@media(max-width:820px){ .bpvial img{height:min(46vh,380px)} }

/* explorer card footer: breathe */
.bpexp__b h4{font-size:15.5px}
.bpexp__p{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin-top:10px}
.bpexp__p b{font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-family:var(--bp-mono);
  color:var(--bp-ink-3);font-weight:600}
.bpexp__p span{font-size:12px;color:var(--bp-ok);font-weight:600;
  background:rgba(14,159,110,.09);border-radius:999px;padding:3px 9px}

/* accent line of the display headline; character-split so no gradient clip */
body.bp .bp-display em,body.bp .bp-display em *{
  color:#8FD8FF!important;-webkit-text-fill-color:#8FD8FF!important;
  background:none!important;font-style:normal}
body.bp .bp-display em{display:block;position:relative}
body.bp .bpvial img{height:min(56vh,500px);max-width:100%}

/* ----------------------------------------------------------
   Failsafe. No content on this site may depend on an
   animation running in order to be visible. If the document
   timeline is stalled (background tab, low-power rendering)
   or a reveal never fires, bp-ready snaps everything on.
   ---------------------------------------------------------- */
html.bp-ready [data-rise],
html.bp-ready [data-rise].is-in,
html.bp-ready .bp-display,
html.bp-ready .bp-display *,
html.bp-ready .bpk,
html.bp-ready .bpk__c,
html.bp-ready .bp-sec,
html.bp-ready .bpp,
html.bp-ready .bp-card,
html.bp-ready .bp-stat,
html.bp-ready .bph-dcard,
html.bp-ready .bpcmp{
  opacity:1!important;transform:none!important;filter:none!important;
  clip-path:none!important;visibility:visible!important;
  transition:none!important;animation-name:none!important}

/* retire legacy geo link bar (dead links + keyword stuffing) */
.elementor-element-a3c7c95{display:none!important}
/* ==========================================================
   ds-10-shop : single product + catalogue polish
   ========================================================== */
body.bp.bp-single .site-content,body.bp.bp-single .content-area{background:var(--bp-white)}
body.bp.bp-single div.product{max-width:var(--bp-max);margin:0 auto;padding:clamp(28px,4vw,56px) max(20px,calc(50vw - 620px)) 0;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:clamp(26px,4vw,64px);align-items:start}
body.bp.bp-single div.product > .woocommerce-product-gallery{grid-column:1;position:sticky;top:96px;
  border-radius:var(--bp-r-xl);overflow:hidden;
  background:linear-gradient(168deg,#EFF5FD 0%,#DCE9F7 56%,#F7FBFE 100%);
  border:1px solid var(--bp-line);padding:clamp(18px,2.6vw,34px)}
body.bp.bp-single .flex-viewport{height:auto!important;overflow:visible!important;transition:none!important}
body.bp.bp-single .woocommerce-product-gallery__wrapper{width:100%!important;display:block!important;
  transform:none!important;transition:none!important}
body.bp.bp-single .woocommerce-product-gallery__image{width:100%!important;float:none!important;display:none}
body.bp.bp-single .woocommerce-product-gallery__image:first-child{display:block}
body.bp.bp-single ol.flex-control-thumbs,body.bp.bp-single .flex-control-nav,
body.bp.bp-single .flex-direction-nav{display:none!important}
body.bp.bp-single .woocommerce-product-gallery img{width:auto!important;max-width:100%;height:auto;
  max-height:min(62vh,600px);display:block;margin:0 auto;
  filter:drop-shadow(0 26px 40px rgba(10,18,34,.24))}
body.bp.bp-single .woocommerce-product-gallery__trigger{display:none!important}
body.bp.bp-single div.product > .summary{grid-column:2;margin:0!important;width:auto!important;float:none!important}
body.bp.bp-single div.product > .woocommerce-tabs,
body.bp.bp-single div.product > .related,
body.bp.bp-single div.product > .bpsg__test{grid-column:1 / -1}

.bpsg__eye{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.bpsg__chip{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;
  border:1px solid var(--bp-line-2);background:var(--bp-paper);
  font-family:var(--bp-mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--bp-ink-2)}
.bpsg__chip--d{background:var(--bp-ink);border-color:var(--bp-ink);color:#fff}
.bpsg__chip--ok{border-color:rgba(14,159,110,.32);background:rgba(14,159,110,.08);color:#0B7A55}

body.bp.bp-single h1.product_title{font-size:clamp(32px,4vw,52px)!important;line-height:1.04!important;
  letter-spacing:-.035em!important;margin:0 0 14px!important;color:var(--bp-ink)!important}
body.bp.bp-single .summary p.price{margin:0 0 6px!important;display:flex;align-items:baseline;gap:10px}
body.bp.bp-single .summary p.price .amount{font-size:clamp(28px,3.2vw,40px);font-weight:700;
  letter-spacing:-.03em;color:var(--bp-ink)}
body.bp.bp-single .summary p.price::after{content:'CAD per vial';font-family:var(--bp-mono);font-size:11.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--bp-ink-3)}
body.bp.bp-single .woocommerce-product-details__short-description{font-size:16.5px;line-height:1.68;
  color:var(--bp-ink-2);margin:14px 0 22px;padding-bottom:22px;border-bottom:1px solid var(--bp-line)}

body.bp.bp-single .wccs-bulk-pricing-table-title{font-family:var(--bp-mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--bp-ink-3);margin:22px 0 10px!important}
body.bp.bp-single table.wccs-bulk-pricing-table{width:100%;border-collapse:separate;border-spacing:0;
  border:1px solid var(--bp-line);border-radius:var(--bp-r);overflow:hidden;font-size:14px}
body.bp.bp-single table.wccs-bulk-pricing-table th,
body.bp.bp-single table.wccs-bulk-pricing-table td{padding:11px 14px;border:0;border-bottom:1px solid var(--bp-mist);text-align:left}
body.bp.bp-single table.wccs-bulk-pricing-table th{background:var(--bp-paper);font-weight:600;color:var(--bp-ink-2);
  font-family:var(--bp-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase}
body.bp.bp-single table.wccs-bulk-pricing-table tr:last-child td{border-bottom:0}

body.bp.bp-single form.cart{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0 0!important}
body.bp.bp-single form.cart .quantity input{height:52px;width:96px;border-radius:10px;border:1px solid var(--bp-line-2);
  text-align:center;font-size:16px;font-weight:600;color:var(--bp-ink)}
body.bp.bp-single form.cart button.button{height:52px;padding:0 26px;border-radius:10px;border:0;
  background:linear-gradient(180deg,var(--bp-blue-2),var(--bp-blue));color:#fff;font-size:15.5px;font-weight:600;
  letter-spacing:-.01em;box-shadow:var(--bp-sh-blue);cursor:pointer;transition:.2s}
body.bp.bp-single form.cart button.button:hover{filter:brightness(1.06);transform:translateY(-1px)}
body.bp.bp-single p.stock{font-family:var(--bp-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  padding:8px 12px;border-radius:999px;display:inline-flex;margin:18px 0 0!important}
body.bp.bp-single p.stock.in-stock{background:rgba(14,159,110,.09);color:#0B7A55}
body.bp.bp-single p.stock.out-of-stock{background:rgba(180,83,9,.09);color:#8A4A06}

.bpsg__ladder{display:flex;flex-wrap:wrap;align-items:center;gap:9px 12px;margin:26px 0 0;
  padding:16px 18px;border-radius:var(--bp-r-lg);background:var(--bp-paper);border:1px solid var(--bp-line)}
.bpsg__ladderlab{font-family:var(--bp-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--bp-ink-3);width:100%}
.bpsg__tier{display:inline-flex;align-items:baseline;gap:7px;padding:6px 12px;border-radius:999px;background:#fff;
  border:1px solid var(--bp-line-2)}
.bpsg__tier b{font-size:13.4px;color:var(--bp-ink);font-weight:600}
.bpsg__tier i{font-style:normal;font-size:13px;color:var(--bp-blue);font-weight:650}
.bpsg__laddernote{width:100%;font-size:12.8px!important;color:var(--bp-ink-3)!important;margin:2px 0 0!important}

.bpsg__facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 0}
.bpsg__f{padding:14px 16px;border-radius:var(--bp-r);border:1px solid var(--bp-line);background:#fff}
.bpsg__f b{display:block;font-size:14px;color:var(--bp-ink);letter-spacing:-.01em;margin-bottom:4px}
.bpsg__f span{font-size:12.6px;color:var(--bp-ink-3);line-height:1.5}

.bpsg__test{margin:clamp(40px,5vw,72px) 0 0;padding:clamp(28px,3.6vw,52px);border-radius:var(--bp-r-xl);
  background:linear-gradient(160deg,#080E18,#04070D);position:relative;overflow:hidden;
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,3vw,48px);align-items:center}
.bpsg__test::before{content:'';position:absolute;inset:0;background:var(--bp-mesh-1);opacity:.55}
.bpsg__test>*{position:relative;z-index:2}
body.bp .bpsg__testcopy h2{color:#F4F9FF!important;font-size:clamp(24px,2.6vw,34px)!important;margin:0 0 14px!important}
body.bp .bpsg__testcopy p{color:#A8BED9!important;font-size:15.5px!important;margin:0 0 14px!important}

body.bp.bp-single .woocommerce-tabs{margin:clamp(40px,5vw,72px) 0 0}
body.bp.bp-single ul.tabs.wc-tabs{display:flex;gap:8px;list-style:none;margin:0 0 22px!important;padding:0!important;
  border:0;flex-wrap:wrap}
body.bp.bp-single ul.tabs.wc-tabs::before,body.bp.bp-single ul.tabs.wc-tabs li::before,
body.bp.bp-single ul.tabs.wc-tabs li::after{display:none!important}
body.bp.bp-single ul.tabs.wc-tabs li{margin:0;padding:0;background:none;border:0;border-radius:999px}
body.bp.bp-single ul.tabs.wc-tabs li a{display:inline-flex;padding:9px 16px;border-radius:999px;
  border:1px solid var(--bp-line-2);background:#fff;color:var(--bp-ink-2);font-size:13.6px;font-weight:600;
  text-decoration:none}
body.bp.bp-single ul.tabs.wc-tabs li.active a{background:var(--bp-ink);border-color:var(--bp-ink);color:#fff}
body.bp.bp-single .woocommerce-Tabs-panel{max-width:78ch}
body.bp.bp-single .woocommerce-Tabs-panel h2{font-size:clamp(22px,2.4vw,30px)!important}
body.bp.bp-single table.shop_attributes{width:100%;border-collapse:separate;border-spacing:0;
  border:1px solid var(--bp-line);border-radius:var(--bp-r);overflow:hidden}
body.bp.bp-single table.shop_attributes th,body.bp.bp-single table.shop_attributes td{
  padding:11px 14px;border:0;border-bottom:1px solid var(--bp-mist);font-size:14px;text-align:left}

body.bp.bp-single section.related{margin:clamp(40px,5vw,72px) 0 0;padding-bottom:clamp(40px,5vw,72px)}
body.bp.bp-single section.related > h2{font-size:clamp(24px,2.6vw,34px)!important;margin:0 0 22px!important}
body.bp.bp-single section.related ul.products{display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;list-style:none;margin:0!important;padding:0!important}
body.bp.bp-single section.related ul.products li.product{width:auto!important;margin:0!important;float:none!important;
  border:1px solid var(--bp-line);border-radius:var(--bp-r-lg);overflow:hidden;background:#fff;
  transition:.28s cubic-bezier(.2,.7,.3,1);padding:0}
body.bp.bp-single section.related ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--bp-sh-3)}
body.bp.bp-single section.related ul.products li.product img{width:auto!important;height:210px!important;
  object-fit:contain;margin:14px auto 0!important;display:block;
  filter:drop-shadow(0 12px 18px rgba(10,18,34,.18))}
body.bp.bp-single section.related ul.products li.product .woocommerce-loop-product__title{
  font-size:15px!important;padding:12px 16px 0!important;margin:0!important;color:var(--bp-ink)!important}
body.bp.bp-single section.related ul.products li.product .price{padding:4px 16px 14px!important;display:block;
  font-size:15px!important;color:var(--bp-ink-2)!important}
body.bp.bp-single section.related ul.products li.product a.button{margin:0 16px 16px!important;display:inline-flex}

@media(max-width:1000px){
  body.bp.bp-single div.product{grid-template-columns:1fr}
  body.bp.bp-single div.product > .woocommerce-product-gallery{position:static;grid-column:1}
  body.bp.bp-single div.product > .summary{grid-column:1}
  .bpsg__test{grid-template-columns:1fr}
  .bpsg__facts{grid-template-columns:1fr}
}

/* gallery sizing: the vial is the hero of this page */
body.bp.bp-single div.product > .woocommerce-product-gallery{width:100%!important;max-width:none!important;
  float:none!important;margin:0!important}
body.bp.bp-single .woocommerce-product-gallery__image{display:flex!important;justify-content:center;align-items:center}
body.bp.bp-single .woocommerce-product-gallery__image a{display:block;line-height:0}
body.bp.bp-single .woocommerce-product-gallery img{width:auto!important;max-width:100%!important;
  height:min(60vh,560px)!important;max-height:none!important;object-fit:contain!important;margin:0 auto!important}
@media(max-width:1000px){
  body.bp.bp-single .woocommerce-product-gallery img{height:min(46vh,420px)!important}
}

body.bp.bp-single div.product{grid-template-columns:minmax(0,46%) minmax(0,1fr)!important}
/* ============================================================
   ds-92-surface.css — the light surface.
   Loads last, so it retints the base tokens rather than fighting
   individual rules. Every "white" page becomes a layered field of
   the label's own light blue, with depth instead of flat paint.
   ============================================================ */

:root{
  /* the label's light blue, sampled from the bloom on the vial stock */
  --bp-sky:#7DC0F5;
  --bp-sky-2:#A9D6F9;
  --bp-sky-3:#CFE7FB;
  --bp-sky-4:#E4F1FD;

  /* light surfaces, retinted off pure white */
  --bp-white:#F2F8FE;
  --bp-paper:#E7F1FB;
  --bp-mist:#D9E9F8;
  --bp-line:#CFE1F3;
  --bp-line-2:#B3CFEA;

  /* a card still reads as a raised plane, so it stays near-white */
  --bp-card:#FBFDFF;
  --bp-card-2:#F6FAFE;

  --bp-sh-2:0 2px 4px rgba(16,58,110,.05), 0 12px 28px rgba(16,58,110,.08);
  --bp-sh-3:0 4px 8px rgba(16,58,110,.06), 0 24px 56px rgba(16,58,110,.12);
}

/* ---------- the field ----------
   Three stacked radial washes plus a faint engineering grid. The grid is
   what stops a light page reading as a blank template. */
body.bp{
  background-color:var(--bp-white);
  background-image:
    radial-gradient(1100px 620px at 12% -6%,  rgba(125,192,245,.28), transparent 62%),
    radial-gradient(900px 560px at 92% 8%,    rgba(169,214,249,.26), transparent 60%),
    radial-gradient(1200px 800px at 50% 112%, rgba(125,192,245,.20), transparent 64%),
    linear-gradient(180deg, #F6FAFE 0%, #EAF3FC 46%, #E2EEFA 100%);
  background-attachment:fixed,fixed,fixed,fixed;
}
body.bp::before{
  content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:
    linear-gradient(rgba(60,128,196,.052) 1px, transparent 1px),
    linear-gradient(90deg, rgba(60,128,196,.052) 1px, transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(1300px 900px at 50% 24%, #000 0%, transparent 78%);
          mask-image:radial-gradient(1300px 900px at 50% 24%, #000 0%, transparent 78%);
}
/* (removed: "body.bp > *{position:relative;z-index:1}". It lifted content
   above the grid, but it also forced every position:fixed component that is
   a direct child of <body> back into normal flow — the section rail, side
   cart, search palette, sticky bar, mobile menu and pointer aura all ended
   up stacked under the footer. The grid now sits at z-index:-1 instead,
   which needs nothing from the content.) */

/* ---------- sections sit on the field, not on white boxes ---------- */
/* only LIGHT sections go transparent to show the field; dark-designed
   sections keep their own background (an unscoped version of this rule
   stripped .bpband and left white text on the light page) */
body.bp .bp-sec:not(.bpband):not(.bp-sec--dark):not(.bpx):not(.bpcin):not(.bpcta):not(.bpcat__head){background:transparent;}
body.bp .bp-sec--paper{
  background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.34));
  border-top:1px solid rgba(255,255,255,.9);
  border-bottom:1px solid var(--bp-line);
  backdrop-filter:blur(2px);
}
/* alternating sections get a soft bloom so the scroll has rhythm */
body.bp .bp-sec:nth-of-type(odd)::after{
  content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(760px 420px at 88% 18%, rgba(125,192,245,.22), transparent 66%);
}
body.bp .bp-sec:nth-of-type(even)::after{
  content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(700px 400px at 8% 76%, rgba(169,214,249,.24), transparent 64%);
}
body.bp .bp-sec{position:relative;}

/* ---------- glass cards ---------- */
body.bp .bp-card,
body.bp .bpp,
body.bp .bpexp__c,
body.bp .bp-stat,
body.bp .bph-dcard,
body.bp .bpcmp{
  background:linear-gradient(168deg, rgba(255,255,255,.94), rgba(243,249,255,.80));
  border:1px solid rgba(255,255,255,.92);
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 1px 2px rgba(16,58,110,.05),
    0 14px 34px rgba(16,58,110,.10);
  backdrop-filter:blur(10px) saturate(1.12);
}
body.bp .bp-card:hover,
body.bp .bpp:hover,
body.bp .bpexp__c:hover{
  border-color:rgba(125,192,245,.75);
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 2px 6px rgba(16,58,110,.06),
    0 26px 60px rgba(16,58,110,.16),
    0 0 0 4px rgba(125,192,245,.14);
}

/* ---------- inputs and chips pick up the tint ---------- */
body.bp input:not([type=submit]),
body.bp select,
body.bp textarea{
  background:rgba(255,255,255,.9);
  border:1px solid var(--bp-line);
}
body.bp input:focus,body.bp select:focus,body.bp textarea:focus{
  border-color:var(--bp-sky);
  box-shadow:0 0 0 4px rgba(125,192,245,.22);
  outline:none;
}

/* ---------- dark sections keep their depth, but pick up the same blue ---------- */
body.bp .bp-sec--dark,
body.bp .bpx,
body.bp .bpsg__test{
  background-color:var(--bp-abyss);
  background-image:
    radial-gradient(900px 520px at 16% 0%, rgba(58,124,192,.30), transparent 60%),
    radial-gradient(760px 480px at 88% 92%, rgba(38,92,156,.26), transparent 62%);
}

/* ---------- the grid never covers a dark section ---------- */
body.bp .bp-sec--dark,body.bp .bpx{position:relative;z-index:1;}

@media (prefers-reduced-motion:reduce){
  body.bp{background-attachment:scroll,scroll,scroll,scroll;}
}
@media (max-width:900px){
  /* fixed background attachment is a scroll-jank trap on mobile */
  body.bp{background-attachment:scroll,scroll,scroll,scroll;}
  body.bp::before{background-size:44px 44px;}
}

/* ============================================================
   Elementor reveal failsafe.
   Elementor marks animated widgets .elementor-invisible
   (visibility:hidden) and relies on its own observer to clear it.
   On this install that observer does not always fire, which left
   whole pages looking empty. Content is never hostage to an
   animation: it shows, animated or not.
   ============================================================ */
body.bp .elementor-invisible{visibility:visible !important;}
html.bp-ready .elementor-invisible,
html.bp-ready .elementor-widget,
html.bp-ready .elementor-element{visibility:visible !important;opacity:1 !important;}
/* ============================================================
   ds-93-inherit.css — re-skin of legacy Avas / Elementor
   content. These pages were cloned with the old brand's widgets and
   colours: violet accents, and dark-slate body copy sitting on a dark
   violet panel, which is unreadable. This layer rebuilds those widgets
   in the Bulk Peptides language so every inherited page inherits the
   design system instead of the old brand.
   ============================================================ */

/* ---------- 1. no violet anywhere ---------- */
body.bp [style*="8342FB"],body.bp [style*="8342fb"],
body.bp [style*="7F40F4"],body.bp [style*="7f40f4"],
body.bp [style*="8224E3"],body.bp [style*="8224e3"],
body.bp [style*="7C5CFF"],body.bp [style*="7c5cff"]{color:var(--bp-blue) !important;}

body.bp .elementor-widget-container a:not(.bp-btn),
body.bp .tx-icon-box-wrap i,
body.bp .tx-icon-box-icon,
body.bp .tx-heading span,
body.bp .elementor-icon,
body.bp .tx-res-menu-txt{color:var(--bp-blue) !important;}
body.bp .elementor-icon svg,body.bp .tx-icon-box-icon svg{fill:var(--bp-blue) !important;}

/* gradient headings ("Who We Are") re-cut in brand blue */
body.bp .tx-heading .tx-gradient,
body.bp .elementor-heading-title span{
  background:linear-gradient(96deg,var(--bp-blue) 0%,#3E93E8 46%,#6FB7FF 100%) !important;
  -webkit-background-clip:text !important;background-clip:text !important;
  -webkit-text-fill-color:transparent !important;color:transparent !important;
}

/* ---------- 2. the icon-box card, rebuilt ---------- */
body.bp .tx-icon-box-wrap{
  background:linear-gradient(168deg, rgba(255,255,255,.95), rgba(240,247,255,.82)) !important;
  border:1px solid rgba(255,255,255,.95) !important;
  border-radius:var(--bp-r-lg) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.95) inset,
             0 2px 4px rgba(16,58,110,.05),
             0 16px 40px rgba(16,58,110,.11) !important;
  backdrop-filter:blur(10px) saturate(1.1);
  padding:26px 28px !important;
  position:relative;overflow:hidden;
  transition:transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease, border-color .3s ease;
}
/* a thin luminous edge and a corner bloom — the techy tell */
body.bp .tx-icon-box-wrap::before{
  content:'';position:absolute;left:0;top:0;width:100%;height:2px;
  background:linear-gradient(90deg,transparent,var(--bp-sky),transparent);
  opacity:.75;
}
body.bp .tx-icon-box-wrap::after{
  content:'';position:absolute;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle,rgba(125,192,245,.34),transparent 68%);pointer-events:none;
}
body.bp .tx-icon-box-wrap:hover{
  transform:translateY(-4px);
  border-color:rgba(125,192,245,.8) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.95) inset,
             0 30px 66px rgba(16,58,110,.17),
             0 0 0 4px rgba(125,192,245,.15) !important;
}
body.bp .tx-icon-box-wrap .tx-icon-box-title,
body.bp .tx-icon-box-wrap h1,body.bp .tx-icon-box-wrap h2,
body.bp .tx-icon-box-wrap h3,body.bp .tx-icon-box-wrap h4{
  color:var(--bp-ink) !important;font-weight:650 !important;letter-spacing:-.018em;
  margin:0 0 10px !important;font-size:19px !important;
}
body.bp .tx-icon-box-wrap p,
body.bp .tx-icon-box-wrap .tx-icon-box-desc,
body.bp .tx-icon-box-wrap li,body.bp .tx-icon-box-wrap span:not(.tx-gradient){
  color:var(--bp-ink-2) !important;
}
body.bp .tx-icon-box-icon{
  display:inline-grid;place-items:center;width:46px;height:46px;border-radius:12px;
  background:linear-gradient(150deg,rgba(125,192,245,.24),rgba(22,104,214,.12));
  border:1px solid rgba(125,192,245,.5);
  margin-bottom:14px;
}

/* ---------- 3. any other inherited dark panel gets legible ink ---------- */
body.bp .elementor-widget-container [class*="-wrap"][style*="rgba(30"],
body.bp [class*="tx-"][style*="background"]{color:var(--bp-ink) !important;}

/* ---------- 4. inherited typography and rhythm ---------- */
body.bp .elementor-widget-text-editor,
body.bp .elementor-widget-theme-post-content{
  color:var(--bp-ink-2);font-size:17px;line-height:1.72;
}
body.bp .elementor-widget-text-editor p{margin:0 0 18px;}
body.bp .elementor-heading-title{
  color:var(--bp-ink) !important;letter-spacing:-.026em;line-height:1.1;
}
body.bp .elementor-section.elementor-section-boxed > .elementor-container{max-width:var(--bp-max) !important;}
body.bp .elementor-widget:not(:last-child){margin-bottom:22px;}

/* ---------- 5. inherited buttons speak the brand ---------- */
body.bp .elementor-button,
body.bp .tx-button,
body.bp .elementor-button-link{
  background:linear-gradient(180deg,var(--bp-blue),var(--bp-blue-h)) !important;
  color:#fff !important;border:0 !important;border-radius:999px !important;
  padding:14px 28px !important;font-weight:600 !important;letter-spacing:.01em;
  box-shadow:var(--bp-sh-blue) !important;transition:transform .2s ease, box-shadow .2s ease;
}
body.bp .elementor-button:hover,body.bp .tx-button:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 44px rgba(22,104,214,.30) !important;
}

/* ---------- 6. accordions and tabs ---------- */
body.bp .elementor-accordion-item{
  background:rgba(255,255,255,.86) !important;
  border:1px solid var(--bp-line) !important;border-radius:var(--bp-r) !important;
  margin-bottom:10px;overflow:hidden;
}
body.bp .elementor-tab-title{color:var(--bp-ink) !important;font-weight:600 !important;}
body.bp .elementor-tab-title.elementor-active{color:var(--bp-blue) !important;}
body.bp .elementor-tab-content{color:var(--bp-ink-2) !important;border:0 !important;}

/* ---------- 7. images in inherited content get the card treatment ---------- */
body.bp .elementor-widget-image img{
  border-radius:var(--bp-r-lg);
  box-shadow:0 20px 50px rgba(16,58,110,.16);
}

/* ---------- 8. counters and stats ---------- */
body.bp .elementor-counter-number-wrapper{
  color:var(--bp-blue) !important;font-variant-numeric:tabular-nums;
  font-size:clamp(34px,4vw,54px) !important;font-weight:700;letter-spacing:-.03em;
}
body.bp .elementor-counter-title{color:var(--bp-ink-3) !important;font-size:13px;
  letter-spacing:.14em;text-transform:uppercase;}

@media (max-width:820px){
  body.bp .tx-icon-box-wrap{padding:20px 20px !important;}
}

/* ---------- 9. inherited split headings ----------
   Avas renders "Who We Are" as .tx-hd-first-part + .tx-hd-last-part and
   colours the last part white for a dark hero. On a light page that is
   invisible, so the accent is re-cut in brand blue. */
body.bp .tx-hd-title{color:var(--bp-ink) !important;}
body.bp .tx-hd-first-part{color:var(--bp-ink) !important;-webkit-text-fill-color:var(--bp-ink) !important;}
body.bp .tx-hd-last-part{
  background:linear-gradient(96deg,var(--bp-blue) 0%,#3E93E8 48%,#6FB7FF 100%) !important;
  -webkit-background-clip:text !important;background-clip:text !important;
  -webkit-text-fill-color:transparent !important;color:transparent !important;
}
body.bp .tx-hd-sub,body.bp .tx-hd-subtitle{color:var(--bp-blue) !important;
  font-family:var(--bp-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;}

/* white text left over from the old dark theme, on a light surface */
body.bp .elementor-widget-container .tx-icon-box-wrap [style*="color:#fff"],
body.bp .elementor-widget-container .tx-icon-box-wrap [style*="color: #fff"]{color:var(--bp-ink) !important;}

/* ---------- 10. inherited images must claim space ----------
   Images with no width/height attribute and width:auto compute to 0
   before they load, so they never appear. Give them an intrinsic box. */
body.bp .elementor-widget-image img,
body.bp .elementor-widget-container > img{
  display:block;width:100%;height:auto;min-height:1px;
}
body.bp .elementor-widget-image{min-height:1px;}
body.bp .elementor-widget-image .elementor-image,
body.bp .elementor-widget-image figure{margin:0;}
/* a broken inherited image should not leave a hole */
body.bp img[src$="NAD.png"]{display:none !important;}
/* ============================================================
   ds-94-cinema.css — the pinned vial stage and the card pop.
   ============================================================ */

.bpcin{position:relative;height:340vh;background:transparent;padding:0;}
.bpcin__vp{
  position:sticky;top:0;height:100vh;overflow:hidden;
  background:
    radial-gradient(1000px 600px at 16% 6%, rgba(58,124,192,.34), transparent 62%),
    radial-gradient(820px 520px at 88% 94%, rgba(30,84,150,.30), transparent 64%),
    linear-gradient(170deg,#030a14 0%,#05101f 44%,#020710 100%);
}
.bpcin__field{position:absolute;inset:0;width:100%;height:100%;opacity:.9;pointer-events:none;}
.bpcin__grid{
  position:relative;height:100%;max-width:var(--bp-max);margin:0 auto;padding:0 28px;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);
  align-items:center;gap:40px;
}

/* ---- copy beats ---- */
.bpcin__copy{position:relative;min-height:300px;}
.bpcin__beat{
  position:absolute;inset:auto 0 auto 0;top:50%;
  transform:translateY(-38%) translateZ(0);
  opacity:0;filter:blur(6px);pointer-events:none;
  transition:opacity .55s cubic-bezier(.2,.7,.2,1), transform .65s cubic-bezier(.2,.7,.2,1), filter .55s ease;
}
.bpcin__beat.is-on{opacity:1;filter:blur(0);transform:translateY(-50%) translateZ(0);pointer-events:auto;}
.bpcin__no{
  display:inline-block;font-family:var(--bp-mono);font-size:11px;letter-spacing:.3em;
  color:var(--bp-sky);border:1px solid rgba(125,192,245,.42);border-radius:999px;
  padding:6px 13px;margin-bottom:20px;background:rgba(125,192,245,.08);
}
.bpcin__h{
  color:#fff !important;font-size:clamp(30px,3.9vw,52px);line-height:1.06;
  letter-spacing:-.032em;margin:0 0 16px;font-weight:640;max-width:15ch;
}
.bpcin__p{color:rgba(219,233,248,.80) !important;font-size:17.5px;line-height:1.66;max-width:46ch;margin:0;}

/* ---- the stage ---- */
.bpcin__stage{position:relative;height:74vh;display:grid;place-items:center;}
.bpcin__halo{
  position:absolute;width:min(560px,92%);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle, rgba(125,192,245,.26) 0%, rgba(58,124,192,.13) 42%, transparent 70%);
  filter:blur(8px);
}
.bpcin__vial{
  position:relative;width:auto;height:clamp(340px,54vh,560px);aspect-ratio:220/487;
  background-repeat:no-repeat;background-position:0 0;
  filter:drop-shadow(0 46px 70px rgba(0,0,0,.66)) drop-shadow(0 0 40px rgba(110,180,240,.20));
  transition:transform .2s linear;
  will-change:transform,background-position;
}
.bpcin.is-fallback .bpcin__vial{
  background-image:url(/wp-content/uploads/bpshots/GLP-1-GIP-GLUC-30.webp?bpv=v2909glp) !important;
  background-size:contain !important;background-position:center !important;
}
.bpcin__floor{
  position:absolute;bottom:6%;width:min(440px,80%);height:64px;border-radius:50%;
  background:radial-gradient(ellipse, rgba(125,192,245,.20), transparent 68%);
  filter:blur(12px);
}
.bpcin__meter{
  position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(125,192,245,.14);
}
.bpcin__meter i{
  display:block;height:100%;transform-origin:0 50%;transform:scaleX(0);
  background:linear-gradient(90deg,var(--bp-blue),var(--bp-sky));
}

/* the rail and header should read as light while the stage is behind them */
.bpcin::after{display:none !important;}

@media (max-width:980px){
  .bpcin{height:300vh;}
  .bpcin__grid{grid-template-columns:1fr;gap:10px;align-content:center;padding:0 20px;}
  .bpcin__stage{height:44vh;order:-1;}
  .bpcin__vial{height:clamp(220px,34vh,340px);}
  .bpcin__copy{min-height:230px;}
  .bpcin__h{font-size:clamp(25px,6.4vw,34px);max-width:none;}
  .bpcin__p{font-size:15.5px;max-width:none;}
}

/* ---- card pop ---- */
.bp-pop{
  opacity:0;transform:perspective(900px) translate3d(0,26px,0) rotateX(7deg) scale(.965);
  transition:opacity .6s cubic-bezier(.2,.7,.2,1), transform .72s cubic-bezier(.2,.7,.2,1);
  will-change:opacity,transform;
}
.bp-pop-in{opacity:1;transform:perspective(900px) translate3d(0,0,0) rotateX(0) scale(1);}
/* no bp-ready override here: the pop has its own 4s JS failsafe, and
   killing the transform would flatten the effect on every load where
   the failsafe fires for unrelated reasons. */

@media (prefers-reduced-motion:reduce){
  .bpcin{height:auto;}
  .bpcin__vp{position:static;height:auto;padding:80px 0;}
  .bpcin__beat{position:static;opacity:1;filter:none;transform:none;margin-bottom:40px;}
  .bpcin__copy{min-height:0;}
  .bp-pop{opacity:1;transform:none;}
}/* ============================================================
   ds-95-pages.css — the composed page: hero band, section spine,
   lede, stat lines. Pairs with bp-page-composer in app.js.
   ============================================================ */

/* ---------- hero band ---------- */
.bppg__hero{
  position:relative;overflow:hidden;isolation:isolate;
  padding:clamp(76px,9vw,132px) 0 clamp(52px,6vw,84px);
  background:
    radial-gradient(900px 480px at 14% 0%, rgba(58,124,192,.34), transparent 62%),
    radial-gradient(760px 460px at 92% 96%, rgba(30,84,150,.30), transparent 64%),
    linear-gradient(168deg,#030a14 0%,#06111f 46%,#020710 100%);
  margin-bottom:clamp(40px,5vw,72px);
}
.bppg__hero-in{max-width:var(--bp-max);margin:0 auto;padding:0 28px;position:relative;z-index:2;}
.bppg__eye{
  display:inline-block;font-family:var(--bp-mono);font-size:11px;letter-spacing:.3em;
  text-transform:uppercase;color:var(--bp-sky);
  border:1px solid rgba(125,192,245,.4);border-radius:999px;padding:6px 14px;
  background:rgba(125,192,245,.08);margin-bottom:22px;
}
.bppg__h1{
  color:#fff !important;font-size:clamp(36px,5.4vw,66px) !important;line-height:1.03;
  letter-spacing:-.034em;margin:0 0 18px;font-weight:650;max-width:20ch;
}
.bppg__sub{
  color:rgba(214,230,246,.80) !important;font-size:clamp(16px,1.5vw,19px);
  line-height:1.62;max-width:62ch;margin:0;
}
.bppg__rule{display:flex;gap:6px;margin-top:30px;}
.bppg__rule i{height:2px;border-radius:2px;background:var(--bp-sky);opacity:.85;}
.bppg__rule i:nth-child(1){width:54px;}
.bppg__rule i:nth-child(2){width:18px;opacity:.55;}
.bppg__rule i:nth-child(3){width:8px;opacity:.3;}
/* an engineering grid + drifting sheen, so the band is never flat */
.bppg__hero-fx{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background-image:
    linear-gradient(rgba(125,192,245,.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(125,192,245,.10) 1px, transparent 1px);
  background-size:52px 52px;
  -webkit-mask-image:radial-gradient(780px 460px at 22% 40%, #000, transparent 74%);
          mask-image:radial-gradient(780px 460px at 22% 40%, #000, transparent 74%);
}
.bppg__hero::after{
  content:'';position:absolute;inset:-40% -10%;z-index:0;pointer-events:none;
  background:conic-gradient(from 210deg at 70% 40%, rgba(125,192,245,.16), transparent 32%, rgba(58,124,192,.14) 62%, transparent 86%);
  animation:bppgSheen 26s linear infinite;
}
@keyframes bppgSheen{to{transform:rotate(360deg);}}
/* the original H1 inside the content is now redundant */
.bppg__h1-orig{display:none !important;}
.bppg__used{display:none !important;}

/* ---------- section spine ---------- */
body.bp .bppg__sec{
  position:relative;
  padding-top:clamp(30px,4vw,56px);
  padding-bottom:clamp(30px,4vw,56px);
}
body.bp .bppg__sec + .bppg__sec{border-top:1px solid var(--bp-line);}
body.bp .bp-rule.bppg__rule-in{
  display:flex;align-items:center;gap:14px;margin:0 0 18px;
}
body.bp .bp-rule.bppg__rule-in span{
  font-family:var(--bp-mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--bp-blue);white-space:nowrap;
}
body.bp .bp-rule.bppg__rule-in i{
  flex:1;height:1px;background:linear-gradient(90deg,var(--bp-line-2),transparent);
}

/* ---------- lede ---------- */
body.bp .bp-lede{
  font-size:clamp(18px,1.8vw,21px) !important;line-height:1.6 !important;
  color:var(--bp-ink) !important;max-width:66ch;
}

/* ---------- stat lines ---------- */
body.bp .bp-statline{
  display:flex;align-items:baseline;gap:14px;list-style:none;
  padding:14px 18px;margin:0 0 8px;border-radius:var(--bp-r);
  background:linear-gradient(120deg, rgba(255,255,255,.9), rgba(240,247,255,.7));
  border:1px solid var(--bp-line);
}
body.bp .bp-statline b{
  font-size:26px;font-weight:700;letter-spacing:-.03em;color:var(--bp-blue);
  font-variant-numeric:tabular-nums;min-width:4.5ch;
}
body.bp .bp-statline span{color:var(--bp-ink-2);font-size:15.5px;}

@media (max-width:820px){
  .bppg__hero{padding:64px 0 44px;}
  .bppg__h1{max-width:none;}
  .bppg__hero-in{padding:0 20px;}
}
@media (prefers-reduced-motion:reduce){
  .bppg__hero::after{animation:none;}
}

/* contrast: the eyebrow is 11px, so it needs the darker blue to clear 4.5:1
   against a tinted section surface. */
body.bp .bp-rule.bppg__rule-in span{color:#0B4A9E !important;}
/* the search affordance in the header was a hair under 4.5:1 */
body.bp .bpsrch,body.bp .bpsrch span,
body.bp .bph input::placeholder{color:var(--bp-ink-2) !important;}

/* ---------- split sections: pinned head, reading column ---------- */
body.bp .bppg__sec--split{
  display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:clamp(28px,4vw,64px);
  align-items:start;max-width:var(--bp-max);margin-left:auto;margin-right:auto;
}
body.bp .bppg__sec--split > .bppg__head{position:sticky;top:110px;}
body.bp .bppg__sec--split > .bppg__head h2,
body.bp .bppg__sec--split > .bppg__head h3{
  font-size:clamp(24px,2.4vw,34px) !important;line-height:1.12;letter-spacing:-.026em;margin:0 !important;color:var(--bp-ink) !important;
}
body.bp .bppg__sec--split > .bppg__head .bp-rule{margin-bottom:14px;}
body.bp .bppg__sec--split > .bppg__body{max-width:74ch;}
body.bp .bppg__sec--split > .bppg__body > p{font-size:17.5px;line-height:1.74;color:var(--bp-ink-2);margin:0 0 18px;}
body.bp .bppg__sec--split > .bppg__body > p.bp-lede{font-size:clamp(19px,1.7vw,21px) !important;color:var(--bp-ink) !important;margin-bottom:22px;}
body.bp .bppg__sec--split > .bppg__body > h3,
body.bp .bppg__sec--split > .bppg__body > h4{margin:30px 0 10px;font-size:20px;color:var(--bp-ink);}

/* lists become a card grid */
body.bp .bppg__cards{list-style:none;margin:8px 0 22px !important;padding:0 !important;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;}
body.bp .bppg__cards > li{position:relative;margin:0 !important;padding:18px 18px 18px 46px;border-radius:14px;
  background:linear-gradient(168deg,rgba(255,255,255,.95),rgba(240,247,255,.82));
  border:1px solid rgba(255,255,255,.95);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 10px 26px rgba(16,58,110,.08);
  color:var(--bp-ink-2);font-size:15.5px;line-height:1.55;}
body.bp .bppg__cards > li::before{content:'';position:absolute;left:18px;top:21px;width:14px;height:14px;border-radius:4px;
  background:linear-gradient(135deg,var(--bp-sky),#1A63CC);box-shadow:0 0 0 4px rgba(125,192,245,.18);}
body.bp .bppg__cards > li strong,body.bp .bppg__cards > li b{color:var(--bp-ink);}

/* alternating panel sections read as raised sheets */
body.bp .bppg__sec--split.bppg__sec--panel{
  padding:clamp(34px,4vw,56px) clamp(24px,3.4vw,52px) !important;border-radius:24px;
  background:linear-gradient(168deg,rgba(255,255,255,.72),rgba(236,245,254,.5));
  border:1px solid rgba(255,255,255,.9);box-shadow:0 20px 50px rgba(16,58,110,.07);
}
body.bp .bppg__sec--split + .bppg__sec--split{border-top:0;}

@media (max-width:900px){
  body.bp .bppg__sec--split{grid-template-columns:1fr;gap:14px;}
  body.bp .bppg__sec--split > .bppg__head{position:static;}
}

/* balance small card sets instead of leaving an orphan on its own row */
body.bp .bppg__cards:has(> li:nth-child(4):last-child),
body.bp .bppg__cards:has(> li:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));}
/* ============================================================
   ds-96-fixes.css — three faults that only show up when you LOOK at
   the page rather than measure it.
   ============================================================ */

/* ---------- 1. the closed drawer was eating 878px of layout ----------
   .bpdrawer is position:relative with visibility:hidden, so it was
   invisible but still occupied its full height, pushing the hero a
   thousand pixels down the page and leaving a blank slab under the
   header at narrow widths. A closed panel must take no space. */
body.bp .bpdrawer{
  position:fixed !important;
  top:0;left:0;right:0;
  max-height:100dvh;
  z-index:120;
}
body.bp .bpdrawer:not(.is-open){
  height:0 !important;
  min-height:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}
body.bp .bpdrawer.is-open{
  height:auto !important;
  overflow:auto !important;
  pointer-events:auto !important;
}

/* ---------- 2. near-black ink on the near-black ticker ----------
   .bpann is #05080F and its contents inherited --bp-ink (#0A1222):
   a contrast ratio of about 1.1, i.e. invisible. Everything inside the
   dark chrome gets light ink, explicitly. */
body.bp .bpann,
body.bp .bpann *{color:#C9DCF0 !important;}
body.bp .bpann b,
body.bp .bpann strong,
body.bp .bpann .bpann__i b{color:#FFFFFF !important;}
body.bp .bpann i,
body.bp .bpann .bpann__dot,
body.bp .bpann svg{color:var(--bp-sky) !important;fill:var(--bp-sky) !important;}

/* ---------- 3. the wordmark disappeared on the light header ----------
   .bph__wm was near-white, which reads on a dark hero and vanishes the
   moment the header sits on a light surface. Ink follows the header
   state instead of being assumed. */
/* (unscoped .bph__wm ink rule removed: it also hit the footer logo) */
/* over a dark hero the header inverts, and so does the wordmark */
body.bp .bph.on-dark .bph__wm,
body.bp .bph.is-dark .bph__wm,
body.bp .bph.on-dark .bph__wm b{color:#F4F9FF !important;}
body.bp .bph.on-dark .bph__wm span:last-child{color:var(--bp-sky) !important;}

/* nav and actions follow the same rule */
body.bp .bphn__i{color:var(--bp-ink-2) !important;}
body.bp .bphn__i:hover{color:var(--bp-blue) !important;}
body.bp .bph .bp-btn--ghost{color:var(--bp-ink) !important;border-color:var(--bp-line-2) !important;}
body.bp .bph.on-dark .bphn__i{color:rgba(226,238,252,.86) !important;}
body.bp .bph.on-dark .bp-btn--ghost{color:#F4F9FF !important;border-color:rgba(255,255,255,.3) !important;}

/* ---------- 4. the header was buried under the hero ----------
   .bph sat at z-index:1 with position:relative, and the hero's
   decorative canvas layers painted straight over it: elementFromPoint
   at the logo returned .bpx__field. So on the home page there was no
   visible header at all. It sticks, it sits above the hero art, and
   the art never takes pointer events. */
body.bp header.bph{
  position:sticky !important;top:0 !important;z-index:90 !important;
  isolation:isolate;
}
body.bp .bpx__field,body.bp .bpx__mesh,body.bp .bpx__scan,
body.bp .bp-aurora,body.bp .bp-spot{
  z-index:0 !important;pointer-events:none !important;
}
body.bp .bpx__in{position:relative;z-index:2;}
body.bp .bpann{position:relative;z-index:91;}

/* ---------- 5. header ink follows the surface beneath it ----------
   Default is light, because the header's first screen is the dark hero.
   .is-light is set by script once the header is over a light surface. */
body.bp header.bph .bph__wm,
body.bp header.bph .bph__wm b{color:#F4F9FF !important;}
body.bp header.bph .bph__wm span:last-child{color:var(--bp-sky) !important;}
body.bp header.bph .bphn__i{color:rgba(226,238,252,.88) !important;}
body.bp header.bph .bphn__i:hover{color:#fff !important;}
body.bp header.bph .bp-btn--ghost{color:#F4F9FF !important;border-color:rgba(255,255,255,.32) !important;}
body.bp header.bph .bpsrch,body.bp header.bph .bpsrch span{color:rgba(206,224,245,.9) !important;}

body.bp header.bph.is-light{
  background:rgba(246,250,254,.88);
  backdrop-filter:blur(14px) saturate(1.1);
  border-bottom:1px solid var(--bp-line);
}
body.bp header.bph.is-light .bph__wm,
body.bp header.bph.is-light .bph__wm b{color:var(--bp-ink) !important;}
body.bp header.bph.is-light .bph__wm span:last-child{color:var(--bp-blue) !important;}
body.bp header.bph.is-light .bphn__i{color:var(--bp-ink-2) !important;}
body.bp header.bph.is-light .bphn__i:hover{color:var(--bp-blue) !important;}
body.bp header.bph.is-light .bp-btn--ghost{color:var(--bp-ink) !important;border-color:var(--bp-line-2) !important;}
body.bp header.bph.is-light .bpsrch,
body.bp header.bph.is-light .bpsrch span{color:var(--bp-ink-2) !important;}

/* ---------- 6. the header painted its own white background ----------
   An earlier layer gave .bph background:rgba(255,255,255,.93). On the
   shop page the script correctly read the dark catalogue band beneath
   and set light ink — which then sat on the header's own white, so the
   logo, the whole nav, search and Account were invisible.
   The header carries no background of its own: what is behind it
   decides both the backdrop and the ink, and they can never disagree. */
body.bp header.bph{background:transparent !important;border-bottom:0 !important;}
body.bp header.bph.on-dark{
  background:linear-gradient(180deg, rgba(3,9,17,.62), rgba(3,9,17,0)) !important;
  backdrop-filter:blur(2px);
}
body.bp header.bph.is-light{
  background:rgba(246,250,254,.90) !important;
  backdrop-filter:blur(14px) saturate(1.1);
  border-bottom:1px solid var(--bp-line) !important;
}
/* once scrolled, whichever state it is in gets a solid footing */
body.bp header.bph.is-stuck.on-dark{
  background:rgba(3,9,17,.86) !important;backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(125,192,245,.18) !important;
}

/* ---------- 7. the Account button was white on white ----------
   .bp-btn--ghost carried a solid white background from the base layer
   while the on-dark rule set white text. Ghost means ghost: the
   background comes from the state, never from the base. */
body.bp header.bph .bp-btn--ghost{
  background:rgba(255,255,255,.10) !important;
  border:1px solid rgba(255,255,255,.34) !important;
  color:#F4F9FF !important;backdrop-filter:blur(6px);
}
body.bp header.bph .bp-btn--ghost:hover{
  background:rgba(255,255,255,.18) !important;border-color:rgba(255,255,255,.55) !important;
}
body.bp header.bph.is-light .bp-btn--ghost{
  background:#FFFFFF !important;
  border:1px solid var(--bp-line-2) !important;
  color:var(--bp-ink) !important;
}
body.bp header.bph.is-light .bp-btn--ghost:hover{
  border-color:var(--bp-blue) !important;color:var(--bp-blue) !important;
}
/* the search affordance follows the same two states */
body.bp header.bph .bpsrch{
  background:rgba(255,255,255,.08) !important;border:1px solid rgba(255,255,255,.22) !important;
}
body.bp header.bph.is-light .bpsrch{
  background:#FFFFFF !important;border:1px solid var(--bp-line) !important;
}

/* ---------- 8. pointer affordance ----------
   Everything that responds to a click says so. */
body.bp a,body.bp button,body.bp summary,body.bp label[for],
body.bp [role="button"],body.bp [role="tab"],body.bp [role="link"],
body.bp input[type="submit"],body.bp input[type="button"],
body.bp input[type="checkbox"],body.bp input[type="radio"],
body.bp select,body.bp .bp-btn,body.bp .bpp,body.bp .bpexp__c,
body.bp .bp-card,body.bp .bpfaq__q,body.bp .bpcat__i,body.bp .bpchip,
body.bp [class*="chip"],body.bp [class*="__tab"],body.bp [onclick],
body.bp [data-href],body.bp .bprail-nav a,body.bp .bpmega__l,
body.bp .bpdrawer__l,body.bp .age-gate__submit,
body.bp .woocommerce-pagination a,body.bp li.product a{cursor:pointer !important;}

body.bp input[type="text"],body.bp input[type="email"],body.bp input[type="search"],
body.bp input[type="number"],body.bp input[type="password"],body.bp textarea{cursor:text !important;}
body.bp [aria-disabled="true"],body.bp .disabled,body.bp button:disabled{cursor:not-allowed !important;}
body.bp [draggable="true"],body.bp .bppin__vp{cursor:grab !important;}
body.bp .bppin__vp:active{cursor:grabbing !important;}
/* decoration must never intercept the pointer */
body.bp .bpcur,body.bp .bpcur-dot,body.bp .bp-aurora,body.bp .bp-spot,
body.bp .bpx__field,body.bp .bpx__mesh,body.bp .bpx__scan,
body.bp .bpcin__field,body.bp .bppg__hero-fx{pointer-events:none !important;}
/* ============================================================
   ds-97-hero.css — the vial group.
   Five vials staged in depth: a hero in front, two flanking behind it,
   two further back and softer. Depth is sold the way a camera sells it —
   scale, overlap, focus falloff and light — then the group breathes,
   follows the pointer at different rates per layer, and a light beam
   sweeps across it on a loop.
   ============================================================ */

body.bp .bpstage--group{
  position:relative;height:clamp(460px,64vh,640px);
  display:grid;place-items:end center;
  perspective:1400px;
}
body.bp .bpstage__row{
  position:relative;z-index:3;display:flex;align-items:flex-end;justify-content:center;
  height:100%;padding-bottom:6%;
  transform-style:preserve-3d;
}
body.bp .bpvx{
  position:relative;flex:0 0 auto;
  height:clamp(300px,50vh,500px);aspect-ratio:414/917;
  will-change:transform,filter;
  transition:filter .6s ease;
}
body.bp .bpvx img{
  display:block;width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 38px 44px rgba(0,0,0,.62)) drop-shadow(0 0 28px rgba(110,180,240,.12));
}
/* the glass glint that slides across each bottle */
body.bp .bpvx__gl{
  position:absolute;inset:14% 22% 8% 22%;pointer-events:none;border-radius:14px;
  background:linear-gradient(105deg, transparent 38%, rgba(255,255,255,.34) 48%, rgba(255,255,255,.06) 54%, transparent 62%);
  background-size:260% 100%;background-position:130% 0;
  mix-blend-mode:screen;opacity:.85;
  animation:bpGlint 6.5s cubic-bezier(.45,.05,.2,1) infinite;
}
@keyframes bpGlint{0%,62%{background-position:130% 0;}100%{background-position:-60% 0;}}

/* ---- depth ---- */
body.bp .bpvx--c {z-index:5;margin:0 -2.2%;}
body.bp .bpvx--i1,body.bp .bpvx--i2{z-index:4;height:clamp(236px,39vh,392px);margin:0 -5.5%;
  filter:brightness(.86) saturate(.95);}
body.bp .bpvx--o1,body.bp .bpvx--o2{z-index:3;height:clamp(180px,30vh,300px);margin:0 -6%;
  filter:brightness(.62) saturate(.85) blur(1.4px);}
body.bp .bpvx--i1 .bpvx__gl,body.bp .bpvx--i2 .bpvx__gl{animation-delay:.9s;opacity:.6;}
body.bp .bpvx--o1 .bpvx__gl,body.bp .bpvx--o2 .bpvx__gl{animation-delay:1.7s;opacity:.35;}

/* ---- breathing: each layer on its own period so they never sync ---- */
body.bp .bpvx--c  img{animation:bpFloatC 7s ease-in-out infinite;}
body.bp .bpvx--i1 img{animation:bpFloatA 8.4s ease-in-out infinite;}
body.bp .bpvx--i2 img{animation:bpFloatA 8.4s ease-in-out -4.2s infinite;}
body.bp .bpvx--o1 img{animation:bpFloatB 9.8s ease-in-out -1.3s infinite;}
body.bp .bpvx--o2 img{animation:bpFloatB 9.8s ease-in-out -6.1s infinite;}
@keyframes bpFloatC{0%,100%{transform:translate3d(0,0,0) rotate(0);}50%{transform:translate3d(0,-14px,0) rotate(.6deg);}}
@keyframes bpFloatA{0%,100%{transform:translate3d(0,0,0) rotate(-1.2deg);}50%{transform:translate3d(0,-10px,0) rotate(.4deg);}}
@keyframes bpFloatB{0%,100%{transform:translate3d(0,0,0) rotate(1.4deg);}50%{transform:translate3d(0,-7px,0) rotate(-.6deg);}}

/* ---- entrance: the group rises out of focus into place ---- */
body.bp .bpvx{opacity:0;transform:translate3d(0,60px,0);filter:blur(8px);}
body.bp .bpstage--group.is-up .bpvx{opacity:1;transform:none;
  transition:opacity .9s cubic-bezier(.2,.7,.2,1), transform 1.2s cubic-bezier(.16,.84,.24,1), filter 1s ease;}
body.bp .bpstage--group.is-up .bpvx--c {transition-delay:.05s;filter:none;}
body.bp .bpstage--group.is-up .bpvx--i1,
body.bp .bpstage--group.is-up .bpvx--i2{transition-delay:.22s;filter:brightness(.86) saturate(.95);}
body.bp .bpstage--group.is-up .bpvx--o1,
body.bp .bpstage--group.is-up .bpvx--o2{transition-delay:.4s;filter:brightness(.62) saturate(.85) blur(1.4px);}

/* ---- the sweep ---- */
body.bp .bpstage__beam{
  position:absolute;z-index:6;top:-10%;bottom:-10%;width:34%;left:-40%;pointer-events:none;
  background:linear-gradient(100deg, transparent 0%, rgba(150,210,255,.10) 42%, rgba(210,238,255,.20) 50%, rgba(150,210,255,.10) 58%, transparent 100%);
  mix-blend-mode:screen;filter:blur(6px);
  animation:bpBeam 7.5s cubic-bezier(.55,.05,.35,1) 1.4s infinite;
}
@keyframes bpBeam{0%{left:-40%;opacity:0;}12%{opacity:1;}58%{opacity:1;}72%,100%{left:112%;opacity:0;}}

/* ---- the floor ---- */
body.bp .bpstage__floor{
  position:absolute;z-index:2;left:6%;right:6%;bottom:3%;height:18%;border-radius:50%;
  background:radial-gradient(ellipse at 50% 40%, rgba(125,192,245,.26), rgba(58,124,192,.08) 46%, transparent 72%);
  filter:blur(10px);
}

/* the chips float above everything */
body.bp .bpstage--group .bpchip{z-index:8;}

@media (max-width:980px){
  body.bp .bpstage--group{height:clamp(340px,52vh,460px);}
  body.bp .bpvx--o1,body.bp .bpvx--o2{display:none;}
  body.bp .bpvx--c{height:clamp(240px,42vh,360px);}
  body.bp .bpvx--i1,body.bp .bpvx--i2{height:clamp(180px,32vh,280px);margin:0 -7%;}
}
@media (prefers-reduced-motion:reduce){
  body.bp .bpvx,body.bp .bpvx img,body.bp .bpvx__gl,body.bp .bpstage__beam{animation:none !important;}
  body.bp .bpvx{opacity:1;transform:none;filter:none;}
}

/* ---- composition fix ----
   The row was sized by its content (764px) inside a 514px stage and
   anchored left, so the group spilled off the right edge. The row now
   fills the stage and the vials overlap by fixed amounts, tucking each
   layer behind the one in front — which is what a staged group looks
   like anyway. */
body.bp .bpstage__row{width:100%;justify-content:center;left:0;right:0;}
body.bp .bpvx--c {height:clamp(270px,46vh,420px);margin:0 !important;}
body.bp .bpvx--i1,body.bp .bpvx--i2{height:clamp(210px,36vh,328px);}
body.bp .bpvx--o1,body.bp .bpvx--o2{height:clamp(160px,27.6vh,252px);}
body.bp .bpvx--o1{margin:0 -52px 0 0 !important;}
body.bp .bpvx--i1{margin:0 -48px 0 0 !important;}
body.bp .bpvx--i2{margin:0 0 0 -48px !important;}
body.bp .bpvx--o2{margin:0 0 0 -52px !important;}
@media (max-width:980px){
  body.bp .bpvx--i1{margin:0 -36px 0 0 !important;}
  body.bp .bpvx--i2{margin:0 0 0 -36px !important;}
}

body.bp .bpx__lede b{color:#fff;font-weight:650;}
body.bp .bpx__close{display:flex;flex-wrap:wrap;gap:8px 18px;margin:20px 0 0;padding:0;}
body.bp .bpx__close span{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:rgba(206,224,245,.86);}
body.bp .bpx__close span::before{content:'';width:16px;height:16px;border-radius:5px;flex:0 0 auto;
  background:linear-gradient(140deg,#4FA9F5,#1A63CC) center/cover;box-shadow:0 3px 8px rgba(26,99,204,.4);
  -webkit-mask:linear-gradient(#000,#000);}
/* ============================================================
   ds-98-contrast.css — loads last. Every rule here fixes a measured
   contrast failure found by sampling the real surface under each text
   node (worst gradient stop, not the average).
   ============================================================ */

/* ---- muted ink was tuned for pure white; on the blue field it failed ----
   ink-3 / ink-4 darkened until they clear 4.5:1 on #D9E9F8, the darkest
   light surface in the system. */
:root{
  --bp-ink-3:#4A5A71;
  --bp-ink-4:#56657C;
  --bp-ok:#05704D;
}
body.bp .bpp__sub,body.bp .bpp__pr i,body.bp .bppin__hint,body.bp .bpcmp__h,
body.bp .bpsp__hd b,body.bp .bp-sec .bp-rule span,body.bp .bprail-nav a span{color:var(--bp-ink-3) !important;}

/* ---- the price-ladder band: its dark ground was stripped ---- */
body.bp .bpband{background:#070C16 !important;}

/* ---- dark surfaces: all ink is light, explicitly ---- */
body.bp footer.bpf,body.bp footer.bpf p,body.bp footer.bpf li,body.bp footer.bpf span{color:rgba(206,222,240,.80) !important;}
body.bp footer.bpf h2,body.bp footer.bpf h3,body.bp footer.bpf h4,body.bp footer.bpf b,body.bp footer.bpf strong{color:#F1F7FE !important;}
body.bp footer.bpf a{color:rgba(214,230,248,.86) !important;}
body.bp footer.bpf a:hover{color:#fff !important;}
body.bp footer.bpf .bpf__disc{color:rgba(176,196,220,.72) !important;}
/* the footer wordmark (onDark variant) */
body.bp .bph__wm--onDark,body.bp .bph__wm--onDark b{color:#F4F9FF !important;}
body.bp .bph__wm--onDark i,body.bp .bph__wm--onDark span:last-child{color:var(--bp-sky) !important;}

/* the product ticker sits on a dark band */
body.bp .bptick__i,body.bp .bptick__i b,body.bp .bptick__i span{color:rgba(226,238,252,.9) !important;}
body.bp .bptick__i b{color:#FFFFFF !important;}

/* eyebrows on dark: the brand blue is too dark to read on navy */
body.bp .bp-eyebrow--onDark,body.bp .bp-sec--dark .bp-eyebrow,body.bp .bpband .bp-eyebrow,
body.bp .bpcta .bp-eyebrow{color:var(--bp-sky) !important;}

/* calculator internals: labels on its darker cells */
body.bp .bpcalc__cell span,body.bp .bpcalc__cell small{color:rgba(196,216,238,.78) !important;}
body.bp .bpcalc__save{color:#7EF0C0 !important;}

/* ---- light surfaces: accents that were too pale ---- */
body.bp .bpp__was,body.bp .bpexp__p > span{color:var(--bp-ok) !important;}
body.bp .bpp__tag--case{background:#1558B8 !important;color:#fff !important;}
body.bp header.bph.is-light .bph__wm i{color:var(--bp-blue) !important;}

/* ---- second pass: the last seven measured failures ---- */
/* calculator step labels on dark, and on the live (blue) step */
body.bp .bpcalc__step,body.bp .bpcalc__step span,body.bp .bpcalc__scale span{color:rgba(170,192,218,.92) !important;}
body.bp .bpcalc__step.is-live,body.bp .bpcalc__step.is-live span{color:#FFFFFF !important;}
/* ticker sub-label on its dark band */
body.bp .bptick__i em{color:rgba(170,192,218,.92) !important;}
/* primary button: a hair deeper so white clears 4.5:1 across the whole gradient */
body.bp .bp-btn--primary{background:linear-gradient(180deg,#1A63CC,#0F4FA8) !important;}
/* brand-blue text on the light field: deepen to clear 4.5:1 on #E2EEFA */
body.bp .bp-eyebrow:not(.bp-eyebrow--onDark),body.bp .bp-card__num{color:#0F57BE !important;}

/* ---- third pass: site-wide sweep, 60 pages / 12,156 text nodes ---- */

/* eyebrows that sit inside a dark section but lack the --onDark modifier:
   my deeper link blue made them dark-on-dark */
body.bp .bpcalc-wrap .bp-eyebrow,body.bp .bpcoa .bp-eyebrow,body.bp .bpband .bp-eyebrow,
body.bp .bp-sec--dark .bp-eyebrow,body.bp .bpx .bp-eyebrow,body.bp .bpcin .bp-eyebrow,
body.bp .bp-panel .bp-eyebrow,body.bp .bppg__hero .bp-eyebrow{color:var(--bp-sky) !important;}

/* body links on the light field: #1668D6 measured 4.48:1, a hair short */
body.bp a{color:#0F57BE;}
body.bp .bpcat__seoin a,body.bp .bp-sec a:not(.bp-btn),body.bp .wc-block-grid__product-title,
body.bp .entry-content a:not(.bp-btn){color:#0F57BE !important;}
/* but never on a dark surface */
body.bp .bpx a:not(.bp-btn),body.bp .bp-sec--dark a:not(.bp-btn),body.bp .bpband a:not(.bp-btn),
body.bp .bppg__hero a,body.bp footer.bpf a,body.bp .bp-panel a:not(.bp-btn){color:var(--bp-sky) !important;}

/* live calculator step: white on the lit blue cell, and win the cascade */
body.bp .bpcalc .bpcalc__step.is-live,body.bp .bpcalc__step.is-live *{color:#FFFFFF !important;}

/* product page free-shipping heading */
body.bp .bp-single h1[style*="1f7a4d"],body.bp .bp-single .bp-free,
body.bp .bp-single h1:not(.product_title){color:#05704D !important;}

/* ---- my-account: the login/register panel was still the inherited
   legacy violet (rgb 23,19,49) with dark ink on it. Rebuilt as a
   Bulk Peptides glass panel. ---- */
body.bp.woocommerce-account .u-columns,
body.bp.woocommerce-account .woocommerce form.login,
body.bp.woocommerce-account .woocommerce form.register,
body.bp.woocommerce-account .col2-set > .col-1,
body.bp.woocommerce-account .col2-set > .col-2,
body.bp.woocommerce-account [class*="login"][style*="background"]{
  background:linear-gradient(168deg, rgba(255,255,255,.96), rgba(240,247,255,.86)) !important;
  border:1px solid rgba(255,255,255,.95) !important;border-radius:var(--bp-r-lg) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.95) inset, 0 16px 40px rgba(16,58,110,.12) !important;
  color:var(--bp-ink) !important;padding:30px !important;
}
body.bp.woocommerce-account h2,body.bp.woocommerce-account label,
body.bp.woocommerce-account .woocommerce p{color:var(--bp-ink) !important;}
body.bp.woocommerce-account .woocommerce-privacy-policy-text p{color:var(--bp-ink-2) !important;}
body.bp.woocommerce-account .woocommerce a{color:#0F57BE !important;}
/* anything else on the account page still painting the old violet */
body.bp.woocommerce-account [style*="rgb(23, 19, 49)"],
body.bp.woocommerce-account [style*="#171331"]{background:transparent !important;}

/* cart cross-sell button on its grey card */
body.bp .wp-block-button__link.add_to_cart_button,
body.bp .wc-block-grid__product-add-to-cart .wp-block-button__link{
  background:linear-gradient(180deg,#1A63CC,#0F4FA8) !important;color:#fff !important;border:0 !important;
}

/* ---- fixed components stay fixed ---- */
body.bp > .bprail-nav{position:fixed !important;}
body.bp > .bpcur,body.bp > .bpcur-dot{position:fixed !important;}
body.bp > .bppal{position:fixed !important;}
body.bp > .xoo-wsc-markup .xoo-wsc-modal,body.bp .xoo-wsc-container,body.bp .xoo-wsc-basket{position:fixed !important;}

/* ---- shop category chips ----
   These share the class .bpchip with the floating chips in the hero, so
   they inherited position:absolute and the float animation and all nine
   stacked on one pixel. They are filters, not decoration: normal flow. */
body.bp .bpcat__chips{display:flex !important;flex-wrap:wrap !important;gap:10px !important;height:auto !important;margin-bottom:22px;}
body.bp .bpcat__chips .bpchip{
  position:static !important;animation:none !important;transform:none !important;
  inset:auto !important;
  display:inline-flex !important;align-items:center;gap:10px;
  padding:10px 14px 10px 16px !important;border-radius:999px !important;
  background:rgba(255,255,255,.92) !important;border:1px solid var(--bp-line) !important;
  color:var(--bp-ink) !important;font-size:14px;font-weight:550;letter-spacing:-.005em;
  text-decoration:none;white-space:nowrap;
  box-shadow:0 1px 2px rgba(16,58,110,.05);
  transition:border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease;
}
body.bp .bpcat__chips .bpchip i{
  font-style:normal;font-family:var(--bp-mono);font-size:11.5px;font-weight:600;
  min-width:24px;height:22px;padding:0 7px;border-radius:999px;display:inline-grid;place-items:center;
  background:var(--bp-sky-4);color:#0F57BE;
}
body.bp .bpcat__chips .bpchip:hover{
  border-color:var(--bp-sky) !important;background:#fff !important;
  transform:translateY(-1px) !important;box-shadow:0 8px 20px rgba(16,58,110,.10);
}
body.bp .bpcat__chips .bpchip.is-on,body.bp .bpcat__chips .bpchip[aria-current]{
  background:linear-gradient(180deg,#1A63CC,#0F4FA8) !important;border-color:transparent !important;color:#fff !important;
}
body.bp .bpcat__chips .bpchip.is-on i,body.bp .bpcat__chips .bpchip[aria-current] i{background:rgba(255,255,255,.2);color:#fff;}
/* and the hero chips keep their float, scoped so this can never recur */
body.bp .bpstage .bpchip{position:absolute;}

/* nav items never wrap onto two lines */
body.bp .bphn__i{white-space:nowrap !important;}

/* ---- the header, final word ----
   Four older layers still set a white header background (one !important),
   and a .35s background transition animated THROUGH white every time the
   header changed state, so it flashed pale on scroll. Background no longer
   transitions; only the shadow does. States below are the only ones. */
body.bp header.bph,body.bp header.bph.is-stuck,body.bp:not(.home) header.bph{
  transition:box-shadow .3s ease, border-color .3s ease !important;
}
body.bp header.bph.on-dark,body.bp header.bph.on-dark.is-stuck{
  background:rgba(3,9,17,.84) !important;
  backdrop-filter:blur(16px) saturate(1.15) !important;
  border-bottom:1px solid rgba(125,192,245,.16) !important;
}
body.bp.home header.bph.on-dark:not(.is-stuck){
  /* over the home hero at rest, the header dissolves into the art */
  background:linear-gradient(180deg, rgba(3,9,17,.55), rgba(3,9,17,0)) !important;
  backdrop-filter:none !important;border-bottom-color:transparent !important;
}
body.bp header.bph.is-light,body.bp header.bph.is-light.is-stuck{
  background:rgba(246,250,254,.92) !important;
  backdrop-filter:blur(16px) saturate(1.1) !important;
  border-bottom:1px solid var(--bp-line) !important;
}
/* ============================================================
   ds-99-about.css — the About page, rebuilt.
   The legacy Elementor layout is hidden on page-id-13 and
   replaced with about.html. If the replacement ever fails to load,
   the inherited page is shown again rather than a blank one.
   ============================================================ */
body.bp.page-id-13 [data-elementor-type="wp-page"],
body.bp.page-id-13 .bppg__hero{display:none !important;}
body.bp.page-id-13.bp-about-failed [data-elementor-type="wp-page"]{display:block !important;}
body.bp.page-id-13 .container.space-blank,body.bp.page-id-13 .container.space-content{max-width:none !important;padding:0 !important;}

.bpab{--r:22px;}
.bpab .bp-btn--lg{padding:16px 26px !important;font-size:16px;}

/* ---- hero ---- */
.bpab__hero{position:relative;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(1000px 560px at 12% -4%, rgba(58,124,192,.36), transparent 62%),
    radial-gradient(820px 520px at 96% 100%, rgba(30,84,150,.34), transparent 64%),
    linear-gradient(168deg,#030a14 0%,#06111f 48%,#020710 100%);
  padding:clamp(80px,9vw,140px) 0 0;}
.bpab__hero::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(125,192,245,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(125,192,245,.09) 1px,transparent 1px);
  background-size:56px 56px;-webkit-mask-image:radial-gradient(900px 520px at 30% 30%,#000,transparent 72%);mask-image:radial-gradient(900px 520px at 30% 30%,#000,transparent 72%);}
.bpab__hero-in{position:relative;z-index:1;max-width:var(--bp-max);margin:0 auto;padding:0 28px;
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px;align-items:center;}
.bpab__eye{display:inline-block;font-family:var(--bp-mono);font-size:11px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--bp-sky);border:1px solid rgba(125,192,245,.4);border-radius:999px;padding:6px 14px;background:rgba(125,192,245,.08);margin-bottom:24px;}
.bpab__h1{color:#fff !important;font-size:clamp(40px,5.6vw,74px) !important;line-height:1.02;letter-spacing:-.036em;margin:0 0 22px;font-weight:660;}
.bpab__h1 em{font-style:normal;background:linear-gradient(96deg,#8FD8FF,#4FA9F5 60%,#7DC0F5);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.bpab__lede{color:rgba(214,230,246,.84) !important;font-size:clamp(17px,1.5vw,20px);line-height:1.64;max-width:56ch;margin:0 0 30px;}
.bpab__cta{display:flex;flex-wrap:wrap;gap:12px;}

.bpab__hero-art{position:relative;height:clamp(360px,52vh,520px);}
.bpab__rack{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:4%;}
.bpab__rack img{height:62%;width:auto;margin:0 -30px;filter:brightness(.62) blur(1px) drop-shadow(0 30px 34px rgba(0,0,0,.6));
  animation:bpabRise 1.1s cubic-bezier(.16,.84,.24,1) both;}
.bpab__rack img:nth-child(2),.bpab__rack img:nth-child(4){height:78%;filter:brightness(.84) drop-shadow(0 34px 40px rgba(0,0,0,.6));z-index:1;animation-delay:.12s;}
.bpab__rack img:nth-child(3){height:96%;position:relative;z-index:2;filter:drop-shadow(0 40px 48px rgba(0,0,0,.66)) drop-shadow(0 0 30px rgba(110,180,240,.18));animation-delay:.04s;}
.bpab__rack img:nth-child(1),.bpab__rack img:nth-child(5){animation-delay:.22s;}
@keyframes bpabRise{from{opacity:0;transform:translateY(50px);}to{opacity:1;transform:none;}}
.bpab__rack::after{content:'';position:absolute;left:8%;right:8%;bottom:0;height:22%;border-radius:50%;
  background:radial-gradient(ellipse,rgba(125,192,245,.26),transparent 70%);filter:blur(10px);z-index:0;}

.bpab__stats{position:relative;z-index:1;max-width:var(--bp-max);margin:clamp(40px,5vw,70px) auto 0;padding:0 28px;
  display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(125,192,245,.16);}
.bpab__stats > div{padding:28px 0 36px;border-right:1px solid rgba(125,192,245,.12);padding-left:22px;}
.bpab__stats > div:first-child{padding-left:0;}
.bpab__stats > div:last-child{border-right:0;}
.bpab__stats b{display:block;color:#fff;font-size:clamp(30px,3.2vw,44px);font-weight:700;letter-spacing:-.035em;line-height:1;margin-bottom:8px;font-variant-numeric:tabular-nums;}
.bpab__stats span{color:rgba(190,210,234,.78);font-size:14px;}

/* ---- sections ---- */
.bpab__sec{position:relative;padding:clamp(70px,8vw,120px) 0;}
.bpab__split,.bpab__wrap{max-width:var(--bp-max);margin:0 auto;padding:0 28px;}
.bpab__split{display:grid;grid-template-columns:minmax(260px,380px) minmax(0,1fr);gap:clamp(34px,5vw,80px);align-items:start;}
.bpab__head{position:sticky;top:120px;}
.bpab__k{display:block;font-family:var(--bp-mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#0B4A9E;margin-bottom:16px;}
.bpab__k--light{color:var(--bp-sky);}
.bpab__head h2,.bpab__close h2{font-size:clamp(30px,3.4vw,46px) !important;line-height:1.06;letter-spacing:-.032em;margin:0;color:var(--bp-ink) !important;}
.bpab__big{font-size:clamp(20px,1.9vw,24px) !important;line-height:1.52;color:var(--bp-ink) !important;margin:0 0 22px;letter-spacing:-.01em;}
.bpab__body p{font-size:17.5px;line-height:1.74;color:var(--bp-ink-2);margin:0 0 18px;max-width:66ch;}

/* dark card grid */
.bpab__sec--dark{background:
    radial-gradient(900px 520px at 90% 0%, rgba(58,124,192,.30), transparent 60%),
    linear-gradient(170deg,#040b16,#06111f 52%,#030812) !important;}
.bpab__h2-light{color:#fff !important;font-size:clamp(30px,3.4vw,46px) !important;letter-spacing:-.032em;line-height:1.06;margin:0 0 44px;max-width:22ch;}
.bpab__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.bpab__card{position:relative;padding:28px 26px 26px;border-radius:var(--r);overflow:hidden;
  background:linear-gradient(170deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(125,192,245,.16);
  transition:transform .3s cubic-bezier(.2,.7,.2,1),border-color .3s ease,background .3s ease;}
.bpab__card::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(125,192,245,.6),transparent);opacity:.6;}
.bpab__card:hover{transform:translateY(-4px);border-color:rgba(125,192,245,.42);background:linear-gradient(170deg,rgba(125,192,245,.12),rgba(255,255,255,.03));}
.bpab__ic{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;font-style:normal;font-size:10px;color:#fff;margin-bottom:18px;
  background:linear-gradient(140deg,#4FA9F5,#1A63CC);box-shadow:0 8px 20px rgba(26,99,204,.4);}
.bpab__card h3{color:#fff !important;font-size:18px !important;margin:0 0 8px;letter-spacing:-.015em;}
.bpab__card p{color:rgba(196,216,238,.80) !important;font-size:15px;line-height:1.6;margin:0;}
.bpab__card a{color:var(--bp-sky) !important;}

/* steps */
.bpab__steps{list-style:none;margin:0;padding:0;counter-reset:s;position:relative;}
.bpab__steps::before{content:'';position:absolute;left:23px;top:10px;bottom:10px;width:2px;background:linear-gradient(180deg,var(--bp-sky),rgba(125,192,245,.1));}
.bpab__steps li{position:relative;padding:0 0 34px 76px;counter-increment:s;}
.bpab__steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:-4px;width:48px;height:48px;border-radius:14px;
  display:grid;place-items:center;font-family:var(--bp-mono);font-size:14px;font-weight:600;color:#fff;
  background:linear-gradient(140deg,#4FA9F5,#1A63CC);box-shadow:0 10px 24px rgba(26,99,204,.3),0 0 0 6px var(--bp-white);}
.bpab__steps b{display:block;font-size:20px;color:var(--bp-ink);margin-bottom:6px;letter-spacing:-.015em;}
.bpab__steps span{display:block;font-size:16.5px;line-height:1.62;color:var(--bp-ink-2);}

/* won't */
.bpab__nos{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.bpab__nos li{position:relative;padding:22px 24px 22px 62px;border-radius:18px;font-size:16.5px;line-height:1.6;color:var(--bp-ink-2);
  background:linear-gradient(168deg,rgba(255,255,255,.95),rgba(240,247,255,.82));border:1px solid rgba(255,255,255,.95);
  box-shadow:0 12px 30px rgba(16,58,110,.08);}
.bpab__nos li::before{content:'';position:absolute;left:24px;top:24px;width:22px;height:22px;border-radius:50%;
  background:#0B4A9E;-webkit-mask:radial-gradient(circle,transparent 7px,#000 7.5px);mask:radial-gradient(circle,transparent 7px,#000 7.5px);}
.bpab__nos li::after{content:'';position:absolute;left:29px;top:34px;width:12px;height:2px;background:#0B4A9E;transform:rotate(-45deg);}
.bpab__nos b{color:var(--bp-ink);}

/* close */
.bpab__close{padding:clamp(80px,9vw,130px) 0;text-align:center;
  background:radial-gradient(900px 420px at 50% 0%,rgba(125,192,245,.34),transparent 70%);}
.bpab__close-in{max-width:760px;margin:0 auto;padding:0 28px;}
.bpab__close p{font-size:18px;line-height:1.62;color:var(--bp-ink-2);margin:16px 0 30px;}
.bpab__close .bpab__cta{justify-content:center;}
.bpab__close .bp-btn--onDark{background:#fff !important;color:var(--bp-ink) !important;border:1px solid var(--bp-line-2) !important;}
.bpab__mail{font-size:15px !important;margin-top:22px !important;}

@media (max-width:980px){
  .bpab__hero-in{grid-template-columns:1fr;}
  .bpab__hero-art{height:320px;order:-1;}
  .bpab__stats{grid-template-columns:repeat(2,1fr);}
  .bpab__stats > div:nth-child(2){border-right:0;}
  .bpab__split{grid-template-columns:1fr;gap:18px;}
  .bpab__head{position:static;}
  .bpab__grid{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){ .bpab__rack img{animation:none;} }

/* sizing fix: the global body.bp img{height:auto} out-ranked the rack
   rules, so each vial sized from its width and the outer (smaller-file)
   vials rendered largest and spilled over the headline. */
body.bp .bpab__hero-art{overflow:visible;min-width:0;}
body.bp .bpab__rack{overflow:visible;}
body.bp .bpab__rack img{height:58% !important;width:auto !important;max-width:none !important;flex:0 0 auto;margin:0 -34px !important;}
body.bp .bpab__rack img:nth-child(2),body.bp .bpab__rack img:nth-child(4){height:76% !important;}
body.bp .bpab__rack img:nth-child(3){height:96% !important;}
@media (max-width:980px){
  body.bp .bpab__rack img{margin:0 -26px !important;}
  body.bp .bpab__rack img:nth-child(1),body.bp .bpab__rack img:nth-child(5){display:none;}
}
/* ============================================================
   ds-99-anatomy.css — "the vial, explained". A pinned stage; as you
   scroll, four callouts draw out from the vial one after another
   (line draws, point pulses, copy slides in), while the vial turns
   slowly on the same 16-frame strip as the cinema section.
   ============================================================ */
body.bp .bpanat{position:relative;height:320vh;padding:0 !important;background:transparent !important;}
body.bp .bpanat__vp{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;
  background:
    radial-gradient(800px 520px at 50% 56%, rgba(58,124,192,.30), transparent 64%),
    linear-gradient(172deg,#030a14 0%,#06111f 50%,#020710 100%);}
body.bp .bpanat__grid{position:absolute;inset:0;pointer-events:none;opacity:.55;
  background-image:linear-gradient(rgba(125,192,245,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(125,192,245,.07) 1px,transparent 1px);
  background-size:48px 48px;-webkit-mask-image:radial-gradient(700px 460px at 50% 55%,#000,transparent 75%);mask-image:radial-gradient(700px 460px at 50% 55%,#000,transparent 75%);}
body.bp .bpanat__head{position:relative;z-index:2;text-align:center;padding:clamp(80px,10vh,120px) 24px 0;}
body.bp .bpanat__h{color:#fff !important;font-size:clamp(28px,3.4vw,46px) !important;letter-spacing:-.032em;line-height:1.06;margin:14px auto 0 !important;max-width:22ch;}
body.bp .bpanat__stage{position:relative;z-index:2;align-self:center;justify-self:center;
  width:min(1080px,94vw);aspect-ratio:3/2;max-height:66vh;}
body.bp .bpanat__glow{position:absolute;left:50%;top:50%;width:46%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle,rgba(125,192,245,.26),transparent 68%);filter:blur(10px);}
body.bp .bpanat__vial{position:absolute !important;left:50% !important;top:3% !important;height:94% !important;width:auto !important;max-width:none !important;
  transform:translateX(-50%);filter:drop-shadow(0 40px 50px rgba(0,0,0,.66)) drop-shadow(0 0 30px rgba(110,180,240,.18));}
body.bp .bpanat__lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;}
body.bp .bpanat__ln{fill:none;stroke:rgba(143,216,255,.85);stroke-width:1.6;vector-effect:non-scaling-stroke;
  stroke-dasharray:400;stroke-dashoffset:400;transition:stroke-dashoffset .9s cubic-bezier(.3,.7,.2,1);}
body.bp .bpanat__pt{fill:#8FD8FF;opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.3);
  transition:opacity .4s ease, transform .5s cubic-bezier(.3,1.5,.5,1);filter:drop-shadow(0 0 8px rgba(143,216,255,.9));}
body.bp .bpanat__co{position:absolute;left:var(--x);top:var(--y);width:min(270px,24vw);transform:translate(-50%,-50%) translateY(14px);
  opacity:0;filter:blur(6px);transition:opacity .6s ease, transform .7s cubic-bezier(.2,.8,.2,1), filter .6s ease;
  padding:16px 18px;border-radius:16px;background:rgba(8,18,34,.72);border:1px solid rgba(125,192,245,.26);backdrop-filter:blur(10px);
  box-shadow:0 20px 44px rgba(0,0,0,.4);}
body.bp .bpanat__co b{display:block;color:#fff;font-size:15.5px;font-weight:650;margin-bottom:5px;letter-spacing:-.01em;}
body.bp .bpanat__co span{display:block;color:rgba(196,216,238,.84);font-size:13.5px;line-height:1.5;}
body.bp .bpanat__co--l{text-align:right;}
/* active states */
body.bp .bpanat [data-i].is-on.bpanat__ln{stroke-dashoffset:0;}
body.bp .bpanat [data-i].is-on.bpanat__pt{opacity:1;transform:scale(1);animation:bpAnatPulse 2.4s ease-in-out .6s infinite;}
body.bp .bpanat__co.is-on{opacity:1;filter:none;transform:translate(-50%,-50%);}
@keyframes bpAnatPulse{0%,100%{r:7;}50%{r:10;}}
body.bp .bpanat__prog{position:relative;z-index:2;display:flex;gap:8px;justify-content:center;padding:0 0 40px;}
body.bp .bpanat__prog i{width:34px;height:3px;border-radius:3px;background:rgba(125,192,245,.2);transition:background .4s ease;}
body.bp .bpanat__prog i.is-on{background:linear-gradient(90deg,#4FA9F5,#8FD8FF);}

@media (max-width:900px){
  body.bp .bpanat{height:auto;}
  body.bp .bpanat__vp{position:relative;height:auto;padding-bottom:40px;}
  body.bp .bpanat__stage{aspect-ratio:auto;height:auto;max-height:none;display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 16px;}
  body.bp .bpanat__vial{position:relative !important;left:auto !important;top:auto !important;height:340px !important;transform:none;}
  body.bp .bpanat__lines,body.bp .bpanat__glow{display:none;}
  body.bp .bpanat__co{position:relative;left:auto;top:auto;width:100%;max-width:420px;transform:none;opacity:1;filter:none;text-align:left !important;}
}
@media (prefers-reduced-motion:reduce){
  body.bp .bpanat{height:auto;}
  body.bp .bpanat__vp{position:relative;height:auto;}
  body.bp .bpanat [data-i]{opacity:1 !important;filter:none !important;stroke-dashoffset:0 !important;transform:none !important;}
  body.bp .bpanat__co{transform:translate(-50%,-50%) !important;}
}

/* leader lines end at the card edge; a small end cap marks the join */
body.bp .bpanat__ln{stroke-dasharray:200;stroke-dashoffset:200;stroke-width:1.4;}
body.bp .bpanat__co{width:270px;}
body.bp .bpanat__co--r::before,body.bp .bpanat__co--l::before{content:'';position:absolute;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;
  background:#8FD8FF;box-shadow:0 0 10px rgba(143,216,255,.9);opacity:.9;}
body.bp .bpanat__co--r::before{left:-3px;}
body.bp .bpanat__co--l::before{right:-3px;}
@media (max-width:1180px){ body.bp .bpanat__co{width:230px;} }
/* ds-99-brand.css — the stacked-slab mark: 3D pop, assemble intro, hover lift, light sweep; wordmark; bulk ladder table */
.bph__logo{gap:12px !important}
.bplg{display:block;flex:0 0 auto;width:44px;height:44px;overflow:visible;
  transition:transform .5s cubic-bezier(.2,.8,.2,1),filter .4s;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.35)) drop-shadow(0 6px 8px rgba(6,30,80,.35)) drop-shadow(0 10px 14px rgba(22,104,214,.22))}
.bplg__s{transform-box:view-box;transform-origin:32px 32px;transition:transform .55s cubic-bezier(.2,.9,.25,1.25)}
.bph__logo:hover .bplg,.bph__logo:focus-visible .bplg{transform:translateY(-2px) scale(1.06);
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.45)) drop-shadow(0 10px 12px rgba(6,30,80,.4)) drop-shadow(0 14px 20px rgba(22,104,214,.35))}
.bph__logo:hover .bplg__s1,.bph__logo:focus-visible .bplg__s1{transform:translateY(-5px)}
.bph__logo:hover .bplg__s2,.bph__logo:focus-visible .bplg__s2{transform:translateY(-2.5px)}
/* assemble on first paint: slabs drop in one by one */
@keyframes bplgDrop{0%{transform:translateY(-26px);opacity:0}60%{opacity:1}78%{transform:translateY(1.5px)}100%{transform:none;opacity:1}}
.bph .bplg__s3{animation:bplgDrop .7s cubic-bezier(.2,.8,.2,1) .05s both}
.bph .bplg__s2{animation:bplgDrop .7s cubic-bezier(.2,.8,.2,1) .18s both}
.bph .bplg__s1{animation:bplgDrop .7s cubic-bezier(.2,.8,.2,1) .31s both}
.bph__logo:hover .bplg__s{animation:none}
/* light sweep across the stack */
@keyframes bplgSweep{0%,72%{transform:translateX(0) skewX(-22deg)}100%{transform:translateX(120px) skewX(-22deg)}}
.bplg__sh{transform-box:view-box;animation:bplgSweep 7s cubic-bezier(.5,0,.3,1) 1.2s infinite;mix-blend-mode:overlay;opacity:.9}
/* wordmark: heavy BULK, lighter PEPTIDES, mono tag */
body.bp .bph__wm{display:flex !important;flex-direction:column;line-height:1 !important;font-size:17px !important;letter-spacing:-.02em !important;font-weight:500 !important}
body.bp .bph__wm .bph__wt{display:block;white-space:nowrap}
body.bp .bph__wm .bph__wt b{font-weight:700 !important;letter-spacing:-.03em}
body.bp .bph__wm .bph__wt em{font-style:normal;font-weight:500}
body.bp .bph__wm .bph__wt i{font-style:normal;font-weight:400;opacity:.8}
body.bp .bph__wm small{display:block;margin-top:5px;font-family:var(--bp-mono,ui-monospace,monospace);font-size:8.5px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;white-space:nowrap}
/* ink follows the surface, matching the existing header states */
body.bp header.bph .bph__wm .bph__wt,body.bp header.bph .bph__wm .bph__wt b{color:#F4F9FF !important}
body.bp header.bph .bph__wm .bph__wt em{color:#9CCDF7 !important}
body.bp header.bph .bph__wm .bph__wt i{color:#7DC0F5 !important}
body.bp header.bph .bph__wm small{color:#7DC0F5 !important}
body.bp header.bph.is-light .bph__wm .bph__wt,body.bp header.bph.is-light .bph__wm .bph__wt b{color:var(--bp-ink,#0A1222) !important}
body.bp header.bph.is-light .bph__wm .bph__wt em,body.bp header.bph.is-light .bph__wm .bph__wt i{color:var(--bp-blue,#1668D6) !important}
body.bp header.bph.is-light .bph__wm small{color:#4A5A70 !important}
body.bp .bpf .bph__wm .bph__wt,body.bp .bpf .bph__wm .bph__wt b{color:#F4F9FF !important}
body.bp .bpf .bph__wm .bph__wt em,body.bp .bpf .bph__wm .bph__wt i,body.bp .bpf .bph__wm small{color:#7DC0F5 !important}
.bpf .bplg{width:46px;height:46px}
.bpwipe__m .bplg{width:72px;height:72px}
.bpwipe__m .bplg__s{animation:none}
@media (max-width:760px){
  .bplg{width:32px;height:32px}
  body.bp .bph__wm{font-size:15px !important}
  body.bp .bph__wm small{display:none}
}
@media (prefers-reduced-motion:reduce){.bplg__s,.bplg__sh{animation:none !important}.bplg,.bplg__s{transition:none}}

/* ---------- /bulk-pricing/ quantity ladder table ---------- */
body.bp .bpladder{width:100%;max-width:760px;margin:26px 0 30px;border-collapse:separate !important;border-spacing:0 8px !important;border:0 !important;font-variant-numeric:tabular-nums}
body.bp .bpladder th{font-family:var(--bp-mono,ui-monospace,monospace);font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:#4A5A70 !important;text-align:left;padding:0 20px 4px !important;border:0 !important;background:none !important}
body.bp .bpladder td{padding:16px 20px !important;border:0 !important;background:#fff !important;color:var(--bp-ink,#0A1222) !important;font-size:16px;border-top:1px solid #D6E6F7 !important;border-bottom:1px solid #D6E6F7 !important}
body.bp .bpladder td:first-child{border-left:1px solid #D6E6F7 !important;border-radius:14px 0 0 14px;font-weight:600}
body.bp .bpladder td:last-child{border-right:1px solid #D6E6F7 !important;border-radius:0 14px 14px 0;color:#4A5A70 !important;font-size:14.5px}
body.bp .bpladder td:nth-child(2){font-weight:700;color:#1668D6 !important;font-size:18px;white-space:nowrap}
body.bp .bpladder tr{transition:transform .25s}
body.bp .bpladder tbody tr:hover{transform:translateX(4px)}
body.bp .bpladder tr.is-top td{background:#0F3A78 !important;color:#fff !important;border-color:#1668D6 !important;box-shadow:0 14px 30px rgba(22,104,214,.3)}
body.bp .bpladder tr.is-top td:nth-child(2){color:#CFE7FB !important;font-size:22px}
body.bp .bpladder tr.is-top td:last-child{color:#D6E6F7 !important}
@media (max-width:600px){body.bp .bpladder td{padding:13px 14px !important;font-size:14.5px}body.bp .bpladder td:nth-child(2){font-size:16px}body.bp .bpladder td:last-child{font-size:13px}}

body.bp .bpladder td b,body.bp .bpladder td strong{color:inherit !important;font-weight:inherit}
body.bp .bpladder tr.is-top td,body.bp .bpladder tr.is-top td *{color:#fff !important}
body.bp .bpladder tr.is-top td:nth-child(2),body.bp .bpladder tr.is-top td:nth-child(2) *{color:#9CCDF7 !important}
body.bp .bpladder tbody tr:not(.is-top):hover td{background:#F4F9FF !important}

/* preloader: the mark breathes while the next page loads, same lift as the header hover */
@keyframes bpBobM{0%{transform:translateY(5px) scale(1)}100%{transform:translateY(-5px) scale(1.06)}}
@keyframes bpBobS1{0%{transform:translateY(0)}100%{transform:translateY(-7px)}}
@keyframes bpBobS2{0%{transform:translateY(0)}100%{transform:translateY(-3.5px)}}
.bpwipe__m .bplg{animation:bpBobM .9s cubic-bezier(.45,0,.55,1) infinite alternate !important;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.45)) drop-shadow(0 12px 16px rgba(6,30,80,.5)) drop-shadow(0 18px 26px rgba(22,104,214,.45)) !important}
.bpwipe__m .bplg__s1{animation:bpBobS1 .9s cubic-bezier(.45,0,.55,1) infinite alternate !important}
.bpwipe__m .bplg__s2{animation:bpBobS2 .9s cubic-bezier(.45,0,.55,1) infinite alternate !important}
.bpwipe__m .bplg__s3{animation:none !important}/* ds-99-burst.css — the disassembly sequence: pinned stage, HUD, flying fact cards, finale */
body.bp .bpb{position:relative;height:520vh;background:radial-gradient(1200px 700px at 50% 45%, #0a2344 0%, #04101f 45%, #01060d 100%) !important;color:#e6f1fc;isolation:isolate;overflow:visible !important;padding:0 !important;margin:0 !important}
.bpb__pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.bpb__pin::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(125,192,245,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(125,192,245,.07) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(70% 60% at 50% 50%,#000,transparent 80%);mask-image:radial-gradient(70% 60% at 50% 50%,#000,transparent 80%);pointer-events:none}
.bpb__cv{position:absolute;inset:0;display:block;z-index:1}
.bpb__hud{position:absolute;left:0;right:0;top:clamp(84px,11vh,120px);text-align:center;z-index:3;padding:0 20px;will-change:transform,opacity}
.bpb__eye{display:inline-flex;align-items:center;gap:10px;font-family:var(--bp-mono,ui-monospace,monospace);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:#7DC0F5 !important;border:1px solid rgba(125,192,245,.35);border-radius:999px;padding:7px 16px;background:rgba(125,192,245,.07)}
.bpb__eye::before{content:"";width:7px;height:7px;border-radius:50%;background:#ff5a5a;box-shadow:0 0 12px #ff5a5a;animation:bpbRec 1.2s steps(2) infinite}
@keyframes bpbRec{50%{opacity:.2}}
html body.bp .bpb .bpb__h{margin:18px auto 0 !important;max-width:22ch;font-size:clamp(30px,4.4vw,58px) !important;line-height:1.02 !important;letter-spacing:-.035em;font-weight:650;color:#fff !important}
html body.bp .bpb .bpb__h em{font-style:normal;background:linear-gradient(90deg,#7DC0F5,#CFE7FB 55%,#7DC0F5);-webkit-background-clip:text;background-clip:text;color:transparent !important}
.bpb__facts{list-style:none !important;margin:0 !important;padding:0 !important;position:absolute;inset:0;z-index:4;pointer-events:none}
html body.bp .bpb__facts li{position:absolute;list-style:none !important;margin:0 !important;width:min(300px,78vw);padding:16px 18px !important;border-radius:18px;background:linear-gradient(160deg,rgba(18,40,70,.72),rgba(6,16,30,.78)) !important;border:1px solid rgba(125,192,245,.35);box-shadow:0 20px 60px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;will-change:transform,opacity,filter}
.bpb__facts li::before{display:none !important}
html body.bp .bpb__facts li b{display:block;font-size:clamp(30px,3.2vw,42px);letter-spacing:-.03em;line-height:1;color:#fff !important;font-weight:700;margin-bottom:6px;text-shadow:0 0 24px rgba(125,192,245,.5)}
html body.bp .bpb__facts li span{display:block;font-size:14px;line-height:1.45;color:rgba(214,230,246,.9) !important}
.bpb__facts li::after{content:"";position:absolute;width:44px;height:1px;background:linear-gradient(90deg,rgba(125,192,245,0),#7DC0F5);top:50%}
.bpb__facts li:nth-child(odd)::after{right:-44px}
.bpb__facts li:nth-child(even)::after{left:-44px;transform:scaleX(-1)}
.bpb__facts li:nth-child(1){left:6%;top:24%}
.bpb__facts li:nth-child(2){right:6%;top:30%}
.bpb__facts li:nth-child(3){left:9%;top:58%}
.bpb__facts li:nth-child(4){right:8%;top:62%}
.bpb__facts li:nth-child(5){left:50%;top:78%;margin-left:calc(min(300px,78vw) / -2) !important}
.bpb__facts li:nth-child(5)::after{display:none}
.bpb__end{position:absolute;left:0;right:0;top:clamp(80px,12vh,130px);z-index:5;text-align:center;opacity:0;padding:0 20px}
html body.bp .bpb__end h3{margin:0 auto 22px !important;max-width:20ch;font-size:clamp(28px,4vw,52px) !important;line-height:1.04 !important;letter-spacing:-.03em;color:#fff !important;font-weight:650}
html body.bp a.bpb__cta,html body.bp a.bpb__ghost{display:inline-flex;align-items:center;gap:8px;margin:0 6px 10px;padding:14px 22px;border-radius:14px;font-weight:600;font-size:15px;text-decoration:none !important;transition:transform .2s,box-shadow .2s,background .2s;color:#fff !important}
html body.bp a.bpb__cta{background:linear-gradient(180deg,#1a6ad4,#1257b5);box-shadow:0 14px 34px rgba(22,104,214,.5)}
html body.bp a.bpb__cta:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(22,104,214,.6)}
html body.bp a.bpb__ghost{border:1px solid rgba(125,192,245,.45)}
html body.bp a.bpb__ghost:hover{background:rgba(125,192,245,.12)}
.bpb__prog{position:absolute;left:50%;bottom:28px;width:min(360px,60vw);height:2px;margin-left:calc(min(360px,60vw) / -2);background:rgba(125,192,245,.18);border-radius:2px;z-index:6;overflow:hidden}
.bpb__prog i{position:absolute;inset:0;background:linear-gradient(90deg,#1668D6,#7DC0F5);transform-origin:left;transform:scaleX(0)}
.bpb__scan{position:absolute;inset:0;z-index:2;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 3px);mix-blend-mode:screen}
@media (max-width:760px){
  body.bp .bpb{height:420vh}
  html body.bp .bpb__facts li{width:min(250px,70vw);padding:12px 14px !important}
  html body.bp .bpb__facts li b{font-size:28px}
  html body.bp .bpb__facts li span{font-size:12.5px}
  .bpb__facts li::after{display:none}
  .bpb__facts li:nth-child(1){left:4%;top:20%}
  .bpb__facts li:nth-child(2){right:4%;top:34%}
  .bpb__facts li:nth-child(3){left:4%;top:50%}
  .bpb__facts li:nth-child(4){right:4%;top:64%}
  .bpb__facts li:nth-child(5){top:78%;margin-left:calc(min(250px,70vw) / -2) !important}
}
body.bp .bpb.bpb--static{height:auto}
.bpb--static .bpb__pin{position:relative;height:auto;min-height:100vh;padding:120px 20px 80px}
.bpb--static .bpb__hud,.bpb--static .bpb__end{position:relative;top:auto}
.bpb--static .bpb__facts{position:relative;display:grid;gap:12px;justify-items:center}
html body.bp .bpb--static .bpb__facts li,.bpb--static .bpb__end{opacity:1 !important;filter:none !important;transform:none !important;position:relative;left:auto;right:auto;top:auto;margin:0 auto !important}

/* sticky needs a non-scrolling body: 'hidden' turned body into a scroll box and broke every pinned stage */
html{overflow-x:clip !important;overflow-y:visible !important}
html body{overflow-x:clip !important;overflow-y:visible !important}
html.bpk-gate-pending, html.bpk-gate-pending body, html.age-gate-restricted, html.age-gate-restricted body, body.age-gate-restricted, html.age-gate__open, html.age-gate__open body{overflow:hidden !important}
/* =========================================================
   Commerce: cart, checkout, My Account (classic templates)
   ========================================================= */
body.bp.woocommerce-cart .tx-page-title,body.bp.woocommerce-checkout .tx-page-title,body.bp.woocommerce-account .tx-page-title{display:none !important;}
body.bp.woocommerce-cart,body.bp.woocommerce-checkout,body.bp.woocommerce-account{background:linear-gradient(180deg,#EEF5FD 0%,#F6FAFE 40%,#EEF5FD 100%) !important;}
body.bp.woocommerce-cart .site-main,body.bp.woocommerce-checkout .site-main,body.bp.woocommerce-account .site-main{padding-top:0 !important;}

/* header band */
body.bp .bpco-hero{position:relative;overflow:hidden;margin:0 0 28px;border-radius:0 0 28px 28px;background:radial-gradient(900px 380px at 85% -10%,rgba(59,139,240,.35),transparent 60%),linear-gradient(160deg,#0E1D36 0%,#060D1A 100%);color:#EAF3FF;width:100vw;margin-left:calc(50% - 50vw);}
body.bp .bpco-hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(143,196,245,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(143,196,245,.06) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(180deg,#000,transparent 85%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);pointer-events:none;}
body.bp .bpco-hero__in{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:clamp(34px,5vw,64px) clamp(20px,4vw,40px) clamp(28px,4vw,44px);}
body.bp .bpco-eye{display:inline-flex;align-items:center;gap:10px;font:500 11px/1 var(--bp-mono);letter-spacing:.2em;text-transform:uppercase;color:#8FC4F5;padding:7px 14px;border-radius:999px;border:1px solid rgba(143,196,245,.24);background:rgba(143,196,245,.06);}
body.bp .bpco-h1{margin:16px 0 10px !important;font-family:var(--bp-sans) !important;font-size:clamp(34px,5.4vw,64px) !important;line-height:1 !important;letter-spacing:-.04em !important;font-weight:680 !important;color:#F4F9FF !important;}
body.bp .bpco-lede{max-width:640px;margin:0 !important;font-family:var(--bp-sans) !important;font-size:clamp(15px,1.4vw,17px) !important;line-height:1.6 !important;color:#B9CCE3 !important;}
body.bp .bpco-steps{list-style:none !important;display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 0 !important;padding:0 !important;}
body.bp .bpco-steps li{display:flex;align-items:center;gap:10px;margin:0 !important;padding:8px 14px 8px 8px !important;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(143,196,245,.16);font:500 13px/1 var(--bp-sans);color:#8FA8C6;}
body.bp .bpco-steps li::before{display:none !important;}
body.bp .bpco-steps i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(143,196,245,.12);font:600 12px/1 var(--bp-mono);font-style:normal;color:#8FC4F5;}
body.bp .bpco-steps li.is-on{background:rgba(59,139,240,.22);border-color:rgba(143,196,245,.5);color:#F4F9FF;}
body.bp .bpco-steps li.is-on i{background:linear-gradient(135deg,#3B8BF0,#1668D6);color:#fff;}
body.bp .bpco-steps li.is-done i{background:#22C38E;color:#04140E;}
body.bp .bpco-meter{margin-top:22px;max-width:560px;}
body.bp .bpco-meter__t{font:400 14px/1.5 var(--bp-sans);color:#DCEBFA;margin-bottom:8px;}
body.bp .bpco-meter__t b{color:#fff;}
body.bp .bpco-meter__t .woocommerce-Price-amount{color:#8FD0FF;}
body.bp .bpco-meter__bar{height:8px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;}
body.bp .bpco-meter__bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#8FC4F5,#3B8BF0);box-shadow:0 0 18px rgba(59,139,240,.7);transition:width .8s cubic-bezier(.2,.8,.2,1);}
body.bp .bpco-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:999px;background:linear-gradient(135deg,#3B8BF0,#1668D6);color:#fff !important;font:600 15px/1 var(--bp-sans);text-decoration:none !important;margin:18px 10px 0 0;}
body.bp .bpco-btn--ghost{background:transparent;border:1px solid rgba(143,196,245,.45);color:#DCEBFA !important;}

/* shared field styling */
body.bp.woocommerce-cart .woocommerce input.input-text,body.bp.woocommerce-checkout .woocommerce input.input-text,body.bp.woocommerce-account .woocommerce input.input-text,
body.bp.woocommerce-checkout .woocommerce select,body.bp.woocommerce-account .woocommerce select,body.bp.woocommerce-checkout .woocommerce textarea,
body.bp.woocommerce-checkout .select2-container .select2-selection--single{min-height:50px !important;border-radius:14px !important;border:1px solid #CFE0F2 !important;background:#fff !important;color:#0A1222 !important;padding:12px 16px !important;font:400 15px/1.4 var(--bp-sans) !important;box-shadow:0 1px 0 rgba(10,34,70,.03) !important;transition:border-color .2s,box-shadow .2s;}
body.bp.woocommerce-checkout .select2-container .select2-selection--single{padding:0 !important;display:flex;align-items:center;}
body.bp.woocommerce-checkout .select2-container .select2-selection__rendered{padding:0 16px !important;line-height:48px !important;color:#0A1222 !important;}
body.bp.woocommerce-checkout .select2-container .select2-selection__arrow{height:48px !important;right:10px !important;}
body.bp .woocommerce input.input-text:focus,body.bp .woocommerce select:focus,body.bp .woocommerce textarea:focus{outline:none !important;border-color:#3B8BF0 !important;box-shadow:0 0 0 4px rgba(59,139,240,.15) !important;}
body.bp.woocommerce-checkout .woocommerce form .form-row label,body.bp.woocommerce-account .woocommerce form .form-row label,body.bp.woocommerce-cart .woocommerce label{font:600 13.5px/1.4 var(--bp-sans) !important;color:#2B3D55 !important;margin-bottom:6px !important;}
body.bp .woocommerce form .form-row .required{color:#D6455D !important;text-decoration:none !important;}
body.bp .woocommerce button.button,body.bp .woocommerce a.button,body.bp .woocommerce input.button,body.bp .woocommerce #place_order,body.bp .woocommerce a.checkout-button{display:inline-flex !important;align-items:center;justify-content:center;min-height:50px;padding:0 24px !important;border:0 !important;border-radius:999px !important;background:linear-gradient(135deg,#3B8BF0,#1668D6) !important;color:#fff !important;font:600 15px/1 var(--bp-sans) !important;text-transform:none !important;letter-spacing:0 !important;box-shadow:0 18px 36px -20px rgba(22,104,214,.85) !important;transition:transform .25s,box-shadow .25s !important;cursor:pointer;}
body.bp .woocommerce button.button:hover,body.bp .woocommerce a.button:hover,body.bp .woocommerce #place_order:hover,body.bp .woocommerce a.checkout-button:hover{transform:translateY(-2px);box-shadow:0 22px 40px -18px rgba(22,104,214,.95) !important;}
body.bp .woocommerce button.button:disabled,body.bp .woocommerce button.button[disabled]{opacity:.45 !important;transform:none !important;}
body.bp .woocommerce-message,body.bp .woocommerce-info,body.bp .woocommerce-error{border:1px solid #CFE0F2 !important;border-left:4px solid #1668D6 !important;border-radius:14px !important;background:#fff !important;color:#2B3D55 !important;font:400 14.5px/1.5 var(--bp-sans) !important;padding:14px 18px 14px 48px !important;box-shadow:0 14px 30px -26px rgba(10,34,70,.5);}
body.bp .woocommerce-error{border-left-color:#D6455D !important;}
body.bp .woocommerce-message::before,body.bp .woocommerce-info::before{color:#1668D6 !important;}
body.bp .woocommerce-info a,body.bp .woocommerce-message a:not(.button){color:#1668D6 !important;font-weight:600;}

/* ---------- cart ---------- */
body.bp.woocommerce-cart .woocommerce{max-width:1200px;margin:0 auto;padding:0 clamp(16px,3vw,32px) 60px;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:0 28px;align-items:start;}
body.bp.woocommerce-cart .woocommerce > .bpco-hero,body.bp.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,body.bp.woocommerce-cart .woocommerce > .bpco-trust,body.bp.woocommerce-cart .woocommerce > .bpco-ruo{grid-column:1/-1;}
body.bp.woocommerce-cart .woocommerce-cart-form{grid-column:1;min-width:0;}
body.bp.woocommerce-cart .cart-collaterals{grid-column:2;width:auto !important;position:sticky;top:96px;}
body.bp.woocommerce-cart .cart-collaterals .cart_totals{width:100% !important;float:none !important;}
body.bp.woocommerce-cart table.shop_table.cart{border:0 !important;border-collapse:separate !important;border-spacing:0 12px !important;margin:-12px 0 0 !important;background:transparent !important;}
body.bp.woocommerce-cart table.shop_table.cart thead{display:none;}
body.bp.woocommerce-cart table.shop_table.cart tr.cart_item{background:#fff;box-shadow:0 20px 40px -32px rgba(10,34,70,.45);}
body.bp.woocommerce-cart table.shop_table.cart tr.cart_item td{border:0 !important;border-top:1px solid #DDEAF7 !important;border-bottom:1px solid #DDEAF7 !important;padding:16px 12px !important;vertical-align:middle;background:#fff;font-family:var(--bp-sans);}
body.bp.woocommerce-cart table.shop_table.cart tr.cart_item td:first-child{border-left:1px solid #DDEAF7 !important;border-radius:18px 0 0 18px;}
body.bp.woocommerce-cart table.shop_table.cart tr.cart_item td:last-child{border-right:1px solid #DDEAF7 !important;border-radius:0 18px 18px 0;}
body.bp.woocommerce-cart td.product-thumbnail img{width:64px !important;height:auto !important;border-radius:12px;background:linear-gradient(160deg,#0E1D36,#081223);padding:4px;}
body.bp.woocommerce-cart td.product-name > a{font:650 16px/1.3 var(--bp-sans) !important;color:#0A1222 !important;text-decoration:none !important;}
body.bp.woocommerce-cart td.product-name dl.variation{margin:4px 0 0;font-size:12.5px;color:#5A7190;}
body.bp.woocommerce-cart td.product-price,body.bp.woocommerce-cart td.product-subtotal{font:600 15px/1.3 var(--bp-sans);color:#0A1222;white-space:nowrap;}
body.bp.woocommerce-cart td.product-price del,body.bp.woocommerce-cart td.product-subtotal del{color:#8FA3BB;font-weight:400;font-size:13px;margin-right:4px;}
body.bp.woocommerce-cart td.product-price ins,body.bp.woocommerce-cart td.product-subtotal ins{text-decoration:none;color:#1668D6;}
body.bp.woocommerce-cart td.product-remove a.remove{display:grid !important;place-items:center;width:30px !important;height:30px !important;border-radius:50% !important;background:#F1F6FC !important;color:#5A7190 !important;font-size:18px !important;line-height:1 !important;transition:background .2s,color .2s;}
body.bp.woocommerce-cart td.product-remove a.remove:hover{background:#FDE8EC !important;color:#D6455D !important;}
body.bp.woocommerce-cart .quantity .qty{width:72px !important;min-height:44px !important;text-align:center;border-radius:12px !important;border:1px solid #CFE0F2 !important;font:600 15px/1 var(--bp-sans) !important;}
body.bp .bpco-nudge{margin-top:8px;display:inline-block;padding:6px 10px;border-radius:10px;background:#EDF5FF;border:1px solid #CFE2F8;font:400 12.5px/1.45 var(--bp-sans);color:#2B4A70;}
body.bp .bpco-nudge b{color:#1668D6;}
body.bp .bpco-nudge.is-top{background:#E9FBF4;border-color:#BDEFD9;color:#1D5B45;}
body.bp .bpco-nudge.is-top b{color:#138A5E;}
body.bp .bpco-nudge a{color:#1668D6 !important;font-weight:600;}
body.bp.woocommerce-cart table.shop_table.cart td.actions{background:transparent !important;border:0 !important;padding:6px 0 0 !important;}
body.bp.woocommerce-cart td.actions .coupon{display:flex;gap:8px;align-items:center;}
body.bp.woocommerce-cart td.actions .coupon .input-text{width:200px !important;}
body.bp.woocommerce-cart td.actions button[name=update_cart]{background:#fff !important;color:#1668D6 !important;border:1px solid #9CC6F2 !important;box-shadow:none !important;}
body.bp.woocommerce-cart .cart_totals{padding:24px;border-radius:24px;background:radial-gradient(400px 200px at 100% 0,rgba(59,139,240,.25),transparent 70%),linear-gradient(160deg,#0E1D36,#081223);color:#DCEBFA;box-shadow:0 40px 70px -40px rgba(10,18,34,.8);}
body.bp.woocommerce-cart .cart_totals h2{margin:0 0 12px !important;font:650 22px/1.2 var(--bp-sans) !important;color:#F4F9FF !important;letter-spacing:-.02em;}
body.bp.woocommerce-cart .cart_totals table.shop_table{border:0 !important;background:transparent !important;margin:0 0 16px !important;}
body.bp.woocommerce-cart .cart_totals table th,body.bp.woocommerce-cart .cart_totals table td{border:0 !important;border-top:1px solid rgba(143,196,245,.14) !important;padding:12px 0 !important;background:transparent !important;color:#B9CCE3 !important;font:400 14px/1.5 var(--bp-sans) !important;}
body.bp.woocommerce-cart .cart_totals table td{text-align:right;color:#EAF3FF !important;}
body.bp.woocommerce-cart .cart_totals tr.order-total th,body.bp.woocommerce-cart .cart_totals tr.order-total td{font-size:18px !important;font-weight:700 !important;color:#fff !important;}
body.bp.woocommerce-cart .cart_totals .woocommerce-shipping-methods{list-style:none !important;margin:0 !important;padding:0 !important;text-align:right;}
body.bp.woocommerce-cart .cart_totals .woocommerce-shipping-methods li{margin:0 0 4px !important;}
body.bp.woocommerce-cart .cart_totals .woocommerce-shipping-methods li::before{display:none !important;}
body.bp.woocommerce-cart .cart_totals .woocommerce-shipping-destination,body.bp.woocommerce-cart .cart_totals .shipping-calculator-button{color:#8FA8C6 !important;font-size:12.5px !important;}
body.bp.woocommerce-cart .wc-proceed-to-checkout{padding:0 !important;}
body.bp.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{width:100%;min-height:56px;font-size:16px !important;margin:0 !important;}
body.bp .bpco-trust{list-style:none !important;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:24px 0 0 !important;padding:0 !important;}
body.bp .bpco-trust li{margin:0 !important;padding:14px 16px !important;border-radius:16px;background:#fff;border:1px solid #DDEAF7;display:flex;flex-direction:column;gap:4px;}
body.bp .bpco-trust li::before{display:none !important;}
body.bp .bpco-trust b{font:700 18px/1 var(--bp-sans);color:#0A1222;letter-spacing:-.02em;}
body.bp .bpco-trust span{font:400 12.5px/1.4 var(--bp-sans);color:#5A7190;}
body.bp .bpco-ruo{margin:14px 0 0 !important;font:400 12.5px/1.5 var(--bp-sans) !important;color:#6B7F98 !important;}
body.bp .bpco-hero--empty{border-radius:28px;}
body.bp.woocommerce-cart .cart-empty.woocommerce-info,body.bp.woocommerce-cart .return-to-shop{display:none !important;}

/* ---------- checkout ---------- */
body.bp.woocommerce-checkout .woocommerce{max-width:1200px;margin:0 auto;padding:0 clamp(16px,3vw,32px) 60px;}
body.bp.woocommerce-checkout .woocommerce-form-coupon-toggle,body.bp.woocommerce-checkout form.checkout_coupon{max-width:none;}
body.bp.woocommerce-checkout form.checkout_coupon{border:1px solid #DDEAF7 !important;border-radius:18px !important;background:#fff;padding:18px !important;}
body.bp.woocommerce-checkout form.checkout.woocommerce-checkout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:0 32px;align-items:start;}
body.bp.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup{grid-column:1/-1;}
body.bp.woocommerce-checkout #customer_details{grid-column:1;grid-row:1 / span 3;display:block;padding:clamp(18px,3vw,30px);border-radius:24px;background:#fff;border:1px solid #DDEAF7;box-shadow:0 30px 60px -44px rgba(10,34,70,.5);}
body.bp.woocommerce-checkout #customer_details .col-1,body.bp.woocommerce-checkout #customer_details .col-2{width:100% !important;float:none !important;max-width:none !important;padding:0 !important;flex:none !important;}
body.bp.woocommerce-checkout #customer_details .col-2{margin-top:10px;}
body.bp.woocommerce-checkout #customer_details h3{margin:0 0 16px !important;font:650 20px/1.2 var(--bp-sans) !important;color:#0A1222 !important;letter-spacing:-.02em;}
body.bp.woocommerce-checkout #order_review_heading{grid-column:2;margin:0 !important;padding:24px 24px 0;border-radius:24px 24px 0 0;background:linear-gradient(160deg,#0E1D36,#0B1729);font:650 20px/1.2 var(--bp-sans) !important;color:#F4F9FF !important;letter-spacing:-.02em;}
body.bp.woocommerce-checkout #order_review{grid-column:2;padding:12px 24px 24px;border-radius:0 0 24px 24px;background:linear-gradient(180deg,#0B1729,#081223);color:#DCEBFA;box-shadow:0 40px 70px -40px rgba(10,18,34,.8);position:sticky;top:96px;}
body.bp.woocommerce-checkout #order_review table.shop_table{border:0 !important;background:transparent !important;margin:0 0 16px !important;}
body.bp.woocommerce-checkout #order_review table th,body.bp.woocommerce-checkout #order_review table td{border:0 !important;border-top:1px solid rgba(143,196,245,.14) !important;padding:11px 0 !important;background:transparent !important;color:#B9CCE3 !important;font:400 14px/1.5 var(--bp-sans) !important;}
body.bp.woocommerce-checkout #order_review table td:last-child{text-align:right;color:#EAF3FF !important;}
body.bp.woocommerce-checkout #order_review table thead th{font:500 11px/1 var(--bp-mono) !important;letter-spacing:.16em;text-transform:uppercase;color:#7FA6D0 !important;border-top:0 !important;}
body.bp.woocommerce-checkout #order_review td.product-name{color:#EAF3FF !important;}
body.bp.woocommerce-checkout #order_review td.product-name .product-quantity{color:#8FD0FF;font-weight:600;}
body.bp.woocommerce-checkout #order_review tr.order-total th,body.bp.woocommerce-checkout #order_review tr.order-total td{font-size:18px !important;font-weight:700 !important;color:#fff !important;}
body.bp.woocommerce-checkout #order_review .woocommerce-shipping-methods{list-style:none !important;margin:0 !important;padding:0 !important;}
body.bp.woocommerce-checkout #order_review .woocommerce-shipping-methods li::before{display:none !important;}
body.bp.woocommerce-checkout #payment{background:transparent !important;border-radius:0 !important;}
body.bp.woocommerce-checkout #payment ul.payment_methods{border:0 !important;padding:0 !important;margin:0 0 14px !important;list-style:none !important;display:grid;gap:8px;}
body.bp.woocommerce-checkout #payment ul.payment_methods li{margin:0 !important;padding:14px 16px !important;border-radius:16px;border:1px solid rgba(143,196,245,.2);background:rgba(255,255,255,.04);color:#DCEBFA;}
body.bp.woocommerce-checkout #payment ul.payment_methods li::before{display:none !important;}
body.bp.woocommerce-checkout #payment ul.payment_methods li:has(input:checked){border-color:#58B0FF;background:rgba(88,176,255,.1);}
body.bp.woocommerce-checkout #payment ul.payment_methods li label{color:#F4F9FF !important;font:600 15px/1.3 var(--bp-sans) !important;cursor:pointer;}
body.bp.woocommerce-checkout #payment ul.payment_methods li input[type=radio]{accent-color:#3B8BF0;margin-right:8px;}
body.bp.woocommerce-checkout #payment div.payment_box{margin:10px 0 0 !important;padding:12px 14px !important;border-radius:12px;background:rgba(0,0,0,.25) !important;color:#B9CCE3 !important;font:400 13.5px/1.55 var(--bp-sans) !important;}
body.bp.woocommerce-checkout #payment div.payment_box::before{display:none !important;}
body.bp.woocommerce-checkout #payment div.payment_box p{color:#B9CCE3 !important;}
body.bp.woocommerce-checkout #payment .place-order{padding:0 !important;margin:0 !important;background:transparent !important;}
body.bp.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,body.bp.woocommerce-checkout .woocommerce-privacy-policy-text p{color:#8FA8C6 !important;font:400 12.5px/1.55 var(--bp-sans) !important;}
body.bp.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a,body.bp.woocommerce-checkout .woocommerce-privacy-policy-text a{color:#8FD0FF !important;}
body.bp.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label,body.bp.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper span{color:#DCEBFA !important;}
body.bp.woocommerce-checkout #place_order{width:100% !important;min-height:58px;font-size:16.5px !important;margin-top:12px !important;float:none !important;}
body.bp.woocommerce-checkout #order_review .bpco-trust{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px !important;}
body.bp.woocommerce-checkout #order_review .bpco-trust li{background:rgba(255,255,255,.04);border-color:rgba(143,196,245,.16);}
body.bp.woocommerce-checkout #order_review .bpco-trust b{color:#F4F9FF;font-size:16px;}
body.bp.woocommerce-checkout #order_review .bpco-trust span{color:#8FA8C6;}
body.bp.woocommerce-checkout .woocommerce-shipping-fields #ship-to-different-address label{font:600 15px/1.3 var(--bp-sans) !important;color:#0A1222 !important;}

/* ---------- my account ---------- */
body.bp.woocommerce-account .woocommerce{max-width:1200px;margin:0 auto;padding:0 clamp(16px,3vw,32px) 60px;}
body.bp.woocommerce-account .woocommerce > .bpco-hero{margin-bottom:28px;}
body.bp.woocommerce-account #customer_login{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
body.bp.woocommerce-account #customer_login > div{width:auto !important;float:none !important;max-width:none !important;padding:clamp(20px,3vw,32px) !important;border-radius:24px;background:#fff;border:1px solid #DDEAF7;box-shadow:0 30px 60px -44px rgba(10,34,70,.5);}
body.bp.woocommerce-account #customer_login h2,body.bp.woocommerce-account .woocommerce > h2{margin:0 0 16px !important;font:650 22px/1.2 var(--bp-sans) !important;color:#0A1222 !important;letter-spacing:-.02em;}
body.bp.woocommerce-account form.login,body.bp.woocommerce-account form.register{border:0 !important;padding:0 !important;margin:0 !important;}
body.bp.woocommerce-account .woocommerce-form-login__rememberme{display:inline-flex;gap:8px;align-items:center;margin-right:14px;}
body.bp.woocommerce-account .lost_password a{color:#1668D6 !important;font-weight:600;}
body.bp.woocommerce-account .woocommerce-MyAccount-navigation{float:none !important;width:auto !important;margin:0 0 20px;}
body.bp.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none !important;display:flex;flex-wrap:wrap;gap:8px;margin:0 !important;padding:0 !important;}
body.bp.woocommerce-account .woocommerce-MyAccount-navigation li{margin:0 !important;padding:0 !important;}
body.bp.woocommerce-account .woocommerce-MyAccount-navigation li::before{display:none !important;}
body.bp.woocommerce-account .woocommerce-MyAccount-navigation a{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border-radius:999px;background:#fff;border:1px solid #D6E6F7;color:#2B3D55 !important;font:600 14px/1 var(--bp-sans);text-decoration:none !important;transition:background .2s,border-color .2s,color .2s;}
body.bp.woocommerce-account .woocommerce-MyAccount-navigation a:hover{border-color:#9CC6F2;color:#1668D6 !important;}
body.bp.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:linear-gradient(135deg,#3B8BF0,#1668D6);border-color:transparent;color:#fff !important;}
body.bp.woocommerce-account .woocommerce-MyAccount-content{float:none !important;width:auto !important;padding:clamp(20px,3vw,32px);border-radius:24px;background:#fff;border:1px solid #DDEAF7;box-shadow:0 30px 60px -44px rgba(10,34,70,.5);font:400 15px/1.65 var(--bp-sans);color:#2B3D55;}
body.bp.woocommerce-account .woocommerce-MyAccount-content a:not(.button){color:#1668D6 !important;font-weight:600;}
body.bp.woocommerce-account .woocommerce-MyAccount-content table.shop_table{border:1px solid #DDEAF7 !important;border-radius:16px !important;overflow:hidden;border-collapse:separate !important;}
body.bp.woocommerce-account .woocommerce-MyAccount-content table.shop_table th{background:#F3F8FE !important;font:500 11px/1 var(--bp-mono) !important;letter-spacing:.14em;text-transform:uppercase;color:#5A7190 !important;}
body.bp.woocommerce-account .woocommerce-MyAccount-content table.shop_table td,body.bp.woocommerce-account .woocommerce-MyAccount-content table.shop_table th{border-color:#E4EEF8 !important;padding:12px 14px !important;}
body.bp.woocommerce-account .woocommerce-Addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
body.bp.woocommerce-account .woocommerce-Addresses .woocommerce-Address{width:auto !important;float:none !important;padding:18px;border-radius:18px;background:#F6FAFE;border:1px solid #E1ECF8;}

/* ---------- responsive ---------- */
@media (max-width:1024px){
 body.bp.woocommerce-cart .woocommerce{grid-template-columns:minmax(0,1fr);}
 body.bp.woocommerce-cart .cart-collaterals{grid-column:1;position:static;margin-top:18px;}
 body.bp.woocommerce-checkout form.checkout.woocommerce-checkout{grid-template-columns:minmax(0,1fr);}
 body.bp.woocommerce-checkout #customer_details,body.bp.woocommerce-checkout #order_review_heading,body.bp.woocommerce-checkout #order_review{grid-column:1;grid-row:auto;}
 body.bp.woocommerce-checkout #order_review_heading{margin-top:22px !important;}
 body.bp.woocommerce-checkout #order_review{position:static;}
}
@media (max-width:768px){
 body.bp .bpco-hero{border-radius:0 0 22px 22px;margin-bottom:20px;}
 body.bp .bpco-steps li span{font-size:12px;}
 body.bp .bpco-trust{grid-template-columns:repeat(2,minmax(0,1fr));}
 body.bp.woocommerce-cart table.shop_table_responsive.cart,body.bp.woocommerce-cart table.shop_table_responsive.cart tbody{display:block;}
 body.bp.woocommerce-cart table.shop_table_responsive.cart tr.cart_item{display:grid !important;grid-template-columns:72px minmax(0,1fr) minmax(0,1fr);grid-template-areas:"thumb name name" "thumb price price" "thumb qty sub";position:relative;gap:4px 12px;padding:14px;margin:0 0 12px;border:1px solid #DDEAF7;border-radius:18px;}
 body.bp.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td{display:block !important;border:0 !important;border-radius:0 !important;padding:0 !important;text-align:left !important;background:transparent !important;}
 body.bp.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td::before{display:none !important;}
 body.bp.woocommerce-cart tr.cart_item td.product-thumbnail{grid-area:thumb;display:block !important;}
 body.bp.woocommerce-cart tr.cart_item td.product-thumbnail img{width:72px !important;}
 body.bp.woocommerce-cart tr.cart_item td.product-name{grid-area:name;}
 body.bp.woocommerce-cart tr.cart_item td.product-remove{grid-area:remove;justify-self:end;}
 body.bp.woocommerce-cart tr.cart_item td.product-price{grid-area:price;font-size:13px;color:#5A7190;}
 body.bp.woocommerce-cart tr.cart_item td.product-quantity{grid-area:qty;}
 body.bp.woocommerce-cart tr.cart_item td.product-subtotal{grid-area:sub;justify-self:end;align-self:center;font-size:16px;}
 body.bp.woocommerce-cart table.shop_table_responsive.cart tr:not(.cart_item){display:block;}
 body.bp.woocommerce-cart td.actions{display:block !important;}
 body.bp.woocommerce-cart td.actions .coupon{flex-wrap:wrap;}
 body.bp.woocommerce-cart td.actions .coupon .input-text{flex:1 1 160px;width:auto !important;}
 body.bp.woocommerce-cart td.actions button[name=update_cart]{width:100%;margin-top:8px;}
 body.bp.woocommerce-account #customer_login,body.bp.woocommerce-account .woocommerce-Addresses{grid-template-columns:minmax(0,1fr);}
 body.bp.woocommerce-account .woocommerce-MyAccount-navigation ul{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px !important;-webkit-overflow-scrolling:touch;}
 body.bp.woocommerce-account .woocommerce-MyAccount-navigation a{white-space:nowrap;}
}
html body.bp.woocommerce-cart:not(.home) .container.space-content,html body.bp.woocommerce-checkout:not(.home) .container.space-content,html body.bp.woocommerce-account:not(.home) .container.space-content,html body.bp.woocommerce-cart:not(.home) .space-blank,html body.bp.woocommerce-checkout:not(.home) .space-blank,html body.bp.woocommerce-account:not(.home) .space-blank{padding-top:0 !important;}
body.bp.woocommerce-cart td .amount,body.bp.woocommerce-cart .cart_totals .amount,body.bp.woocommerce-checkout #order_review .amount,body.bp.woocommerce-account .woocommerce-MyAccount-content .amount{font-size:inherit !important;line-height:inherit !important;font-weight:inherit !important;color:inherit !important;}
@media (max-width:768px){
 body.bp.woocommerce-cart tr.cart_item td.product-remove{position:absolute !important;top:12px;right:12px;}
 body.bp.woocommerce-cart tr.cart_item td.product-name{padding-right:36px !important;}
 body.bp.woocommerce-cart tr.cart_item td.product-subtotal{text-align:right !important;}
 body.bp.woocommerce-cart tr.cart_item td.product-subtotal small{display:block;font-size:11px;color:#6B7F98;font-weight:400;}
 body.bp.woocommerce-cart tr.cart_item td.product-name > a{font-size:15.5px !important;}
}
/* shipping options inside the dark totals panels */
body.bp .cart_totals tr.woocommerce-shipping-totals th,body.bp .cart_totals tr.woocommerce-shipping-totals td,body.bp #order_review tr.woocommerce-shipping-totals th,body.bp #order_review tr.woocommerce-shipping-totals td{display:block !important;width:100% !important;text-align:left !important;}
body.bp .cart_totals tr.woocommerce-shipping-totals td,body.bp #order_review tr.woocommerce-shipping-totals td{border-top:0 !important;padding-top:0 !important;}
body.bp .cart_totals .woocommerce-shipping-methods,body.bp #order_review .woocommerce-shipping-methods{display:grid !important;gap:6px;text-align:left !important;}
body.bp .cart_totals .woocommerce-shipping-methods li,body.bp #order_review .woocommerce-shipping-methods li{display:flex !important;align-items:flex-start;gap:10px;margin:0 !important;padding:10px 12px !important;border-radius:12px;border:1px solid rgba(143,196,245,.14);background:rgba(255,255,255,.03);text-indent:0 !important;}
body.bp .cart_totals .woocommerce-shipping-methods li:has(input:checked),body.bp #order_review .woocommerce-shipping-methods li:has(input:checked){border-color:#58B0FF;background:rgba(88,176,255,.1);}
body.bp .cart_totals .woocommerce-shipping-methods input,body.bp #order_review .woocommerce-shipping-methods input{margin:3px 0 0 !important;accent-color:#3B8BF0;flex:none;}
body.bp .cart_totals .woocommerce-shipping-methods label,body.bp #order_review .woocommerce-shipping-methods label{margin:0 !important;color:#DCEBFA !important;font:400 13px/1.45 var(--bp-sans) !important;text-align:left !important;}
body.bp .cart_totals .woocommerce-shipping-methods label .amount,body.bp #order_review .woocommerce-shipping-methods label .amount{color:#8FD0FF !important;font-weight:600 !important;}
body.bp .cart_totals .woocommerce-shipping-destination,body.bp #order_review .woocommerce-shipping-destination{margin:10px 0 4px !important;text-align:left;}
body.bp .cart_totals .shipping-calculator-button{color:#8FD0FF !important;}
body.bp .cart_totals small.tax_label,body.bp #order_review small.tax_label,body.bp .cart_totals small.includes_tax,body.bp #order_review small.includes_tax{color:#8FA8C6 !important;font-size:11.5px !important;font-weight:400 !important;}
body.bp.woocommerce-cart td.actions .coupon button{white-space:nowrap;flex:none;}
body.bp .cart_totals tr.woocommerce-shipping-totals td::before,body.bp #order_review tr.woocommerce-shipping-totals td::before{display:none !important;}
body.bp .cart_totals tr.woocommerce-shipping-totals th{font:500 11px/1 var(--bp-mono) !important;letter-spacing:.16em;text-transform:uppercase;color:#7FA6D0 !important;padding-bottom:10px !important;}
body.bp.woocommerce-checkout .entry-content > .elementor{margin:0 !important;}
body.bp.woocommerce-checkout .entry-content > .elementor > .e-con,body.bp.woocommerce-checkout .entry-content > .elementor .e-con-inner{padding:0 !important;max-width:none !important;width:100% !important;}
@media (max-width:768px){body.bp.woocommerce-checkout .woocommerce,body.bp.woocommerce-cart .woocommerce,body.bp.woocommerce-account .woocommerce{padding-left:14px !important;padding-right:14px !important;}}
body.bp.woocommerce-checkout #payment ul.payment_methods,body.bp.woocommerce-checkout #payment ul.payment_methods li:not(:has(input:checked)){background:rgba(255,255,255,.03) !important;}
body.bp.woocommerce-checkout #payment ul.payment_methods{background:transparent !important;}
body.bp.woocommerce-checkout #payment ul.payment_methods li img{max-height:24px;width:auto;vertical-align:middle;margin-left:8px;border-radius:4px;}
body.bp.woocommerce-checkout #order_review table thead th{white-space:nowrap;letter-spacing:.1em !important;}
body.bp.woocommerce-checkout #order_review tfoot th{font:500 11px/1 var(--bp-mono) !important;letter-spacing:.12em;text-transform:uppercase;color:#7FA6D0 !important;}
body.bp.woocommerce-checkout #order_review tr.order-total th{font:700 18px/1.2 var(--bp-sans) !important;letter-spacing:0;text-transform:none;color:#fff !important;}
html body.bp .bpco-hero p.bpco-lede,html body.bp .bpco-hero .bpco-lede{color:#B9CCE3 !important;}
html body.bp .bpco-hero h1.bpco-h1{color:#F4F9FF !important;}
html body.bp.woocommerce-account .woocommerce-MyAccount-content strong,html body.bp.woocommerce-account .woocommerce-MyAccount-content b{color:#0A1222 !important;}
html body.bp.woocommerce-account .woocommerce-MyAccount-content p{color:#2B3D55 !important;}
body.bp.woocommerce-checkout form.checkout #customer_details,body.bp.woocommerce-checkout form.checkout #order_review,body.bp.woocommerce-checkout form.checkout #order_review_heading{width:auto !important;max-width:none !important;float:none !important;margin-left:0 !important;margin-right:0 !important;}
body.bp.woocommerce-checkout form.checkout .woocommerce-billing-fields,body.bp.woocommerce-checkout form.checkout .woocommerce-shipping-fields,body.bp.woocommerce-checkout form.checkout .woocommerce-additional-fields{width:auto !important;max-width:none !important;float:none !important;padding:0 !important;margin:0 !important;}
body.bp.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,body.bp.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;}
body.bp.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,body.bp.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row{width:auto !important;float:none !important;grid-column:1/-1;margin:0 0 14px !important;padding:0 !important;}
body.bp.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,body.bp.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-first{grid-column:1;}
body.bp.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last,body.bp.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-last{grid-column:2;}
body.bp #order_review tr.woocommerce-shipping-totals,body.bp .cart_totals tr.woocommerce-shipping-totals{display:block;width:100%;}
body.bp #order_review .woocommerce-shipping-methods,body.bp .cart_totals .woocommerce-shipping-methods{width:100% !important;}
body.bp #order_review table.shop_table tfoot,body.bp #order_review table.shop_table tbody,body.bp #order_review table.shop_table thead{width:100%;}
/* totals tables as flex rows so the shipping list can use the full panel width */
body.bp .cart_totals table.shop_table,body.bp .cart_totals table.shop_table tbody,body.bp #order_review table.shop_table,body.bp #order_review table.shop_table thead,body.bp #order_review table.shop_table tbody,body.bp #order_review table.shop_table tfoot{display:block !important;width:100% !important;}
body.bp .cart_totals table.shop_table tr,body.bp #order_review table.shop_table tr{display:flex !important;justify-content:space-between;align-items:baseline;gap:14px;width:100% !important;border-top:1px solid rgba(143,196,245,.14);}
body.bp .cart_totals table.shop_table tr:first-child,body.bp #order_review table.shop_table thead tr{border-top:0;}
body.bp .cart_totals table.shop_table th,body.bp .cart_totals table.shop_table td,body.bp #order_review table.shop_table th,body.bp #order_review table.shop_table td{display:block !important;width:auto !important;border-top:0 !important;}
body.bp #order_review table.shop_table td.product-name,body.bp #order_review table.shop_table th.product-name{flex:1 1 auto;}
body.bp .cart_totals table.shop_table tr.woocommerce-shipping-totals,body.bp #order_review table.shop_table tr.woocommerce-shipping-totals{display:block !important;}
body.bp .cart_totals table.shop_table tr.woocommerce-shipping-totals td,body.bp #order_review table.shop_table tr.woocommerce-shipping-totals td{width:100% !important;}
body.bp .cart_totals table.shop_table td::before,body.bp #order_review table.shop_table td::before{display:none !important;}/* ds-99-fix2.css — readability and overlap fixes */
html body.bp .bp-rule{height:auto !important;background:none !important;min-height:0}
html body.bp .bp-rule span{background:none !important}
html body.bp .bph-dark .bph-dcard,html body.bp .bp-sec--dark .bph-dcard{background:linear-gradient(162deg,rgba(255,255,255,.075),rgba(255,255,255,.02)) !important;border:1px solid rgba(125,192,245,.22) !important;box-shadow:0 24px 50px -30px rgba(0,0,0,.6) !important}
html body.bp .bph-dark .bph-dcard b,html body.bp .bp-sec--dark .bph-dcard b,html body.bp .bph-dark .bph-dcard h3,html body.bp .bph-dark .bph-dcard strong{color:#fff !important;-webkit-text-fill-color:#fff !important}
html body.bp .bph-dark .bph-dcard p,html body.bp .bph-dark .bph-dcard span,html body.bp .bp-sec--dark .bph-dcard span{color:rgba(214,230,246,.82) !important;-webkit-text-fill-color:currentColor}
html body.bp section.bpfin .bpfin__h,html body.bp .entry-content section.bpfin h2.bpfin__h{color:#fff !important;-webkit-text-fill-color:#fff}
html body.bp section.bpfin .bpfin__h em{-webkit-text-fill-color:transparent}
html body.bp section.bpfin .bpfin__lede{color:rgba(214,230,246,.85) !important}
/* section rail: dots only, label on hover, never over content */
body.bp .bprail-nav a span{opacity:0 !important;transform:translateX(8px);transition:opacity .2s,transform .2s;pointer-events:none;background:rgba(6,17,31,.9);color:#EAF2FC !important;padding:5px 10px;border-radius:8px;border:1px solid rgba(125,192,245,.3);white-space:nowrap}
body.bp .bprail-nav a:hover span,body.bp .bprail-nav a:focus-visible span{opacity:1 !important;transform:none}
@media (max-width:1439px){body.bp .bprail-nav{display:none !important}}
/* side cart: the plugin's modal wrapper is position:fixed (a stacking context) with z-index auto, so
   every positioned section painted over the cart bubble and the open cart. Lift the whole wrapper. */
body.bp > .xoo-wsc-markup .xoo-wsc-modal{z-index:9995 !important;}
/* mobile text clipping fixes (2809) */
/* page-title word reveal: give descenders and the last glyph room inside the clip */
body.bp .bpv-hero .bpv-w{padding:0 .12em .2em 0 !important;margin:0 -.12em -.2em 0 !important;}
/* category tag on product cards: wrap instead of cutting the family name off */
html body.bp .bpp .bpp__tag,html body.bp.bp-catalogue .bpshop .bpp__tag,html body.bp .bprel .bpp__tag{white-space:normal !important;text-overflow:clip !important;overflow:visible !important;line-height:1.3 !important;max-width:calc(100% - 16px) !important;}
/* certificate line: text and links flow as a paragraph, the shield sits in the margin */
body.bp .bpd-sec .bpk-coa-line{display:block !important;position:relative;padding-left:72px !important;}
body.bp .bpd-sec .bpk-coa-line .bpd-coa-ic{position:absolute;left:20px;top:18px;}
@media (max-width:640px){ body.bp .bpd-sec .bpk-coa-line{padding-left:62px !important;} body.bp .bpd-sec .bpk-coa-line .bpd-coa-ic{left:14px;} }
/* contrast pass (2909): nothing dark-on-dark or light-on-light */
html body.bp .bp-sec--dark p a:not(.bp-btn),html body.bp .bp-sec--dark li a:not(.bp-btn),html body.bp .bp-sec--dark td a:not(.bp-btn),
html body.bp .bpgeo-close p a:not(.bp-btn),html body.bp .bpk-ruo-notice a:not(.bp-btn),
html body.bp .bpd-sec--sheet td a,html body.bp .bpd-sec--sheet p a,html body.bp .bpd-buy a.bpd-buy__alt{color:#7CC0F7 !important;text-decoration-color:rgba(124,192,247,.45) !important;}
html body.bp .bpd-buy a.bpd-buy__alt:hover{color:#FFFFFF !important;}
html body.bp .bpk-ruo-notice p,html body.bp .bpk-ruo-notice{color:#C9DBEF !important;}
html body.bp .bpk-ruo-notice b,html body.bp .bpk-ruo-notice strong{color:#FFFFFF !important;}
html body.bp .bpk-rel__h{color:#FFFFFF !important;}
html body.bp .bpd-cite__f a,html body.bp .bpd-cite__f a:not(.bp-btn){color:#FFFFFF !important;}
html body.bp .bpd-b,html body.bp .bpd-b em{color:#0A1222 !important;}
html body.bp .bpcalc__step.is-live{color:#FFFFFF !important;}
html body.bp .bp-sec--dark .bp-rule span,html body.bp .bpfin .bp-rule span,html body.bp .bph-dark .bp-rule span{color:#8FB4DA !important;}
html body.bp .bpab__stats b{color:#FFFFFF !important;}
html body.bp .bpd-body .bpd-sec--sheet td a:not(.bp-btn),html body.bp .bpd-body .bpd-sec--sheet p a:not(.bp-btn){color:#7CC0F7 !important;}
html body.bp .bpd-body .bpd-sec--sheet td strong,html body.bp .bpd-body .bpd-sec--sheet td b{color:#FFFFFF !important;}
html body.bp div .bpk-rel h2.bpk-rel__h,html body.bp .bpk-rel .bpk-rel__h{color:#FFFFFF !important;}
html body.bp .bpcalc .bpcalc__ladder .bpcalc__step.is-live,html body.bp div.bpcalc__step.is-live{color:#FFFFFF !important;}
html body.bp .bpgeo-close a:not(.bp-btn):not([class]),html body.bp .bp-sec--dark a:not(.bp-btn):not([class]){color:#7CC0F7 !important;}/* ds-99-geo.css — bespoke province and city template: live route card, spec tiles,
   FAQ accordion, tax and transit board, category vials, closing CTA band */
body.bpgeo .bppg__hero.bpgeo-hero .bppg__hero-in{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);column-gap:clamp(28px,4vw,64px);align-items:center}
body.bpgeo .bppg__hero.bpgeo-hero .bppg__hero-in > :not(.bpgeo-route){grid-column:1}
body.bpgeo .bpgeo-route{grid-column:2;grid-row:1 / span 6;align-self:center;position:relative;border-radius:22px;padding:20px 22px 18px;background:linear-gradient(160deg,rgba(18,34,58,.86),rgba(6,14,26,.92));border:1px solid rgba(125,192,245,.24);box-shadow:0 30px 80px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#dbe9f7;overflow:hidden;animation:bpgeoRise .9s cubic-bezier(.2,.8,.2,1) both .15s}
@keyframes bpgeoRise{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@property --bpgeo-a{syntax:'<angle>';initial-value:0deg;inherits:false}
.bpgeo-route::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:conic-gradient(from var(--bpgeo-a),transparent 0 68%,rgba(125,192,245,.95) 80%,transparent 92%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:bpgeoSpin 6s linear infinite;pointer-events:none}
@keyframes bpgeoSpin{to{--bpgeo-a:360deg}}
.bpgeo-route__top{display:flex;justify-content:space-between;align-items:center;font-family:var(--bp-mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:#7DC0F5;margin-bottom:4px}
.bpgeo-route__top b{color:#A9D6F9;font-weight:500;display:inline-flex;align-items:center;gap:7px}
.bpgeo-route__top b::before{content:"";width:7px;height:7px;border-radius:50%;background:#34d399;animation:bpgeoPing 1.8s ease-out infinite}
@keyframes bpgeoPing{0%{box-shadow:0 0 0 0 rgba(52,211,153,.6)}100%{box-shadow:0 0 0 10px rgba(52,211,153,0)}}
.bpgeo-route__map{display:block;width:100%;height:auto;margin:2px 0 8px;overflow:visible}
.bpgeo-route__map .n1{fill:#7DC0F5}
.bpgeo-route__map .n2{fill:#fff}
.bpgeo-route__map .n2p{fill:none;stroke:#7DC0F5;stroke-width:1.2;transform-box:fill-box;transform-origin:center;animation:bpgeoRing 2.4s ease-out infinite}
@keyframes bpgeoRing{from{transform:scale(.45);opacity:.95}to{transform:scale(1.5);opacity:0}}
.bpgeo-route__map .dot{fill:#fff;filter:drop-shadow(0 0 6px #7DC0F5)}
.bpgeo-route__map path{animation:bpgeoDash 1.2s linear infinite}
@keyframes bpgeoDash{to{stroke-dashoffset:-20}}
.bpgeo-route__map .lb{font-family:var(--bp-mono);font-size:9px;letter-spacing:.18em;fill:rgba(214,230,246,.72)}
.bpgeo-route__rows{margin:0;display:grid}
.bpgeo-route__rows > div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;border-top:1px solid rgba(125,192,245,.14)}
.bpgeo-route__rows dt{font-size:12.5px;color:rgba(214,230,246,.7) !important;margin:0;font-weight:400}
.bpgeo-route__rows dd{margin:0;font-size:13.5px;font-weight:600;color:#fff !important;text-align:right}
.bpgeo-route__cta{margin-top:14px;display:flex;justify-content:center;align-items:center;gap:8px;padding:12px 16px;border-radius:12px;background:linear-gradient(180deg,#1a6ad4,#1257b5);color:#fff !important;font-weight:600;font-size:14px;text-decoration:none !important;box-shadow:0 10px 24px rgba(22,104,214,.35);transition:transform .2s,box-shadow .2s}
.bpgeo-route__cta:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(22,104,214,.5)}
.bpgeo-route__cta span{transition:transform .25s}
.bpgeo-route__cta:hover span{transform:translateX(3px)}
@media (max-width:900px){body.bpgeo .bppg__hero.bpgeo-hero .bppg__hero-in{grid-template-columns:1fr}body.bpgeo .bpgeo-route{grid-column:1;grid-row:auto;margin-top:26px}}

body.bpgeo ul.bpgeo-tiles{list-style:none !important;margin:calc(-1 * clamp(70px,8vw,112px)) auto clamp(44px,5vw,76px) !important;padding:0 28px !important;max-width:var(--bp-max);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;position:relative;z-index:6;box-sizing:border-box}
body.bpgeo ul.bpgeo-tiles > li{list-style:none !important;margin:0 !important;padding:18px 18px 16px !important;border-radius:18px;background:linear-gradient(180deg,#fff,#f3f8ff);border:1px solid var(--bp-line);box-shadow:0 18px 44px rgba(10,30,60,.12);display:grid;grid-template-columns:auto 1fr;grid-template-areas:"ic big" "t t";gap:10px 12px;align-items:center;position:relative;overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;animation:bpgeoRise .8s cubic-bezier(.2,.8,.2,1) both}
body.bpgeo ul.bpgeo-tiles > li:nth-child(2){animation-delay:.08s}
body.bpgeo ul.bpgeo-tiles > li:nth-child(3){animation-delay:.16s}
body.bpgeo ul.bpgeo-tiles > li:nth-child(4){animation-delay:.24s}
body.bpgeo ul.bpgeo-tiles > li::before{display:none !important}
body.bpgeo ul.bpgeo-tiles > li::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(125,192,245,.2) 50%,transparent 70%);transform:translateX(-120%);transition:transform .9s ease;pointer-events:none}
body.bpgeo ul.bpgeo-tiles > li:hover{transform:translateY(-4px);box-shadow:0 26px 56px rgba(10,30,60,.18)}
body.bpgeo ul.bpgeo-tiles > li:hover::after{transform:translateX(120%)}
.bpgeo-tile__ic{grid-area:ic;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(160deg,#e8f3ff,#d4e8fb);color:#1668D6}
.bpgeo-tile__ic svg{width:20px;height:20px}
.bpgeo-tile__big{grid-area:big;font-size:26px;letter-spacing:-.03em;font-weight:700;color:#0A1222 !important;font-variant-numeric:tabular-nums;line-height:1}
.bpgeo-tile__t{grid-area:t;font-size:13.5px;line-height:1.45;color:#39465A !important}
@media (max-width:980px){body.bpgeo ul.bpgeo-tiles{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:-44px !important}}
@media (max-width:520px){body.bpgeo ul.bpgeo-tiles{grid-template-columns:1fr;padding:0 16px !important}}

.bpgeo-faq{display:grid;gap:10px;margin-top:6px}
.bpgeo-faq details{border:1px solid var(--bp-line);border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(10,18,34,.05);overflow:hidden;transition:box-shadow .3s,border-color .3s}
.bpgeo-faq details[open]{border-color:#b9d6f3;box-shadow:0 16px 40px rgba(16,58,110,.10)}
.bpgeo-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;font-weight:600;font-size:16px;line-height:1.4;color:#0A1222 !important}
.bpgeo-faq summary::-webkit-details-marker{display:none}
.bpgeo-faq summary i{flex:none;width:28px;height:28px;border-radius:50%;background:#eaf3fd;position:relative;transition:transform .35s cubic-bezier(.2,.8,.2,1),background .3s}
.bpgeo-faq summary i::before,.bpgeo-faq summary i::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.6px;background:#1668D6;transform:translate(-50%,-50%)}
.bpgeo-faq summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:opacity .3s}
.bpgeo-faq details[open] summary i{transform:rotate(180deg);background:#1668D6}
.bpgeo-faq details[open] summary i::before,.bpgeo-faq details[open] summary i::after{background:#fff}
.bpgeo-faq details[open] summary i::after{opacity:0}
.bpgeo-faq__a{padding:0 20px 18px;color:#39465A;font-size:15px;line-height:1.65}
.bpgeo-faq__a p{margin:0;color:#39465A !important}
.bpgeo-faq details[open] .bpgeo-faq__a{animation:bpgeoIn .45s cubic-bezier(.2,.8,.2,1)}
@keyframes bpgeoIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

.bpgeo-board{margin:18px 0;border-radius:18px;overflow:auto;border:1px solid #1d3354;background:linear-gradient(180deg,#07111f,#0b1a2e);box-shadow:0 24px 60px rgba(5,15,30,.3)}
.bpgeo-board table{width:100%;border-collapse:collapse;margin:0 !important;font-size:14px;background:transparent !important;border:0 !important}
.bpgeo-board th{font-family:var(--bp-mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#7DC0F5 !important;text-align:left;padding:14px 16px !important;background:rgba(125,192,245,.06) !important;border:0 !important;border-bottom:1px solid rgba(125,192,245,.22) !important;font-weight:500}
.bpgeo-board td{padding:12px 16px !important;border:0 !important;border-bottom:1px solid rgba(125,192,245,.1) !important;color:#dbe9f7 !important;background:transparent !important}
.bpgeo-board tr:last-child td{border-bottom:0 !important}
.bpgeo-board tr:hover td{background:rgba(125,192,245,.07) !important}
.bpgeo-board td a{color:#fff !important;font-weight:600;text-decoration:none !important;border-bottom:1px solid rgba(125,192,245,.45)}
.bpgeo-chip{display:inline-block;font-family:var(--bp-mono);font-size:12px;padding:3px 9px;border-radius:999px;background:rgba(125,192,245,.14);color:#CFE7FB !important;border:1px solid rgba(125,192,245,.32)}

ul.bpgeo-cats{display:grid !important;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;list-style:none !important;padding:0 !important;margin:18px 0 !important}
ul.bpgeo-cats > li.bpgeo-cat{position:relative;list-style:none !important;margin:0 !important;padding:16px 16px 16px 86px !important;min-height:124px;border-radius:18px;background:linear-gradient(160deg,#fff,#eef6fe) !important;border:1px solid var(--bp-line) !important;box-shadow:0 1px 2px rgba(10,18,34,.05);overflow:hidden;font-size:13.5px;line-height:1.5;color:#39465A !important;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;display:block !important}
ul.bpgeo-cats > li.bpgeo-cat::before{display:none !important}
ul.bpgeo-cats > li.bpgeo-cat a{display:block;font-size:15.5px;font-weight:650;color:#0A1222 !important;text-decoration:none !important;margin-bottom:4px}
ul.bpgeo-cats > li.bpgeo-cat a::after{content:"";position:absolute;inset:0;z-index:2}
body.bp img.bpgeo-cat__vial{position:absolute !important;left:14px;top:50%;width:56px !important;height:auto !important;max-width:none !important;transform:translateY(-50%) rotate(-7deg);filter:drop-shadow(0 10px 14px rgba(10,30,60,.25));transition:transform .5s cubic-bezier(.2,.8,.2,1);margin:0 !important}
ul.bpgeo-cats > li.bpgeo-cat:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(16,58,110,.14)}
ul.bpgeo-cats > li.bpgeo-cat:hover img.bpgeo-cat__vial{transform:translateY(-54%) rotate(0deg) scale(1.07)}

body.bpgeo section.bppg__sec.bpgeo-close{background:radial-gradient(700px 300px at 85% 20%,rgba(58,124,192,.35),transparent 60%),linear-gradient(160deg,#06111f,#030a14) !important;border-radius:28px;margin:48px auto 72px !important;max-width:min(var(--bp-max),calc(100% - 32px));padding:clamp(32px,5vw,60px) !important;box-sizing:border-box;box-shadow:0 40px 90px rgba(5,15,30,.35)}
body.bpgeo .bpgeo-close .bppg__head, body.bpgeo .bpgeo-close .bppg__head *, body.bpgeo .bpgeo-close h2{color:#fff !important}
body.bpgeo .bpgeo-close .bppg__body, body.bpgeo .bpgeo-close .bppg__body p{color:rgba(214,230,246,.88) !important}
body.bpgeo .bpgeo-close .bppg__body a:not(.bpgeo-btn){color:#A9D6F9 !important}
.bpgeo-close__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.bpgeo-btn{display:inline-flex;align-items:center;padding:13px 20px;border-radius:12px;font-weight:600;font-size:14.5px;text-decoration:none !important;border:1px solid rgba(125,192,245,.4);color:#fff !important;transition:transform .2s,background .2s,box-shadow .2s}
.bpgeo-btn:hover{transform:translateY(-1px);background:rgba(125,192,245,.12)}
.bpgeo-btn--pri{background:linear-gradient(180deg,#1a6ad4,#1257b5);border-color:transparent;box-shadow:0 12px 28px rgba(22,104,214,.4)}
.bpgeo-btn--pri:hover{background:linear-gradient(180deg,#1f74e0,#155fc2)}
@media (prefers-reduced-motion:reduce){.bpgeo-route::before,.bpgeo-route__map path,.bpgeo-route__map .n2p,.bpgeo-route__top b::before{animation:none}}

/* specificity guards against the inherited hero link and <b> ink rules */
html body.bp.bpgeo .bppg__hero a.bpgeo-route__cta, html body.bp.bpgeo .bppg__hero a.bpgeo-route__cta:hover{color:#fff !important}
html body.bp .bpgeo-route .bpgeo-route__top b{color:#A9D6F9 !important}
html body.bp .bpgeo-route .bpgeo-route__rows dd{color:#fff !important}
html body.bp .bpgeo-route .bpgeo-route__rows dt{color:rgba(214,230,246,.72) !important}
html body.bp.bpgeo .bpgeo-close a.bpgeo-btn{color:#fff !important}

html body.bp.bpgeo section.bppg__sec.bpgeo-close > .bppg__head h2, html body.bp.bpgeo section.bppg__sec.bpgeo-close > .bppg__head h3, html body.bp.bpgeo section.bppg__sec.bpgeo-close > .bppg__head *{color:#fff !important}
html body.bp.bpgeo section.bppg__sec.bpgeo-close > .bppg__body > p, html body.bp.bpgeo section.bppg__sec.bpgeo-close > .bppg__body > p.bp-lede{color:rgba(214,230,246,.9) !important}
html body.bp.bpgeo section.bppg__sec.bpgeo-close > .bppg__body > p.bp-lede{color:#fff !important}
html body.bp.bpgeo section.bppg__sec.bpgeo-close a:not(.bpgeo-btn){color:#A9D6F9 !important;border-bottom-color:rgba(169,214,249,.4) !important}
html body.bp.bpgeo section.bppg__sec.bpgeo-close .bp-rule{background:rgba(125,192,245,.25) !important}
/* ds-99-home.css — home fixes and section upgrades */
/* 02 catalogue rail: content starts under the sticky header instead of centring past it */
body.bp .bppin__vp{justify-content:flex-start !important;padding-top:calc(75px + clamp(18px,3.2vh,40px)) !important;box-sizing:border-box}
body.bp .bppin__hd{margin-bottom:clamp(14px,2.6vh,30px) !important}
body.bp .bppin__hd h2{font-size:clamp(28px,3.3vw,46px) !important;line-height:1.05 !important}
body.bp .bppin__track .bpp__top{aspect-ratio:auto !important;height:clamp(160px,27vh,300px)}
/* vial shots: fill the frame, never overflow it */
body.bp .bpp .bpp__top{position:relative !important}
body.bp .bpp .bpp__top .bpp__img,body.bp .bpp .bpp__top img.bp-shot{position:absolute !important;left:10px;right:10px;top:12px;bottom:10px;
  width:calc(100% - 20px) !important;height:calc(100% - 22px) !important;max-width:none !important;max-height:none !important;margin:0 !important;object-fit:contain;object-position:50% 60%;z-index:2}
/* per-break mini ladder on each card */
body.bp .bpp__lad{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}
body.bp .bpp__lad span{display:flex;flex-direction:column;gap:2px;padding:7px 8px;border-radius:10px;background:#F1F7FE;border:1px solid #DCE9F7;
  font-family:var(--bp-mono,ui-monospace,monospace);font-size:10px;letter-spacing:.06em;color:#4A5A70 !important;line-height:1.1}
body.bp .bpp__lad b{font-family:var(--bp-sans,Inter,sans-serif);font-size:13px;letter-spacing:-.01em;color:#0A1222 !important;font-weight:650}
body.bp .bpp:hover .bpp__lad span:last-child{background:#E3F0FD;border-color:#9CCDF7}
@media (max-height:820px){body.bp .bppin__hint{display:none}body.bp .bppin__bar{margin-top:18px !important}}

/* ---------- editorial list (09 buying at volume) ---------- */
body.bp .bpedit__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:start}
body.bp .bpedit__aside{position:sticky;top:112px}
body.bp .bpedit__aside h2{font-size:clamp(32px,3.5vw,52px) !important;line-height:1.04 !important;letter-spacing:-.035em;margin:0 0 20px !important}
body.bp .bpedit__aside .bp-lede{margin:0 0 28px !important;max-width:46ch}
body.bp .bpedit__meter{height:3px;border-radius:3px;background:#DCE9F7;overflow:hidden;margin:0 0 28px;max-width:360px}
body.bp .bpedit__meter i{display:block;height:100%;width:100%;transform-origin:left;transform:scaleX(.08);background:linear-gradient(90deg,#1668D6,#7DC0F5)}
@supports (animation-timeline:view()){
body.bp .bpedit__grid{timeline-scope:--bpedit}
body.bp .bpedit__list{view-timeline:--bpedit block}
body.bp .bpedit__meter i{animation:bpeditFill linear both;animation-timeline:--bpedit;animation-range:entry 20% exit 40%}
}
@keyframes bpeditFill{from{transform:scaleX(.06)}to{transform:scaleX(1)}}
body.bp ol.bpedit__list{list-style:none !important;margin:0 !important;padding:0 0 0 34px !important;position:relative;display:grid;gap:22px}
body.bp ol.bpedit__list::before{content:"";position:absolute;left:8px;top:28px;bottom:28px;width:2px;background:linear-gradient(#1668D6,#9CCDF7 60%,rgba(156,205,247,0));border-radius:2px}
body.bp .bpedit__it{position:relative;list-style:none !important;margin:0 !important;padding:28px 30px 30px !important;border-radius:22px;background:#fff;border:1px solid #DCE9F7;box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 24px 50px -34px rgba(10,40,90,.35);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
body.bp .bpedit__it::before{content:"" !important;position:absolute;left:-32px;top:36px;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid #1668D6;box-shadow:0 0 0 5px rgba(22,104,214,.12);display:block !important}
body.bp .bpedit__it:hover{transform:translateY(-4px);border-color:#9CCDF7;box-shadow:0 34px 60px -34px rgba(10,40,90,.45)}
body.bp .bpedit__hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
body.bp .bpedit__ic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#2F86E6,#1257b5);box-shadow:0 10px 22px -8px rgba(22,104,214,.6),inset 0 1px 0 rgba(255,255,255,.3)}
body.bp .bpedit__ic svg{width:22px;height:22px}
body.bp .bpedit__no{font-family:var(--bp-mono,ui-monospace,monospace);font-size:12px;letter-spacing:.24em;color:#7A8AA0}
body.bp .bpedit__it h3{font-size:clamp(19px,1.6vw,23px) !important;letter-spacing:-.02em;margin:0 0 10px !important;color:#0A1222 !important}
body.bp .bpedit__it p{margin:0 !important;color:#34435A !important;line-height:1.65;font-size:15.5px !important}
body.bp .bpedit__viz{margin-top:18px}
body.bp .bpedit__viz--ship{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-family:var(--bp-mono,ui-monospace,monospace);font-size:11px;letter-spacing:.08em;color:#4A5A70}
body.bp .bpedit__viz--ship span{display:inline-flex;align-items:center;gap:4px;padding:8px 12px;border-radius:12px;background:#F1F7FE;border:1px solid #DCE9F7}
body.bp .bpedit__viz--ship span i{width:7px;height:16px;border-radius:3px 3px 2px 2px;background:linear-gradient(#0A1222 0 25%,#9CCDF7 25%)}
body.bp .bpedit__viz--ship b{font-size:20px;color:#1668D6}
body.bp .bpedit__viz--ship em{font-style:normal;color:#7A8AA0}
body.bp .bpedit__viz--transit{display:grid;gap:10px}
body.bp .bpedit__viz--transit div{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;align-items:center;gap:14px;font-size:13.5px;color:#34435A}
body.bp .bpedit__viz--transit i{position:relative;height:8px;border-radius:8px;background:#EAF2FB;overflow:hidden}
body.bp .bpedit__viz--transit i::after{content:"";position:absolute;top:0;bottom:0;left:calc((var(--a) - 1) * 20%);width:calc((var(--b) - var(--a) + 1) * 20%);border-radius:8px;background:linear-gradient(90deg,#2F86E6,#7DC0F5)}
body.bp .bpedit__viz--transit b{font-family:var(--bp-mono,ui-monospace,monospace);font-size:12px;font-weight:500;color:#1668D6 !important;white-space:nowrap}
body.bp .bpedit__it--line{background:linear-gradient(160deg,#0B1D38,#07101F);border-color:#1C3A66}
body.bp .bpedit__it--line h3{color:#fff !important}
body.bp .bpedit__it--line p{color:rgba(214,230,246,.82) !important}
body.bp .bpedit__it--line .bpedit__no{color:#7DC0F5}
@media (max-width:980px){
body.bp .bpedit__grid{grid-template-columns:1fr;gap:34px}
body.bp .bpedit__aside{position:static}
body.bp .bpedit__it{padding:22px 20px 24px !important}
body.bp .bpedit__viz--transit div{grid-template-columns:1fr auto;}
body.bp .bpedit__viz--transit i{grid-column:1 / -1;order:3}
}
/* ---------- magazine (16 in plain terms) ---------- */
body.bp .bpmag__head{max-width:900px;margin:0 0 clamp(30px,4vw,56px)}
body.bp .bpmag__head h2{font-size:clamp(34px,4.4vw,64px) !important;line-height:1.02 !important;letter-spacing:-.04em;margin:14px 0 0 !important}
body.bp .bpmag__grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(36px,5vw,80px);align-items:start}
body.bp .bpmag__body{max-width:70ch}
body.bp .bpmag__body p{font-size:17px;line-height:1.75;color:#28374D !important;margin:0 0 22px !important}
body.bp .bpmag__body a{color:#1257b5 !important;text-decoration:none !important;background:linear-gradient(#9CCDF7,#9CCDF7) 0 100%/100% 2px no-repeat;transition:background-size .25s,color .25s}
body.bp .bpmag__body a:hover{background-size:100% 100%;color:#0A1222 !important}
body.bp .bpmag__drop::first-letter{float:left;font-size:4.6em;line-height:.82;font-weight:700;letter-spacing:-.04em;margin:.06em .1em 0 0;background:linear-gradient(160deg,#1668D6,#7DC0F5);-webkit-background-clip:text;background-clip:text;color:transparent}
body.bp .bpmag__drop{font-size:19px !important;color:#0F1E33 !important}
body.bp blockquote.bpmag__pull{margin:36px 0 !important;padding:6px 0 6px 28px !important;border:0 !important;border-left:4px solid #1668D6 !important;background:none !important;font-size:clamp(24px,2.4vw,34px);line-height:1.18;letter-spacing:-.025em;font-weight:650;font-style:normal;color:#0A1222 !important;quotes:none}
body.bp blockquote.bpmag__pull::before,body.bp blockquote.bpmag__pull::after{content:none !important}
body.bp .bpmag__side{position:sticky;top:112px}
body.bp .bpmag__card{border-radius:24px;padding:28px 26px;background:linear-gradient(165deg,#0B2244,#06111F);border:1px solid #1C3A66;box-shadow:0 40px 80px -40px rgba(6,20,40,.6);color:#fff}
body.bp .bpmag__k{font-family:var(--bp-mono,ui-monospace,monospace);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#7DC0F5}
body.bp .bpmag__card dl{margin:18px 0 24px !important;display:grid;gap:0}
body.bp .bpmag__card dl div{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:baseline;padding:14px 0;border-bottom:1px solid rgba(125,192,245,.18)}
body.bp .bpmag__card dt{font-size:26px;font-weight:700;letter-spacing:-.03em;color:#fff !important;min-width:92px}
body.bp .bpmag__card dd{margin:0 !important;font-size:14px;color:rgba(214,230,246,.8) !important;line-height:1.4}
body.bp .bpmag__card .bp-btn{width:100%;justify-content:center}
body.bp .bpmag__ruo{margin:40px 0 0 !important;padding:16px 20px !important;border-radius:14px;background:rgba(255,255,255,.6);border:1px solid #DCE9F7;font-size:13px;color:#4A5A70 !important;max-width:none}
@media (max-width:980px){body.bp .bpmag__grid{grid-template-columns:1fr}body.bp .bpmag__side{position:static}body.bp .bpmag__body p{font-size:16px}}
/* ---------- FAQ with sticky aside ---------- */
body.bp .bpfaqx{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(36px,5vw,80px);align-items:start}
body.bp .bpfaqx__aside{position:sticky;top:112px}
body.bp .bpfaqx__aside h2{font-size:clamp(32px,3.4vw,50px) !important;line-height:1.04 !important;letter-spacing:-.035em;margin:0 0 16px !important}
body.bp .bpfaqx__card{margin-top:26px;padding:22px;border-radius:20px;background:#fff;border:1px solid #DCE9F7;display:grid;gap:10px;box-shadow:0 24px 50px -36px rgba(10,40,90,.35)}
body.bp .bpfaqx__card b{font-size:17px;color:#0A1222 !important}
body.bp .bpfaqx__card span{font-size:14.5px;color:#4A5A70 !important;line-height:1.55}
body.bp .bpfaqx__card .bp-btn{justify-self:start;margin-top:6px}
@media (max-width:980px){body.bp .bpfaqx{grid-template-columns:1fr}body.bp .bpfaqx__aside{position:static}}
/* ---------- family cards with vials ---------- */
body.bp a.bp-card.bpfam{position:relative;display:block;text-decoration:none !important;padding-right:96px !important;min-height:170px;overflow:hidden}
body.bp .bpfam__vial{position:absolute;right:18px;top:50%;height:132px;width:auto;transform:translateY(-50%) rotate(6deg);filter:drop-shadow(0 12px 18px rgba(10,30,70,.25));transition:transform .45s cubic-bezier(.2,.8,.2,1)}
body.bp a.bpfam:hover .bpfam__vial{transform:translateY(-58%) rotate(0deg) scale(1.06)}
body.bp .bpfam__box{position:absolute;right:22px;top:50%;transform:translateY(-50%);display:grid;grid-template-columns:repeat(5,10px);gap:4px}
body.bp .bpfam__box i{height:28px;border-radius:4px 4px 3px 3px;background:linear-gradient(#0A1222 0 22%,#CFE7FB 22% 72%,#7DC0F5 72%)}
/* ---------- closing: cinematic start-an-order ---------- */
body.bp .bpfin{position:relative;overflow:hidden;background:#040C18 !important;color:#fff;text-align:center;padding:clamp(90px,12vw,170px) 0 clamp(70px,9vw,120px) !important;isolation:isolate}
body.bp .bpfin__bg{position:absolute;inset:0;z-index:-1;background:radial-gradient(900px 520px at 50% 30%,rgba(22,104,214,.35),transparent 70%),radial-gradient(600px 400px at 15% 90%,rgba(125,192,245,.14),transparent 70%)}
body.bp .bpfin__bg i{position:absolute;width:520px;height:520px;border-radius:50%;filter:blur(80px);opacity:.45;background:#1668D6;animation:bpfinBlob 16s ease-in-out infinite alternate}
body.bp .bpfin__bg i:nth-child(1){left:-120px;top:-160px}
body.bp .bpfin__bg i:nth-child(2){right:-160px;bottom:-200px;background:#2F86E6;animation-duration:20s}
@keyframes bpfinBlob{to{transform:translate(120px,80px) scale(1.15)}}
body.bp .bpfin__vials{display:flex;justify-content:center;align-items:flex-end;height:clamp(150px,18vw,230px);margin:0 auto 48px;perspective:900px}
body.bp .bpfin__vials img{height:100%;width:auto;margin:0 -10px;filter:drop-shadow(0 26px 30px rgba(0,0,0,.55));transform:translateY(calc(var(--i) * var(--i) * 6px)) rotate(calc(var(--i) * 5deg)) scale(calc(1 - (var(--i) * var(--i)) * .035));animation:bpfinFloat 5s ease-in-out infinite alternate;animation-delay:calc(var(--i) * .35s);transform-origin:50% 100%}
@keyframes bpfinFloat{to{translate:0 -10px}}
body.bp .bpfin__rule{justify-content:center;max-width:420px;margin:0 auto 18px !important}
body.bp .bpfin__rule span{color:#7DC0F5 !important}
body.bp .bpfin__rule i{background:rgba(125,192,245,.35) !important}
body.bp .bpfin__h{max-width:18ch;margin:0 auto 20px !important;font-size:clamp(38px,5.6vw,82px) !important;line-height:.98 !important;letter-spacing:-.045em;color:#fff !important;font-weight:700}
body.bp .bpfin__h em{font-style:normal;background:linear-gradient(90deg,#7DC0F5,#E6F3FF 50%,#7DC0F5);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent !important;animation:bpfinShine 5s linear infinite}
@keyframes bpfinShine{to{background-position:-200% 0}}
body.bp .bpfin__lede{margin:0 auto 34px !important;color:rgba(214,230,246,.82) !important;max-width:52ch}
body.bp .bpfin__cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
body.bp .bpfin .bp-btn--ghost{color:#fff !important;border-color:rgba(125,192,245,.45) !important;background:rgba(125,192,245,.06) !important}
body.bp ul.bpfin__ladder{list-style:none !important;display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:44px auto 0 !important;padding:0 !important}
body.bp .bpfin__ladder li{list-style:none !important;margin:0 !important;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:92px;padding:12px 16px !important;border-radius:16px;border:1px solid rgba(125,192,245,.28);background:rgba(10,30,60,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
body.bp .bpfin__ladder li::before{display:none !important}
body.bp .bpfin__ladder b{font-family:var(--bp-mono,ui-monospace,monospace);font-size:11px;letter-spacing:.14em;color:#7DC0F5 !important;font-weight:500}
body.bp .bpfin__ladder span{font-size:22px;font-weight:700;letter-spacing:-.02em;color:#fff !important}
body.bp .bpfin__ladder li.is-top{background:linear-gradient(160deg,#1a6ad4,#1257b5);border-color:#7DC0F5;box-shadow:0 18px 40px -12px rgba(22,104,214,.7)}
body.bp .bpfin__ladder li.is-top b{color:#CFE7FB !important}
body.bp .bpfin .bp-ruo{margin:54px auto 0 !important;max-width:860px;text-align:left;background:rgba(255,255,255,.04) !important;border:1px solid rgba(125,192,245,.18) !important;color:rgba(214,230,246,.7) !important;font-size:12.5px}
body.bp .bpfin .bp-ruo strong{color:#fff !important}
@media (max-width:760px){body.bp .bpfin__vials{height:118px;margin-bottom:36px}body.bp .bpfin__vials img:nth-child(1),body.bp .bpfin__vials img:nth-child(7){display:none}body.bp .bpfin__vials img{margin:0 -8px}body.bp .bpfin__ladder li{min-width:0;flex:1 1 28%}}
@media (prefers-reduced-motion:reduce){body.bp .bpfin__vials img,body.bp .bpfin__bg i,body.bp .bpfin__h em{animation:none}}

body.bp .bpfin__rule span{opacity:1 !important;color:#9CCDF7 !important;background:none !important;position:relative;z-index:1}

/* ==========================================================================
   home extras: "built for the reorder" pop-out cards + "without the friction"
   ========================================================================== */
body.bp .bphx{position:relative;padding:clamp(72px,8vw,124px) 0;overflow:hidden;isolation:isolate;}
body.bp .bphx__wrap,body.bp .bphx__split{max-width:var(--bp-max,1240px);margin:0 auto;padding:0 28px;box-sizing:border-box;}
body.bp .bphx__k{display:inline-block;font-family:var(--bp-mono);font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--bp-sky,#7DC0F5);
  border:1px solid rgba(125,192,245,.4);border-radius:999px;padding:6px 14px;background:rgba(125,192,245,.08);margin-bottom:20px;}
body.bp .bphx__k--ink{color:#0B4A9E;border-color:rgba(11,74,158,.25);background:rgba(22,104,214,.06);}
body.bp .bphx__h{color:#fff !important;font-size:clamp(30px,3.6vw,50px) !important;line-height:1.05 !important;letter-spacing:-.034em;margin:0 0 18px !important;max-width:20ch;overflow-wrap:break-word;}
body.bp .bphx__h--ink{color:var(--bp-ink,#0A1222) !important;}
body.bp .bphx__lede{color:rgba(206,224,244,.84) !important;font-size:clamp(16.5px,1.4vw,19px);line-height:1.66;max-width:62ch;margin:0 0 44px;}

/* dark section: moving aurora */
body.bp .bphx--dark{background:radial-gradient(900px 520px at 88% 0%,rgba(58,124,192,.32),transparent 60%),linear-gradient(170deg,#040b16,#06111f 52%,#030812) !important;}
body.bp .bphx--dark::before{content:'';position:absolute;inset:-20%;z-index:-1;pointer-events:none;opacity:.55;
  background:conic-gradient(from 0deg at 30% 40%,transparent 0 60deg,rgba(79,169,245,.18) 90deg,transparent 140deg 220deg,rgba(26,99,204,.2) 260deg,transparent 300deg);
  filter:blur(60px);animation:bphxSpin 26s linear infinite;}
body.bp .bphx--dark::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(rgba(125,192,245,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(125,192,245,.07) 1px,transparent 1px);background-size:56px 56px;
  -webkit-mask-image:radial-gradient(800px 460px at 20% 20%,#000,transparent 72%);mask-image:radial-gradient(800px 460px at 20% 20%,#000,transparent 72%);}
@keyframes bphxSpin{to{transform:rotate(360deg);}}

/* pop-out cards */
body.bp .bphx__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;perspective:1200px;}
body.bp .bphx__card{position:relative;padding:30px 26px 26px;border-radius:22px;overflow:hidden;min-width:0;
  background:linear-gradient(170deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid rgba(125,192,245,.18);
  transform-style:preserve-3d;transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .45s,background .35s;}
body.bp .bphx__card::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s;
  background:radial-gradient(260px 200px at var(--mx,50%) var(--my,0%),rgba(125,192,245,.26),transparent 70%);}
body.bp .bphx__card::after{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(125,192,245,.7),transparent);}
body.bp .bphx__card:hover,body.bp .bphx__card:focus-within{transform:translateY(-12px) scale(1.035) rotateX(3deg);border-color:rgba(125,192,245,.55);
  box-shadow:0 40px 70px -30px rgba(22,104,214,.7),0 0 0 1px rgba(125,192,245,.2) inset;background:linear-gradient(170deg,rgba(125,192,245,.14),rgba(255,255,255,.03));z-index:2;}
body.bp .bphx__card:hover::before{opacity:1;}
body.bp .bphx__ic{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;color:#fff;margin-bottom:20px;font-style:normal;
  background:linear-gradient(140deg,#4FA9F5,#1A63CC);box-shadow:0 12px 26px -8px rgba(26,99,204,.8),inset 0 1px 0 rgba(255,255,255,.3);transition:transform .45s cubic-bezier(.2,.8,.2,1);}
body.bp .bphx__ic svg{width:22px;height:22px;}
body.bp .bphx__card:hover .bphx__ic{transform:translateZ(30px) rotate(-8deg) scale(1.08);}
body.bp .bphx__card h3{color:#fff !important;font-size:19px !important;line-height:1.25 !important;margin:0 0 10px !important;letter-spacing:-.015em;}
body.bp .bphx__card p{color:rgba(196,216,238,.84) !important;font-size:15px;line-height:1.62;margin:0 0 18px !important;}
body.bp .bphx__card a{color:var(--bp-sky,#7DC0F5) !important;text-decoration:underline;text-underline-offset:3px;}
body.bp .bphx__tag{display:inline-block;font-family:var(--bp-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#BFE0FF;
  padding:6px 10px;border-radius:999px;background:rgba(88,176,255,.12);border:1px solid rgba(88,176,255,.24);}

/* light split: sticky head + slide-in list */
body.bp .bphx--light{background:radial-gradient(900px 420px at 0% 0%,rgba(125,192,245,.22),transparent 65%),linear-gradient(180deg,#F7FBFF,#EEF5FD) !important;}
body.bp .bphx__split{display:grid;grid-template-columns:minmax(260px,420px) minmax(0,1fr);gap:clamp(34px,5vw,84px);align-items:start;}
body.bp .bphx__head{position:sticky;top:120px;min-width:0;}
body.bp .bphx__sub{font-size:17.5px;line-height:1.66;color:var(--bp-ink-2,#2A3B52);margin:0 0 26px;max-width:40ch;}
body.bp .bphx__nos{list-style:none !important;margin:0 !important;padding:0 0 0 34px !important;display:grid;gap:14px;position:relative;counter-reset:n;min-width:0;}
body.bp .bphx__nos::before{content:'';position:absolute;left:10px;top:12px;bottom:12px;width:2px;border-radius:2px;
  background:linear-gradient(180deg,#4FA9F5,#1668D6);transform-origin:top;transform:scaleY(var(--draw,1));transition:transform 1.2s cubic-bezier(.2,.8,.2,1);}
body.bp .bphx__nos li{position:relative;list-style:none !important;padding:24px 26px 24px 70px !important;border-radius:20px;font-size:16.5px;line-height:1.62;color:var(--bp-ink-2,#2A3B52);
  background:linear-gradient(168deg,#fff,rgba(240,247,255,.9));border:1px solid #fff;box-shadow:0 14px 34px -14px rgba(16,58,110,.22);min-width:0;overflow-wrap:break-word;
  transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s;}
body.bp .bphx__nos li::before{display:none !important;}
body.bp .bphx__nos li:hover{transform:translateX(8px) scale(1.015);box-shadow:0 26px 50px -20px rgba(22,104,214,.4);}
body.bp .bphx__nos b{display:block;color:var(--bp-ink,#0A1222);font-size:18px;margin-bottom:4px;letter-spacing:-.01em;}
body.bp .bphx__x{position:absolute;left:22px;top:24px;width:32px;height:32px;border-radius:10px;background:linear-gradient(140deg,#4FA9F5,#1A63CC);box-shadow:0 8px 18px -6px rgba(26,99,204,.7);}
body.bp .bphx__x::before,body.bp .bphx__x::after{content:'';position:absolute;left:9px;right:9px;top:15px;height:2px;border-radius:2px;background:#fff;transform:rotate(45deg);}
body.bp .bphx__x::after{transform:rotate(-45deg);}

/* reveal: each element pops in as it enters, only once the script runs, with a timed failsafe */
html.bphx-js body.bp .bphx__card:not(.is-in){opacity:0;transform:translateY(46px) rotateX(14deg) scale(.94);}
html.bphx-js body.bp .bphx__top:not(.is-in),html.bphx-js body.bp .bphx__head:not(.is-in){opacity:0;transform:translateY(24px);}
html.bphx-js body.bp .bphx__nos li:not(.is-in){opacity:0;transform:translateX(60px);}
html.bphx-js body.bp .bphx__nos:not(.is-in){--draw:0;}
html.bphx-js body.bp .bphx__card,html.bphx-js body.bp .bphx__nos li{transition:opacity .7s cubic-bezier(.2,.8,.2,1) var(--d,0ms),transform .85s cubic-bezier(.2,.9,.25,1.15) var(--d,0ms),border-color .35s,box-shadow .45s,background .35s;}
html.bphx-js body.bp .bphx__top,html.bphx-js body.bp .bphx__head{transition:opacity .7s ease,transform .8s cubic-bezier(.2,.8,.2,1);}
html.bphx-js body.bp .bphx__card.is-done,html.bphx-js body.bp .bphx__nos li.is-done{--d:0ms;}

@media (max-width:1024px){ body.bp .bphx__grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:860px){
  body.bp .bphx__split{grid-template-columns:minmax(0,1fr);gap:26px;}
  body.bp .bphx__head{position:static;}
}
@media (max-width:640px){
  body.bp .bphx{padding:64px 0;}
  body.bp .bphx__wrap,body.bp .bphx__split{padding:0 16px;}
  body.bp .bphx__grid{grid-template-columns:minmax(0,1fr);gap:12px;}
  body.bp .bphx__h{font-size:clamp(27px,8vw,34px) !important;max-width:none;}
  body.bp .bphx__lede{margin-bottom:30px;}
  body.bp .bphx__card{padding:24px 20px 20px;}
  body.bp .bphx__nos{padding-left:0 !important;}
  body.bp .bphx__nos::before{display:none;}
  body.bp .bphx__nos li{padding:20px 18px 20px 64px !important;font-size:15.5px;}
  body.bp .bphx__x{left:16px;top:20px;}
  html.bphx-js body.bp .bphx__nos li:not(.is-in){transform:translateX(30px);}
}
@media (prefers-reduced-motion:reduce){
  body.bp .bphx--dark::before{animation:none;}
  html.bphx-js body.bp .bphx__card,html.bphx-js body.bp .bphx__nos li,html.bphx-js body.bp .bphx__top,html.bphx-js body.bp .bphx__head{opacity:1 !important;transform:none !important;}
}
body.bp .bphx__nos li,body.bp .bphx__nos li b{font-family:var(--bp-sans,'Inter',system-ui,sans-serif) !important;}
body.bp .bphx__nos li{letter-spacing:0 !important;}
/* ---- journal hub + price list (own-design pages) ---- */
body.bp.bp-own .tx-page-title,body.bp.bp-own .tx-breadcrumbs,body.bp.bp-own .sub-header{display:none !important;}
html body.bp.bp-own:not(.home) .container.space-content,html body.bp.bp-own:not(.home) .space-blank{padding-top:0 !important;}
body.bp .bpj,body.bp .bppl{font-family:var(--bp-sans);}
body.bp .bpj__hero,body.bp .bppl__hero{position:relative;overflow:hidden;width:100vw;margin-left:calc(50% - 50vw);border-radius:0 0 32px 32px;background:radial-gradient(900px 420px at 88% -10%,rgba(59,139,240,.38),transparent 60%),radial-gradient(600px 300px at 0% 110%,rgba(143,196,245,.12),transparent 60%),linear-gradient(160deg,#0E1D36 0%,#050B16 100%);color:#EAF3FF;}
body.bp .bpj__hero::after,body.bp .bppl__hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(143,196,245,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(143,196,245,.06) 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(180deg,#000,transparent 90%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 90%);pointer-events:none;}
body.bp .bpj__in,body.bp .bppl__in{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding-left:clamp(20px,4vw,40px);padding-right:clamp(20px,4vw,40px);}
body.bp .bpj__hero .bpj__in,body.bp .bppl__hero .bppl__in{padding-top:clamp(44px,7vw,96px);padding-bottom:clamp(36px,5vw,64px);}
body.bp .bpj__eye{display:inline-flex;align-items:center;gap:10px;font:500 11px/1 var(--bp-mono);letter-spacing:.2em;text-transform:uppercase;color:#8FC4F5;padding:7px 14px;border-radius:999px;border:1px solid rgba(143,196,245,.24);background:rgba(143,196,245,.06);}
html body.bp h1.bpj__h1{margin:18px 0 14px !important;font:680 clamp(38px,6vw,78px)/.98 var(--bp-sans) !important;letter-spacing:-.045em !important;color:#F4F9FF !important;}
html body.bp p.bpj__lede{max-width:720px;margin:0 !important;font:400 clamp(15.5px,1.5vw,18px)/1.65 var(--bp-sans) !important;color:#B9CCE3 !important;}
body.bp .bpj__stats{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0;}
body.bp .bpj__stats span{padding:10px 16px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(143,196,245,.16);font:400 13.5px/1.2 var(--bp-sans);color:#B9CCE3;}
body.bp .bpj__stats b{font-weight:700;color:#fff;margin-right:4px;}
body.bp .bpj__search{display:block;max-width:620px;margin:26px 0 0;}
body.bp .bpj__search input{width:100%;min-height:58px;border-radius:999px !important;border:1px solid rgba(143,196,245,.3) !important;background:rgba(255,255,255,.06) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%238FC4F5' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 22px 50% !important;color:#fff !important;padding:0 22px 0 54px !important;font:400 16px/1 var(--bp-sans) !important;box-shadow:0 20px 50px -30px rgba(0,0,0,.8);}
body.bp .bpj__search input::placeholder{color:#7F97B5;}
body.bp .bpj__search input:focus{outline:none;border-color:#58B0FF !important;background-color:rgba(88,176,255,.08) !important;}
body.bp .bpj__body,body.bp .bppl__body{padding:clamp(36px,5vw,72px) 0 clamp(48px,6vw,90px);}
html body.bp h2.bpj__h2,html body.bp h2.bppl__h2{margin:0 0 18px !important;font:650 clamp(22px,2.6vw,32px)/1.15 var(--bp-sans) !important;letter-spacing:-.025em !important;color:#0A1222 !important;}
body.bp .bpj__h2 + .bpj__chips{margin-top:0;}
body.bp .bpj__feat{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:14px;margin:0 0 56px;}
body.bp .bpj__fc{display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:22px;background:#fff;border:1px solid #D6E6F7;text-decoration:none !important;box-shadow:0 24px 50px -36px rgba(10,34,70,.5);transition:transform .3s,box-shadow .3s,border-color .3s;}
body.bp .bpj__fc.is-lead{background:radial-gradient(420px 220px at 100% 0,rgba(59,139,240,.3),transparent 70%),linear-gradient(160deg,#0E1D36,#081223);border-color:transparent;}
body.bp .bpj__fc:hover,body.bp .bpj__c:hover{transform:translateY(-4px);border-color:#9CC6F2;box-shadow:0 30px 60px -34px rgba(22,104,214,.5);}
body.bp .bpj__fc b{font:650 20px/1.25 var(--bp-sans);letter-spacing:-.015em;color:#0A1222;}
body.bp .bpj__fc p{margin:0;font:400 14.5px/1.6 var(--bp-sans);color:#43566E;}
body.bp .bpj__fc i{margin-top:auto;font:500 12px/1 var(--bp-mono);font-style:normal;letter-spacing:.08em;color:#1668D6;}
body.bp .bpj__fc.is-lead b{color:#F4F9FF;font-size:24px;}
body.bp .bpj__fc.is-lead p{color:#B9CCE3;}
body.bp .bpj__fc.is-lead i{color:#8FD0FF;}
body.bp .bpj__cat{font:500 10.5px/1.2 var(--bp-mono);letter-spacing:.16em;text-transform:uppercase;color:#5A7FA8;}
body.bp .bpj__fc.is-lead .bpj__cat{color:#8FC4F5;}
body.bp .bpj__chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;}
body.bp .bpj__chips button{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border-radius:999px;border:1px solid #D6E6F7;background:#fff;color:#2B3D55;font:600 14px/1 var(--bp-sans);cursor:pointer;transition:background .2s,border-color .2s,color .2s;}
body.bp .bpj__chips button i{font:500 11px/1 var(--bp-mono);font-style:normal;color:#7F97B5;}
body.bp .bpj__chips button:hover{border-color:#9CC6F2;color:#1668D6;}
body.bp .bpj__chips button.is-on{background:linear-gradient(135deg,#3B8BF0,#1668D6);border-color:transparent;color:#fff;}
body.bp .bpj__chips button.is-on i{color:#D8E9FF;}
body.bp .bpj__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
body.bp .bpj__c{display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:18px;background:#fff;border:1px solid #DDEAF7;text-decoration:none !important;transition:transform .3s,box-shadow .3s,border-color .3s;}
body.bp .bpj__c[hidden]{display:none !important;}
body.bp .bpj__c b{font:650 16.5px/1.3 var(--bp-sans);letter-spacing:-.01em;color:#0A1222;}
body.bp .bpj__c p{margin:0;font:400 14px/1.55 var(--bp-sans);color:#51647C;}
body.bp .bpj__c i{margin-top:auto;padding-top:4px;font:500 11.5px/1 var(--bp-mono);font-style:normal;letter-spacing:.06em;color:#1668D6;}
body.bp .bpj__empty{margin:10px 0 0;font:400 15px/1.6 var(--bp-sans);color:#43566E;}
body.bp .bpj__empty a{color:#1668D6;font-weight:600;}
body.bp .bpj__more{display:flex;justify-content:center;margin:28px 0 0;}
body.bp .bpj__more[hidden]{display:none;}
body.bp .bpj__btn{min-height:52px;padding:0 28px;border-radius:999px;border:1px solid #9CC6F2;background:#fff;color:#1668D6;font:600 15px/1 var(--bp-sans);cursor:pointer;transition:background .2s,color .2s;}
body.bp .bpj__btn:hover{background:#1668D6;color:#fff;}
body.bp .bpj__subjects{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:56px 0 0;}
body.bp .bpj__subjects a{display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:18px;background:linear-gradient(160deg,#0E1D36,#081223);text-decoration:none !important;}
body.bp .bpj__subjects b{font:650 16px/1.3 var(--bp-sans);color:#F4F9FF;}
body.bp .bpj__subjects span{font:400 13px/1.5 var(--bp-sans);color:#9FB6D2;}
/* price list */
body.bp .bppl__tiers{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 0;}
body.bp .bppl__tiers span{display:inline-flex;align-items:baseline;gap:8px;padding:10px 16px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(143,196,245,.16);font:400 13px/1 var(--bp-sans);color:#B9CCE3;}
body.bp .bppl__tiers b{font:700 16px/1 var(--bp-sans);color:#fff;}
body.bp .bppl__tiers i{font-style:normal;font-weight:700;color:#8FD0FF;}
body.bp .bppl__tiers .is-top{background:rgba(59,139,240,.22);border-color:rgba(143,196,245,.5);}
html body.bp h2.bppl__h2{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:44px 0 14px !important;scroll-margin-top:100px;}
html body.bp h2.bppl__h2:first-child{margin-top:0 !important;}
body.bp .bppl__h2 a{font:600 14px/1 var(--bp-sans);color:#1668D6 !important;text-decoration:none !important;letter-spacing:0;}
body.bp .bppl__wrap{border-radius:20px;background:#fff;border:1px solid #DDEAF7;box-shadow:0 24px 50px -38px rgba(10,34,70,.5);overflow:hidden;}
body.bp table.bppl__t{width:100%;border-collapse:collapse !important;margin:0 !important;border:0 !important;font-family:var(--bp-sans);}
body.bp table.bppl__t th,body.bp table.bppl__t td{padding:14px 16px !important;border:0 !important;border-top:1px solid #EAF1F9 !important;text-align:right;font:500 15px/1.3 var(--bp-sans) !important;color:#0A1222 !important;white-space:nowrap;background:transparent !important;}
body.bp table.bppl__t thead th{border-top:0 !important;background:#F3F8FE !important;font:500 11px/1 var(--bp-mono) !important;letter-spacing:.14em;text-transform:uppercase;color:#5A7190 !important;}
body.bp table.bppl__t th[scope=row],body.bp table.bppl__t thead th:first-child{text-align:left;white-space:normal;}
body.bp table.bppl__t th[scope=row] a{color:#0A1222 !important;font-weight:650;text-decoration:none !important;}
body.bp table.bppl__t th[scope=row] a:hover{color:#1668D6 !important;}
body.bp table.bppl__t .is-top{color:#1668D6 !important;font-weight:700 !important;background:#F1F7FF !important;}
body.bp table.bppl__t thead th.is-top{color:#1668D6 !important;background:#E6F0FC !important;}
body.bp table.bppl__t .bppl__mg{color:#138A5E !important;font-weight:650 !important;}
body.bp table.bppl__t tbody tr:hover td,body.bp table.bppl__t tbody tr:hover th{background:#F8FBFF !important;}
body.bp .bppl__note{margin:32px 0 0;max-width:880px;font:400 14.5px/1.65 var(--bp-sans);color:#43566E;}
body.bp .bppl__note a{color:#1668D6;font-weight:600;}
@media (max-width:1024px){body.bp .bpj__feat{grid-template-columns:1fr 1fr;}body.bp .bpj__feat .is-lead{grid-column:1/-1;}body.bp .bpj__grid{grid-template-columns:repeat(2,minmax(0,1fr));}body.bp .bpj__subjects{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:700px){
 body.bp .bpj__hero,body.bp .bppl__hero{border-radius:0 0 24px 24px;}
 body.bp .bpj__feat,body.bp .bpj__grid,body.bp .bpj__subjects{grid-template-columns:minmax(0,1fr);}
 body.bp .bpj__chips{flex-wrap:nowrap;overflow-x:auto;margin-left:-20px;margin-right:-20px;padding:0 20px 6px;scrollbar-width:none;}
 body.bp .bpj__chips button{flex:none;}
 body.bp .bppl__wrap{background:transparent;border:0;box-shadow:none;overflow:visible;}
 body.bp table.bppl__t,body.bp table.bppl__t tbody{display:block;}
 body.bp table.bppl__t thead{display:none;}
 body.bp table.bppl__t tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px;margin:0 0 10px;padding:16px;border-radius:18px;background:#fff;border:1px solid #DDEAF7;}
 body.bp table.bppl__t th[scope=row]{grid-column:1/-1;padding:0 0 4px !important;border:0 !important;font-size:16px !important;}
 body.bp table.bppl__t td{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 10px !important;border:0 !important;border-radius:10px;background:#F6FAFE !important;text-align:left;font-size:14.5px !important;}
 body.bp table.bppl__t td::before{content:attr(data-l);font:500 10px/1 var(--bp-mono);letter-spacing:.12em;text-transform:uppercase;color:#6B7F98;}
 body.bp table.bppl__t td.is-top{background:#E9F2FE !important;}
 body.bp table.bppl__t td.bppl__mg{background:#EAFBF3 !important;}
}
body.bp .bpsrch span{white-space:nowrap;}
html body.bp table.bppl__t th[scope=row],html body.bp table.bppl__t th[scope=row] a{font:650 15.5px/1.3 var(--bp-sans) !important;text-transform:none !important;letter-spacing:-.005em !important;}
@media (max-width:700px){html body.bp h2.bppl__h2 a{flex-basis:100%;}}
/* affiliate registration form on the dark panel */
body.bp .bpaff,body.bp .bpaff p,body.bp .bpaff label,body.bp .bpaff h2,body.bp .bpaff h3,body.bp .bpaff span,body.bp .bpaff strong{color:#DCEBFA !important;font-family:var(--bp-sans) !important;}
body.bp .bpaff label{display:block;font-weight:600 !important;font-size:13.5px !important;margin:0 0 6px !important;}
body.bp .bpaff input[type=text],body.bp .bpaff input[type=email],body.bp .bpaff input[type=password],body.bp .bpaff select{width:100% !important;min-height:50px;border-radius:14px !important;border:1px solid rgba(143,196,245,.26) !important;background:rgba(255,255,255,.05) !important;color:#F4F9FF !important;padding:12px 16px !important;margin:0 0 14px !important;}
body.bp .bpaff input[type=submit],body.bp .bpaff button[type=submit]{min-height:52px;padding:0 28px !important;border:0 !important;border-radius:999px !important;background:linear-gradient(135deg,#3B8BF0,#1668D6) !important;color:#fff !important;font:600 15px/1 var(--bp-sans) !important;cursor:pointer;}
body.bp .bpaff a{color:#8FD0FF !important;}
/* glossary definition cards */
body.bp dl.bpgl{margin:8px 0 0 !important;}
body.bp dl.bpgl dt{margin:18px 0 4px !important;font:650 16.5px/1.3 var(--bp-sans) !important;letter-spacing:-.01em;color:#0A1222 !important;scroll-margin-top:110px;}
body.bp dl.bpgl dd{margin:0 !important;font:400 14.5px/1.6 var(--bp-sans) !important;color:#43566E !important;}
body.bp dl.bpgl.is-ready{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
body.bp dl.bpgl.is-ready > div{padding:18px 20px;border-radius:18px;background:#fff;border:1px solid #DDEAF7;box-shadow:0 18px 40px -34px rgba(10,34,70,.45);}
body.bp dl.bpgl.is-ready dt{margin:0 0 6px !important;}
@media (max-width:700px){body.bp dl.bpgl.is-ready{grid-template-columns:minmax(0,1fr);}}
body.bp .bpj__chips a{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border-radius:999px;border:1px solid #D6E6F7;background:#fff;color:#2B3D55 !important;font:600 14px/1 var(--bp-sans);text-decoration:none !important;transition:background .2s,border-color .2s,color .2s;flex:none;}
body.bp .bpj__chips a i{font:500 11px/1 var(--bp-mono);font-style:normal;color:#7F97B5;}
body.bp .bpj__chips a:hover{border-color:#9CC6F2;color:#1668D6 !important;}
body.bp .bpj__chips a.is-on{background:linear-gradient(135deg,#3B8BF0,#1668D6);border-color:transparent;color:#fff !important;}
body.bp .bpj__chips a.is-on i{color:#D8E9FF;}
body.bp .bpj__crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font:500 12px/1 var(--bp-mono);letter-spacing:.08em;color:#7F97B5;}
body.bp .bpj__crumbs a{color:#8FC4F5 !important;text-decoration:none !important;}
body.bp .bpj__crumbs b{color:#DCEBFA;font-weight:500;}
body.bp.bp-jarch #bp-main{display:block;}
@media (max-width:1024px){html body.bp:not(.home):not(.bp-catalogue) .container.space-content:has(.bppg__hero){padding-top:0 !important;}}
html:has(body.bp){overflow-x:clip;}
body.bp{overflow-x:clip;}
body.bp ::selection{background:#1668D6;color:#fff;}
html body.bp.page-id-13:not(.home):not(.bp-catalogue) .container.space-blank,html body.bp.page-id-13:not(.home):not(.bp-catalogue) .container.space-content{padding:0 !important;max-width:none !important;}
body .age-gate__heading .bph__logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;pointer-events:none;transform:scale(1.25);transform-origin:center;margin:6px 0 4px;}
body .age-gate__heading.bp-lg-done img{display:none !important;}}
body .age-gate__heading .bph__wm b,body .age-gate__heading .bph__wm em{color:#F4F9FF !important;-webkit-text-fill-color:#F4F9FF !important;}
body .age-gate__heading .bph__wm i{color:#8FC4F5 !important;-webkit-text-fill-color:#8FC4F5 !important;}
body .age-gate__heading .bph__wm small{display:none !important;}
html body.bp .age-gate .age-gate__heading .bph__wm .bph__wt b,html body.bp .age-gate .age-gate__heading .bph__wm .bph__wt em{color:#F4F9FF !important;-webkit-text-fill-color:#F4F9FF !important;}
html body.bp .age-gate .age-gate__heading .bph__wm .bph__wt i{color:#8FC4F5 !important;-webkit-text-fill-color:#8FC4F5 !important;}
/* age gate always fits the window: buttons stay visible on short laptop screens */
body.bp .age-gate__wrapper{align-items:flex-start !important;padding:16px !important;overscroll-behavior:contain;}
body.bp .age-gate{margin:auto !important;}
body.bp .age-gate__form{max-height:calc(100dvh - 32px);display:flex;flex-direction:column;overflow:hidden;}
body.bp .age-gate__fields{display:flex;flex-direction:column;min-height:0;flex:1 1 auto;}
body.bp .age-gate__challenge{flex:1 1 auto;min-height:72px;}
body.bp .age-gate__buttons{flex:none;}
body.bp .age-gate__heading,body.bp .age-gate__subheadline{flex:none;}
body.bp .age-gate p,body.bp .age-gate h2,body.bp .age-gate label{color:#C6D7EC;}
body.bp .age-gate .bpk-ag-head{display:none !important;}
@media (max-height:760px){
 body.bp .age-gate__form{padding:24px 32px 22px !important;}
 body.bp .age-gate__heading .bph__logo{transform:none;margin:0;}
 body.bp .age-gate__subheadline{margin:0 0 14px !important;}
 body.bp .age-gate__subheadline::before{font-size:21px !important;margin:10px 0 6px !important;}
 body.bp .age-gate__subheadline::after{font-size:13.5px !important;}
 body.bp .age-gate__challenge{max-height:150px !important;margin:0 0 16px !important;font-size:12.8px !important;padding:14px 16px !important;}
 body.bp .age-gate__submit{padding:12px 16px !important;}
}
@media (max-height:560px){body.bp .age-gate__subheadline::after{display:none !important;}body.bp .age-gate__challenge{max-height:96px !important;}}
body.admin-bar.bp .age-gate__wrapper{top:32px !important;}
@media (max-width:782px){body.admin-bar.bp .age-gate__wrapper{top:46px !important;}}
body .age-gate__heading img.age-gate__heading-title--logo{display:none !important;}
body .age-gate__heading{min-height:46px;}
/* ---------- affiliate dashboard (Coupon Affiliates) in the house style ---------- */
body.bp .wcu-dash-coupon-area,body.bp .wcusage-login-form-col,body.bp .login-registration-container{font-family:var(--bp-sans) !important;color:#0A1F44;}
body.bp .wcu-dash-coupon-area{max-width:1180px;margin:0 auto;}
body.bp .wcu-user-coupon-title,body.bp #wcu-coupon-title{font:700 clamp(22px,2.4vw,30px)/1.15 var(--bp-sans) !important;letter-spacing:-.02em;color:#0A1F44 !important;}
body.bp .wcu-coupon-title-prefix{font:600 11px/1 var(--bp-mono,monospace) !important;letter-spacing:.16em;text-transform:uppercase;color:#1668D6 !important;}
body.bp .wcusage-dash-top-links{display:flex;gap:10px;align-items:center;justify-content:flex-end;font-size:13px;}
body.bp .wcusage-dash-top-links a{color:#1668D6 !important;font-weight:600;}
body.bp .wcusage-jquery-error{display:none !important;}
body.bp .wcutab{display:flex;flex-wrap:wrap;gap:8px;background:transparent !important;border:0 !important;margin:18px 0 22px !important;padding:0 !important;}
body.bp .wcutab button,body.bp .wcutablinks{border:1px solid rgba(22,104,214,.18) !important;border-radius:999px !important;background:#fff !important;color:#0A1F44 !important;
  font:600 14px/1 var(--bp-sans) !important;padding:12px 20px !important;text-shadow:none !important;box-shadow:0 4px 14px rgba(10,31,68,.06);transition:background .2s,color .2s,transform .2s;cursor:pointer;}
body.bp .wcutab button:hover{transform:translateY(-1px);border-color:#1668D6 !important;}
body.bp .wcutab button.active,body.bp .wcutab .wcutab-active,body.bp .wcutab button.wcutab-active{background:linear-gradient(135deg,#3B8BF0,#1668D6) !important;color:#fff !important;border-color:transparent !important;}
body.bp .wcutabcontent{background:transparent !important;border:0 !important;padding:0 !important;}
body.bp .wcusage-stats-title,body.bp .wcu-tab-title,body.bp .coupon-orders-list-title{font:700 20px/1.2 var(--bp-sans) !important;color:#0A1F44 !important;letter-spacing:-.01em;margin:6px 0 14px !important;}
body.bp .wcusage-info-box{background:#fff !important;border:1px solid rgba(22,104,214,.12) !important;border-radius:18px !important;box-shadow:0 12px 30px rgba(10,31,68,.07) !important;padding:22px 24px !important;}
body.bp .wcusage-info-box::before,body.bp .wcusage-info-box::after{box-shadow:none !important;}
body.bp .wcusage-info-box-title{font:600 11px/1.2 var(--bp-mono,monospace) !important;letter-spacing:.14em;text-transform:uppercase;color:#5F738C !important;}
body.bp .wcusage-info-box span,body.bp .wcusage-info-box p{color:#0A1F44 !important;}
body.bp .wcusage-info-box i,body.bp .wcusage-info-box .fa,body.bp .wcusage-info-box .fas{color:#1668D6 !important;}
body.bp .wcusage-last-days a,body.bp .wcusage-sales-stats-toggles a{border-radius:999px;padding:6px 12px;border:1px solid rgba(22,104,214,.18);color:#1668D6 !important;font-weight:600;font-size:12.5px;}
body.bp .wcuTable{border-collapse:separate !important;border-spacing:0;width:100%;border:1px solid rgba(22,104,214,.12) !important;border-radius:14px;overflow:hidden;background:#fff;}
body.bp .wcuTableHead,body.bp .wcuTableFoot{background:#EAF3FD !important;}
body.bp .wcuTableHead,body.bp .wcuTableHead span,body.bp .wcuTableFoot span{color:#0A1F44 !important;font:600 12px/1.3 var(--bp-mono,monospace) !important;letter-spacing:.08em;text-transform:uppercase;}
body.bp .wcuTable td,body.bp .wcuTable th{padding:12px 14px !important;border-color:rgba(22,104,214,.08) !important;}
body.bp .wcu-dash-coupon-area input[type=text],body.bp .wcu-dash-coupon-area input[type=email],body.bp .wcu-dash-coupon-area input[type=date],body.bp .wcu-dash-coupon-area input[type=url],body.bp .wcu-dash-coupon-area input[type=tel],body.bp .wcu-dash-coupon-area select,
body.bp .login-registration-container input[type=text],body.bp .login-registration-container input[type=password],body.bp .login-registration-container input[type=email]{
  min-height:46px;border-radius:12px !important;border:1px solid rgba(22,104,214,.22) !important;background:#fff !important;color:#0A1F44 !important;padding:10px 14px !important;box-shadow:none !important;}
body.bp .wcu-dash-coupon-area button,body.bp .wcu-dash-coupon-area input[type=submit],body.bp #wcusage_copylink,body.bp .wcu-save-settings-button,body.bp #wcu-orders-button,
body.bp .login-registration-container .woocommerce-form-login__submit,body.bp .login-registration-container input[type=submit]{
  border:0 !important;border-radius:999px !important;background:linear-gradient(135deg,#3B8BF0,#1668D6) !important;color:#fff !important;text-shadow:none !important;
  font:600 14px/1 var(--bp-sans) !important;padding:13px 22px !important;min-height:46px;cursor:pointer;}
body.bp .wcu-settings-tab-nav a,body.bp .wcu-settings-tab-nav button{border-radius:999px !important;}
body.bp .login-registration-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;}
body.bp .login-registration-container > *{background:#fff;border:1px solid rgba(22,104,214,.12);border-radius:20px;padding:26px 26px 22px;box-shadow:0 14px 34px rgba(10,31,68,.07);}
body.bp .login-registration-container label{font-weight:600;font-size:13.5px;color:#0A1F44 !important;}
body.bp .login-registration-container h2,body.bp .login-registration-container h3,body.bp .wcu-register-title{font:700 20px/1.2 var(--bp-sans) !important;color:#0A1F44 !important;}/* ============================================================
   ds-99-mega.css — the mega menus. Five panels drop from one shared
   rail under the header: Catalogue, Pricing, Testing, Locations,
   Company. Every page on the site is reachable from here.
   ============================================================ */

body.bp header.bph{position:sticky;}
body.bp .bphn{display:flex;align-items:center;gap:2px;}
body.bp .bphn__t{
  display:inline-flex;align-items:center;gap:6px;background:none;border:0;
  font:inherit;font-size:14.5px;font-weight:550;padding:10px 13px;border-radius:10px;
  transition:background .2s ease,color .2s ease;
}
body.bp .bphn__t .bphn__c{width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;
  transform:rotate(45deg) translateY(-2px);opacity:.7;transition:transform .25s ease;}
body.bp .bphn__t[aria-expanded="true"] .bphn__c{transform:rotate(-135deg) translate(-2px,0);}
body.bp header.bph.on-dark .bphn__t:hover,body.bp header.bph.on-dark .bphn__t[aria-expanded="true"]{background:rgba(255,255,255,.08);}
body.bp header.bph.is-light .bphn__t:hover,body.bp header.bph.is-light .bphn__t[aria-expanded="true"]{background:rgba(15,87,190,.07);}

/* ---- panel rail ---- */
body.bp .bpmm__wrap{position:absolute;left:0;right:0;top:100%;pointer-events:none;}
body.bp .bpmm{
  position:absolute;left:50%;top:10px;width:min(1180px,calc(100vw - 40px));
  transform:translate(-50%,-8px) scale(.985);transform-origin:50% 0;
  opacity:0;visibility:hidden;pointer-events:none;
  background:linear-gradient(170deg, rgba(10,20,36,.97), rgba(4,9,18,.985));
  border:1px solid rgba(125,192,245,.18);border-radius:20px;
  box-shadow:0 40px 90px rgba(2,8,20,.55), 0 0 0 1px rgba(255,255,255,.03) inset;
  backdrop-filter:blur(18px) saturate(1.2);
  transition:opacity .22s ease, transform .3s cubic-bezier(.2,.8,.2,1), visibility 0s linear .3s;
  overflow:hidden;
}
body.bp .bpmm.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1);
  transition:opacity .22s ease, transform .3s cubic-bezier(.2,.8,.2,1), visibility 0s;}
/* a faint moiré sheen across the top edge */
body.bp .bpmm::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(125,192,245,.7),transparent);}
body.bp .bpmm::after{content:'';position:absolute;right:-120px;top:-160px;width:420px;height:420px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(58,124,192,.30),transparent 68%);}

body.bp .bpmm__in{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 28px;padding:28px 30px;}
body.bp .bpmm__in--cat{grid-template-columns:minmax(0,1fr) 300px;gap:28px;}
body.bp .bpmm__in--loc{grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr) 260px;}
body.bp .bpmm__h{display:block;font-family:var(--bp-mono);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--bp-sky);margin:4px 0 12px;}

/* ---- category tiles ---- */
body.bp .bpmm__grid--cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
body.bp .bpmm__cat{display:block;padding:14px 16px;border-radius:14px;text-decoration:none;
  border:1px solid transparent;transition:background .2s ease,border-color .2s ease,transform .2s ease;}
body.bp .bpmm__cat b{display:flex;align-items:center;gap:9px;color:#F2F8FF;font-size:15px;font-weight:600;letter-spacing:-.01em;}
body.bp .bpmm__cat b i{font-style:normal;font-family:var(--bp-mono);font-size:11px;color:var(--bp-sky);
  background:rgba(125,192,245,.12);border:1px solid rgba(125,192,245,.24);border-radius:999px;padding:1px 8px;}
body.bp .bpmm__cat span{display:block;margin-top:4px;color:rgba(190,210,234,.74);font-size:13px;line-height:1.45;}
body.bp .bpmm__cat:hover{background:rgba(125,192,245,.08);border-color:rgba(125,192,245,.22);transform:translateX(3px);}

/* ---- plain link lists ---- */
body.bp .bpmm__l{display:block;padding:10px 12px;margin:0 -12px;border-radius:12px;text-decoration:none;transition:background .2s ease;}
body.bp .bpmm__l b{display:block;color:#F2F8FF;font-size:14.5px;font-weight:600;}
body.bp .bpmm__l span{display:block;margin-top:2px;color:rgba(190,210,234,.72);font-size:12.8px;}
body.bp .bpmm__l:hover{background:rgba(125,192,245,.08);}
body.bp .bpmm__l:hover b{color:#fff;}

/* ---- feature panel with vials ---- */
body.bp .bpmm__feat{position:relative;border-radius:16px;padding:22px 20px;overflow:hidden;
  background:radial-gradient(420px 260px at 50% 0%,rgba(58,124,192,.34),transparent 70%),rgba(255,255,255,.03);
  border:1px solid rgba(125,192,245,.16);}
body.bp .bpmm__vials{display:flex;justify-content:center;align-items:flex-end;height:150px;margin-bottom:14px;}
body.bp .bpmm__vials img{height:100%;width:auto;filter:drop-shadow(0 16px 20px rgba(0,0,0,.55));}
body.bp .bpmm__vials img:nth-child(1),body.bp .bpmm__vials img:nth-child(3){height:78%;margin:0 -22px;filter:brightness(.8) drop-shadow(0 12px 16px rgba(0,0,0,.5));}
body.bp .bpmm__vials img:nth-child(2){position:relative;z-index:2;}
body.bp .bpmm.is-open .bpmm__vials img{animation:bpMmRise .6s cubic-bezier(.2,.8,.2,1) both;}
body.bp .bpmm.is-open .bpmm__vials img:nth-child(1){animation-delay:.06s;}
body.bp .bpmm.is-open .bpmm__vials img:nth-child(3){animation-delay:.12s;}
@keyframes bpMmRise{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
body.bp .bpmm__feat-h{display:block;color:#fff;font-size:17px;font-weight:650;margin-bottom:6px;}
body.bp .bpmm__feat p,body.bp .bpmm__stat p{color:rgba(190,210,234,.78);font-size:13.5px;line-height:1.55;margin:0 0 16px;}

/* ---- stat panel ---- */
body.bp .bpmm__stat{border-left:1px solid rgba(125,192,245,.14);padding-left:24px;}
body.bp .bpmm__big{display:block;font-size:52px;font-weight:700;letter-spacing:-.04em;color:#fff;line-height:1;margin:4px 0 10px;}
body.bp .bpmm__more{color:var(--bp-sky) !important;font-size:13.5px;font-weight:600;text-decoration:none;}
body.bp .bpmm__ladder{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:5px;}
body.bp .bpmm__ladder li{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:10px;
  background:rgba(255,255,255,.04);border:1px solid rgba(125,192,245,.12);}
body.bp .bpmm__ladder b{color:#EAF3FE;font-size:13.5px;font-weight:600;}
body.bp .bpmm__ladder i{font-style:normal;font-family:var(--bp-mono);font-size:12px;color:var(--bp-sky);}
body.bp .bpmm__ladder li.is-top{background:linear-gradient(90deg,rgba(26,99,204,.5),rgba(26,99,204,.18));border-color:rgba(125,192,245,.4);}
body.bp .bpmm__ladder li.is-top i{color:#fff;}

/* ---- location chips ---- */
body.bp .bpmm__chips{display:flex;flex-wrap:wrap;gap:6px;}
body.bp .bpmm__chips a{padding:7px 12px;border-radius:999px;font-size:13px;font-weight:550;text-decoration:none;
  color:#E4EEFA !important;background:rgba(255,255,255,.04);border:1px solid rgba(125,192,245,.16);transition:.2s;}
body.bp .bpmm__chips a:hover{background:rgba(125,192,245,.14);border-color:rgba(125,192,245,.45);color:#fff !important;}

/* ---- drawer accordions (mobile) ---- */
body.bp .bpdr__g{border-bottom:1px solid rgba(125,192,245,.14);}
body.bp .bpdr__g summary{list-style:none;cursor:pointer;padding:18px 4px;font-size:19px;font-weight:600;color:#F2F8FF;
  display:flex;justify-content:space-between;align-items:center;}
body.bp .bpdr__g summary::-webkit-details-marker{display:none;}
body.bp .bpdr__g summary::after{content:'+';font-weight:300;font-size:24px;color:var(--bp-sky);transition:transform .25s ease;}
body.bp .bpdr__g[open] summary::after{transform:rotate(45deg);}
body.bp .bpdr__g > div{display:grid;grid-template-columns:1fr 1fr;gap:2px 14px;padding:0 4px 18px;}
body.bp .bpdr__g a{padding:8px 0;color:rgba(214,230,248,.86) !important;font-size:15px;text-decoration:none;}
body.bp .bpdr__acct{display:block;padding:18px 4px;font-size:17px;font-weight:600;color:var(--bp-sky) !important;text-decoration:none;}

@media (max-width:1180px){
  body.bp .bphn__t{padding:10px 9px;font-size:14px;}
}
@media (max-width:1024px){
  body.bp .bphn,body.bp .bpmm__wrap{display:none !important;}
}
@media (prefers-reduced-motion:reduce){
  body.bp .bpmm,body.bp .bpmm.is-open{transition:none;}
  body.bp .bpmm.is-open .bpmm__vials img{animation:none;}
}
/* ============================================================
   ds-99-product.css — single product, rebuilt.
   The vial gets its own lit stage; the buy column gets a real
   hierarchy (title, price, proof, tiers, add to cart); the inherited
   discount table is restyled into tier tiles; the long tab content
   gets the same split reading layout as the rest of the site.
   ============================================================ */

/* ---- page frame ---- */
body.bp.bp-single div.product{
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr) !important;gap:clamp(34px,4.4vw,72px) !important;
  background:transparent !important;box-shadow:none !important;border:0 !important;padding:0 !important;
  max-width:var(--bp-max);margin:0 auto;align-items:start;
}
body.bp.bp-single .container,body.bp.bp-single .site-main{max-width:none !important;}

/* ---- the stage ---- */
body.bp.bp-single .woocommerce-product-gallery{
  position:sticky !important;top:104px;border-radius:28px !important;overflow:hidden;isolation:isolate;
  min-height:clamp(520px,72vh,720px);display:grid !important;place-items:center;padding:40px 20px 60px !important;
  background:
    radial-gradient(520px 420px at 50% 42%, rgba(96,176,246,.30), transparent 66%),
    radial-gradient(900px 500px at 10% 0%, rgba(58,124,192,.34), transparent 62%),
    linear-gradient(170deg,#040b16 0%,#07121f 50%,#02070f 100%) !important;
  border:1px solid rgba(125,192,245,.16) !important;
  box-shadow:0 40px 90px rgba(4,14,30,.28) !important;
}
/* concentric rings behind the vial */
body.bp.bp-single .woocommerce-product-gallery::before{
  content:'';position:absolute;left:50%;top:44%;width:min(460px,86%);aspect-ratio:1;transform:translate(-50%,-50%);z-index:0;border-radius:50%;
  background:
    radial-gradient(circle, transparent 38%, rgba(125,192,245,.10) 38.4%, transparent 39.2%),
    radial-gradient(circle, transparent 54%, rgba(125,192,245,.08) 54.4%, transparent 55.2%),
    radial-gradient(circle, transparent 70%, rgba(125,192,245,.06) 70.4%, transparent 71.2%);
  animation:bpRingSpin 40s linear infinite;
}
@keyframes bpRingSpin{to{transform:translate(-50%,-50%) rotate(360deg);}}
/* reflective floor */
body.bp.bp-single .woocommerce-product-gallery::after{
  content:'';position:absolute;left:18%;right:18%;bottom:9%;height:60px;border-radius:50%;z-index:0;
  background:radial-gradient(ellipse, rgba(125,192,245,.34), transparent 70%);filter:blur(12px);
}
body.bp.bp-single .woocommerce-product-gallery__wrapper{position:relative;z-index:1;height:auto !important;}
body.bp.bp-single .woocommerce-product-gallery__image img,
body.bp.bp-single .woocommerce-product-gallery img.bp-shot{
  height:clamp(400px,58vh,580px) !important;width:auto !important;max-width:100% !important;margin:0 auto;display:block;
  filter:drop-shadow(0 44px 54px rgba(0,0,0,.66)) drop-shadow(0 0 36px rgba(110,180,240,.18));
  animation:bpVialFloat 7s ease-in-out infinite;
}
@keyframes bpVialFloat{0%,100%{transform:translate3d(0,0,0) rotate(0);}50%{transform:translate3d(0,-14px,0) rotate(.5deg);}}
body.bp.bp-single .woocommerce-product-gallery .zoomImg{display:none !important;}
body.bp.bp-single .woocommerce-product-gallery__trigger{display:none !important;}
/* glint sweep */
body.bp.bp-single .woocommerce-product-gallery__image{position:relative;}
body.bp.bp-single .woocommerce-product-gallery__image::after{
  content:'';position:absolute;inset:14% 34% 8% 34%;pointer-events:none;border-radius:16px;
  background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.30) 48%,rgba(255,255,255,.05) 54%,transparent 62%);
  background-size:260% 100%;background-position:130% 0;mix-blend-mode:screen;
  animation:bpGlint 6.5s cubic-bezier(.45,.05,.2,1) 1s infinite;
}

/* ---- buy column ---- */
body.bp.bp-single .summary{padding-top:8px !important;}
body.bp.bp-single .product_title{font-size:clamp(38px,4.4vw,60px) !important;line-height:1.02 !important;letter-spacing:-.036em !important;margin:14px 0 18px !important;color:var(--bp-ink) !important;}
body.bp.bp-single .summary > .price{display:flex !important;align-items:baseline;gap:10px;font-size:clamp(32px,3vw,42px) !important;font-weight:700 !important;
  letter-spacing:-.03em;color:var(--bp-ink) !important;margin:0 0 20px !important;}
body.bp.bp-single .woocommerce-product-details__short-description{font-size:17px;line-height:1.7;color:var(--bp-ink-2);
  padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid var(--bp-line);}

/* proof strip */
body.bp.bp-single .bpsg__proof{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 24px;}
body.bp.bp-single .bpsg__proof span{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;font-size:14px;font-weight:550;color:var(--bp-ink);
  background:rgba(255,255,255,.8);border:1px solid var(--bp-line);}
body.bp.bp-single .bpsg__proof i{flex:0 0 auto;width:22px;height:22px;border-radius:7px;background:linear-gradient(140deg,#4FA9F5,#1A63CC);
  box-shadow:0 4px 10px rgba(26,99,204,.3);position:relative;}
body.bp.bp-single .bpsg__proof i::after{content:'';position:absolute;left:7px;top:5px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);}

/* inherited tier table: kept as a real table (grid on <tr> collapsed
   the columns to zero), just restyled so it reads cleanly without a scrollbar */
body.bp.bp-single .wccs-bulk-pricing-table-title{font-family:var(--bp-mono);font-size:11px !important;letter-spacing:.22em;text-transform:uppercase;color:#0B4A9E !important;margin:0 0 10px !important;}
body.bp.bp-single .wccs-bulk-pricing-table-container{overflow:visible !important;margin:0 0 22px !important;border-radius:16px;
  background:rgba(255,255,255,.85);border:1px solid var(--bp-line);padding:6px;}
body.bp.bp-single .wccs-bulk-pricing-table{width:100% !important;border-collapse:separate !important;border-spacing:0 !important;table-layout:fixed;border:0 !important;margin:0 !important;}
body.bp.bp-single .wccs-bulk-pricing-table th,body.bp.bp-single .wccs-bulk-pricing-table td{
  padding:11px 6px !important;border:0 !important;text-align:center !important;font-size:14px !important;color:var(--bp-ink) !important;
  background:transparent !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.bp.bp-single .wccs-bulk-pricing-table tr + tr th,body.bp.bp-single .wccs-bulk-pricing-table tr + tr td{border-top:1px solid var(--bp-line) !important;}
body.bp.bp-single .wccs-bulk-pricing-table tr > :first-child{width:92px;text-align:left !important;padding-left:12px !important;font-family:var(--bp-mono);
  font-size:10.5px !important;letter-spacing:.14em;text-transform:uppercase;color:var(--bp-ink-3) !important;}
body.bp.bp-single .wccs-bulk-pricing-table tr:nth-child(2) td{color:#05704D !important;font-weight:700;}
body.bp.bp-single .wccs-bulk-pricing-table .amount,body.bp.bp-single .wccs-bulk-pricing-table bdi{font-size:14.5px !important;font-weight:700;}
body.bp.bp-single .wccs-bulk-pricing-table-container::-webkit-scrollbar{display:none;}

/* the duplicate ladder: the plugin table above is what the cart applies */
body.bp.bp-single .summary .bpsg__ladder{display:none !important;}

/* stock + add to cart */
body.bp.bp-single .stock{display:inline-flex;align-items:center;gap:8px;font-size:14px !important;font-weight:600;color:#05704D !important;margin:0 0 14px !important;}
body.bp.bp-single .stock::before{content:'';width:8px;height:8px;border-radius:50%;background:#10B981;box-shadow:0 0 0 4px rgba(16,185,129,.18);}
body.bp.bp-single form.cart{display:flex !important;flex-wrap:wrap;gap:10px;align-items:stretch;margin:0 0 26px !important;padding:18px !important;
  border-radius:18px;background:linear-gradient(168deg,rgba(255,255,255,.96),rgba(240,247,255,.84));border:1px solid rgba(255,255,255,.95);
  box-shadow:0 18px 44px rgba(16,58,110,.10);}
body.bp.bp-single form.cart .quantity input{height:56px !important;width:92px !important;border-radius:14px !important;font-size:17px !important;text-align:center;font-weight:600;}
body.bp.bp-single form.cart .single_add_to_cart_button{flex:1 1 220px;height:56px !important;border-radius:14px !important;font-size:16.5px !important;font-weight:650 !important;
  background:linear-gradient(180deg,#1A63CC,#0F4FA8) !important;color:#fff !important;border:0 !important;box-shadow:0 14px 32px rgba(15,79,168,.34) !important;
  transition:transform .2s ease, box-shadow .2s ease;}
body.bp.bp-single form.cart .single_add_to_cart_button:hover{transform:translateY(-2px);box-shadow:0 20px 42px rgba(15,79,168,.42) !important;}
body.bp.bp-single form.cart > h1,body.bp.bp-single form.cart > p:first-child{flex:0 0 100%;margin:0 0 4px !important;font-size:13px !important;
  font-family:var(--bp-mono);letter-spacing:.14em;text-transform:uppercase;color:#05704D !important;}

/* ---- below the fold: tabs get the split reading layout ---- */
body.bp.bp-single .woocommerce-tabs{max-width:var(--bp-max);margin:clamp(60px,7vw,110px) auto 0 !important;}
body.bp.bp-single .woocommerce-tabs ul.tabs{display:flex !important;gap:6px;border:0 !important;padding:0 !important;margin:0 0 26px !important;}
body.bp.bp-single .woocommerce-tabs ul.tabs::before{display:none !important;}
body.bp.bp-single .woocommerce-tabs ul.tabs li{border:0 !important;background:transparent !important;border-radius:999px !important;margin:0 !important;padding:0 !important;}
body.bp.bp-single .woocommerce-tabs ul.tabs li a{padding:11px 20px !important;border-radius:999px;font-weight:600 !important;color:var(--bp-ink-2) !important;
  border:1px solid var(--bp-line);background:rgba(255,255,255,.7);}
body.bp.bp-single .woocommerce-tabs ul.tabs li.active a{background:linear-gradient(180deg,#1A63CC,#0F4FA8) !important;color:#fff !important;border-color:transparent;}
body.bp.bp-single .woocommerce-Tabs-panel{max-width:78ch;font-size:17px;line-height:1.74;color:var(--bp-ink-2);}
body.bp.bp-single .woocommerce-Tabs-panel h2{font-size:clamp(26px,2.6vw,36px) !important;letter-spacing:-.028em;margin:40px 0 14px !important;color:var(--bp-ink) !important;}
body.bp.bp-single .woocommerce-Tabs-panel h3{font-size:21px !important;margin:30px 0 10px !important;color:var(--bp-ink) !important;}

@media (max-width:980px){
  body.bp.bp-single div.product{grid-template-columns:1fr !important;}
  body.bp.bp-single .woocommerce-product-gallery{position:relative !important;top:0;min-height:420px;}
  body.bp.bp-single .woocommerce-product-gallery__image img{height:340px !important;}
}
@media (prefers-reduced-motion:reduce){
  body.bp.bp-single .woocommerce-product-gallery::before,
  body.bp.bp-single .woocommerce-product-gallery img,
  body.bp.bp-single .woocommerce-product-gallery__image::after{animation:none !important;}
}

/* layering: the rings and floor were painting over the vial. Inside the
   isolated stage, decoration sits at z-index:-1 (above the stage's own
   background, below all content); the vial sits on top. */
body.bp.bp-single .woocommerce-product-gallery::before,
body.bp.bp-single .woocommerce-product-gallery::after{z-index:-1 !important;}
body.bp.bp-single .woocommerce-product-gallery__wrapper,
body.bp.bp-single .woocommerce-product-gallery .flex-viewport{position:relative !important;z-index:2 !important;}
body.bp.bp-single .woocommerce-product-gallery__image,
body.bp.bp-single .woocommerce-product-gallery__image img{position:relative;z-index:2;}

/* The decorative ::before/::after on the stage hid the vial whatever their
   z-index — a compositing interaction between the sticky stage, the
   rotating layer and the image's drop-shadow filter. They are removed and
   the rings and floor are drawn in the stage background instead, which
   can never sit above content. */
body.bp.bp-single .woocommerce-product-gallery::before,
body.bp.bp-single .woocommerce-product-gallery::after{content:none !important;display:none !important;animation:none !important;}
body.bp.bp-single .woocommerce-product-gallery{
  background:
    radial-gradient(circle at 50% 44%, transparent 0 150px, rgba(125,192,245,.12) 150px 151px, transparent 152px 205px, rgba(125,192,245,.09) 205px 206px, transparent 207px 262px, rgba(125,192,245,.06) 262px 263px, transparent 264px),
    radial-gradient(ellipse 34% 5% at 50% 90%, rgba(125,192,245,.42), transparent 100%),
    radial-gradient(520px 420px at 50% 42%, rgba(96,176,246,.30), transparent 66%),
    radial-gradient(900px 500px at 10% 0%, rgba(58,124,192,.34), transparent 62%),
    linear-gradient(170deg,#040b16 0%,#07121f 50%,#02070f 100%) !important;
}

/* gallery rail: sticky image bounded to the purchase row */
body.bp.bp-single div.product > .bpgal-rail{grid-column:1;grid-row:1;align-self:stretch;min-width:0;position:relative}
body.bp.bp-single div.product > .bpgal-rail > .woocommerce-product-gallery{width:100%;margin:0 !important;float:none !important}
@media (min-width:981px){
  body.bp.bp-single div.product > .summary{grid-row:1}
  body.bp.bp-single div.product > .bpgal-rail > .woocommerce-product-gallery{position:sticky !important;top:104px}
}
@media (max-width:980px){
  body.bp.bp-single div.product > .bpgal-rail{grid-row:auto}
}
/* ds-99-secx.css — layouts for text-only composed sections (bp-sec-x) */
body.bp .bpsx-badge{position:relative;display:grid;place-items:center;width:58px;height:58px;margin-top:22px;border-radius:18px;color:#fff;background:linear-gradient(145deg,#2F86E6,#1257b5);box-shadow:0 16px 30px -12px rgba(22,104,214,.6),inset 0 1px 0 rgba(255,255,255,.3)}
body.bp .bpsx-badge svg{width:26px;height:26px;position:relative;z-index:1}
body.bp .bpsx-badge i{position:absolute;inset:-7px;border-radius:22px;border:1px dashed rgba(22,104,214,.35);animation:bpsxSpin 18s linear infinite}
body.bp .bpsx-badge i::after{content:"";position:absolute;top:-4px;left:50%;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:#7DC0F5;box-shadow:0 0 10px #7DC0F5}
@keyframes bpsxSpin{to{transform:rotate(360deg)}}
body.bp .bpsx-note,body.bp .bpsx-stat,body.bp .bpsx-chip,body.bp .bpsx-checks > li,body.bp .bpsx-cols > p{opacity:0;transform:translateY(18px);transition:opacity .6s ease var(--bpsx-d,0ms),transform .7s cubic-bezier(.2,.8,.2,1) var(--bpsx-d,0ms)}
body.bp .is-in.bpsx-note,body.bp .is-in.bpsx-stat,body.bp .is-in.bpsx-chip,body.bp .bpsx-checks > li.is-in,body.bp .bpsx-cols > p.is-in{opacity:1;transform:none}
body.bp .bpsx-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:26px 0 8px}
body.bp .bpsx-notes--odd .bpsx-note:last-child{grid-column:1 / -1}
body.bp .bpsx-note{position:relative;padding:22px 22px 24px;border-radius:18px;background:#fff;border:1px solid #DCE9F7;box-shadow:0 20px 44px -34px rgba(10,40,90,.4);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s,opacity .6s ease var(--bpsx-d,0ms)}
body.bp .bpsx-note.is-in:hover{transform:translateY(-4px);border-color:#9CCDF7;box-shadow:0 30px 54px -34px rgba(10,40,90,.5)}
body.bp .bpsx-note::before{content:"";position:absolute;left:22px;right:22px;top:0;height:2px;border-radius:2px;background:linear-gradient(90deg,#1668D6,#7DC0F5 60%,transparent)}
body.bp .bpsx-note__n{display:block;font-family:var(--bp-mono,ui-monospace,monospace);font-size:11px;letter-spacing:.24em;color:#1668D6;margin-bottom:10px}
body.bp .bpsx-note__t{display:block;font-size:17px;letter-spacing:-.015em;color:#0A1222 !important;margin-bottom:6px;line-height:1.3}
body.bp .bpsx-note p{margin:0 !important;font-size:15px !important;line-height:1.65 !important;color:#34435A !important}
body.bp .bppg__body.bpsx-split{display:grid;grid-template-columns:minmax(0,1fr) 232px;gap:36px;align-items:start}
body.bp .bpsx-split__txt > :first-child{margin-top:0 !important}
body.bp .bpsx-stat{position:sticky;top:120px;overflow:hidden;padding:24px 22px 26px;border-radius:22px;color:#fff;background:linear-gradient(165deg,#0B2244,#06111F);border:1px solid #1C3A66;box-shadow:0 34px 70px -36px rgba(6,20,40,.65);isolation:isolate}
body.bp .bpsx-stat::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(125,192,245,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(125,192,245,.08) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:radial-gradient(80% 70% at 70% 20%,#000,transparent);mask-image:radial-gradient(80% 70% at 70% 20%,#000,transparent)}
body.bp .bpsx-stat__ic{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(125,192,245,.14);color:#9CCDF7;margin-bottom:18px}
body.bp .bpsx-stat__ic svg{width:21px;height:21px}
body.bp .bpsx-stat__big{display:block;font-size:40px;line-height:1;letter-spacing:-.04em;font-weight:700;color:#fff !important;text-shadow:0 0 30px rgba(125,192,245,.45)}
body.bp .bpsx-stat--word .bpsx-stat__big{font-size:26px;letter-spacing:-.02em;line-height:1.15}
body.bp .bpsx-stat__l{display:block;margin-top:10px;font-size:13.5px;line-height:1.45;color:rgba(214,230,246,.8) !important}
body.bp .bpsx-stat__ring{position:absolute;right:-34px;bottom:-34px;width:130px;height:130px;transform:rotate(-90deg);opacity:.9}
body.bp .bpsx-stat__ring circle{fill:none;stroke:rgba(125,192,245,.14);stroke-width:6}
body.bp .bpsx-stat__ring circle.is-on{stroke:#2F86E6;stroke-linecap:round;stroke-dasharray:327;stroke-dashoffset:327;transition:stroke-dashoffset 1.6s cubic-bezier(.2,.8,.2,1) .2s}
body.bp .bpsx-stat.is-in .bpsx-stat__ring circle.is-on{stroke-dashoffset:90}
@media (min-width:1100px){
  body.bp .bppg__body.bpsx-cols{column-count:2;column-gap:44px;column-rule:1px solid #DCE9F7}
  body.bp .bppg__body.bpsx-cols > *{break-inside:avoid}
  body.bp .bppg__body.bpsx-cols > .bpsx-chip,body.bp .bppg__body.bpsx-cols > .bp-lede,body.bp .bppg__body.bpsx-cols > h3,body.bp .bppg__body.bpsx-cols > ul,body.bp .bppg__body.bpsx-cols > ol{column-span:all}
}
body.bp .bpsx-cols > p:not(.bp-lede){font-size:15.5px;line-height:1.72}
body.bp .bpsx-chip{display:inline-flex;align-items:center;gap:10px;margin:0 0 22px;padding:10px 16px 10px 12px;border-radius:999px;background:#fff;border:1px solid #DCE9F7;box-shadow:0 14px 30px -22px rgba(10,40,90,.45)}
body.bp .bpsx-chip svg{width:20px;height:20px;color:#1668D6}
body.bp .bpsx-chip b{font-size:17px;letter-spacing:-.02em;color:#0A1222 !important;white-space:nowrap}
body.bp .bpsx-chip span{font-size:13px;color:#4A5A70 !important;max-width:260px;line-height:1.35}
body.bp .bpsx-chip svg{flex:0 0 auto}
body.bp ul.bpsx-checks,body.bp ol.bpsx-checks{list-style:none !important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 !important;padding:0 !important}
body.bp .bpsx-checks > li{position:relative;list-style:none !important;margin:0 !important;padding:14px 16px 14px 46px !important;border-radius:14px;background:#fff;border:1px solid #DCE9F7;font-size:14.5px;line-height:1.5;color:#28374D !important}
body.bp .bpsx-checks > li::before{content:"" !important;position:absolute;left:14px;top:15px;width:20px;height:20px;border-radius:7px;background:#1668D6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center/14px no-repeat !important;display:block !important;box-shadow:0 6px 12px -4px rgba(22,104,214,.6)}
@media (max-width:900px){
  body.bp .bppg__body.bpsx-split{grid-template-columns:1fr}
  body.bp .bpsx-stat{position:relative;top:auto}
}
@media (max-width:640px){
  body.bp .bpsx-notes,body.bp ul.bpsx-checks,body.bp ol.bpsx-checks{grid-template-columns:1fr}
  body.bp .bpsx-notes--odd .bpsx-note:last-child{grid-column:auto}
  body.bp .bpsx-badge{width:48px;height:48px;border-radius:15px;margin-top:14px}
}
@media (prefers-reduced-motion:reduce){body.bp .bpsx-badge i{animation:none}body.bp .bpsx-note,body.bp .bpsx-stat,body.bp .bpsx-chip,body.bp .bpsx-checks > li,body.bp .bpsx-cols > p{opacity:1;transform:none;transition:none}}

body.bp .bppg__head .bp-rule{max-width:100%}
body.bp .bppg__head .bp-rule span{white-space:normal !important;line-height:1.5}

/* bp-moment */
body.bp .bpsx-moment{position:relative;min-height:78vh;min-height:78svh;display:grid;place-items:center;text-align:center;overflow:hidden;background:#040C18;color:#fff;isolation:isolate;padding:80px 20px;margin:0}
body.bp .bpsx-moment__bg{position:absolute;inset:0;z-index:-1}
body.bp .bpsx-moment__bg::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(125,192,245,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(125,192,245,.07) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(60% 60% at 50% 50%,#000,transparent 85%);mask-image:radial-gradient(60% 60% at 50% 50%,#000,transparent 85%);transform:perspective(600px) rotateX(55deg) translateY(18%) scale(1.6);transform-origin:50% 100%}
body.bp .bpsx-moment__bg i{position:absolute;width:560px;height:560px;border-radius:50%;filter:blur(90px);opacity:.5;background:#1668D6;animation:bpfinBlob 18s ease-in-out infinite alternate}
body.bp .bpsx-moment__bg i:nth-child(1){left:-160px;top:-180px}
body.bp .bpsx-moment__bg i:nth-child(2){right:-180px;bottom:-220px;background:#2F86E6;animation-duration:22s}
body.bp .bpsx-moment__bg b{position:absolute;left:0;right:0;height:140px;top:-140px;background:linear-gradient(transparent,rgba(125,192,245,.10),transparent);animation:bpsxScan 6s linear infinite}
@keyframes bpsxScan{to{transform:translateY(calc(78vh + 280px))}}
body.bp .bpsx-moment__in{max-width:1100px}
body.bp .bpsx-moment__eye{display:inline-block;font-family:var(--bp-mono,ui-monospace,monospace);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#7DC0F5;border:1px solid rgba(125,192,245,.35);border-radius:999px;padding:8px 16px;background:rgba(125,192,245,.06);max-width:92vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.bp .bpsx-moment__big{display:block;margin:26px 0 10px;font-size:clamp(72px,15vw,220px);line-height:.9;letter-spacing:-.06em;font-weight:750;color:#fff !important;white-space:nowrap}
body.bp .bpsx-moment__big span{display:inline-block;opacity:0;transform:translateY(.35em) scale(.9);filter:blur(12px);transition:opacity .7s ease calc(var(--i) * 70ms),transform .9s cubic-bezier(.2,.8,.2,1) calc(var(--i) * 70ms),filter .8s ease calc(var(--i) * 70ms);background:linear-gradient(180deg,#fff 30%,#9CCDF7);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}
body.bp .bpsx-moment.is-in .bpsx-moment__big span{opacity:1;transform:none;filter:none}
body.bp .bpsx-moment__l{display:block;font-size:clamp(18px,2vw,26px);letter-spacing:-.02em;color:rgba(230,241,252,.9) !important;opacity:0;transform:translateY(12px);transition:all .8s ease .5s}
body.bp .bpsx-moment__f{display:inline-block;margin-top:26px;font-family:var(--bp-mono,ui-monospace,monospace);font-size:12px;letter-spacing:.14em;color:#9CCDF7 !important;padding:10px 16px;border-radius:12px;border:1px solid rgba(125,192,245,.25);background:rgba(10,30,60,.5);opacity:0;transition:opacity .8s ease .8s}
body.bp .bpsx-moment.is-in .bpsx-moment__l{opacity:1;transform:none}
body.bp .bpsx-moment.is-in .bpsx-moment__f{opacity:1}
@media (max-width:640px){body.bp .bpsx-moment{min-height:64svh}body.bp .bpsx-moment__big{font-size:clamp(56px,19vw,110px)}body.bp .bpsx-moment__f{font-size:10.5px;letter-spacing:.08em}}
@media (prefers-reduced-motion:reduce){body.bp .bpsx-moment__big span,body.bp .bpsx-moment__l,body.bp .bpsx-moment__f{opacity:1;transform:none;filter:none;transition:none}body.bp .bpsx-moment__bg i,body.bp .bpsx-moment__bg b{animation:none}}
/* ==========================================================================
   ds-99-v2pages.css — cinematic layer for pages other than home:
   hero art, data strips, the Canada map, chromatogram, exploded vial,
   quantity stack, full-screen moments, ladder sheet, reading tools,
   and the contact page blocks.
   ========================================================================== */
:root{--bpv-ink:#040913;--bpv-sky:#7CC0F7;--bpv-blue:#1E66D8;--bpv-ease:cubic-bezier(.2,.8,.2,1);--bpv-mono:var(--bp-mono,"IBM Plex Mono",ui-monospace,monospace);}
body.bp .bpv-eye{display:inline-flex;align-items:center;gap:8px;font:600 11px/1 var(--bpv-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--bpv-sky);}
body.bp .bpv-eye::before{content:"";width:18px;height:1px;background:currentColor;opacity:.7;}
body.bp .bpv-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#43E08A;box-shadow:0 0 0 0 rgba(67,224,138,.6);animation:bpvPing 1.8s ease-out infinite;margin-right:8px;vertical-align:1px;}
@keyframes bpvPing{0%{box-shadow:0 0 0 0 rgba(67,224,138,.55)}100%{box-shadow:0 0 0 10px rgba(67,224,138,0)}}
html.bpv-locked,html.bpv-locked body{overflow:hidden !important;}

/* ---------- hero ---------- */
body.bp .bppg__hero.bpv-hero{position:relative;overflow:hidden;isolation:isolate;}
body.bp .bpv-hero .bppg__hero-in{position:relative;z-index:3;}
body.bp .bpv-hero .bpv-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em;margin-bottom:-.06em;}
body.bp .bpv-hero .bpv-w > span{display:inline-block;transform:translateY(105%) rotate(4deg);transform-origin:0 100%;transition:transform .9s var(--bpv-ease);transition-delay:calc(.08s + var(--i) * 55ms);}
body.bp .bpv-hero.bpv-in .bpv-w > span{transform:none;}
body.bp .bpv-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;position:relative;z-index:3;}
body.bp .bpv-strip span{display:inline-flex;align-items:center;height:32px;padding:0 13px;border-radius:999px;font:600 11.5px/1 var(--bpv-mono);letter-spacing:.06em;color:#DCEBFA;
  background:rgba(255,255,255,.06);border:1px solid rgba(143,196,245,.22);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s var(--bpv-ease);transition-delay:calc(.5s + var(--i,0) * 70ms);}
body.bp .bpv-hero.bpv-in .bpv-strip span{opacity:1;transform:none;}
body.bp .bpv-strip .bpv-clock{font-variant-numeric:tabular-nums;color:#fff;}

body.bp .bpv-art{position:absolute;z-index:1;pointer-events:none;right:max(3vw,24px);top:50%;width:min(44vw,560px);height:min(92%,520px);transform:translateY(-50%);}
body.bp .bpv-hero::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(5,11,22,.92) 0%,rgba(5,11,22,.55) 42%,rgba(5,11,22,0) 70%);}
/* orbit */
body.bp .bpv-orbit{position:absolute;inset:0;perspective:1100px;perspective-origin:50% 30%;}
body.bp .bpv-ring{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d;transform:rotateX(-10deg) rotateY(calc(var(--p,0) * 140deg));animation:bpvSpin 26s linear infinite;}
@keyframes bpvSpin{to{rotate:y 360deg;}}
body.bp .bpv-ring img{position:absolute;width:88px !important;height:auto;left:-44px;top:-98px;transform:rotateY(var(--a)) translateZ(190px);backface-visibility:visible;filter:drop-shadow(0 18px 20px rgba(0,0,0,.55));}
body.bp .bpv-orbit__floor{position:absolute;left:50%;top:62%;width:460px;height:120px;margin-left:-230px;border-radius:50%;background:radial-gradient(closest-side,rgba(88,176,255,.35),rgba(88,176,255,0));filter:blur(6px);transform:rotateX(70deg);}
/* fan */
body.bp .bpv-fan{position:absolute;inset:0;}
body.bp .bpv-fan img{position:absolute;left:50%;bottom:6%;width:112px !important;height:auto;margin-left:-56px;transform-origin:50% 140%;
  transform:translateX(calc(var(--k) * 64px)) translateY(calc(var(--p,0) * (40px + var(--k) * var(--k) * 10px))) rotate(calc(var(--k) * 9deg));
  filter:drop-shadow(0 22px 22px rgba(0,0,0,.55));z-index:calc(10 - var(--k) * var(--k));animation:bpvBob 5s ease-in-out infinite;animation-delay:calc(var(--i) * -.9s);}
@keyframes bpvBob{0%,100%{translate:0 0}50%{translate:0 -10px}}
/* rise */
body.bp .bpv-rise{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;gap:10px;padding-bottom:12%;}
body.bp .bpv-rise img{width:78px !important;height:auto;transform:translateY(calc((1 - var(--h)) * 90px + var(--p,0) * -60px * var(--h))) scale(var(--h));transform-origin:50% 100%;filter:drop-shadow(0 16px 16px rgba(0,0,0,.5));
  opacity:0;animation:bpvRise 1.1s var(--bpv-ease) both;animation-delay:calc(.25s + var(--i) * 90ms);}
@keyframes bpvRise{from{opacity:0;translate:0 80px}to{opacity:1;translate:0 0}}
body.bp .bpv-rise__floor{position:absolute;left:8%;right:8%;bottom:10%;height:2px;background:linear-gradient(90deg,transparent,rgba(124,192,247,.7),transparent);box-shadow:0 0 24px 6px rgba(88,176,255,.25);}
/* tilt */
body.bp .bpv-tilt{position:absolute;inset:0;display:grid;place-items:center;perspective:900px;}
body.bp .bpv-tilt img{width:min(210px,40%) !important;height:auto;transform:rotateY(calc(var(--mx,0) * 26deg + var(--p,0) * 30deg)) rotateX(calc(var(--my,0) * -14deg)) translateY(calc(var(--p,0) * 40px));transition:transform .5s var(--bpv-ease);filter:drop-shadow(0 30px 30px rgba(0,0,0,.6));}
body.bp .bpv-tilt__ring{position:absolute;width:340px;height:340px;border-radius:50%;border:1px solid rgba(124,192,247,.3);box-shadow:inset 0 0 60px rgba(88,176,255,.15);animation:bpvPulse 4s ease-in-out infinite;}
body.bp .bpv-tilt__ring::before{content:"";position:absolute;inset:-26px;border-radius:50%;border:1px dashed rgba(124,192,247,.22);animation:bpvSpin2 40s linear infinite;}
@keyframes bpvSpin2{to{transform:rotate(360deg)}}
@keyframes bpvPulse{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.05);opacity:1}}
body.bp .bpv-tilt__sweep{position:absolute;top:0;bottom:0;width:30%;left:-30%;background:linear-gradient(90deg,transparent,rgba(160,215,255,.14),transparent);animation:bpvSweep 5.5s ease-in-out infinite 1s;}
@keyframes bpvSweep{0%{left:-30%}60%,100%{left:110%}}

@media (max-width:767px){
  body.bp .bppg__hero.bpv-hero:not(.bpv-hero--none){display:flex;flex-direction:column;}
  body.bp .bpv-hero:not(.bpv-hero--none) .bpv-art{position:relative;order:-1;right:auto;top:auto;transform:none;width:100%;height:210px;margin:6px 0 -8px;}
  body.bp .bpv-hero::after{background:linear-gradient(180deg,rgba(5,11,22,0) 0%,rgba(5,11,22,.35) 40%,rgba(5,11,22,.0) 100%);}
  body.bp .bpv-ring img{width:58px !important;left:-29px;top:-64px;transform:rotateY(var(--a)) translateZ(118px);}
  body.bp .bpv-orbit__floor{width:300px;margin-left:-150px;}
  body.bp .bpv-fan img{width:78px !important;margin-left:-39px;transform:translateX(calc(var(--k) * 46px)) rotate(calc(var(--k) * 9deg));bottom:0;}
  body.bp .bpv-rise{padding-bottom:6%;gap:6px;}
  body.bp .bpv-rise img{width:52px !important;}
  body.bp .bpv-tilt img{width:120px !important;}
  body.bp .bpv-tilt__ring{width:190px;height:190px;}
  body.bp .bpv-strip{gap:6px;margin-top:18px;}
  body.bp .bpv-strip span{height:28px;padding:0 10px;font-size:10.5px;}
}

/* ---------- shared dark scene shell ---------- */
body.bp .bpv-map,body.bp .bpv-chrom,body.bp .bpv-xray,body.bp .bpv-take,body.bp .bpv-stack{position:relative;overflow:clip;isolation:isolate;}
body.bp .bpv-map,body.bp .bpv-chrom,body.bp .bpv-xray{background:radial-gradient(900px 500px at 80% 10%,rgba(30,102,216,.28),transparent 60%),radial-gradient(700px 500px at 0% 100%,rgba(80,170,245,.12),transparent 60%),linear-gradient(170deg,#07101F,#040913 70%) !important;color:#E6F0FB;}
body.bp .bpv-map::before,body.bp .bpv-chrom::before,body.bp .bpv-xray::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.55;background-image:linear-gradient(rgba(143,196,245,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(143,196,245,.05) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:radial-gradient(80% 70% at 60% 40%,#000,transparent);mask-image:radial-gradient(80% 70% at 60% 40%,#000,transparent);}

/* ---------- map ---------- */
body.bp .bpv-map{padding:clamp(64px,9vw,120px) 0;}
body.bp .bpv-map__in{max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,40px);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,60px);align-items:center;}
body.bp .bpv-map__h{font-size:clamp(28px,3.4vw,46px);line-height:1.06;letter-spacing:-.035em;font-weight:700;color:#fff;margin:16px 0 22px;}
body.bp .bpv-hud{display:grid;gap:10px;}
body.bp .bpv-hud span{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(143,196,245,.14);}
body.bp .bpv-hud small{font:600 10.5px/1 var(--bpv-mono);letter-spacing:.14em;text-transform:uppercase;color:#7D93AE;}
body.bp .bpv-hud b{font:600 14px/1.2 var(--bpv-mono);color:#fff;font-variant-numeric:tabular-nums;text-align:right;}
body.bp .bpv-zones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
body.bp .bpv-zones span{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(143,196,245,.14);}
body.bp .bpv-zones b{font:600 10.5px/1 var(--bpv-mono);letter-spacing:.12em;text-transform:uppercase;color:#7D93AE;}
body.bp .bpv-zones em{font:600 15px/1 var(--bpv-mono);font-style:normal;color:#fff;font-variant-numeric:tabular-nums;}
body.bp .bpv-map__art{position:relative;}
body.bp .bpv-map__art canvas{display:block;width:100%;height:auto;}
body.bp .bpv-map__tag{position:absolute;left:0;top:0;pointer-events:none;transition:transform .8s var(--bpv-ease);}
body.bp .bpv-map__tag b{position:absolute;left:14px;top:-34px;white-space:nowrap;font:700 12px/1 var(--bpv-mono);letter-spacing:.12em;text-transform:uppercase;color:#fff;padding:8px 11px;border-radius:9px;background:rgba(30,102,216,.85);border:1px solid rgba(160,215,255,.5);box-shadow:0 10px 24px -8px rgba(30,102,216,.8);}
@media (max-width:767px){
  body.bp .bpv-map__in{grid-template-columns:minmax(0,1fr);}
  body.bp .bpv-map__art{order:-1;margin:0 -8px;}
  body.bp .bpv-zones{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.bp .bpv-map__tag b{font-size:10.5px;padding:6px 9px;top:-30px;left:10px;}
}

/* ---------- chromatogram ---------- */
body.bp .bpv-chrom{padding:clamp(64px,9vw,120px) 0;}
body.bp .bpv-chrom__in{max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,40px);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,4vw,60px);align-items:center;}
body.bp .bpv-chrom__big{display:flex;align-items:baseline;gap:2px;margin:16px 0 14px;color:#fff;font-weight:800;letter-spacing:-.05em;line-height:.9;}
body.bp .bpv-chrom__big b{font-size:clamp(56px,8vw,112px);font-variant-numeric:tabular-nums;background:linear-gradient(180deg,#fff,#8FD0FF);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
body.bp .bpv-chrom__big span{font-size:clamp(28px,3.6vw,50px);color:#8FD0FF;opacity:0;transform:translateX(-10px);transition:opacity .6s ease,transform .6s var(--bpv-ease);}
body.bp .bpv-chrom.is-done .bpv-chrom__big span{opacity:1;transform:none;}
body.bp .bpv-chrom__txt p{color:#A9BDD4 !important;font-size:16px;line-height:1.6;max-width:44ch;margin:0 0 10px !important;}
body.bp .bpv-chrom__note{font:500 11px/1.4 var(--bpv-mono);letter-spacing:.08em;color:#6F87A3;text-transform:uppercase;}
body.bp .bpv-chrom__art{position:relative;border-radius:22px;padding:14px;background:rgba(255,255,255,.035);border:1px solid rgba(143,196,245,.16);box-shadow:0 40px 80px -40px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.05);}
body.bp .bpv-chrom__art svg{display:block;width:100%;height:auto;aspect-ratio:600/260;overflow:visible;}
body.bp .bpv-chrom__grid line{stroke:rgba(143,196,245,.09);stroke-width:1;}
body.bp .bpv-chrom__line{fill:none;stroke:#8FD0FF;stroke-width:2.2;stroke-linejoin:round;stroke-dasharray:1000;stroke-dashoffset:1000;filter:drop-shadow(0 0 6px rgba(120,200,255,.7));}
body.bp .bpv-chrom__area{opacity:0;transition:opacity .8s ease;}
body.bp .bpv-chrom.is-peak .bpv-chrom__area{opacity:1;}
body.bp .bpv-chrom__call{opacity:0;transition:opacity .5s ease .2s;}
body.bp .bpv-chrom.is-peak .bpv-chrom__call{opacity:1;}
body.bp .bpv-chrom__call line{stroke:#8FD0FF;stroke-width:1;}
body.bp .bpv-chrom__call rect{fill:#1E66D8;stroke:rgba(160,215,255,.6);}
body.bp .bpv-chrom__call text{fill:#fff;font:600 11px var(--bpv-mono);text-anchor:middle;letter-spacing:.06em;}
body.bp .bpv-chrom__scan{stroke:rgba(143,208,255,.5);stroke-width:1;stroke-dasharray:3 4;}
body.bp .bpv-chrom__ax{fill:#6F87A3;font:500 10px var(--bpv-mono);letter-spacing:.08em;}
@media (max-width:767px){ body.bp .bpv-chrom__in{grid-template-columns:minmax(0,1fr);} body.bp .bpv-chrom__art{padding:8px;border-radius:16px;} }

/* ---------- exploded vial ---------- */
body.bp .bpv-xray{height:190vh;}
body.bp .bpv-xray__pin{position:sticky;top:0;height:100vh;display:grid;place-items:center;}
body.bp .bpv-xray__in{position:relative;width:100%;max-width:1240px;height:100%;margin:0 auto;padding:clamp(70px,9vh,110px) clamp(20px,4vw,40px) 40px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto 1fr auto;gap:10px 40px;}
body.bp .bpv-xray__head{grid-column:1/-1;position:relative;z-index:3;}
body.bp .bpv-xray__h{font-size:clamp(26px,3vw,42px);line-height:1.08;letter-spacing:-.035em;font-weight:700;color:#fff;margin-top:14px;}
body.bp .bpv-xray__stage{position:relative;grid-row:2;min-height:0;}
body.bp .bpv-xray__grid{position:absolute;inset:4% 10%;border-radius:24px;border:1px dashed rgba(143,196,245,.18);}
body.bp .bpv-xray__part{position:absolute;left:50%;top:50%;height:min(62vh,520px);aspect-ratio:414/917;translate:-50% -50%;clip-path:inset(var(--t) 0 var(--b) 0);
  transform:translateY(calc(var(--x,0) * var(--dy))) translateX(calc(var(--x,0) * var(--dx))) rotate(calc(var(--x,0) * var(--rz)));filter:drop-shadow(0 20px 26px rgba(0,0,0,.55));will-change:transform;}
body.bp .bpv-xray__part img{width:100% !important;height:100% !important;object-fit:contain;display:block;}
body.bp .bpv-xray__part--cap{--dy:-26%;--dx:0%;--rz:-6deg;}
body.bp .bpv-xray__part--neck{--dy:-11%;--dx:0%;--rz:3deg;}
body.bp .bpv-xray__part--label{--dy:2%;--dx:0%;--rz:-2deg;}
body.bp .bpv-xray__part--base{--dy:20%;--dx:0%;--rz:4deg;}
body.bp .bpv-xray__notes{grid-row:2;position:relative;z-index:3;font-family:var(--bp-sans,Inter,system-ui,sans-serif) !important;list-style:none !important;margin:0 !important;padding:0 !important;display:flex;flex-direction:column;justify-content:center;gap:14px;counter-reset:x;}
body.bp .bpv-xray__notes li{position:relative;padding:14px 18px 14px 54px !important;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(143,196,245,.14);opacity:.25;transform:translateX(20px);transition:opacity .5s ease,transform .6s var(--bpv-ease),border-color .4s,background .4s;list-style:none !important;}
body.bp .bpv-xray__notes li::before{counter-increment:x;content:"0" counter(x);position:absolute;left:16px;top:15px;font:700 13px/1 var(--bpv-mono);color:var(--bpv-sky);}
body.bp .bpv-xray__notes li.is-on{opacity:1;transform:none;border-color:rgba(124,192,247,.45);background:rgba(30,102,216,.14);}
body.bp .bpv-xray__notes b{display:block;color:#fff;font-size:16px;margin-bottom:3px;}
body.bp .bpv-xray__notes span{color:#A9BDD4;font-size:14px;line-height:1.45;}
body.bp .bpv-xray__ruo{grid-column:1/-1;font:500 10.5px/1 var(--bpv-mono);letter-spacing:.12em;text-transform:uppercase;color:#6F87A3;text-align:center;}
@media (max-width:767px){
  body.bp .bpv-xray{height:170vh;}
  body.bp .bpv-xray__in{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto;padding:74px 20px 22px;gap:8px;}
  body.bp .bpv-xray__stage{grid-row:2;}
  body.bp .bpv-xray__part{height:min(30vh,240px);}
  body.bp .bpv-xray__part--cap{--dy:-20%;} body.bp .bpv-xray__part--neck{--dy:-8%;} body.bp .bpv-xray__part--base{--dy:14%;}
  body.bp .bpv-hero--tilt .bpv-tilt img{width:auto !important;height:190px !important;}
  body.bp .bpv-xray__notes{grid-row:3;display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  body.bp .bpv-xray__notes li{padding:10px 10px 10px 36px !important;border-radius:12px;transform:none;}
  body.bp .bpv-xray__notes li::before{left:10px;top:11px;font-size:11px;}
  body.bp .bpv-xray__notes b{font-size:13px;}
  body.bp .bpv-xray__notes span{font-size:11.5px;line-height:1.35;display:block;}
}

/* ---------- stack ---------- */
body.bp .bpv-stack{padding:clamp(64px,8vw,110px) 0;background:linear-gradient(180deg,#EEF6FF,#E3F0FC);}
body.bp .bpv-stack__in{max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,40px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center;}
body.bp .bpv-stack .bpv-eye{color:#1668D6;}
body.bp .bpv-stack__n{display:flex;align-items:baseline;gap:12px;margin:16px 0 14px;}
body.bp .bpv-stack__n b{font-size:clamp(64px,8vw,110px);font-weight:800;letter-spacing:-.06em;line-height:.9;color:#0A1222;font-variant-numeric:tabular-nums;}
body.bp .bpv-stack__n span{font-size:16px;color:#43566E;}
body.bp .bpv-stack__r{-webkit-appearance:none;appearance:none;width:100%;height:36px;background:transparent;cursor:pointer;}
body.bp .bpv-stack__r::-webkit-slider-runnable-track{height:8px;border-radius:8px;background:linear-gradient(90deg,#1E66D8,#58B0FF);}
body.bp .bpv-stack__r::-moz-range-track{height:8px;border-radius:8px;background:linear-gradient(90deg,#1E66D8,#58B0FF);}
body.bp .bpv-stack__r::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;margin-top:-11px;border-radius:50%;background:#fff;border:3px solid #1E66D8;box-shadow:0 6px 16px rgba(30,102,216,.45);}
body.bp .bpv-stack__r::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:#fff;border:3px solid #1E66D8;box-shadow:0 6px 16px rgba(30,102,216,.45);}
body.bp .bpv-stack__tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:10px 0 18px;}
body.bp .bpv-stack__tiers span{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:12px;font-size:12px;color:#43566E;background:#fff;border:1px solid #D6E4F4;transition:all .3s var(--bpv-ease);}
body.bp .bpv-stack__tiers em{font:700 15px/1 var(--bpv-mono);font-style:normal;color:#0A1222;}
body.bp .bpv-stack__tiers span.is-on{background:linear-gradient(145deg,#1E66D8,#1446A0);border-color:#1E66D8;color:#DCEBFA;transform:translateY(-3px);box-shadow:0 12px 24px -10px rgba(30,102,216,.7);}
body.bp .bpv-stack__tiers span.is-on em{color:#fff;}
body.bp .bpv-stack__off{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px 14px;padding:16px 18px;border-radius:18px;background:#0A1222;color:#DCEBFA;}
body.bp .bpv-stack__off small{font:600 10.5px/1 var(--bpv-mono);letter-spacing:.14em;text-transform:uppercase;color:#7D93AE;grid-column:1/-1;}
body.bp .bpv-stack__off b{font-size:40px;font-weight:800;letter-spacing:-.04em;color:#fff;line-height:1;font-variant-numeric:tabular-nums;}
body.bp .bpv-stack__off i{height:10px;border-radius:10px;background:rgba(255,255,255,.1);overflow:hidden;}
body.bp .bpv-stack__off i span{display:block;height:100%;width:100%;border-radius:10px;background:linear-gradient(90deg,#58B0FF,#1E66D8);transition:width .5s var(--bpv-ease);}
body.bp .bpv-stack__off em{grid-column:1/-1;font-style:normal;font-size:13px;color:#98AECA;}
body.bp .bpv-stack__off strong{color:#fff;}
body.bp .bpv-stack__crate{position:relative;padding:18px;border-radius:26px;background:linear-gradient(160deg,#0E1D36,#081223);box-shadow:0 50px 80px -40px rgba(10,18,34,.7),inset 0 1px 0 rgba(255,255,255,.08);transform:perspective(1000px) rotateX(10deg);}
body.bp .bpv-stack__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;}
body.bp .bpv-stack__c{position:relative;aspect-ratio:3/5;border-radius:10px;background:rgba(255,255,255,.04);border:1px dashed rgba(143,196,245,.2);display:grid;place-items:end center;overflow:hidden;}
body.bp .bpv-stack__c img{width:86% !important;height:auto;transform:translateY(-120%) scale(.6);opacity:0;transition:transform .55s cubic-bezier(.3,1.5,.5,1),opacity .3s ease;filter:drop-shadow(0 8px 10px rgba(0,0,0,.5));}
body.bp .bpv-stack__c.is-on{border-style:solid;border-color:rgba(124,192,247,.35);background:radial-gradient(circle at 50% 90%,rgba(88,176,255,.25),transparent 70%);}
body.bp .bpv-stack__c.is-on img{transform:none;opacity:1;}
body.bp .bpv-stack__lid{display:flex;justify-content:space-between;margin-top:12px;font:600 11px/1 var(--bpv-mono);letter-spacing:.12em;text-transform:uppercase;color:#7D93AE;}
body.bp .bpv-stack__cnt{color:#fff;}
body.bp .bpv-stack.is-max .bpv-stack__crate{box-shadow:0 50px 80px -40px rgba(10,18,34,.7),0 0 0 2px rgba(88,176,255,.6),0 0 60px rgba(88,176,255,.35);}
@media (max-width:767px){
  body.bp .bpv-stack__in{grid-template-columns:minmax(0,1fr);}
  body.bp .bpv-stack__crate{order:-1;padding:12px;border-radius:18px;transform:none;}
  body.bp .bpv-stack__grid{gap:6px;}
  body.bp .bpv-stack__tiers{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* ---------- takeover ---------- */
body.bp .bpv-take{height:210vh;background:#02050B;}
body.bp .bpv-take__pin{position:sticky;top:0;height:100vh;display:grid;place-items:center;overflow:hidden;perspective:900px;
  background:radial-gradient(60% 50% at 50% 50%,rgba(30,102,216,calc(.1 + var(--p,0) * .35)),transparent 70%),#02050B;}
body.bp .bpv-take__fly{position:absolute;inset:0;transform-style:preserve-3d;}
body.bp .bpv-take__fly img{position:absolute;left:50%;top:50%;width:120px !important;height:auto;margin:-133px 0 0 -60px;
  --q:clamp(0,calc((var(--p,0) - var(--d)) * 1.6),1);
  transform:translate3d(calc(var(--dx) * 48vw * var(--q)),calc(var(--dy) * 48vh * var(--q)),calc(var(--q) * 520px - 200px)) rotate(calc(var(--rz) * var(--q)));
  opacity:calc(.15 + var(--q) * 1.4 - max(0, var(--q) - .75) * 3);filter:drop-shadow(0 30px 30px rgba(0,0,0,.6)) blur(calc(max(0, var(--q) - .6) * 6px));}
body.bp .bpv-take__t{position:relative;z-index:2;text-align:center;padding:0 20px;}
body.bp .bpv-take__t span{display:block;font-size:clamp(40px,8.4vw,128px);font-weight:800;letter-spacing:-.055em;line-height:.95;color:#fff;
  opacity:clamp(0,calc((var(--p,0) - .18) * 5),1);transform:translateY(calc((1 - clamp(0,calc((var(--p,0) - .18) * 5),1)) * 40px)) scale(calc(.9 + clamp(0,calc((var(--p,0) - .18) * 5),1) * .1));}
body.bp .bpv-take__t span + span{background:linear-gradient(90deg,#8FD0FF,#1E66D8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  opacity:clamp(0,calc((var(--p,0) - .38) * 5),1);transform:translateY(calc((1 - clamp(0,calc((var(--p,0) - .38) * 5),1)) * 40px));}
@media (max-width:767px){ body.bp .bpv-take__t span{font-size:clamp(44px,13vw,80px);} body.bp .bpv-take{height:170vh;} body.bp .bpv-take__fly img{width:74px !important;margin:-82px 0 0 -37px;} }

/* ---------- ladder sheet ---------- */
body.bp .bpv-sheet,body.bp .bpv-tocs{position:fixed;inset:0;z-index:10060;display:grid;place-items:center;padding:20px;visibility:hidden;pointer-events:none;
  clip-path:circle(0 at var(--cx,50%) var(--cy,50%));transition:clip-path .6s cubic-bezier(.7,0,.2,1),visibility 0s linear .6s;background:#040913;color:#E6F0FB;}
body.bp .bpv-sheet.is-open,body.bp .bpv-tocs.is-open{visibility:visible;pointer-events:auto;clip-path:circle(150% at var(--cx,50%) var(--cy,50%));transition:clip-path .7s cubic-bezier(.7,0,.2,1),visibility 0s;}
body.bp .bpv-sheet__bg{position:absolute;inset:0;overflow:hidden;pointer-events:auto;}
body.bp .bpv-sheet__bg i{position:absolute;border-radius:50%;filter:blur(70px);}
body.bp .bpv-sheet__bg i:first-child{width:520px;height:520px;right:-160px;top:-160px;background:radial-gradient(circle,rgba(30,102,216,.55),transparent 70%);}
body.bp .bpv-sheet__bg i:last-child{width:420px;height:420px;left:-160px;bottom:-140px;background:radial-gradient(circle,rgba(88,176,255,.25),transparent 70%);}
body.bp .bpv-sheet__x{position:absolute;top:18px;right:18px;z-index:3;width:48px;height:48px;border-radius:14px;border:1px solid rgba(160,210,255,.3);background:rgba(255,255,255,.06);display:grid;place-items:center;cursor:pointer;}
body.bp .bpv-sheet__x span,body.bp .bpv-sheet__x span::before{display:block;width:20px;height:2px;background:#fff;border-radius:2px;transform:rotate(45deg);}
body.bp .bpv-sheet__x span::before{content:"";transform:rotate(90deg);}
body.bp .bpv-sheet__in{position:relative;z-index:2;width:min(720px,100%);}
body.bp .bpv-sheet__h{font-size:clamp(28px,4.6vw,54px);font-weight:750;letter-spacing:-.045em;line-height:1.02;color:#fff;margin:16px 0 26px;}
body.bp .bpv-sheet__lad{display:grid;gap:8px;}
body.bp .bpv-sheet__r{position:relative;display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:12px;height:56px;padding:0 18px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(143,196,245,.14);overflow:hidden;
  opacity:0;transform:translateY(18px);}
body.bp .bpv-sheet.is-open .bpv-sheet__r{animation:bpvUp .6s var(--bpv-ease) both;animation-delay:calc(.3s + var(--i) * 70ms);}
@keyframes bpvUp{to{opacity:1;transform:none}}
body.bp .bpv-sheet__r i{position:absolute;left:0;top:0;bottom:0;width:0;z-index:0;background:linear-gradient(90deg,rgba(30,102,216,.45),rgba(88,176,255,.25));transition:width 1.1s var(--bpv-ease);transition-delay:calc(.45s + var(--i) * 90ms);}
body.bp .bpv-sheet.is-open .bpv-sheet__r i{width:var(--w);}
body.bp .bpv-sheet__r b,body.bp .bpv-sheet__r span,body.bp .bpv-sheet__r em{position:relative;z-index:1;}
body.bp .bpv-sheet__r b{font-size:20px;font-weight:750;color:#fff;letter-spacing:-.02em;}
body.bp .bpv-sheet__r span{font-size:14px;color:#98AECA;}
body.bp .bpv-sheet__r em{font:700 20px/1 var(--bpv-mono);font-style:normal;color:#fff;}
body.bp .bpv-sheet__r.is-top{border-color:rgba(124,192,247,.55);}
body.bp .bpv-sheet__r.is-top i{background:linear-gradient(90deg,#1E66D8,#58B0FF);}
body.bp .bpv-sheet__p{color:#A9BDD4 !important;font-size:15px;line-height:1.55;margin:18px 0 22px !important;max-width:56ch;}
body.bp .bpv-sheet__cta{display:flex;flex-wrap:wrap;gap:10px;}
body.bp .bpv-sheet__cta .bp-btn{height:52px;}
@media (max-width:767px){ body.bp .bpv-sheet{place-items:start center;padding:76px 16px 20px;overflow-y:auto;} body.bp .bpv-sheet__r{grid-template-columns:52px 1fr auto;height:50px;padding:0 14px;} body.bp .bpv-sheet__r b,body.bp .bpv-sheet__r em{font-size:17px;} body.bp .bpv-sheet__cta .bp-btn{flex:1 1 100%;} }

/* ---------- reading tools ---------- */
body.bp .bpv-toc{position:fixed;left:18px;bottom:22px;z-index:9990;width:56px;height:56px;border-radius:50%;border:0;padding:0;cursor:pointer;background:#0A1222;color:#fff;box-shadow:0 14px 30px -10px rgba(10,18,34,.6);
  display:grid;place-items:center;opacity:0;transform:translateY(20px) scale(.9);pointer-events:none;transition:opacity .35s ease,transform .45s var(--bpv-ease);}
body.bp .bpv-toc.is-shown{opacity:1;transform:none;pointer-events:auto;}
body.bp .bpv-toc svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);}
body.bp .bpv-toc circle{fill:none;stroke:rgba(143,196,245,.2);stroke-width:3;}
body.bp .bpv-toc circle.is-on{stroke:#58B0FF;stroke-linecap:round;stroke-dasharray:119.4;stroke-dashoffset:119.4;}
body.bp .bpv-toc span{position:relative;font:700 11px/1 var(--bpv-mono);}
@media (max-width:1024px){ body.bp .bpv-toc{left:14px;bottom:92px;width:50px;height:50px;} }
body.bp .bpv-tocs{--cx:40px;--cy:calc(100% - 50px);place-items:center;}
body.bp .bpv-tocs__in{position:relative;width:min(760px,100%);max-height:86vh;overflow-y:auto;padding:10px 4px;}
body.bp .bpv-tocs__in .bpv-sheet__x{position:fixed;}
body.bp .bpv-tocs ol{list-style:none !important;margin:18px 0 0 !important;padding:0 !important;display:grid;gap:4px;}
body.bp .bpv-tocs li{opacity:0;transform:translateY(12px);list-style:none !important;}
body.bp .bpv-tocs.is-open li{animation:bpvUp .5s var(--bpv-ease) both;animation-delay:calc(.25s + var(--i) * 40ms);}
body.bp .bpv-tocs a{display:flex;gap:14px;align-items:baseline;padding:14px 12px;border-radius:12px;color:#E6F0FB !important;text-decoration:none !important;font-size:clamp(17px,2.2vw,22px);font-weight:600;letter-spacing:-.015em;}
body.bp .bpv-tocs a em{font:600 12px/1 var(--bpv-mono);font-style:normal;color:#7D93AE;}
body.bp .bpv-tocs a:hover,body.bp .bpv-tocs li.is-cur a{background:rgba(30,102,216,.2);}
body.bp .bpv-tocs li.is-cur a em{color:var(--bpv-sky);}

/* ---------- section curtains ---------- */
body.bpv .bpv-cur{clip-path:inset(0 0 0 0);}
@supports (clip-path:inset(0 0 0 0 round 0)){
  body.bpv .bpv-cur:not(.is-in){clip-path:inset(6% 4% 6% 4% round 28px);opacity:.001;transform:translateY(40px) scale(.985);}
  body.bpv .bpv-cur{transition:clip-path 1s var(--bpv-ease),opacity .7s ease,transform 1s var(--bpv-ease);}
  body.bpv .bpv-cur.is-in{clip-path:inset(0 0 0 0 round 0);opacity:1;transform:none;}
}

/* ---------- contact page ---------- */
body.bp .bpct{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:8px 0;}
body.bp .bpct__c{position:relative;display:flex;flex-direction:column;gap:6px;padding:20px 20px 20px;border-radius:18px;text-decoration:none !important;
  background:linear-gradient(165deg,#fff,#F3F8FE);border:1px solid #D6E4F4;box-shadow:0 18px 40px -28px rgba(10,18,34,.35);transition:transform .35s var(--bpv-ease),box-shadow .35s,border-color .35s;overflow:hidden;}
body.bp .bpct__c::after{content:"";position:absolute;right:18px;top:20px;width:9px;height:9px;border-top:2px solid #1668D6;border-right:2px solid #1668D6;transform:rotate(45deg);transition:transform .3s var(--bpv-ease);}
body.bp .bpct__c:hover{transform:translateY(-4px);border-color:#9CC6F2;box-shadow:0 26px 50px -26px rgba(22,104,214,.45);}
body.bp .bpct__c:hover::after{transform:translateX(4px) rotate(45deg);}
body.bp .bpct__c b{font-size:17px;font-weight:700;color:#0A1222 !important;letter-spacing:-.015em;padding-right:24px;}
body.bp .bpct__c span{font-size:14px;line-height:1.5;color:#43566E;}
@media (max-width:900px){ body.bp .bpct{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:560px){ body.bp .bpct{grid-template-columns:minmax(0,1fr);} }
body.bp .bpct-form{margin-top:8px;padding:clamp(18px,3vw,30px);border-radius:22px;background:linear-gradient(160deg,#0E1D36,#081223);box-shadow:0 40px 70px -40px rgba(10,18,34,.7);}
body.bp .bpct-form .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;}
body.bp .bpct-form .row > div{padding:0 !important;max-width:none !important;width:auto !important;flex:none !important;}
body.bp .bpct-form .row > div:nth-last-child(-n+2){grid-column:1/-1;}
body.bp .bpct-form input[type=text],body.bp .bpct-form input[type=email],body.bp .bpct-form input[type=tel],body.bp .bpct-form textarea{width:100% !important;height:52px;padding:0 16px !important;border-radius:14px !important;
  background:rgba(255,255,255,.06) !important;border:1px solid rgba(143,196,245,.24) !important;color:#fff !important;font:500 15px/1.2 var(--bp-sans,Inter,sans-serif) !important;box-shadow:none !important;transition:border-color .2s,background .2s;}
body.bp .bpct-form textarea{height:150px;padding:14px 16px !important;resize:vertical;}
body.bp .bpct-form input::placeholder,body.bp .bpct-form textarea::placeholder{color:#7D93AE !important;}
body.bp .bpct-form input:focus,body.bp .bpct-form textarea:focus{outline:none;border-color:#58B0FF !important;background:rgba(88,176,255,.08) !important;}
body.bp .bpct-form input[type=submit]{width:100%;height:54px;border:0 !important;border-radius:14px !important;cursor:pointer;background:linear-gradient(145deg,#1E66D8,#1446A0) !important;color:#fff !important;
  font:700 15px/1 var(--bp-sans,Inter,sans-serif) !important;letter-spacing:.02em;box-shadow:0 14px 30px -12px rgba(30,102,216,.8);}
body.bp .bpct-form .wpcf7-spinner{position:absolute;}
body.bp .bpct-form .wpcf7-not-valid-tip{color:#FF9B9B;font-size:12.5px;margin-top:6px;}
body.bp .bpct-form .wpcf7-response-output{margin:14px 0 0 !important;padding:12px 14px !important;border-radius:12px;color:#DCEBFA;border-color:rgba(143,196,245,.35) !important;}
body.bp .bpct-form p{margin:0 !important;}
@media (max-width:560px){ body.bp .bpct-form .row{grid-template-columns:minmax(0,1fr);} }

@media (prefers-reduced-motion:reduce){
  body.bp .bpv-ring,body.bp .bpv-fan img,body.bp .bpv-rise img,body.bp .bpv-tilt__ring,body.bp .bpv-tilt__sweep,body.bp .bpv-dot{animation:none !important;}
  body.bpv .bpv-cur{clip-path:none !important;opacity:1 !important;transform:none !important;}
}

/* scenes set their own type so inherited mono/serif rules never leak in */
body.bp .bpv-map,body.bp .bpv-chrom,body.bp .bpv-xray,body.bp .bpv-take,body.bp .bpv-stack,body.bp .bpv-sheet,body.bp .bpv-tocs,body.bp .bpv-map span,body.bp .bpv-stack span,body.bp .bpv-xray span,body.bp .bpv-sheet span{font-family:var(--bp-sans,Inter,system-ui,sans-serif);}
body.bp .bpv-eye,body.bp .bpv-hud small,body.bp .bpv-hud b,body.bp .bpv-zones b,body.bp .bpv-zones em,body.bp .bpv-stack__off small,body.bp .bpv-stack__lid span,body.bp .bpv-stack__tiers em,body.bp .bpv-sheet__r em,body.bp .bpv-strip span,body.bp .bpv-chrom__note,body.bp .bpv-xray__ruo{font-family:var(--bpv-mono) !important;}

/* ==========================================================================
   product dossier (description area)
   ========================================================================== */
body.bp.bpd-on .woocommerce-tabs ul.tabs{display:none !important;}
body.bp.bpd-on .woocommerce-tabs{margin-top:clamp(40px,6vw,80px) !important;padding:0 !important;border:0 !important;background:none !important;}
body.bp .bpd-wrap{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(28px,4vw,64px);max-width:1180px;margin:0 auto;align-items:start;}
body.bp .bpd-nav{position:sticky;top:110px;display:flex;flex-direction:column;gap:2px;padding:18px;border-radius:20px;background:linear-gradient(165deg,#0E1D36,#081223);box-shadow:0 30px 60px -36px rgba(10,18,34,.7);}
body.bp .bpd-nav b{display:block;font-size:14px;line-height:1.3;color:#fff;padding:0 8px 12px;margin-bottom:6px;border-bottom:1px solid rgba(143,196,245,.16);}
body.bp .bpd-nav a{position:relative;display:flex;align-items:center;gap:10px;padding:10px 10px;border-radius:10px;color:#9FB6CF !important;text-decoration:none !important;font-size:14px;font-weight:600;transition:background .25s,color .25s;}
body.bp .bpd-nav a::before{content:"";width:6px;height:6px;border-radius:50%;background:rgba(143,196,245,.35);transition:background .25s,box-shadow .25s;}
body.bp .bpd-nav a.is-on{color:#fff !important;background:rgba(30,102,216,.28);}
body.bp .bpd-nav a.is-on::before{background:#58B0FF;box-shadow:0 0 0 4px rgba(88,176,255,.2);}
body.bp .bpd-nav__ink{display:none;}
body.bp .bpd-body{min-width:0;font-size:17px;line-height:1.7;color:#2A3B52;}
body.bp .bpd-body > h2{font-size:clamp(26px,2.6vw,36px) !important;line-height:1.1 !important;letter-spacing:-.03em;color:#0A1222 !important;margin:clamp(44px,5vw,70px) 0 16px !important;scroll-margin-top:130px;}
body.bp .bpd-body > h2#overview{margin-top:26px !important;}
body.bp .bpd-body > p{margin:0 0 16px !important;max-width:70ch;}
body.bp .bpd-lede{font-size:clamp(19px,1.6vw,22px) !important;line-height:1.5 !important;color:#0A1222 !important;font-weight:500;letter-spacing:-.01em;max-width:62ch;padding-left:18px;border-left:3px solid #1E66D8;}
body.bp .bpd-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:26px 0 8px;}
body.bp .bpd-tile{position:relative;padding:16px 16px 14px;border-radius:16px;background:linear-gradient(165deg,#fff,#F2F8FE);border:1px solid #D6E4F4;overflow:hidden;}
body.bp .bpd-tile::after{content:"";position:absolute;right:-30px;top:-30px;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,rgba(88,176,255,.18),transparent 70%);}
body.bp .bpd-tile small{display:block;font:600 10.5px/1 var(--bp-mono,monospace);letter-spacing:.14em;text-transform:uppercase;color:#1668D6;margin-bottom:8px;}
body.bp .bpd-tile b{display:block;font-size:20px;font-weight:750;letter-spacing:-.02em;color:#0A1222 !important;line-height:1.15;word-break:break-word;}
body.bp .bpd-tile span{display:block;font-size:12.5px;color:#5F738C;margin-top:4px;}
/* cost at volume */
body.bp .bpd-vol{margin:26px 0 8px;padding:clamp(18px,2.4vw,28px);border-radius:22px;background:radial-gradient(90% 120% at 100% 0%,rgba(30,102,216,.35),transparent 60%),linear-gradient(160deg,#0E1D36,#081223);color:#DCEBFA;box-shadow:0 40px 70px -40px rgba(10,18,34,.7);}
body.bp .bpd-vol__h b{display:block;font-size:clamp(20px,2vw,26px);color:#fff !important;letter-spacing:-.02em;margin:10px 0 18px;line-height:1.15;}
body.bp .bpd-vol__rows{display:grid;gap:8px;}
body.bp .bpd-vol__r{display:grid;grid-template-columns:62px minmax(0,1fr) auto;grid-template-areas:"q bar p" "q bar e";align-items:center;column-gap:14px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(143,196,245,.12);}
body.bp .bpd-vol__q{grid-area:q;font:700 14px/1 var(--bp-mono,monospace);color:#fff;}
body.bp .bpd-vol__bar{grid-area:bar;height:8px;border-radius:8px;background:rgba(255,255,255,.08);overflow:hidden;}
body.bp .bpd-vol__bar i{display:block;height:100%;width:0;border-radius:8px;background:linear-gradient(90deg,#58B0FF,#1E66D8);transition:width 1.1s cubic-bezier(.2,.9,.2,1);transition-delay:calc(var(--i) * 110ms);}
body.bp .bpd-vol.is-in .bpd-vol__bar i{width:var(--w);}
body.bp .bpd-vol__r b{grid-area:p;font-size:18px;font-weight:750;color:#fff !important;text-align:right;font-variant-numeric:tabular-nums;}
body.bp .bpd-vol__r em{grid-area:e;font-style:normal;font:500 11.5px/1.2 var(--bp-mono,monospace);color:#8FA6C0;text-align:right;}
body.bp .bpd-vol__r.is-top{border-color:rgba(124,192,247,.55);background:rgba(30,102,216,.18);}
body.bp .bpd-vol__n{margin:14px 0 0 !important;font-size:13.5px;color:#98AECA !important;}
/* sequence beads */
body.bp .bpd-seq{margin:6px 0 18px;padding:18px;border-radius:20px;background:#081223;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);}
body.bp .bpd-seq__h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px;}
body.bp .bpd-seq__h small{font:600 10.5px/1 var(--bp-mono,monospace);letter-spacing:.16em;text-transform:uppercase;color:#7CC0F7;}
body.bp .bpd-seq__h span{font:600 12px/1 var(--bp-mono,monospace);color:#9FB6CF;}
body.bp .bpd-seq__c{display:flex;flex-wrap:wrap;align-items:center;row-gap:12px;}
body.bp .bpd-seq__c i{width:14px;height:2px;background:linear-gradient(90deg,rgba(124,192,247,.2),rgba(124,192,247,.6));opacity:0;transition:opacity .4s;transition-delay:calc(var(--i,0) * 40ms);}
body.bp .bpd-b{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0,var(--c1) 18%,var(--c2) 100%);box-shadow:0 8px 16px -6px var(--c2),inset 0 -4px 8px rgba(0,0,0,.25);
  transform:scale(.3) translateY(20px);opacity:0;transition:transform .6s cubic-bezier(.3,1.5,.5,1),opacity .4s;transition-delay:calc(var(--i) * 55ms);}
body.bp .bpd-seq.is-in .bpd-b{transform:none;opacity:1;}
body.bp .bpd-seq.is-in .bpd-seq__c i{opacity:1;}
body.bp .bpd-b em{font:700 10.5px/1 var(--bp-mono,monospace);font-style:normal;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4);letter-spacing:-.02em;}
body.bp .bpd-b--acid{--c1:#FF8A8A;--c2:#B3263B;} body.bp .bpd-b--base{--c1:#8FD0FF;--c2:#1E66D8;} body.bp .bpd-b--aro{--c1:#C7A6FF;--c2:#5B34C2;}
body.bp .bpd-b--pro{--c1:#FFD48A;--c2:#B7791F;} body.bp .bpd-b--polar{--c1:#8FF0D2;--c2:#12836A;} body.bp .bpd-b--small,body.bp .bpd-b--hyd{--c1:#C9D6E6;--c2:#4B5E78;}
body.bp .bpd-b--cap{--c1:#fff;--c2:#7D93AE;width:34px;height:34px;}
body.bp .bpd-seq__k{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;font:500 11px/1 var(--bp-mono,monospace);color:#8FA6C0;}
body.bp .bpd-seq__k span::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:-1px;}
body.bp .k-acid::before{background:#D8485C;} body.bp .k-base::before{background:#3F8BEA;} body.bp .k-aro::before{background:#7A55DD;} body.bp .k-pro::before{background:#D9A03A;} body.bp .k-polar::before{background:#2AB08C;} body.bp .k-hyd::before{background:#7D93AE;}
/* identity table as a data sheet */
body.bp .bpd-body table.bpk-identity{width:100%;border-collapse:separate !important;border-spacing:0;border-radius:18px;overflow:hidden;border:1px solid #D6E4F4 !important;background:#fff;margin:0 0 10px !important;}
body.bp .bpd-body table.bpk-identity th,body.bp .bpd-body table.bpk-identity td{padding:14px 18px !important;border:0 !important;border-bottom:1px solid #E6EEF7 !important;text-align:left;vertical-align:top;font-size:15px;}
body.bp .bpd-body table.bpk-identity tr:last-child th,body.bp .bpd-body table.bpk-identity tr:last-child td{border-bottom:0 !important;}
body.bp .bpd-body table.bpk-identity th{width:34%;font:600 11px/1.5 var(--bp-mono,monospace) !important;letter-spacing:.12em;text-transform:uppercase;color:#1668D6 !important;background:#F4F8FD !important;}
body.bp .bpd-body table.bpk-identity td{position:relative;color:#0A1222;font-family:var(--bp-mono,monospace);font-size:14px;word-break:break-word;padding-right:92px !important;}
body.bp .bpd-body table.bpk-identity--multi th,body.bp .bpd-body table.bpk-identity--multi td{width:auto;padding-right:14px !important;font-size:13px;}
body.bp .bpd-copy{position:absolute;right:12px;top:10px;display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border-radius:8px;border:1px solid #D6E4F4;background:#fff;color:#1668D6;font:600 11px/1 var(--bp-sans,Inter,sans-serif);cursor:pointer;transition:all .2s;}
body.bp .bpd-copy svg{width:13px;height:13px;}
body.bp .bpd-copy:hover{border-color:#1668D6;}
body.bp .bpd-copy.is-ok{background:#1E66D8;border-color:#1E66D8;color:#fff;}
/* faq */
body.bp .bpd-faq{display:grid;gap:10px;margin:6px 0 10px;}
body.bp .bpd-faq details{border-radius:16px;background:#fff;border:1px solid #D6E4F4;overflow:hidden;transition:border-color .3s,box-shadow .3s;}
body.bp .bpd-faq details[open]{border-color:#9CC6F2;box-shadow:0 20px 40px -28px rgba(22,104,214,.5);}
body.bp .bpd-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;font-size:17px;font-weight:650;color:#0A1222;letter-spacing:-.01em;}
body.bp .bpd-faq summary::-webkit-details-marker{display:none;}
body.bp .bpd-faq summary::after{content:"";flex:0 0 28px;height:28px;border-radius:50%;background:#EEF5FD url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231668D6' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .35s cubic-bezier(.2,.8,.2,1),background-color .3s;}
body.bp .bpd-faq details[open] summary::after{transform:rotate(45deg);background-color:#DCEBFA;}
body.bp .bpd-faq details p{margin:0 !important;padding:0 20px 18px;font-size:15.5px;line-height:1.65;color:#43566E;animation:bpdIn .45s cubic-bezier(.2,.8,.2,1);}
@keyframes bpdIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
body.bp .bpd-body .bpk-coa-line{margin:22px 0 !important;padding:16px 18px;border-radius:14px;background:#EEF5FD;border:1px solid #D6E4F4;font-size:15px;}
body.bp .bpd-ruo{font-size:13px !important;color:#5F738C !important;}
body.bp .bpd-body > ul{padding-left:0 !important;list-style:none !important;display:grid;gap:8px;}
body.bp .bpd-body > ul > li{position:relative;padding:12px 14px 12px 38px;border-radius:12px;background:#fff;border:1px solid #E6EEF7;font-size:15px;line-height:1.55;list-style:none !important;}
body.bp .bpd-body > ul > li::before{content:"";position:absolute;left:14px;top:18px;width:10px;height:10px;border-radius:3px;background:linear-gradient(145deg,#58B0FF,#1E66D8);}
@media (max-width:1024px){
  body.bp .bpd-wrap{grid-template-columns:minmax(0,1fr);gap:18px;}
  body.bp .bpd-nav{top:64px;z-index:20;flex-direction:row;overflow-x:auto;scrollbar-width:none;gap:6px;padding:8px;border-radius:14px;margin:0 -4px;}
  body.bp .bpd-nav::-webkit-scrollbar{display:none;}
  body.bp .bpd-nav b{display:none;}
  body.bp .bpd-nav a{flex:0 0 auto;white-space:nowrap;padding:9px 12px;font-size:13px;}
  body.bp .bpd-nav a::before{display:none;}
}
@media (max-width:767px){
  body.bp.bpd-on .woocommerce-tabs{padding:0 16px !important;}
  body.bp .bpd-body{font-size:16px;}
  body.bp .bpd-tiles{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.bp .bpd-tile b{font-size:16px;}
  body.bp .bpd-b{width:36px;height:36px;} body.bp .bpd-b em{font-size:9px;}
  body.bp .bpd-seq__c i{width:8px;}
  body.bp .bpd-body table.bpk-identity th,body.bp .bpd-body table.bpk-identity td{display:block;width:100% !important;padding:10px 14px !important;}
  body.bp .bpd-body table.bpk-identity th{border-bottom:0 !important;padding-bottom:2px !important;background:#fff !important;}
  body.bp .bpd-body table.bpk-identity td{padding-right:80px !important;}
  body.bp .bpd-body table.bpk-identity--multi{display:block;overflow-x:auto;}
  body.bp .bpd-body table.bpk-identity--multi th,body.bp .bpd-body table.bpk-identity--multi td{display:table-cell;width:auto !important;min-width:120px;}
  body.bp .bpd-vol__r{grid-template-columns:48px minmax(0,1fr) auto;column-gap:10px;padding:10px 12px;}
  body.bp .bpd-vol__r b{font-size:16px;}
}
body.bp .bpd-body p,body.bp .bpd-body li,body.bp .bpd-vol__n,body.bp .bpd-faq summary,body.bp .bpd-vol__h b{font-family:var(--bp-sans,Inter,system-ui,sans-serif) !important;}
/* product gallery tilt + glint */
body.bp .bpd-tilt{perspective:1000px;}
body.bp .bpd-tilt img{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .6s cubic-bezier(.2,.8,.2,1);will-change:transform;}
body.bp .bpd-tilt.is-live img{transition:transform .12s linear;}
body.bp .bpd-glint{position:absolute;pointer-events:none;z-index:3;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  background:linear-gradient(105deg,rgba(255,255,255,0) 42%,rgba(255,255,255,.42) 50%,rgba(255,255,255,0) 58%);background-size:320% 100%;background-position:130% 0;mix-blend-mode:screen;
  animation:bpdGlint 6s cubic-bezier(.45,0,.2,1) infinite 1.2s;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .6s cubic-bezier(.2,.8,.2,1);}
body.bp .bpd-tilt.is-live .bpd-glint{animation:none;transition:transform .12s linear,background-position .2s linear;}
@keyframes bpdGlint{0%{background-position:130% 0}45%,100%{background-position:-30% 0}}
@media (prefers-reduced-motion:reduce){ body.bp .bpd-glint{animation:none;display:none;} }
/* ---- review form (leave-a-review) ---- */
body.bp .bprv-form{display:grid;gap:16px;}
body.bp .bprv-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
body.bp .bprv-form label{display:flex;flex-direction:column;gap:4px;margin:0;font:600 14px/1.35 var(--bp-sans,Inter,system-ui,sans-serif);color:#EAF3FF !important;letter-spacing:-.005em;}
body.bp .bprv-form label > span{display:block;font-weight:400;font-size:12.5px;line-height:1.45;color:#8FA8C6 !important;margin-bottom:6px;}
body.bp .bprv-form .wpcf7-form-control-wrap{display:block;}
body.bp .bprv-form input[type=text],body.bp .bprv-form input[type=email],body.bp .bprv-form select,body.bp .bprv-form textarea{width:100% !important;min-height:50px;border-radius:14px !important;border:1px solid rgba(143,196,245,.26) !important;background:rgba(255,255,255,.05) !important;color:#F4F9FF !important;padding:12px 16px !important;font:400 15px/1.4 var(--bp-sans,Inter,system-ui,sans-serif) !important;box-shadow:none !important;}
body.bp .bprv-form select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#8FC4F5 50%),linear-gradient(135deg,#8FC4F5 50%,transparent 50%) !important;background-position:calc(100% - 22px) 22px,calc(100% - 16px) 22px !important;background-size:6px 6px,6px 6px !important;background-repeat:no-repeat !important;}
body.bp .bprv-form select option{color:#0A1222;background:#fff;}
body.bp .bprv-form textarea{height:160px;resize:vertical;}
body.bp .bprv-consent{font-size:13px;line-height:1.55;color:#B9CCE3;}
body.bp .bprv-consent .wpcf7-list-item{margin:0;display:flex;gap:10px;align-items:flex-start;}
body.bp .bprv-consent input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:#3B8BF0;flex:none;}
body.bp .bprv-form input[type=submit]{justify-self:start;min-height:52px;padding:0 28px !important;border:0 !important;border-radius:999px !important;background:linear-gradient(135deg,#3B8BF0,#1668D6) !important;color:#fff !important;font:600 15px/1 var(--bp-sans,Inter,system-ui,sans-serif) !important;cursor:pointer;box-shadow:0 18px 36px -18px rgba(22,104,214,.8);transition:transform .25s,box-shadow .25s;}
body.bp .bprv-form input[type=submit]:hover{transform:translateY(-2px);box-shadow:0 22px 40px -18px rgba(22,104,214,.95);}
body.bp .bprv-form p{margin:0 !important;}
body.bp .bprv-form br{display:none;}
@media (max-width:640px){body.bp .bprv-row{grid-template-columns:minmax(0,1fr);}body.bp .bprv-form input[type=submit]{width:100%;}}
/* ---- order tracking page ---- */
body.bp .exo-trkpage .exo-lede{font-size:16px;line-height:1.65;color:#2B3D55;}
body.bp .exo-trkpage form.woocommerce-form-track-order,body.bp .exo-trkpage .exo-trkform{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:clamp(18px,3vw,28px);border-radius:22px;background:linear-gradient(160deg,#0E1D36,#081223);box-shadow:0 40px 70px -40px rgba(10,18,34,.7);margin:18px 0 28px;}
body.bp .exo-trkpage form.woocommerce-form-track-order > p{margin:0 !important;float:none !important;width:auto !important;color:#B9CCE3;}
body.bp .exo-trkpage form.woocommerce-form-track-order > p:first-child,body.bp .exo-trkpage form.woocommerce-form-track-order > p:last-of-type,body.bp .exo-trkpage form.woocommerce-form-track-order .clear{grid-column:1/-1;}
body.bp .exo-trkpage form label,body.bp .exo-trkform label{display:block;color:#EAF3FF !important;font-weight:600;font-size:14px;margin-bottom:6px;}
body.bp .exo-trkpage form input[type=text],body.bp .exo-trkpage form input[type=email]{width:100% !important;min-height:50px;border-radius:14px !important;border:1px solid rgba(143,196,245,.26) !important;background:rgba(255,255,255,.05) !important;color:#F4F9FF !important;padding:12px 16px !important;}
body.bp .exo-trkpage form button,body.bp .exo-trkpage .s2-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px !important;border:0 !important;border-radius:999px !important;background:linear-gradient(135deg,#3B8BF0,#1668D6) !important;color:#fff !important;font-weight:600;cursor:pointer;text-decoration:none !important;}
body.bp .exo-trkpage .s2-btn--ghost{background:transparent !important;border:1px solid #9CC6F2 !important;color:#1668D6 !important;}
body.bp .exo-trkform{grid-template-columns:minmax(0,1fr) auto !important;align-items:end;}
body.bp .exo-trkform label{grid-column:1/-1;margin:0 !important;}
body.bp .exo-trksteps{list-style:none !important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 !important;margin:16px 0 24px !important;}
body.bp .exo-trksteps li{margin:0 !important;padding:18px 20px !important;border-radius:18px;border:1px solid #D6E6F7;background:#fff;box-shadow:0 18px 40px -30px rgba(10,34,70,.35);}
body.bp .exo-trksteps li::before{display:none !important;}
body.bp .exo-trksteps b{display:block;color:#0A1222 !important;font-size:15.5px;margin-bottom:6px;}
body.bp .exo-trksteps span{color:#43566E;font-size:14px;line-height:1.6;}
body.bp .exo-trk{margin:22px 0;padding:20px 22px;border-radius:20px;background:linear-gradient(160deg,#0E1D36,#081223);color:#EAF3FF;}
body.bp .exo-trk b{display:block;font:600 11px/1 var(--bp-mono,monospace);letter-spacing:.16em;text-transform:uppercase;color:#8FC4F5 !important;margin-bottom:10px;}
body.bp .exo-trk p{color:#DCEBFA !important;margin:0 0 12px;}
body.bp .exo-trk__n{font-size:22px;font-weight:700;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;}
body.bp .exo-trk__n span{font-size:13px;color:#8FC4F5;}
@media (max-width:640px){body.bp .exo-trkpage form.woocommerce-form-track-order,body.bp .exo-trksteps,body.bp .exo-trkform{grid-template-columns:minmax(0,1fr) !important;}}
/* ---- keep-reading / journal link blocks ---- */
body.bp .bpk-rel{clear:both;margin:48px 0 8px;padding:clamp(20px,3.4vw,34px);border-radius:24px;background:linear-gradient(160deg,#0E1D36,#081223);box-shadow:0 40px 70px -44px rgba(10,18,34,.75);position:relative;overflow:hidden;}
body.bp .bpk-rel::before{content:"";position:absolute;inset:-40% -20% auto auto;width:420px;height:420px;background:radial-gradient(closest-side,rgba(59,139,240,.28),transparent);pointer-events:none;}
body.bp .bpk-rel__eye{margin:0 0 6px !important;font:600 11px/1 var(--bp-mono,monospace) !important;letter-spacing:.18em;text-transform:uppercase;color:#8FC4F5 !important;}
body.bp .bpk-rel__h{margin:0 0 18px !important;font-size:clamp(22px,2.6vw,30px) !important;line-height:1.15 !important;letter-spacing:-.02em;color:#F4F9FF !important;border:0 !important;padding:0 !important;}
body.bp .bpk-rel__h::before,body.bp .bpk-rel__h::after{display:none !important;}
body.bp .bpk-rel__g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;position:relative;}
body.bp .bpk-rel__c{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border-radius:16px;border:1px solid rgba(143,196,245,.18);background:rgba(255,255,255,.04);text-decoration:none !important;transition:transform .3s,border-color .3s,background .3s;}
body.bp .bpk-rel__c:hover{transform:translateY(-3px);border-color:rgba(143,196,245,.5);background:rgba(88,176,255,.08);}
body.bp .bpk-rel__c span{font:500 10.5px/1.2 var(--bp-mono,monospace);letter-spacing:.14em;text-transform:uppercase;color:#7FA6D0 !important;}
body.bp .bpk-rel__c b{font-size:15.5px;line-height:1.35;font-weight:600;color:#EAF3FF !important;}
body.bp .bpk-rel__p{margin:18px 0 0 !important;font-size:14px !important;line-height:1.6 !important;color:#B9CCE3 !important;position:relative;}
body.bp .bpk-rel__p a,body.bp .bpk-rel__more a{color:#8FD0FF !important;text-decoration:none !important;border-bottom:1px solid rgba(143,208,255,.35);}
body.bp .bpk-rel__more{margin:14px 0 0 !important;display:flex;gap:18px;flex-wrap:wrap;font-size:14px;position:relative;}
@media (max-width:640px){body.bp .bpk-rel__g{grid-template-columns:minmax(0,1fr);}}
/* ---- shop page: buying guide below the grid ---- */
body.bp .bpsx{background:linear-gradient(180deg,#F3F8FE 0%,#E8F1FB 100%);padding:clamp(48px,7vw,96px) 0;}
body.bp .bpsx__intro{max-width:780px;}
body.bp .bpsx__h{font-size:clamp(28px,4.2vw,50px) !important;line-height:1.04 !important;letter-spacing:-.035em;color:#0A1222 !important;margin:10px 0 16px !important;}
body.bp .bpsx__lede{font-size:clamp(16px,1.5vw,18.5px);line-height:1.65;color:#2B3D55;margin:0;}
body.bp .bpsx__ladder{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:34px 0 14px;}
body.bp .bpsx__step{position:relative;padding:18px 16px 16px;border-radius:18px;background:#fff;border:1px solid #D6E6F7;box-shadow:0 20px 40px -32px rgba(10,34,70,.4);overflow:hidden;}
body.bp .bpsx__step::after{content:"";position:absolute;left:0;bottom:0;height:4px;width:var(--w,20%);background:linear-gradient(90deg,#8FC4F5,#1668D6);}
body.bp .bpsx__step:nth-child(1){--w:8%}body.bp .bpsx__step:nth-child(2){--w:25%}body.bp .bpsx__step:nth-child(3){--w:50%}body.bp .bpsx__step:nth-child(4){--w:75%}body.bp .bpsx__step:nth-child(5){--w:100%}
body.bp .bpsx__step b{display:block;font-size:clamp(22px,2.6vw,32px);line-height:1;letter-spacing:-.03em;color:#0A1222;}
body.bp .bpsx__step span{display:block;font:500 11px/1.3 var(--bp-mono,monospace);letter-spacing:.14em;text-transform:uppercase;color:#5A7190;margin:6px 0 12px;}
body.bp .bpsx__step i{font-style:normal;font-weight:700;font-size:15px;color:#1668D6;}
body.bp .bpsx__step--top{background:linear-gradient(160deg,#0E1D36,#081223);border-color:transparent;}
body.bp .bpsx__step--top b{color:#F4F9FF;}body.bp .bpsx__step--top span{color:#8FA8C6;}body.bp .bpsx__step--top i{color:#8FD0FF;}
body.bp .bpsx__note{font-size:14.5px;line-height:1.65;color:#43566E;max-width:860px;margin:0 0 8px;}
body.bp .bpsx a:not([class]){color:#1668D6;text-decoration:none;border-bottom:1px solid rgba(22,104,214,.3);}
body.bp .bpsx__h2{font-size:clamp(22px,2.6vw,30px) !important;line-height:1.15 !important;letter-spacing:-.02em;color:#0A1222 !important;margin:56px 0 18px !important;}
body.bp .bpsx__fam{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
body.bp .bpsx__fam a{display:flex;flex-direction:column;gap:6px;padding:18px 18px 20px;border-radius:18px;background:#fff;border:1px solid #D6E6F7 !important;text-decoration:none !important;transition:transform .3s,box-shadow .3s,border-color .3s;position:relative;}
body.bp .bpsx__fam a::after{content:"";position:absolute;right:18px;top:22px;width:8px;height:8px;border-top:2px solid #1668D6;border-right:2px solid #1668D6;transform:rotate(45deg);transition:transform .3s;}
body.bp .bpsx__fam a:hover{transform:translateY(-4px);border-color:#9CC6F2 !important;box-shadow:0 26px 50px -30px rgba(22,104,214,.5);}
body.bp .bpsx__fam a:hover::after{transform:translateX(4px) rotate(45deg);}
body.bp .bpsx__fam b{font-size:16px;color:#0A1222;padding-right:22px;}
body.bp .bpsx__fam span{font-size:13.5px;line-height:1.5;color:#43566E;}
body.bp .bpsx__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,4vw,56px);}
body.bp .bpsx__cols p{font-size:15.5px;line-height:1.7;color:#2B3D55;margin:0 0 14px;}
body.bp .bpsx__faq{display:grid;gap:10px;max-width:900px;}
body.bp .bpsx__faq details{border-radius:16px;background:#fff;border:1px solid #D6E6F7;padding:0 20px;}
body.bp .bpsx__faq summary{cursor:pointer;list-style:none;padding:18px 28px 18px 0;font-weight:600;font-size:16px;color:#0A1222;position:relative;}
body.bp .bpsx__faq summary::-webkit-details-marker{display:none;}
body.bp .bpsx__faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:22px;font-weight:400;color:#1668D6;transition:transform .3s;}
body.bp .bpsx__faq details[open] summary::after{transform:translateY(-50%) rotate(45deg);}
body.bp .bpsx__faq details p{margin:0 0 18px;font-size:15px;line-height:1.65;color:#2B3D55;}
@media (max-width:900px){body.bp .bpsx__fam{grid-template-columns:repeat(2,minmax(0,1fr));}body.bp .bpsx__ladder{grid-template-columns:repeat(5,minmax(96px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;}body.bp .bpsx__step{scroll-snap-align:start;}}
@media (max-width:640px){body.bp .bpsx .bp-wrap{padding-left:20px;padding-right:20px;}body.bp .bpsx__cols{grid-template-columns:minmax(0,1fr);gap:0;}body.bp .bpsx__fam{grid-template-columns:minmax(0,1fr);}body.bp .bpsx__h2{margin-top:44px !important;}}
body.bp .bpsx p,body.bp .bpsx summary,body.bp .bpsx__fam b,body.bp .bpsx__fam span,body.bp .bpsx__step b,body.bp .bpsx__step i,body.bp .bpk-rel__c b,body.bp .bpk-rel__p,body.bp .bpk-rel__more{font-family:var(--bp-sans) !important;}
body.bp .bpsx__step i{font-size:14px;white-space:nowrap;}
/* ==========================================================================
   product dossier+ : section panels, citation cards, related vial cards
   ========================================================================== */
body.bp .bpd-sec{position:relative;margin:0 0 22px;padding:clamp(22px,3vw,40px);border-radius:28px;background:linear-gradient(180deg,#FFFFFF 0%,#F4F9FF 100%);
  border:1px solid #D9E7F6;box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 34px 70px -48px rgba(10,31,68,.45);overflow:hidden;isolation:isolate;}
body.bp .bpd-sec::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(rgba(22,104,214,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(22,104,214,.06) 1px,transparent 1px);background-size:28px 28px;
  -webkit-mask-image:radial-gradient(120% 90% at 100% 0%,#000 0%,transparent 55%);mask-image:radial-gradient(120% 90% at 100% 0%,#000 0%,transparent 55%);}
body.bp .bpd-sec::after{content:"";position:absolute;right:-120px;top:-120px;width:320px;height:320px;border-radius:50%;z-index:-1;pointer-events:none;
  background:radial-gradient(circle,rgba(88,176,255,.20),rgba(88,176,255,0) 65%);}
body.bp .bpd-sec--pre{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1);}
body.bp .bpd-sec--pre.is-in{opacity:1;transform:none;}
body.bp .bpd-eye{display:flex;align-items:center;gap:12px;margin:0 0 14px;}
body.bp .bpd-eye__n{font:700 12px/1 var(--bp-mono,monospace);letter-spacing:.14em;color:#1668D6;}
body.bp .bpd-eye__i{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;color:#fff;background:linear-gradient(145deg,#4A9BFF,#1558C4);box-shadow:0 10px 22px -10px rgba(22,104,214,.9),inset 0 1px 0 rgba(255,255,255,.35);}
body.bp .bpd-eye__i svg{width:18px;height:18px;}
body.bp .bpd-eye b{font:700 11px/1 var(--bp-mono,monospace);letter-spacing:.18em;text-transform:uppercase;color:#0A1F44;}
body.bp .bpd-eye i{flex:1;height:1px;background:linear-gradient(90deg,rgba(22,104,214,.35),rgba(22,104,214,0));}
body.bp .bpd-sec > h2{font-size:clamp(26px,2.6vw,38px) !important;line-height:1.08 !important;letter-spacing:-.03em;color:#0A1222 !important;margin:0 0 18px !important;scroll-margin-top:130px;max-width:26ch;}
body.bp .bpd-sec > p{margin:0 0 16px !important;max-width:72ch;font-size:16.5px;line-height:1.7;color:#2A3B52;}
body.bp .bpd-sec > p a,body.bp .bpd-prose a{color:#1668D6 !important;font-weight:600;text-decoration:underline;text-decoration-color:rgba(22,104,214,.3);text-underline-offset:3px;}
body.bp .bpd-prose{column-count:2;column-gap:40px;column-rule:1px solid #E1ECF7;margin:0 0 6px;}
body.bp .bpd-prose p{margin:0 0 14px !important;font-size:16.5px;line-height:1.72;color:#2A3B52;break-inside:avoid-column;}
body.bp .bpd-prose p:first-child::first-letter{float:left;font:800 64px/.9 var(--bp-sans) !important;margin:6px 12px 0 0;padding:4px 0;
  background:linear-gradient(160deg,#58B0FF,#1558C4);-webkit-background-clip:text;background-clip:text;color:transparent;}
body.bp .bpd-sec--overview .bpd-vol{margin-top:22px;}
body.bp .bpd-sec .bpd-seq{margin-top:4px;}
body.bp .bpd-sec table.bpk-identity{box-shadow:0 20px 40px -34px rgba(10,31,68,.4);}
body.bp .bpd-sec--faq .bpd-faq details{background:rgba(255,255,255,.9);}
body.bp .bpd-cites{list-style:none !important;padding:0 !important;margin:8px 0 18px !important;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;}
body.bp .bpd-cite{position:relative;display:flex;flex-direction:column;gap:10px;padding:20px 20px 16px !important;border-radius:20px;list-style:none !important;
  background:linear-gradient(165deg,#0E1D36,#081223) !important;border:1px solid rgba(143,196,245,.16) !important;color:#C9DBEF;box-shadow:0 30px 50px -36px rgba(10,18,34,.8);
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s;}
body.bp .bpd-cite::before{display:none !important;}
body.bp .bpd-cite:hover{transform:translateY(-4px);border-color:rgba(124,192,247,.5) !important;box-shadow:0 40px 60px -36px rgba(22,104,214,.55);}
body.bp .bpd-cite__top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
body.bp .bpd-cite__n{font:700 12px/1 var(--bp-mono,monospace);color:#58B0FF;letter-spacing:.1em;}
body.bp .bpd-cite__j{font:600 11px/1 var(--bp-mono,monospace);letter-spacing:.06em;padding:6px 9px;border-radius:999px;background:rgba(88,176,255,.14);color:#BFE0FF;}
body.bp .bpd-cite__y{margin-left:auto;font:700 12px/1 var(--bp-mono,monospace);color:#8FA6C0;}
body.bp .bpd-cite__a{font-size:15.5px;color:#fff !important;font-weight:700;letter-spacing:-.01em;}
body.bp .bpd-cite p{margin:0 !important;font-size:14px !important;line-height:1.6 !important;color:#A9BED6 !important;font-family:var(--bp-sans) !important;flex:1;}
body.bp .bpd-cite__f{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid rgba(143,196,245,.12);}
body.bp .bpd-cite__f span{font:600 11px/1 var(--bp-mono,monospace);color:#7C93AE;letter-spacing:.06em;}
body.bp .bpd-cite__f a{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:999px;background:linear-gradient(135deg,#3B8BF0,#1668D6);color:#fff !important;font:600 12.5px/1 var(--bp-sans) !important;text-decoration:none !important;}
body.bp .bpd-cite__f a i{font-style:normal;transition:transform .25s;}
body.bp .bpd-cite__f a:hover i{transform:translate(2px,-2px);}
body.bp .bpd-litnote{font-size:14px !important;color:#5F738C !important;padding:14px 16px;border-radius:14px;background:#F1F6FC;border:1px dashed #C9DCF1;}
body.bp .bpd-sec .bpk-coa-line{display:flex;gap:14px;align-items:flex-start;margin:16px 0 0 !important;padding:18px 20px !important;border-radius:18px !important;
  background:linear-gradient(135deg,#EAF3FD,#F7FBFF) !important;border:1px solid #CFE2F6 !important;font-size:15px;line-height:1.6;}
body.bp .bpd-coa-ic{flex:0 0 38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#4A9BFF,#1558C4);}
body.bp .bpd-coa-ic svg{width:20px;height:20px;}
body.bp .bpd-relc{list-style:none !important;padding:0 !important;margin:10px 0 0 !important;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;}
body.bp .bpd-relc > li{list-style:none !important;padding:0 !important;background:none !important;border:0 !important;}
body.bp .bpd-relc > li::before{display:none !important;}
body.bp .bpd-relc a{position:relative;display:flex;align-items:center;gap:14px;padding:12px 16px 12px 12px;border-radius:18px;text-decoration:none !important;
  background:#fff;border:1px solid #D9E7F6;box-shadow:0 20px 40px -34px rgba(10,31,68,.5);transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s;}
body.bp .bpd-relc a:hover{transform:translateY(-3px);border-color:#1668D6;box-shadow:0 28px 50px -30px rgba(22,104,214,.55);}
body.bp .bpd-relc__v{flex:0 0 58px;height:84px;border-radius:12px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(80% 70% at 50% 35%,#1C3E72,#081223);}
body.bp .bpd-relc__v img{height:78px;width:auto;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(0,0,0,.5));transition:transform .4s cubic-bezier(.2,.8,.2,1);}
body.bp .bpd-relc a:hover .bpd-relc__v img{transform:translateY(-3px) rotate(-4deg);}
body.bp .bpd-relc__t{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1;}
body.bp .bpd-relc__t b{font-size:15px;line-height:1.25;color:#0A1222 !important;font-weight:700;}
body.bp .bpd-relc__t em{font-style:normal;font-size:15px;font-weight:700;color:#1668D6;}
body.bp .bpd-relc__t em small{font:500 10.5px/1 var(--bp-mono,monospace);color:#5F738C;letter-spacing:.06em;margin-left:2px;}
body.bp .bpd-relc__go{font-style:normal;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#EEF5FD;color:#1668D6;font-weight:700;transition:background .3s,color .3s,transform .3s;}
body.bp .bpd-relc a:hover .bpd-relc__go{background:#1668D6;color:#fff;transform:translateX(2px);}
@media (max-width:1024px){ body.bp .bpd-prose{column-count:1;} }
@media (max-width:767px){
  body.bp .bpd-sec{padding:20px 16px;border-radius:22px;margin-bottom:14px;}
  body.bp .bpd-sec > h2{font-size:24px !important;}
  body.bp .bpd-prose p:first-child::first-letter{font-size:52px !important;}
  body.bp .bpd-cites{grid-template-columns:minmax(0,1fr);}
  body.bp .bpd-relc{grid-template-columns:minmax(0,1fr);}
}
body.bp .bpd-relc__t b{word-break:normal;overflow-wrap:normal;hyphens:none;}
body.bp .bpd-relc__t em{white-space:nowrap;}
body.bp .bpd-relc__t em small{display:block;margin:4px 0 0 !important;}
/* product page: related family grid */
body.bp .bprel-sec{max-width:1180px;margin:clamp(40px,6vw,80px) auto 0;padding:clamp(24px,3.4vw,44px);border-radius:30px;position:relative;overflow:hidden;isolation:isolate;
  background:radial-gradient(90% 120% at 100% 0%,rgba(30,102,216,.32),transparent 60%),linear-gradient(160deg,#0E1D36,#081223);box-shadow:0 50px 90px -60px rgba(10,18,34,.9);}
body.bp .bprel-sec::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(143,196,245,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(143,196,245,.06) 1px,transparent 1px);background-size:32px 32px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 70%);mask-image:linear-gradient(180deg,#000,transparent 70%);}
body.bp .bprel__hd{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px;flex-wrap:wrap;}
body.bp .bprel__eye{display:inline-block;font:600 11px/1 var(--bp-mono,monospace);letter-spacing:.16em;text-transform:uppercase;color:#7CC0F7;margin-bottom:10px;}
body.bp .bprel__hd h2{margin:0 0 8px !important;font-size:clamp(26px,2.8vw,38px) !important;line-height:1.08 !important;letter-spacing:-.03em;color:#fff !important;}
body.bp .bprel__hd p{margin:0 !important;color:#A9BED6 !important;font-size:15.5px;max-width:56ch;}
body.bp .bprel__all{display:inline-flex;align-items:center;gap:8px;padding:13px 20px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(143,196,245,.28);color:#fff !important;font-weight:600;font-size:14px;text-decoration:none !important;transition:background .25s,border-color .25s;}
body.bp .bprel__all:hover{background:#1668D6;border-color:#1668D6;}
body.bp .bprel__all i{font-style:normal;transition:transform .25s;}
body.bp .bprel__all:hover i{transform:translateX(3px);}
body.bp .bprel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
body.bp .bprel .bpp{border-color:rgba(143,196,245,.16);}
@media (max-width:1024px){ body.bp .bprel{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:767px){
  body.bp .bprel-sec{margin:28px 0 0;border-radius:0;padding:26px 16px;}
  body.bp .bprel{gap:10px;}
  body.bp .bprel .bpp__top{aspect-ratio:4/5 !important;height:auto !important;}
  body.bp .bprel .bpp__b{padding:11px !important;}
  body.bp .bprel .bpp h3{font-size:14px !important;}
  body.bp .bprel .bpp__sub{font-size:10px !important;}
  body.bp .bprel .bpp__foot{flex-direction:column;align-items:flex-start;gap:2px;}
  body.bp .bprel .bpp__pr .amount,body.bp .bprel .bpp__pr .amount *{font-size:20px !important;}
  body.bp .bprel .bpp__tag{font-size:8.5px !important;max-width:calc(100% - 16px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
}
/* ==========================================================================
   product dossier++ (2909): nav contrast, overview buy card, dark data sheet,
   residue chips, full-width "More in" family grid
   ========================================================================== */
/* on-page nav: readable on its navy panel */
body.bp .bpd-nav a{color:#A9C3E0 !important;}
body.bp .bpd-nav a:hover,body.bp .bpd-nav a.is-on{color:#FFFFFF !important;}
body.bp .bpd-nav b{color:#FFFFFF !important;}

/* "More in <family>" spans the whole product layout, not one grid column */
body.bp.single-product div.product > .bprel-sec{grid-column:1 / -1 !important;}
body.bp .bprel .bpp__tag{display:none !important;}

/* overview: prose + sticky buy card */
body.bp .bpd-ovgrid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(24px,3vw,40px);align-items:start;margin:0 0 8px;}
body.bp .bpd-ovgrid .bpd-prose{column-count:1 !important;max-width:66ch;}
body.bp .bpd-buy{position:sticky;top:112px;border-radius:24px;overflow:hidden;color:#C9DBEF;isolation:isolate;
  background:radial-gradient(120% 80% at 50% 0%,rgba(88,176,255,.28),transparent 60%),linear-gradient(165deg,#0E1D36,#081223);
  border:1px solid rgba(125,192,245,.22);box-shadow:0 40px 70px -40px rgba(10,31,68,.8);}
body.bp .bpd-buy__v{height:200px;display:grid;place-items:center;position:relative;}
body.bp .bpd-buy__v::after{content:'';position:absolute;left:22%;right:22%;bottom:14px;height:18px;border-radius:50%;background:radial-gradient(ellipse,rgba(88,176,255,.45),transparent 70%);filter:blur(6px);}
body.bp .bpd-buy__v img{height:184px !important;width:auto !important;max-width:none !important;object-fit:contain;position:relative;z-index:1;
  filter:drop-shadow(0 18px 22px rgba(0,0,0,.55));animation:bpdFloat 5s ease-in-out infinite;}
@keyframes bpdFloat{0%,100%{transform:translateY(0) rotate(-1.5deg);}50%{transform:translateY(-8px) rotate(1.5deg);}}
body.bp .bpd-buy__in{padding:4px 20px 20px;}
body.bp .bpd-buy__n{display:block;color:#FFFFFF !important;font-size:18px;line-height:1.25;letter-spacing:-.01em;margin-bottom:6px;}
body.bp .bpd-buy__p{color:#FFFFFF;font-size:26px;font-weight:800;letter-spacing:-.02em;margin-bottom:14px;}
body.bp .bpd-buy__p small{font:600 11px var(--bp-mono,monospace);letter-spacing:.08em;color:#8FA6C0;text-transform:uppercase;margin-left:4px;}
body.bp .bpd-buy__l{list-style:none !important;margin:0 0 16px !important;padding:0 !important;display:grid;gap:8px;}
body.bp .bpd-buy__l li{display:flex;align-items:center;gap:9px;margin:0 !important;padding:0 !important;font-size:14px;line-height:1.4;color:#DCEBFA !important;list-style:none !important;}
body.bp .bpd-buy__l li::before{display:none !important;}
body.bp .bpd-buy__l svg{flex:0 0 18px;width:18px;height:18px;padding:3px;border-radius:50%;color:#fff;background:linear-gradient(140deg,#4FA9F5,#1A63CC);}
body.bp .bpd-buy__cta{display:flex;width:100%;align-items:center;justify-content:center;gap:8px;padding:14px 18px;border:0;border-radius:999px;cursor:pointer;
  font:700 15px/1 var(--bp-sans,inherit);color:#fff;background:linear-gradient(135deg,#3B8BF0,#1558C4);box-shadow:0 14px 28px -12px rgba(22,104,214,.9);
  transition:transform .25s ease,box-shadow .25s ease;}
body.bp .bpd-buy__cta:hover{transform:translateY(-2px);box-shadow:0 20px 34px -12px rgba(22,104,214,1);}
body.bp .bpd-buy__alt{display:block;text-align:center;margin-top:10px;font-size:13px;font-weight:600;color:#7CC0F7 !important;text-decoration:none !important;}
body.bp .bpd-buy__alt:hover{color:#fff !important;}

/* specification: dark data sheet */
body.bp .bpd-sec.bpd-sec--sheet{background:radial-gradient(720px 380px at 100% 0%,rgba(88,176,255,.24),transparent 60%),linear-gradient(165deg,#0C1D3A,#060F1E) !important;
  border-color:rgba(125,192,245,.2) !important;box-shadow:0 40px 80px -48px rgba(6,15,30,.9) !important;}
body.bp .bpd-sec--sheet::before{background-image:linear-gradient(rgba(125,192,245,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(125,192,245,.07) 1px,transparent 1px) !important;}
body.bp .bpd-sec--sheet > h2{color:#FFFFFF !important;}
body.bp .bpd-sec--sheet .bpd-eye b{color:#DCEBFA !important;}
body.bp .bpd-sec--sheet .bpd-eye__n{color:#7CC0F7 !important;}
body.bp .bpd-sec--sheet .bpd-eye i{background:linear-gradient(90deg,rgba(125,192,245,.5),rgba(125,192,245,0)) !important;}
body.bp .bpd-sec--sheet > p{color:#A9BED6 !important;}
body.bp .bpd-body .bpd-sec--sheet table.bpk-identity{background:rgba(255,255,255,.03) !important;border:1px solid rgba(125,192,245,.2) !important;box-shadow:none !important;}
body.bp .bpd-body .bpd-sec--sheet table.bpk-identity th{background:rgba(88,176,255,.08) !important;color:#7CC0F7 !important;border-bottom:1px solid rgba(125,192,245,.12) !important;}
body.bp .bpd-body .bpd-sec--sheet table.bpk-identity td{background:transparent !important;color:#EAF3FF !important;border-bottom:1px solid rgba(125,192,245,.12) !important;}
body.bp .bpd-body .bpd-sec--sheet table.bpk-identity tr{transition:background .25s ease;}
body.bp .bpd-body .bpd-sec--sheet table.bpk-identity tr:hover th,body.bp .bpd-body .bpd-sec--sheet table.bpk-identity tr:hover td{background:rgba(88,176,255,.12) !important;}
body.bp .bpd-body .bpd-sec--sheet table.bpk-identity a{color:#7CC0F7 !important;}
body.bp .bpd-body .bpd-sec--sheet table.bpk-identity button,body.bp .bpd-body .bpd-sec--sheet table.bpk-identity [class*="copy"]{color:#BFE0FF !important;border-color:rgba(125,192,245,.3) !important;background:rgba(88,176,255,.1) !important;}
body.bp .bpd-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px;}
body.bp .bpd-chip{padding:14px 16px;border-radius:16px;background:linear-gradient(160deg,rgba(88,176,255,.16),rgba(88,176,255,.04));border:1px solid rgba(125,192,245,.26);min-width:0;
  animation:bpdChip .7s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0) * 90ms);}
body.bp .bpd-chip small{display:block;font:600 10px/1.3 var(--bp-mono,monospace);letter-spacing:.14em;text-transform:uppercase;color:#7CC0F7;margin-bottom:6px;}
body.bp .bpd-chip b{display:block;color:#FFFFFF;font-size:16px;line-height:1.25;overflow-wrap:anywhere;}
@keyframes bpdChip{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
body.bp .bpd-res{margin:18px 0 4px;}
body.bp .bpd-res__k{display:block;font:600 10px var(--bp-mono,monospace);letter-spacing:.16em;text-transform:uppercase;color:#7CC0F7;margin-bottom:10px;}
body.bp .bpd-res__row{display:flex;flex-wrap:wrap;gap:6px;}
body.bp .bpd-res__row i{font-style:normal;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;font:700 13px var(--bp-mono,monospace);color:#fff;
  background:linear-gradient(145deg,#2F7FE6,#133F8C);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 6px 14px -8px rgba(22,104,214,.9);
  animation:bpdChip .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0) * 35ms);}

/* questions: numbered, with an accent on the open one */
body.bp .bpd-sec--faq .bpd-faq{counter-reset:q;}
body.bp .bpd-sec--faq .bpd-faq summary{position:relative;padding-left:52px !important;}
body.bp .bpd-sec--faq .bpd-faq summary::before{counter-increment:q;content:counter(q,decimal-leading-zero);position:absolute;left:16px;top:50%;transform:translateY(-50%);
  font:700 12px var(--bp-mono,monospace);color:#1668D6;letter-spacing:.06em;}
body.bp .bpd-sec--faq .bpd-faq details[open]{border-color:#1668D6 !important;box-shadow:0 18px 40px -26px rgba(22,104,214,.6) !important;}

@media (max-width:1024px){
  body.bp .bpd-ovgrid{grid-template-columns:minmax(0,1fr);}
  body.bp .bpd-buy{position:relative;top:auto;display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;}
  body.bp .bpd-buy__v{height:170px;}
  body.bp .bpd-buy__v img{height:150px !important;}
  body.bp .bpd-buy__in{padding:16px 18px 16px 4px;}
  body.bp .bpd-chips{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:560px){
  body.bp .bpd-buy{grid-template-columns:minmax(0,1fr);}
  body.bp .bpd-buy__in{padding:4px 18px 18px;}
  body.bp .bpd-res__row i{width:26px;height:26px;font-size:12px;}
}
@media (prefers-reduced-motion:reduce){ body.bp .bpd-buy__v img,body.bp .bpd-chip,body.bp .bpd-res__row i{animation:none !important;} }
html body.bp .bpd-nav a:not(.bp-btn){color:#A9C3E0 !important;}
html body.bp .bpd-nav a.is-on:not(.bp-btn),html body.bp .bpd-nav a:not(.bp-btn):hover{color:#FFFFFF !important;}
html body.bp .bpd-body .bpd-sec.bpd-sec--sheet > h2,html body.bp .bpd-body .bpd-sec.bpd-sec--sheet h2{color:#FFFFFF !important;}
@media (max-width:1280px){
  body.bp .bpd-ovgrid{grid-template-columns:minmax(0,1fr);}
  body.bp .bpd-buy{position:relative;top:auto;display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;}
  body.bp .bpd-buy__v{height:190px;}
  body.bp .bpd-buy__v img{height:170px !important;}
  body.bp .bpd-buy__in{padding:18px 22px 18px 4px;}
}
@media (max-width:560px){
  body.bp .bpd-buy{grid-template-columns:minmax(0,1fr);}
  body.bp .bpd-buy__in{padding:4px 18px 18px;}
}/* ==========================================================================
   ds-99-zmobile.css — phones and small tablets.
   Loads last on purpose: full-bleed sections, the mobile header, the
   mega-menu drawer and the layout repairs found by the 375px audit.
   ========================================================================== */

/* ---------- 1. full bleed: the theme pads .site-main by 10px on phones ---------- */
@media (max-width:1024px){
  body.bp .site-main,
  body.bp #primary .site-main{padding-left:0 !important;padding-right:0 !important;}
  body.bp .container.space-blank{padding-left:0 !important;padding-right:0 !important;max-width:none !important;}
}
html,body.bp{overflow-x:clip;}
@supports not (overflow:clip){ html,body.bp{overflow-x:hidden;} }

/* grid items never force their track wider than the screen */
body.bp .entry-content [class*="__grid"] > *,
body.bp .bpx__grid > *{min-width:0;}

/* ---------- 2. mobile header ---------- */
@media (max-width:1024px){
  body.bp .bph{
    background:linear-gradient(180deg,rgba(5,10,19,.86),rgba(5,10,19,.72)) !important;
    -webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px);
    border-bottom:1px solid rgba(143,196,245,.14) !important;
    box-shadow:0 10px 30px -18px rgba(0,0,0,.7);
  }
  body.bp .bph::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;pointer-events:none;
    background:linear-gradient(90deg,transparent,rgba(96,172,242,.7) 30%,rgba(160,215,255,.95) 50%,rgba(96,172,242,.7) 70%,transparent);
    background-size:200% 100%;animation:bpmxLine 6s linear infinite;opacity:.55;}
  body.bp .bph.is-stuck{background:rgba(5,10,19,.9) !important;}
  body.bp .bph__in{height:64px !important;min-height:64px;display:flex !important;align-items:center;gap:10px;padding-left:16px !important;padding-right:14px !important;}
  body.bp .bph__logo{margin-right:auto !important;min-width:0;}
  body.bp .bph__logo .bph__wm small{display:none !important;}
  body.bp .bph .bph__wt,body.bp .bph.is-stuck .bph__wt{color:#F2F8FF !important;}
  body.bp .bph .bph__wt em{color:#F2F8FF !important;}
  body.bp .bph .bph__wt i{color:#7CC0F7 !important;}
  body.bp .bph .bph__cta{display:none !important;}
  body.bp .bph .bpsrch{display:inline-flex !important;order:2;width:44px;height:44px;min-width:44px;padding:0 !important;border-radius:12px;
    align-items:center;justify-content:center;border:1px solid rgba(143,196,245,.22) !important;background:rgba(255,255,255,.05) !important;color:#DCEBFA !important;}
  body.bp .bph .bpsrch span{display:none !important;}
  body.bp .bph .bpsrch svg{width:19px;height:19px;margin:0 !important;}
  body.bp .bph .bpburger,
  body.bp:not(.home) .bph .bpburger{order:3;display:inline-flex !important;width:44px;height:44px;border-radius:12px;
    background:linear-gradient(145deg,#1B5FD0,#123E8C) !important;border:1px solid rgba(160,210,255,.35) !important;
    box-shadow:0 6px 18px -6px rgba(30,110,230,.7),inset 0 1px 0 rgba(255,255,255,.18);}
  body.bp .bph .bpburger span,
  body.bp:not(.home) .bph .bpburger span{width:18px;background:#fff !important;}
  body.bp .bph .bpburger span::before,
  body.bp .bph .bpburger span::after,
  body.bp:not(.home) .bph .bpburger span::before,
  body.bp:not(.home) .bph .bpburger span::after{background:#fff !important;}
  body.bp .bph .bpburger span::after{width:11px;left:auto;right:0;}
  body.bp .bph .bpburger:active{transform:scale(.94);}
}
@keyframes bpmxLine{from{background-position:200% 0}to{background-position:-200% 0}}

/* ---------- 3. mega-menu drawer ---------- */
body.bp .bpdrawer.bpmx{
  position:fixed !important;inset:0 !important;height:100dvh !important;max-height:none !important;z-index:10050 !important;
  display:flex !important;flex-direction:column;overflow:hidden !important;
  background:#040913 !important;color:#E8F2FD;
  opacity:1;visibility:hidden;transform:none;pointer-events:none !important;
  clip-path:circle(0px at calc(100% - 36px) 32px);
  transition:clip-path .62s cubic-bezier(.7,0,.2,1),visibility 0s linear .62s;
}
body.bp .bpdrawer.bpmx.is-open{visibility:visible;pointer-events:auto !important;
  clip-path:circle(160% at calc(100% - 36px) 32px);
  transition:clip-path .7s cubic-bezier(.7,0,.2,1),visibility 0s;}
body.bp .bpdrawer.bpmx:not(.is-open){height:100dvh !important;}
body.bp .bpmx b,body.bp .bpmx strong{color:inherit;}
body.is-locked{overflow:hidden !important;touch-action:none;}
body.is-locked .bpmx{touch-action:pan-y;}

body.bp .bpmx__bg{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
body.bp .bpmx__bg i{position:absolute;display:block;border-radius:50%;filter:blur(60px);}
body.bp .bpmx__o1{width:340px;height:340px;right:-120px;top:-90px;background:radial-gradient(circle,rgba(40,120,235,.55),transparent 70%);animation:bpmxOrb 14s ease-in-out infinite alternate;}
body.bp .bpmx__o2{width:300px;height:300px;left:-140px;bottom:10%;background:radial-gradient(circle,rgba(90,190,255,.28),transparent 70%);animation:bpmxOrb 18s ease-in-out infinite alternate-reverse;}
body.bp .bpmx__bg .bpmx__grid{inset:0;border-radius:0;filter:none;opacity:.5;
  background-image:linear-gradient(rgba(143,196,245,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(143,196,245,.06) 1px,transparent 1px);
  background-size:28px 28px;-webkit-mask-image:radial-gradient(120% 70% at 80% 0%,#000 20%,transparent 75%);mask-image:radial-gradient(120% 70% at 80% 0%,#000 20%,transparent 75%);}
@keyframes bpmxOrb{from{transform:translate(0,0) scale(1)}to{transform:translate(-40px,60px) scale(1.15)}}

body.bp .bpmx__bar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 14px 0 16px;flex:0 0 auto;}
body.bp .bpmx__home{display:flex;align-items:center;gap:10px;text-decoration:none !important;min-width:0;}
body.bp .bpmx__home svg{width:34px !important;height:34px !important;flex:0 0 auto;}
body.bp .bpmx__home .bph__wm small{display:none !important;}
body.bp .bpmx__home .bph__wt{color:#F2F8FF !important;font-size:17px;}
body.bp .bpmx__home .bph__wt i{color:#7CC0F7 !important;}
body.bp .bpmx__x{width:44px;height:44px;border-radius:12px;border:1px solid rgba(160,210,255,.3);background:rgba(255,255,255,.06);
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;position:relative;}
body.bp .bpmx__x span,body.bp .bpmx__x span::before{display:block;width:18px;height:1.8px;background:#fff;border-radius:2px;transform:rotate(45deg);}
body.bp .bpmx__x span::before{content:"";transform:rotate(90deg);}
body.bp .bpmx.is-open .bpmx__x{animation:bpmxSpin .6s cubic-bezier(.2,.8,.2,1) .25s both;}
@keyframes bpmxSpin{from{transform:rotate(-90deg) scale(.6);opacity:0}to{transform:none;opacity:1}}

body.bp .bpmx__search{position:relative;z-index:2;margin:4px 16px 12px;height:50px;border-radius:14px;flex:0 0 auto;
  display:flex;align-items:center;gap:10px;padding:0 14px;text-align:left;cursor:pointer;
  border:1px solid rgba(143,196,245,.22);background:rgba(255,255,255,.05);color:#9FB6CF;font:500 14.5px/1 var(--bp-sans,Inter,sans-serif);}
body.bp .bpmx__search svg{width:19px;height:19px;color:#7CC0F7;flex:0 0 auto;}
body.bp .bpmx__search span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.bp .bpmx__search em{font:600 11px/1 var(--bp-mono,monospace);font-style:normal;letter-spacing:.08em;color:#7CC0F7;border:1px solid rgba(124,192,247,.35);border-radius:6px;padding:4px 6px;}

body.bp .bpmx__tabs{position:relative;z-index:2;display:flex;gap:4px;margin:0 16px;padding:4px;border-radius:14px;flex:0 0 auto;
  background:rgba(255,255,255,.04);border:1px solid rgba(143,196,245,.12);overflow-x:auto;scrollbar-width:none;}
body.bp .bpmx__tabs::-webkit-scrollbar{display:none;}
body.bp .bpmx__tabs button{position:relative;z-index:2;flex:1 0 auto;height:38px;padding:0 12px;border:0;border-radius:10px;background:transparent;cursor:pointer;
  font:600 13px/1 var(--bp-sans,Inter,sans-serif);letter-spacing:-.005em;color:#8FA6C0;transition:color .25s ease;}
body.bp .bpmx__tabs button[aria-selected="true"]{color:#fff;}
body.bp .bpmx__ink{position:absolute;z-index:1;top:4px;bottom:4px;left:0;width:60px;border-radius:10px;
  background:linear-gradient(145deg,#1E66D8,#1446A0);box-shadow:0 6px 16px -6px rgba(30,110,230,.8),inset 0 1px 0 rgba(255,255,255,.2);
  transition:transform .42s cubic-bezier(.2,.9,.2,1),width .42s cubic-bezier(.2,.9,.2,1);}

body.bp .bpmx__panes{position:relative !important;z-index:2;flex:1 1 auto;min-height:0;overflow-y:auto !important;-webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;padding:16px 16px 20px !important;}
body.bp .bpmx__p{display:none;}
body.bp .bpmx__p.is-on{display:block;}
body.bp .bpmx__p > *,body.bp .bpmx__fams > *,body.bp .bpmx__list > *{opacity:0;transform:translateY(16px) scale(.985);}
body.bp .bpmx.is-open .bpmx__p.is-on > *,body.bp .bpmx.is-open .bpmx__p.is-on .bpmx__fams > *,body.bp .bpmx.is-open .bpmx__p.is-on .bpmx__list > *{animation:bpmxIn .55s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(.18s + var(--i,0) * 45ms);}
@keyframes bpmxIn{to{opacity:1;transform:none;}}
body.bp .bpmx__p > .bpmx__fams,body.bp .bpmx__p > .bpmx__list{opacity:1;transform:none;animation:none !important;}

/* catalogue */
body.bp .bpmx__hero{position:relative;display:flex;align-items:center;gap:6px;min-height:150px;padding:16px 16px 16px 8px;border-radius:18px;overflow:hidden;text-decoration:none !important;
  background:radial-gradient(120% 140% at 0% 100%,rgba(40,120,235,.45),transparent 60%),linear-gradient(160deg,#0E1D36,#081223);
  border:1px solid rgba(143,196,245,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);}
body.bp .bpmx__hero-v{position:relative;flex:0 0 118px;height:132px;}
body.bp .bpmx__hero-v img{position:absolute;bottom:-6px;width:52px !important;height:auto;filter:drop-shadow(0 10px 14px rgba(0,0,0,.55));transition:transform .5s cubic-bezier(.2,.8,.2,1);}
body.bp .bpmx__hero-v img:nth-child(1){left:0;transform:rotate(-9deg);}
body.bp .bpmx__hero-v img:nth-child(2){left:33px;width:58px !important;z-index:2;bottom:-2px;}
body.bp .bpmx__hero-v img:nth-child(3){left:70px;transform:rotate(9deg);}
body.bp .bpmx.is-open .bpmx__hero-v img{animation:bpmxVial 1s cubic-bezier(.2,.9,.2,1) both;}
body.bp .bpmx.is-open .bpmx__hero-v img:nth-child(1){animation-delay:.3s;--r:-9deg;}
body.bp .bpmx.is-open .bpmx__hero-v img:nth-child(2){animation-delay:.38s;--r:0deg;}
body.bp .bpmx.is-open .bpmx__hero-v img:nth-child(3){animation-delay:.46s;--r:9deg;}
@keyframes bpmxVial{from{transform:translateY(60px) rotate(0) scale(.8);opacity:0}to{transform:rotate(var(--r));opacity:1}}
body.bp .bpmx__hero-t{display:flex;flex-direction:column;gap:5px;min-width:0;}
body.bp .bpmx__hero-t small{font:600 10.5px/1 var(--bp-mono,monospace);letter-spacing:.16em;text-transform:uppercase;color:#7CC0F7;}
body.bp .bpmx__hero-t b{font-size:22px;line-height:1.05;letter-spacing:-.03em;color:#fff;font-weight:700;}
body.bp .bpmx__hero-t em{font-style:normal;font-size:13px;line-height:1.4;color:#A9BDD4;}
body.bp .bpmx__hero-t i{font-style:normal;font-size:13px;font-weight:600;color:#fff;margin-top:4px;}
body.bp .bpmx__fams{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;}
body.bp .bpmx__fam{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:104px;padding:12px;border-radius:16px;overflow:hidden;text-decoration:none !important;
  background:linear-gradient(165deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid rgba(143,196,245,.14);}
body.bp .bpmx__fam img{position:absolute;right:-4px;top:-10px;width:44px !important;height:auto;transform:rotate(12deg);opacity:.95;filter:drop-shadow(0 8px 10px rgba(0,0,0,.5));transition:transform .4s cubic-bezier(.2,.8,.2,1);}
body.bp .bpmx__fam:active img{transform:rotate(4deg) translateY(-4px);}
body.bp .bpmx__fam b{position:relative;font-size:14px;line-height:1.2;font-weight:650;color:#F2F8FF;padding-right:30px;letter-spacing:-.01em;}
body.bp .bpmx__fam i{position:relative;font:600 11px/1 var(--bp-mono,monospace);font-style:normal;color:#7CC0F7;margin-top:6px;}
body.bp .bpmx__fam i::after{content:" compounds";color:#6F87A3;}

/* pricing */
body.bp .bpmx__lad{padding:16px;border-radius:18px;background:linear-gradient(160deg,#0E1D36,#081223);border:1px solid rgba(143,196,245,.2);}
body.bp .bpmx__lad small,body.bp .bpmx__chips > span{display:block;font:600 10.5px/1 var(--bp-mono,monospace);letter-spacing:.16em;text-transform:uppercase;color:#7CC0F7;margin-bottom:12px;}
body.bp .bpmx__lr{position:relative;display:flex;justify-content:space-between;align-items:center;height:36px;padding:0 12px;margin-bottom:6px;border-radius:10px;overflow:hidden;background:rgba(255,255,255,.04);}
body.bp .bpmx__lr::before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,rgba(30,102,216,.55),rgba(80,160,245,.35));border-radius:10px;transition:width 1s cubic-bezier(.2,.9,.2,1) .35s;}
body.bp .bpmx.is-open .bpmx__p.is-on .bpmx__lr::before{width:var(--w);}
body.bp .bpmx__lr b,body.bp .bpmx__lr i{position:relative;font-size:13.5px;color:#E8F2FD;font-weight:600;}
body.bp .bpmx__lr i{font-style:normal;font-family:var(--bp-mono,monospace);}
body.bp .bpmx__lr.is-top::before{background:linear-gradient(90deg,#1E66D8,#58B0FF);}
body.bp .bpmx__lr.is-top i{color:#fff;}
body.bp .bpmx__lad p{margin:10px 0 0 !important;font-size:12.5px;line-height:1.5;color:#98AECA;}

body.bp .bpmx__list{display:flex;flex-direction:column;margin-top:12px;border-radius:18px;overflow:hidden;border:1px solid rgba(143,196,245,.14);background:rgba(255,255,255,.03);}
body.bp .bpmx__list a{position:relative;display:flex;flex-direction:column;gap:3px;padding:14px 44px 14px 16px;text-decoration:none !important;border-top:1px solid rgba(143,196,245,.1);}
body.bp .bpmx__list a:first-child{border-top:0;}
body.bp .bpmx__list a::after{content:"";position:absolute;right:18px;top:50%;width:8px;height:8px;border-top:1.6px solid #7CC0F7;border-right:1.6px solid #7CC0F7;transform:translateY(-50%) rotate(45deg);}
body.bp .bpmx__list a:active{background:rgba(124,192,247,.08);}
body.bp .bpmx__list b{font-size:15.5px;font-weight:650;color:#F2F8FF;letter-spacing:-.01em;}
body.bp .bpmx__list span{font-size:12.5px;color:#8FA6C0;line-height:1.35;}

/* testing */
body.bp .bpmx__stat{display:flex;align-items:center;gap:14px;padding:16px;border-radius:18px;background:linear-gradient(160deg,#0E1D36,#081223);border:1px solid rgba(143,196,245,.2);}
body.bp .bpmx__stat svg{flex:0 0 84px;width:84px;height:84px;transform:rotate(-90deg);}
body.bp .bpmx__stat circle{fill:none;stroke:rgba(143,196,245,.14);stroke-width:8;}
body.bp .bpmx__stat circle.is-on{stroke:url(#bpmxG);stroke:#58B0FF;stroke-linecap:round;stroke-dasharray:327;stroke-dashoffset:327;transition:stroke-dashoffset 1.4s cubic-bezier(.2,.9,.2,1) .35s;}
body.bp .bpmx.is-open .bpmx__p.is-on .bpmx__stat circle.is-on{stroke-dashoffset:4;}
body.bp .bpmx__stat b{display:block;font-size:26px;font-weight:750;letter-spacing:-.03em;color:#fff;line-height:1;}
body.bp .bpmx__stat em{display:block;font-style:normal;font-size:12.5px;line-height:1.45;color:#98AECA;margin-top:6px;}

/* chips */
body.bp .bpmx__chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px;}
body.bp .bpmx__chips > span{width:100%;margin-bottom:2px;}
body.bp .bpmx__chips a{display:inline-flex;align-items:center;height:34px;padding:0 13px;border-radius:999px;text-decoration:none !important;
  font-size:13px;font-weight:550;color:#DCEBFA !important;background:rgba(255,255,255,.05);border:1px solid rgba(143,196,245,.18);}
body.bp .bpmx__chips a:active{background:rgba(30,102,216,.5);border-color:#58B0FF;}
body.bp .bpmx__chips--sm a{height:30px;font-size:12px;color:#A9BDD4 !important;}

/* canada */
body.bp .bpmx__map{position:relative;display:flex;align-items:center;gap:14px;padding:18px 16px;border-radius:18px;text-decoration:none !important;overflow:hidden;
  background:radial-gradient(90% 120% at 100% 0%,rgba(40,120,235,.45),transparent 60%),linear-gradient(160deg,#0E1D36,#081223);border:1px solid rgba(143,196,245,.2);}
body.bp .bpmx__map > b{font-size:54px;font-weight:800;letter-spacing:-.05em;line-height:.9;color:#fff;background:linear-gradient(180deg,#fff,#7CC0F7);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
body.bp .bpmx__map strong{display:block;color:#fff;font-size:15px;}
body.bp .bpmx__map em{display:block;font-style:normal;font-size:12.5px;line-height:1.45;color:#98AECA;margin-top:3px;}
body.bp .bpmx__map > i{font-style:normal;color:#7CC0F7;font-size:18px;margin-left:auto;}

/* foot */
body.bp .bpmx__foot{position:relative !important;z-index:3;flex:0 0 auto;display:block !important;padding:12px 16px calc(14px + env(safe-area-inset-bottom)) !important;
  border-top:1px solid rgba(143,196,245,.14) !important;background:linear-gradient(180deg,rgba(4,9,19,.6),#040913);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);}
body.bp .bpmx__trust{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px;}
body.bp .bpmx__trust span{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font:500 10px/1.2 var(--bp-mono,monospace);letter-spacing:.1em;text-transform:uppercase;color:#7D93AE;}
body.bp .bpmx__trust b{font:700 14px/1 var(--bp-sans,Inter,sans-serif);letter-spacing:-.01em;text-transform:none;color:#fff;}
body.bp .bpmx__cta{display:grid;grid-template-columns:1.35fr 1fr;gap:8px;}
body.bp .bpmx__cta .bp-btn{width:100% !important;height:48px;justify-content:center;padding:0 12px !important;font-size:14.5px !important;}
body.bp .bpmx.is-open .bpmx__foot{animation:bpmxUp .6s cubic-bezier(.2,.8,.2,1) .3s both;}
@keyframes bpmxUp{from{transform:translateY(100%)}to{transform:none}}

@media (min-width:1025px){ body.bp .bpdrawer.bpmx{display:none !important;} }
@media (min-width:560px) and (max-width:1024px){
  body.bp .bpmx__fams{grid-template-columns:repeat(4,1fr);}
  body.bp .bpmx__panes,body.bp .bpmx__search,body.bp .bpmx__tabs{max-width:720px;margin-left:auto !important;margin-right:auto !important;width:calc(100% - 32px);}
  body.bp .bpmx__panes{width:100%;}
}
@media (prefers-reduced-motion:reduce){
  body.bp .bpdrawer.bpmx,body.bp .bpdrawer.bpmx.is-open{transition:none;}
  body.bp .bpmx *{animation:none !important;transition:none !important;opacity:1 !important;transform:none !important;}
}

body.admin-bar .bpdrawer.bpmx{top:46px !important;height:calc(100dvh - 46px) !important;}
@media (min-width:783px){ body.admin-bar .bpdrawer.bpmx{top:32px !important;height:calc(100dvh - 32px) !important;} }
/* ---------- 4. secondary pages on phones: edge-to-edge heroes, one gutter ---------- */
@media (max-width:767px){
  html body.bp:not(.home) .container.space-content,html body.bp:not(.home):not(.bp-catalogue) .container.space-content,html body.bp:not(.home):not(.bp-catalogue) .container.space-blank{padding-left:0 !important;padding-right:0 !important;}
  body.bp .bppg__hero{margin-left:0 !important;margin-right:0 !important;border-radius:0 !important;width:100% !important;}
  body.bp .bppg__hero-in{padding-left:20px !important;padding-right:20px !important;}
  body.bp:not(.home) .entry-content > .bp-sec:not(.bpcin):not(.bp-sec--dark):not(.bpsx-moment),
  body.bp:not(.home) .entry-content > .bppg__sec{padding-left:20px !important;padding-right:20px !important;}
  body.bp .entry-content > p,body.bp .entry-content > h2,body.bp .entry-content > h3,body.bp .entry-content > h4,
  body.bp .entry-content > ul,body.bp .entry-content > ol,body.bp .entry-content > hr,body.bp .entry-content > figure,
  body.bp .entry-content > table,body.bp .entry-content > div:not([class*="bp"]):not(.elementor):not(.woocommerce):not([class*="wp-block"]),
  body.bp .entry-content > .elementor,body.bp .entry-content > .woocommerce,body.bp .entry-content > [class*="wp-block-woocommerce"],
  body.bp .entry-content > .wp-block-paragraph,body.bp .entry-content > .wp-block-heading{margin-left:20px !important;margin-right:20px !important;}
  body.bp .entry-content > .elementor .elementor-section.elementor-section-stretched{left:0 !important;width:100% !important;}

  /* grids never blow out */
  body.bp .bppg__sec,body.bp .bppg__sec--split,body.bp .bpsx-split,body.bp .bppg__body{grid-template-columns:minmax(0,1fr) !important;}
  body.bp .bppg__sec > *,body.bp .bppg__body > *,body.bp .bpsx-split > *{min-width:0 !important;max-width:100% !important;}
  body.bp .bpsx-checks{grid-template-columns:minmax(0,1fr) !important;}
  body.bp .bpsx-notes{grid-template-columns:minmax(0,1fr) !important;}
  body.bp .bpsx-cols{columns:1 !important;column-count:1 !important;}

  /* tables fit the screen: labelled rows scroll sideways inside their own box */
  body.bp .entry-content table{width:100% !important;max-width:100% !important;table-layout:auto;border-collapse:collapse;}
  body.bp .entry-content table th,body.bp .entry-content table td{white-space:normal !important;min-width:0 !important;font-size:13.5px;padding:10px 8px !important;overflow-wrap:anywhere;hyphens:auto;}
  body.bp .entry-content table.bpladder{display:table;table-layout:fixed;}
  body.bp .entry-content table.bpladder th,body.bp .entry-content table.bpladder td{min-width:0;padding:10px 8px !important;font-size:13.5px;word-break:normal;overflow-wrap:anywhere;}

  /* type scale sanity */
  body.bp .bppg__sec .bppg__head h2,body.bp .entry-content > h2{font-size:clamp(26px,7.4vw,34px) !important;line-height:1.08 !important;overflow-wrap:break-word;}
  body.bp .bppg__body h3,body.bp .entry-content > h3{font-size:clamp(19px,5.4vw,23px) !important;}
  body.bp .entry-content p,body.bp .entry-content li{overflow-wrap:break-word;}
  body.bp .bppg__h1{font-size:clamp(34px,10vw,46px) !important;line-height:1.02 !important;}
}

/* ---------- 5. audit repairs (375px) ---------- */
@media (max-width:767px){
  body.bp .bp-split{grid-template-columns:minmax(0,1fr) !important;}
  body.bp .bp-split > *{min-width:0 !important;}
  body.bp .bpsx-moment__eye,body.bp .bpsx-moment__l{white-space:normal !important;max-width:100%;}
  body.bp .bp-rule span,body.bp .bp-rule{white-space:normal !important;}
  body.bp .bpcat__chips{flex-wrap:nowrap !important;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
    margin-right:-20px !important;padding-right:20px !important;scroll-snap-type:x proximity;}
  body.bp .bpcat__chips::-webkit-scrollbar{display:none;}
  body.bp .bpcat__chips .bpchip{flex:0 0 auto !important;width:auto !important;scroll-snap-align:start;}
  body.bp .woocommerce a.button,body.bp .woocommerce button.button{max-width:100%;white-space:normal;}
  body.bp .bpsx-moment{grid-template-columns:minmax(0,1fr) !important;}
  body.bp .bpsx-moment__in{min-width:0 !important;max-width:100% !important;}
  body.bp .bpsx-moment__big{font-size:clamp(40px,13.5vw,72px) !important;white-space:nowrap;}
  body.bp .entry-content > .elementor,body.bp .entry-content > .woocommerce,body.bp .entry-content > [class*="wp-block-woocommerce"],
  body.bp .entry-content > p,body.bp .entry-content > h2,body.bp .entry-content > h3,body.bp .entry-content > ul,body.bp .entry-content > ol{width:auto !important;max-width:none !important;}
  body.bp .bpsp__r{gap:12px;}
  body.bp .bpsp__v{white-space:normal !important;text-align:right;min-width:0;}
}

/* ---------- 6. mobile header stays dark glass on every surface ---------- */
@media (max-width:1024px){
  html body.bp header.bph,html body.bp header.bph.is-light,html body.bp header.bph.is-stuck,html body.bp header.bph.is-light.is-stuck{
    background:linear-gradient(180deg,rgba(5,10,19,.9),rgba(6,12,23,.8)) !important;
    border-bottom:1px solid rgba(143,196,245,.16) !important;}
  html body.bp header.bph .bph__wm,html body.bp header.bph .bph__wm b,
  html body.bp header.bph .bph__wm .bph__wt,html body.bp header.bph .bph__wm .bph__wt b,html body.bp header.bph .bph__wm .bph__wt em,
  html body.bp header.bph.is-light .bph__wm,html body.bp header.bph.is-light .bph__wm b,
  html body.bp header.bph.is-light .bph__wm .bph__wt,html body.bp header.bph.is-light .bph__wm .bph__wt b,html body.bp header.bph.is-light .bph__wm .bph__wt em{color:#F2F8FF !important;}
  html body.bp header.bph .bph__wm .bph__wt i,html body.bp header.bph.is-light .bph__wm .bph__wt i{color:#7CC0F7 !important;}
  html body.bp header.bph .bpsrch,html body.bp header.bph.is-light .bpsrch{background:rgba(255,255,255,.06) !important;border-color:rgba(143,196,245,.24) !important;color:#DCEBFA !important;}
  html body.bp header.bph .bpburger,html body.bp header.bph.is-light .bpburger{background:linear-gradient(145deg,#1B5FD0,#123E8C) !important;border-color:rgba(160,210,255,.35) !important;}
  html body.bp header.bph.is-light .bpburger span,html body.bp header.bph.is-light .bpburger span::before,html body.bp header.bph.is-light .bpburger span::after{background:#fff !important;}
}
@media (max-width:767px){
  html body.bp:not(.home):not(.bp-catalogue) .container.space-content:has(> .bppg__hero),html body.bp:not(.home):not(.bp-catalogue) .container.space-blank:has(> .bppg__hero){padding-top:0 !important;}
  html body.bp:not(.home):not(.bp-catalogue) .container:has(> .bppg__hero) > .bppg__hero{margin-top:0 !important;}
}
body.bp .bpmx__chips a[aria-current]{background:linear-gradient(145deg,#1E66D8,#1446A0) !important;border-color:#58B0FF !important;color:#fff !important;}
body.bp .bpmx__list a[aria-current]{background:rgba(30,102,216,.16);}
body.bp .bpmx__list a[aria-current] b::after{content:"You are here";margin-left:8px;font:600 9.5px/1 var(--bp-mono,monospace);letter-spacing:.12em;text-transform:uppercase;color:#7CC0F7;vertical-align:middle;}
body.bp .bpmx__tabs button{padding:0 10px;}
/* ---------- 7. swipe rails: long card grids become one-row carousels on phones ---------- */
@media (max-width:767px){
  body.bp .bpshop,body.bp .bpexp__g{display:flex !important;grid-template-columns:none !important;flex-wrap:nowrap !important;overflow-x:auto;overflow-y:hidden;
    scroll-snap-type:x mandatory;gap:12px !important;margin-left:-20px !important;margin-right:-20px !important;padding:8px 20px 22px !important;
    scroll-padding-left:20px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;}
  body.bp .bpshop::-webkit-scrollbar,body.bp .bpexp__g::-webkit-scrollbar{display:none;}
  body.bp .bpshop > .bpp{flex:0 0 74vw !important;max-width:300px;scroll-snap-align:start;min-width:0;}
  body.bp .bpshop .bpp__top{aspect-ratio:auto !important;height:260px !important;}
  body.bp .bpshop .bpp__img{height:calc(100% - 16px) !important;width:auto !important;left:50% !important;transform:translateX(-50%);object-fit:contain;}
  body.bp .bpexp__g > .bpexp__c{flex:0 0 62vw !important;max-width:250px;scroll-snap-align:start;min-width:0;}
  body.bp .bpexp__g > .bpexp__c[hidden],body.bp .bpexp__g > .bpexp__c.is-off{display:none !important;}
  body.bp .bpexp__im{aspect-ratio:auto !important;height:230px !important;overflow:hidden;place-items:center;}
  body.bp .bpexp__im img{height:100% !important;width:auto !important;max-width:100%;object-fit:contain;}
  body.bp .bpexp__tabs{flex-wrap:nowrap !important;overflow-x:auto;scrollbar-width:none;margin-right:-20px !important;padding-right:20px !important;}
  body.bp .bpexp__tabs::-webkit-scrollbar{display:none;}
  body.bp .bpexp__tabs > *{flex:0 0 auto !important;}
  .bpcar{display:flex;align-items:center;gap:12px;margin:2px 0 0;font:600 11px/1 var(--bp-mono,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--bp-ink-3,#5F738C);}
  .bpcar__t{flex:1;height:3px;border-radius:3px;background:rgba(22,104,214,.14);overflow:hidden;position:relative;}
  .bpcar__t i{position:absolute;left:0;top:0;bottom:0;width:20%;border-radius:3px;background:linear-gradient(90deg,#1668D6,#58B0FF);transition:transform .15s linear;}
  .bpcar b{color:var(--bp-ink,#0A1222);font-weight:700;}
  .bpcar__s{display:inline-flex;align-items:center;gap:6px;}
  .bpcar__s::after{content:"";width:18px;height:1.5px;background:currentColor;animation:bpcarNudge 1.6s ease-in-out infinite;}
  @keyframes bpcarNudge{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}
}
@media (min-width:768px){ .bpcar{display:none !important;} }
@media (max-width:600px){
  html body.bp .bppg__cards,html body.bp .bppg__cards:has(> li){grid-template-columns:minmax(0,1fr) !important;}
}
@media (max-width:767px){
  html body.bp.single-product:not(.home):not(.bp-catalogue) .container.space-content{padding-top:12px !important;}
}
/* ---------- 8. catalogue on phones: every product on one page, two-up grid, no swipe ---------- */
@media (max-width:767px){
  html body.bp.bp-catalogue .bpshop{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;flex-wrap:wrap !important;overflow:visible !important;
    scroll-snap-type:none !important;gap:12px 10px !important;margin:0 !important;padding:4px 0 8px !important;}
  html body.bp.bp-catalogue .bpshop > .bpp{flex:none !important;max-width:none !important;width:auto !important;scroll-snap-align:none;border-radius:14px;}
  html body.bp.bp-catalogue .bpshop .bpp__top{height:auto !important;aspect-ratio:4/5 !important;padding:10px 6px !important;}
  html body.bp.bp-catalogue .bpshop .bpp__img{height:calc(100% - 10px) !important;}
  html body.bp.bp-catalogue .bpshop .bpp__tag{font-size:8.5px !important;padding:4px 7px !important;letter-spacing:.08em;max-width:calc(100% - 16px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  html body.bp.bp-catalogue .bpshop .bpp__b{padding:11px 11px 12px !important;}
  html body.bp.bp-catalogue .bpshop .bpp h3{font-size:14px !important;line-height:1.25 !important;min-height:2.5em;}
  html body.bp.bp-catalogue .bpshop .bpp__sub{font-size:10px !important;}
  html body.bp.bp-catalogue .bpshop .bpp__foot{padding-top:8px !important;flex-direction:column;align-items:flex-start !important;gap:2px;}
  html body.bp.bp-catalogue .bpshop .bpp__pr{font-size:16.5px !important;}
  html body.bp.bp-catalogue .bpshop .bpp__pr i{font-size:10px;}
  html body.bp.bp-catalogue .bpshop .bpp__was{font-size:10.5px !important;}
  html body.bp.bp-catalogue .bpcar{display:none !important;}
  html body.bp.bp-catalogue .bpcat__chips{flex-wrap:wrap !important;overflow:visible !important;margin-right:0 !important;padding-right:0 !important;gap:6px !important;}
  html body.bp.bp-catalogue .bpcat__chips > *{flex:0 1 auto !important;font-size:11.5px !important;padding:7px 10px !important;}
}
@media (max-width:359px){ html body.bp.bp-catalogue .bpshop{grid-template-columns:minmax(0,1fr) !important;} }
@media (max-width:767px){
  html body.bp.bp-catalogue .bpcat__chips{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:6px !important;}
  html body.bp.bp-catalogue .bpcat__chips > *{min-width:0;width:auto !important;justify-content:space-between;white-space:normal !important;letter-spacing:0 !important;
    font-size:11px !important;line-height:1.2 !important;padding:8px 9px 8px 10px !important;border-radius:10px !important;text-align:left;}
  html body.bp.bp-catalogue .bpcat__chips > *::before{display:none !important;}
  html body.bp.bp-catalogue .bpcat__chips > * i{flex:0 0 auto;margin-left:6px;}
  html body.bp.bp-catalogue .bpshop{align-items:stretch;}
}
@media (max-width:767px){
  html body.bp.bp-catalogue .bpshop .bpp__pr .amount,html body.bp.bp-catalogue .bpshop .bpp__pr .amount *{font-size:21px !important;letter-spacing:-.02em;}
  html body.bp.bp-catalogue .bpshop .bpp__sub{line-height:1.35 !important;}
}/* homepage "vial, explained" section: phone layout (loaded last) */
@media (max-width:900px){
  body.bp .bpanat__turn{display:none !important;}
  body.bp .bpanat .bpanat__vial{opacity:1 !important;height:320px !important;position:relative !important;left:auto !important;top:auto !important;transform:none !important;z-index:1;}
  body.bp .bpanat__head{padding:64px 20px 0 !important;}
  body.bp .bpanat__stage{width:100% !important;padding:16px 16px 8px !important;gap:12px !important;counter-reset:bpanat;}
  body.bp .bpanat .bpanat__glow{display:block !important;top:180px !important;width:300px !important;max-width:80vw;z-index:0;}
  body.bp .bpanat .bpanat__co,
  body.bp .bpanat .bpanat__co.is-on{
    position:relative !important;left:auto !important;top:auto !important;transform:none !important;
    opacity:1 !important;filter:none !important;width:100% !important;max-width:440px !important;
    text-align:left !important;box-sizing:border-box;padding:16px 16px 16px 58px !important;z-index:1;
    counter-increment:bpanat;
  }
  body.bp .bpanat .bpanat__co--l::before,
  body.bp .bpanat .bpanat__co--r::before{
    content:counter(bpanat, decimal-leading-zero) !important;left:16px !important;right:auto !important;top:17px !important;
    width:28px !important;height:28px !important;margin:0 !important;border-radius:8px !important;
    display:flex;align-items:center;justify-content:center;
    background:rgba(79,169,245,.14) !important;border:1px solid rgba(125,192,245,.35);
    color:#8FD8FF;font:600 11.5px/1 "IBM Plex Mono",ui-monospace,monospace;box-shadow:none !important;opacity:1 !important;
  }
  body.bp .bpanat__prog{display:none !important;}
}