/* Forever Health Rx — home page only (v13 skin, v14 white 3D-logo hero 2026-09-25). Loaded after site.css.
   WHITE-dominant per the Brand Book: light body; navy reserved for the hero molecular band,
   the #book band and the shared chrome. Layout is v11's; only the skin changed.
   The .page-bg molecular render now lives INSIDE the hero (band), not behind the page. */

body.home{
  background:var(--off); color:var(--text);
  /* light values for the v11 token names still used below */
  --line-1:var(--line); --line-2:rgba(0,32,79,.14); --line-hi:rgba(255,255,255,.7);
  --surface-1:var(--white); --surface-2:var(--white); --surface-inset:#E9F0F6;
  --key-tl:var(--white); --key-tr:var(--steel-tint); --fill-bl:var(--ice);
  --shadow-d1:var(--shadow-sm); --shadow-d2:var(--shadow-md);
}
.home .stack{ gap:0; }
.home .block{ border-radius:0; background:transparent; padding:clamp(72px,9vw,128px) 0; overflow:visible; border-top:1px solid var(--line-1); position:relative; }
.home .block::before{ display:none; }
.home .block > *{ position:relative; }
.home .section-head h2,.home h2{ font-family:var(--font); font-weight:400; font-size:clamp(34px,3.8vw,56px); line-height:1.05; letter-spacing:-.015em; max-width:16ch; color:var(--navy); }
.home .section-head.center h2{ margin-inline:auto; }
.home h3{ font-weight:400; }
.home .section-head.row{ max-width:none; }


/* entrance */
.js .tr .line{ display:block; overflow:hidden; }
.js .tr .line > span{ display:block; transform:translateY(112%); animation:rise 1s var(--ease) forwards; }
.js .tr .line:nth-child(2) > span{ animation-delay:.12s; }
.js .tr .line:nth-child(3) > span{ animation-delay:.24s; }
@keyframes rise{ to{ transform:none; } }
@keyframes fadeup{ to{ opacity:1; transform:none; } }
@keyframes panel{ to{ opacity:1; transform:none; } }

/* scroll reveal (IO adds .in; without JS everything is visible) */
.js .reveal,.js .reveal-stagger > *{ opacity:0; transform:translateY(20px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.js .reveal.in,.js .reveal-stagger.in > *{ opacity:1; transform:none; }
.js .reveal-stagger.in > :nth-child(2){ transition-delay:.08s; } .js .reveal-stagger.in > :nth-child(3){ transition-delay:.16s; } .js .reveal-stagger.in > :nth-child(4){ transition-delay:.24s; }

/* ---------- marquee ---------- */
.home .marquee{ border-top:1px solid var(--line-1); border-bottom:1px solid var(--line-1); padding:16px 0; margin:0; background:var(--white); }
.home .marquee__item{ font-size:13px; letter-spacing:.1em; }

/* ---------- vision ---------- */
.home #vision{ background:var(--white); }
.vision__grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(28px,5vw,72px); align-items:start; }
.vision__lead{ display:flex; flex-direction:column; gap:16px; }
.vision__lead h2{ font-family:var(--font); }
.vision__frame{ color:var(--steel-deep); font-size:14px; line-height:1.6; }
.vision__lead .lead{ color:var(--muted); }
.vision__body{ background:var(--grad-ice); border:1px solid var(--line-1); border-radius:30px; padding:clamp(24px,3.5vw,44px); display:flex; flex-direction:column; gap:16px; box-shadow:inset 0 1px 0 var(--line-hi); }
.vision__body p{ color:var(--text); font-size:16.5px; line-height:1.65; }
.vision__body .vision__quote{ font-family:var(--font); font-size:clamp(20px,1.8vw,24px); line-height:1.35; color:var(--navy); padding-top:18px; border-top:1px solid var(--line-2); }
.vision__body .vision__note{ font-size:12.5px; color:var(--steel-deep); }

/* ---------- products + ISI ---------- */
.home .products{ background:transparent; padding-top:clamp(72px,9vw,128px); }
.products__band{ display:none !important; }
/* v14 fix: the products intro still carried the old navy-band colours (white lead on the light body, live since v13) */
.home .products__head{ color:var(--text); }
.home .products__head .lead{ color:var(--muted); margin-inline:auto; }
.home .products__head .eyebrow{ color:#5E7A93; }   /* Steel Ink: steel-toned text that passes contrast on white */
.pgrid2{ display:grid; grid-template-columns:1fr 1fr; gap:18px; max-width:1180px; margin:0 auto; }
.home .prod{ padding:22px 22px 20px; border-radius:24px; display:flex; flex-direction:column; gap:12px; text-align:center; background:var(--white); border:1px solid var(--line-1); box-shadow:var(--shadow-sm); }
.home .prod__title{ font-size:24px; color:var(--navy); font-weight:400; }
.home .prod__title sup{ font-size:.5em; color:var(--steel-deep); vertical-align:top; margin-left:4px; }
.home .prod__tag{ color:var(--steel-deep); font-size:12px; letter-spacing:.12em; text-transform:uppercase; font-weight:500; }
.home .prod__fig{ background:#EEF3F8; border-radius:18px; aspect-ratio:4/3; display:grid; place-items:center; overflow:hidden; }
.home .prod__img{ width:min(58%,230px); height:auto; border-radius:0; box-shadow:none; }
.home .prod__note{ font-size:12.5px; color:var(--steel-deep); }
.home .prod__desc{ color:var(--muted); font-size:15.5px; }
.home .prod__actions{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:4px; }
.home .prod__actions .btn{ min-height:48px; width:100%; padding:0 14px; font-size:15px; }
.home .prod__isi{ display:flex; justify-content:center; }
.isi-block{ max-width:1180px; margin:32px auto 0; display:flex; flex-direction:column; gap:12px; }
.isi-block__head h3{ color:var(--navy); font-size:20px; }
.isi-block__head p{ color:var(--muted); font-size:14.5px; margin-top:6px; }
.home details.isi{ border-radius:22px; }
.home details.isi summary{ padding:18px 22px; font-size:16px; font-weight:500; }
.home .isi__body{ padding:0 22px 22px; }

/* ---------- weight-loss panel (#axes) ---------- */
.home .stackcards{ padding:clamp(72px,9vw,128px) 0; border-top:1px solid var(--line-1); }
.home .info{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(24px,4vw,56px); border-radius:30px; padding:clamp(28px,4vw,56px); background:var(--white); border:1px solid var(--line-1); box-shadow:inset 0 1px 0 var(--line-hi), var(--shadow-d2); position:relative; overflow:hidden; color:var(--text); min-height:0; }
.home .info--lilac{ background-image:none; }
.home .info__copy{ display:flex; flex-direction:column; justify-content:space-between; gap:28px; }
.home .info__eyebrow{ display:inline-flex; align-items:center; gap:10px; font-size:12px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--steel-deep); margin-bottom:14px; }
.home .info__eyebrow::before{ content:""; width:18px; height:1px; background:rgba(0,32,79,.35); }
.home .info h2{ font-family:var(--font); color:var(--navy); }
.home .info__list{ list-style:none; padding:0; margin:0 0 22px; display:flex; flex-direction:column; gap:12px; }
.home .info__list li{ position:relative; padding-left:34px; color:var(--muted); font-size:15.5px; line-height:1.55; }
.home .info__list li::before{ content:""; position:absolute; left:0; top:1px; width:22px; height:22px; border-radius:50%; border:1px solid var(--steel-deep); }
.home .info__list li::after{ content:""; position:absolute; left:7px; top:6px; width:6px; height:10px; border:solid var(--steel-deep); border-width:0 1.5px 1.5px 0; transform:rotate(45deg); }
.home .info__visual{ position:relative; background:var(--surface-inset); border-radius:22px; padding:24px; min-height:440px; overflow:hidden; display:flex; flex-direction:column; border:1px solid var(--line-1); }
.home .info__ring{ display:none; }
.home .info__visual small{ color:var(--steel-deep); font-size:12px; letter-spacing:.12em; text-transform:uppercase; font-weight:500; }
.home .info__visual h3{ color:var(--navy); font-size:22px; margin-top:8px; max-width:14ch; }
.home .info__person{ margin-top:auto; align-self:center; width:min(66%,280px); -webkit-mask-image:linear-gradient(180deg,#000 72%,transparent); mask-image:linear-gradient(180deg,#000 72%,transparent); }
.home .info__person img{ width:100%; height:auto; display:block; }
.home .info__tiles{ position:absolute; right:22px; bottom:22px; width:210px; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.home .info__tile{ background:var(--white); border:1px solid var(--line-1); border-radius:12px; padding:10px 10px; font-size:12px; line-height:1.3; color:var(--text); display:flex; gap:8px; align-items:center; box-shadow:var(--shadow-sm); backdrop-filter:none; }
.home .info__tile svg{ width:18px; height:18px; flex:none; stroke:var(--steel-deep); fill:none; stroke-width:1.6; }

/* ---------- how it works ---------- */
.home .steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.home .step{ padding:24px; border-radius:22px; gap:12px; }
.home .step__n{ width:40px; height:40px; border-radius:50%; background:transparent !important; box-shadow:none; border:1px solid var(--steel-deep); color:var(--steel-deep); font-size:13px; font-weight:500; letter-spacing:.04em; }
.home .step h3{ font-size:20px; }
.home .step .photo{ position:relative; aspect-ratio:16/10; border-radius:16px; overflow:hidden; box-shadow:inset 0 0 0 1px var(--line-1); margin-top:auto; background:#E7EEF3; }
.home .step .photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.home .step .photo::after{ display:none; }

/* ---------- team ---------- */
.home #team{ background:var(--fill-bl); }
.home .team{ margin-bottom:18px; }
.home .values{ display:flex; flex-direction:column; gap:0; margin-top:18px; background:var(--white); border:1px solid var(--line-1); border-radius:24px; overflow:hidden; box-shadow:var(--shadow-sm); }
.home .value{ background:transparent !important; border:0; border-radius:0; padding:22px 26px; box-shadow:none; }
.home .value + .value{ border-top:1px solid var(--line-1); }
.home .value__icon{ background:transparent !important; border:1px solid var(--steel-deep); border-radius:50%; width:40px; height:40px; }
.home .value__icon svg{ stroke:var(--steel-deep); width:18px; height:18px; }
.home .value h4{ color:var(--navy); }

/* ---------- pricing ---------- */
.home #pricing .two{ max-width:1180px; margin-inline:auto; }
.home #pricing .card{ border-radius:24px; }
.home #pricing .card h3{ color:var(--navy); }
.home .mini{ gap:0 16px; }
.home .mini dt,.home .mini dd{ padding:9px 0; border-bottom:1px solid var(--line-1); margin:0; }
.home .mini dt{ padding-top:11px; }
.home #pricing .card .link{ margin-top:10px; font-size:14.5px; }

/* ---------- faq ---------- */
.home .faq details{ border-radius:18px; }
.home .faq summary{ font-weight:500; }

/* ---------- learn ---------- */
.home .learn .lgrid{ margin-top:8px; }
.home .lcard{ border-radius:22px; }
.home .lcard h3{ color:var(--navy); font-weight:500; font-size:20px; }

/* ---------- final CTA (#book): the closing navy band ---------- */
.home #book{ padding:0; border-top:0; margin-top:clamp(24px,4vw,48px); margin-bottom:clamp(48px,6vw,88px);
  --line-1:rgba(255,255,255,.16); --line-2:rgba(156,182,203,.3); }
.home #book .cta{ position:relative; overflow:hidden; border-radius:30px; border:1px solid var(--line-2); padding:clamp(40px,6vw,80px) clamp(24px,5vw,72px); background:#00204f url("band-molecules.webp") right center / cover no-repeat; box-shadow:var(--shadow-lg); }
.home #book .cta::before{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,22,56,.92) 0%, rgba(0,22,56,.62) 55%, rgba(0,22,56,.4) 100%); }
.home #book .cta > *{ position:relative; }
.cta__copy{ display:flex; flex-direction:column; gap:18px; }
.cta__copy h2{ font-family:var(--font); color:#fff; }
.cta__copy .lead{ color:#C5D5E2; }
.cta__copy .hero__ctas{ margin-top:4px; }
.cta__copy small{ color:#9CB6CB; }
.chat{ display:flex; flex-direction:column; gap:12px; }
.bubble{ display:flex; gap:12px; align-items:flex-start; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.22); border-radius:18px 18px 18px 6px; padding:14px 16px; }
.bubble__av{ width:36px; height:36px; border-radius:50%; background:#9CB6CB; color:var(--navy); font-weight:600; font-size:12px; display:grid; place-items:center; flex:none; }
.bubble p{ color:#fff; font-size:14.5px; line-height:1.5; }
.bubble small{ color:#A9BFD6; font-size:13px; display:block; margin-top:4px; }
.chat__cap{ color:#9CB6CB; font-size:12px; text-align:center; }

/* ---------- sticky CTA ---------- */
.home .sticky-cta{ background:linear-gradient(to top, rgba(245,247,250,.96) 60%, transparent); }
.home .sticky-cta .btn{ min-height:50px; }

/* ---------- shared: action row (also used by the #book band) ---------- */
.hero__ctas{ display:flex; gap:20px; align-items:center; flex-wrap:wrap; }

/* ---------- responsive ---------- */
@media (max-width:900px){
  .home .block{ padding:clamp(56px,10vw,80px) 0; }
  .home .section-head{ margin-bottom:24px; }
  .home .section-head h2,.home h2{ font-size:clamp(30px,8.6vw,40px); }
  .home .btn{ min-height:46px; font-size:15px; padding:0 20px; }
  .vision__grid{ grid-template-columns:1fr; }
  .vision__body{ padding:24px; }
  .pgrid2{ grid-template-columns:1fr; }
  .home .prod{ padding:20px 18px 18px; }
  .home .prod__actions{ grid-template-columns:1fr 1fr; gap:10px; }
  .home .prod__actions .btn{ min-height:44px; font-size:14.5px; }
  .home .prod__isi .isi-btn{ min-height:40px; font-size:12px; letter-spacing:.06em; }
  .home .info{ grid-template-columns:1fr; padding:22px; border-radius:22px; }
  .home .info__visual{ min-height:0; padding:18px; }
  .home .info__person{ width:min(70%,260px); margin-top:14px; }
  .home .info__tiles{ position:static; width:100%; margin-top:14px; }
  .home .info__copy .btn{ align-self:flex-start; width:auto; }
  .home .steps{ grid-template-columns:1fr; }
  #how > div[style]{ margin-top:24px !important; }
  #how .btn{ width:auto; }
  .home #book .cta{ padding:28px 20px; border-radius:22px; background-position:60% center; }
  .home #book .cta::before{ background:linear-gradient(180deg, rgba(0,22,56,.9), rgba(0,22,56,.7)); }
  .cta__copy .hero__ctas{ flex-direction:column; align-items:stretch; }
  .cta__copy .hero__ctas .btn--white{ width:100%; }
  .cta__copy .hero__ctas .btn--ghost{ width:auto; align-self:flex-start; min-height:42px; }
  .home .sticky-cta{ padding:8px var(--gutter) calc(8px + env(safe-area-inset-bottom)); background:linear-gradient(to top, rgba(245,247,250,.94) 70%, transparent); }
  .home .sticky-cta .btn{ min-height:44px; max-width:340px; margin:0 auto; font-size:15px; box-shadow:0 8px 24px rgba(0,32,79,.22); }
}

/* ==========================================================================================
   v14 HERO (2026-09-25) — white card + 3D isotype, the original mockup layout on the Brand Book
   White-dominant; navy = type + primary button; steel = the mark; line colours only as whispers
   (pill dots, ring beads, background glows at <= .2 alpha). No backdrop-filter anywhere.
   ========================================================================================== */
.home .hero{ position:relative; padding:14px var(--gutter) 0; margin:0; }
.hero__card{ position:relative; max-width:1400px; margin:0 auto; background:#fff; border:1px solid rgba(0,32,79,.06); border-radius:40px; overflow:hidden; isolation:isolate;
  box-shadow:0 1px 0 #fff inset, 0 40px 90px -50px rgba(0,32,79,.22), 0 2px 6px rgba(0,32,79,.03); }

/* soft line-colour glows (the "life" of the lifemd reference, in brand colours) */
.hero__glow{ position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden; }
.hero__glow i{ position:absolute; display:block; border-radius:50%; width:min(62vw,760px); aspect-ratio:1; will-change:transform; }
.hero__glow .g1{ left:22%; top:-44%; background:radial-gradient(closest-side, rgba(182,147,44,.17), rgba(182,147,44,0)); }      /* gold */
.hero__glow .g2{ right:-16%; top:-30%; background:radial-gradient(closest-side, rgba(168,143,195,.22), rgba(168,143,195,0)); }  /* lavender */
.hero__glow .g3{ right:8%; bottom:-58%; background:radial-gradient(closest-side, rgba(168,108,81,.13), rgba(168,108,81,0)); }   /* terra */
.hero__glow .g4{ left:-22%; bottom:-48%; background:radial-gradient(closest-side, rgba(156,182,203,.30), rgba(156,182,203,0)); } /* steel */
.js .hero__glow .g1{ animation:glowA 19s ease-in-out infinite alternate; }
.js .hero__glow .g2{ animation:glowB 23s ease-in-out infinite alternate; }
.js .hero__glow .g3{ animation:glowA 27s ease-in-out infinite alternate-reverse; }
.js .hero__glow .g4{ animation:glowB 21s ease-in-out infinite alternate-reverse; }
@keyframes glowA{ to{ transform:translate3d(7%,9%,0) scale(1.1); } }
@keyframes glowB{ to{ transform:translate3d(-8%,6%,0) scale(.94); } }

/* grid: copy left, 3D stage right, lead under the stage (as in the reference) */
.hero__inner{ position:relative; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  grid-template-rows:auto auto auto auto auto;
  grid-template-areas:"pill stage" "title stage" "lead stage" "ctas stage" "cards cards"; align-items:center;
  column-gap:clamp(24px,4vw,64px); padding:clamp(16px,3.2svh,30px) clamp(28px,5vw,84px) clamp(14px,2.8svh,26px);
  min-height:0; }   /* v20.4: hero + category strip share the first screen; the trust row lives in #explore */
.home .hero__copy{ display:contents; }

.hero__pill{ grid-area:pill; justify-self:start; display:inline-flex; align-items:center; gap:12px; margin:0 0 14px; padding:9px 18px 9px 12px; border-radius:999px;
  background:#fff; border:1px solid rgba(0,32,79,.08); box-shadow:0 10px 24px -12px rgba(0,32,79,.22);
  font-size:12px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--navy); line-height:1.3; }
.hero__pill::before{ display:none !important; }
.hero__dots{ display:inline-flex; flex:none; }
.hero__dots i{ width:11px; height:11px; border-radius:50%; border:1.5px solid #fff; margin-left:-3px; }
.hero__dots i:first-child{ margin-left:0; }
.hero__dots i:nth-child(1){ background:#93A263; } .hero__dots i:nth-child(2){ background:#A86C51; } .hero__dots i:nth-child(3){ background:#A88FC3; }
.hero__dots i:nth-child(4){ background:#2F5A53; } .hero__dots i:nth-child(5){ background:#B6932C; } .hero__dots i:nth-child(6){ background:#925857; }

.home .hero h1{ grid-area:title; margin:0; font-family:var(--font); font-weight:300; font-size:clamp(44px,min(4.5vw,8.4svh),72px); line-height:.98; letter-spacing:-.038em; color:var(--navy); max-width:none; }
.home .hero h1 .line{ display:block; padding-bottom:.09em; margin-bottom:-.09em; }
.home .hero h1 em{ font-family:'Newsreader',Georgia,'Times New Roman',serif; font-style:italic; font-weight:400; letter-spacing:-.012em; padding-right:.08em;
  background:linear-gradient(100deg,#5E7A93 0%,#2F5A53 55%,#5E7A93 100%); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; }

.home .hero .hero__ctas{ grid-area:ctas; align-self:start; margin-top:clamp(14px,1.8vw,22px); gap:14px; }
.home .hero .btn--primary{ background:var(--navy); color:#fff; box-shadow:0 14px 30px -12px rgba(0,32,79,.5); }
.home .hero .btn--primary:hover{ transform:translateY(-2px); box-shadow:0 18px 36px -12px rgba(0,32,79,.55); }
.home .hero .hero__more{ display:inline-flex; padding:0 26px; background:#fff; color:var(--navy); border:1.5px solid rgba(0,32,79,.16); text-decoration:none; }
.home .hero .hero__more:hover{ border-color:var(--navy); transform:translateY(-2px); }

.home .hero .lead{ grid-area:lead; justify-self:start; align-self:center; max-width:60ch; margin:12px 0 0; color:var(--muted); font-size:clamp(15px,1.1vw,16.5px); line-height:1.5; }

.home .hero__trust{ list-style:none; margin:14px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px 22px; }   /* v20.4: rendered in the #explore head */
.home .hero__trust li{ display:inline-flex; align-items:center; gap:9px; color:var(--navy); font-size:13.5px; font-weight:500; letter-spacing:.02em; white-space:nowrap; }
.home .hero__trust li::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--steel); box-shadow:0 0 0 3px rgba(156,182,203,.22); flex:none; }

/* the 3D stage: CSS glass disc behind a transparent WebGL canvas; the poster is the same frame, pre-rendered */
.hero__stage{ grid-area:stage; position:relative; justify-self:center; align-self:center; width:min(100%, 500px, calc(100svh - 300px)); min-width:320px; aspect-ratio:1; }   /* v20.5: full size from 800px of viewport height; yields only on short screens so the first row of cards still peeks */
.hero__disc{ position:absolute; inset:5%; border-radius:50%;
  background:radial-gradient(62% 62% at 38% 28%, #fff 0%, rgba(255,255,255,.95) 42%, rgba(234,241,247,.92) 76%, rgba(214,226,237,.9) 100%);
  border:1px solid rgba(255,255,255,.95);
  box-shadow:inset 0 -30px 60px rgba(156,182,203,.32), inset 0 2px 0 #fff, 0 0 0 12px rgba(255,255,255,.42), 0 0 0 13px rgba(156,182,203,.14), 0 56px 90px -46px rgba(0,32,79,.34); }
.hero__disc::after{ content:""; position:absolute; left:20%; right:20%; bottom:-13%; height:9%; border-radius:50%; background:radial-gradient(closest-side, rgba(0,32,79,.16), rgba(0,32,79,0)); }
.hero__poster,.hero__gl{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.hero__poster{ object-fit:contain; transition:opacity .7s ease; }
.hero__gl{ opacity:0; transition:opacity .7s ease; }
.hero__gl.is-live{ opacity:1; }
.hero__stage.is-live .hero__poster{ opacity:0; }
.js .hero__stage:not(.is-live) .hero__poster{ animation:bob 7s ease-in-out infinite; }
@keyframes bob{ 50%{ transform:translate3d(0,-1.4%,0); } }
.home .hero__pause{ position:absolute; right:9%; bottom:9%; z-index:2; width:38px; height:38px; border-radius:50%; border:1px solid rgba(0,32,79,.12); background:rgba(255,255,255,.9);
  color:var(--navy); display:grid; place-items:center; cursor:pointer; box-shadow:0 6px 16px -8px rgba(0,32,79,.35); }
.home .hero__pause svg{ width:13px; height:13px; fill:var(--navy); stroke:none; }
.home .hero__pause .i-play{ display:none; }
.home .hero__pause[aria-pressed="true"] .i-pause{ display:none; }
.home .hero__pause[aria-pressed="true"] .i-play{ display:block; }
.home .hero__pause[hidden]{ display:none; }
.home .hero__pause:focus-visible{ outline:2px solid var(--navy); outline-offset:3px; }

/* entrance */
.js .hero__pill,.js .home .hero .lead,.js .home .hero .hero__ctas,.js .home .hero__trust{ opacity:0; transform:translateY(16px); animation:fadeup .9s var(--ease) forwards; }
.js .hero__pill{ animation-delay:.05s; } .js .home .hero .hero__ctas{ animation-delay:.42s; } .js .home .hero .lead{ animation-delay:.55s; } .js .home .hero__trust{ animation-delay:.8s; }
.js .home .catcard.reveal{ transform:translateY(40px) rotateX(7deg); transform-origin:50% 100%; transition-duration:1s; }   /* v20.5: the category cards rise and settle flat (home.js .reveal observer, perspective on .catcards) */
.js .home .catcard.reveal.in{ transform:none; transition-delay:calc(.2s + var(--k,0) * .09s); }
@media (prefers-reduced-motion:reduce){ .js .home .catcard.reveal{ transform:none; opacity:1; transition:none; } }
.js .hero__stage{ opacity:0; transform:scale(.95); animation:stageIn 1.3s var(--ease) .15s forwards; }
@keyframes stageIn{ to{ opacity:1; transform:none; } }


@media (max-width:1100px){
  .hero__inner{ grid-template-columns:minmax(0,1fr) minmax(0,.9fr); }
  .home .hero h1{ font-size:clamp(46px,6vw,70px); }
}

/* mobile: pill → title → 3D mark → lead → actions → trust */
@media (max-width:900px){
  .home .hero{ padding:8px 10px 0; }
  .hero__card{ border-radius:30px; box-shadow:0 30px 60px -44px rgba(0,32,79,.3); }
  .hero__inner{ grid-template-columns:minmax(0,1fr); grid-template-rows:none; grid-template-areas:"pill" "title" "stage" "cards" "ctas" "lead"; align-items:stretch;
    min-height:0; padding:28px 20px 26px; }
  .hero__pill{ margin-bottom:20px; font-size:13.5px; letter-spacing:0; text-transform:none; padding:8px 16px 8px 10px; gap:10px; }
  .hero__dots i{ width:10px; height:10px; }
  .home .hero h1{ font-size:clamp(40px,11vw,56px); max-width:none; letter-spacing:-.035em; }
  .hero__stage{ width:min(72%,320px); min-width:0; margin:4px auto 0; }
  .hero__disc{ box-shadow:inset 0 -22px 44px rgba(156,182,203,.3), inset 0 2px 0 #fff, 0 0 0 8px rgba(255,255,255,.5), 0 0 0 9px rgba(156,182,203,.14), 0 40px 60px -36px rgba(0,32,79,.3); }
  .home .hero .lead{ justify-self:stretch; max-width:none; margin-top:18px; font-size:15px; }
  .home .hero .hero__ctas{ margin-top:22px; display:grid; grid-template-columns:1fr; gap:10px; }
  .home .hero .hero__ctas .btn{ width:100%; min-height:52px; font-size:16px; }
  .home .hero__trust{ margin-top:22px; gap:10px 18px; }
  .home .hero__trust li{ font-size:13px; }
  .home .hero__pause{ width:36px; height:36px; right:6%; bottom:6%; }
  .hero__glow i{ width:120vw; }
  .hero__glow .g1{ left:10%; top:-22%; } .hero__glow .g2{ right:-50%; top:18%; } .hero__glow .g3{ right:-30%; bottom:-30%; } .hero__glow .g4{ left:-60%; bottom:10%; }
}
@media (max-width:380px){
  .hero__pill{ font-size:13px; gap:8px; }
  .home .hero h1{ font-size:clamp(40px,12.2vw,48px); }
}

@media (prefers-reduced-motion: reduce){
  .js .hero__glow i,.js .hero__stage:not(.is-live) .hero__poster{ animation:none; }
  .js .hero__stage,.js .hero__pill,.js .home .hero .lead,.js .home .hero .hero__ctas,.js .home .hero__trust{ animation:none; opacity:1; transform:none; }
}
@media print{ .hero__gl,.hero__glow,.hero__pause{ display:none !important; } }

/* ===== v16 (2026-09-30): why grid, wide product images, checks, pharmacy/regulatory spacing ===== */
.home .why-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; max-width:1180px; margin:0 auto; }
.home .why{ background:var(--white); border:1px solid var(--line-1); border-radius:24px; padding:24px 26px; display:flex; flex-direction:column; gap:10px; box-shadow:var(--shadow-sm); }
.home .why__icon{ width:44px; height:44px; border-radius:50%; border:1px solid var(--steel-deep); display:grid; place-items:center; }
.home .why__icon svg{ width:20px; height:20px; stroke:var(--steel-deep); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.home .why h3{ font-size:20px; color:var(--navy); }
.home .why p{ color:var(--muted); font-size:15px; line-height:1.6; }
.home .why p a{ color:var(--navy); text-decoration:underline; text-underline-offset:3px; }
.home .why__lead{ max-width:900px; margin:28px auto 18px; text-align:center; color:var(--muted); font-size:16px; line-height:1.6; }
.home .why__lead a{ color:var(--navy); text-decoration:underline; text-underline-offset:3px; }
.home #why .team{ max-width:720px; margin:0 auto; }
@media (max-width:760px){ .home .why-grid{ grid-template-columns:1fr; } }
.home .prod__fig{ aspect-ratio:16/10; display:block; background:#EEF3F8; }
.home .prod__img{ width:100%; height:100%; object-fit:cover; display:block; }
.home .prod__checks{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; text-align:left; }
.home .prod__checks li{ display:flex; align-items:flex-start; gap:8px; font-size:14px; color:var(--text); line-height:1.45; }
.home .prod__checks svg{ margin-top:2px; }
.home .pharm{ align-items:center; text-align:center; }
.home .badges{ text-align:left; }
.home .regulatory .section-head h2{ font-size:clamp(26px,2.6vw,34px); max-width:none; }
.home .isi-section .isi-block{ margin-top:0; }

/* v16.1 polish (2026-09-30) */
.home .regulatory .section-head{ align-items:center; text-align:center; margin-inline:auto; max-width:820px; }
.home .regulatory .section-head h2{ margin-inline:auto; }
.home .reg-list{ margin-inline:auto; }
.home .pharmacy .section-head h2{ max-width:none; }
