/* GetSeen Health — site.css (v3 "editorial")
   Design language: quiet luxury — bone ground, deep spruce ink, one teal accent.
   Fraunces (editorial serif display) · Montserrat (labels/UI) · Open Sans (body).
   No gradient text, no emoji, no sheen. Flat tinted panels, big radii, whitespace.
   No fake-patient photography (brand policy) — type and color carry the page. */

:root{
  --bone:#F7F5EF;
  --bone-2:#EFECE2;
  --card:#FCFBF7;
  --ink:#142B24;
  --ink-deep:#0F241D;
  --muted:#60705F;
  --teal:#257867;
  --teal-soft:#DCE8DD;
  --sage:#E6EADC;
  --mint:#CFE3D4;
  --line:#DFDCCE;
  --dark:#10291F;
  --dark-2:#15352A;
  --cream-on-dark:#EFE9DA;
  --sage-on-dark:#A9BFA8;
  --warn:#A5742B;
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Montserrat","Avenir Next",Futura,sans-serif;
  --body:"Open Sans","Helvetica Neue",Arial,sans-serif;
  --r:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--bone);color:var(--ink);
  font-family:var(--body);font-size:16px;line-height:1.68;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
a{color:inherit}
img,svg{max-width:100%}
.wrap{max-width:1200px;margin:0 auto;padding:0 clamp(20px,4vw,52px)}
.section{padding:clamp(72px,10vh,128px) 0;position:relative}
.section-tight{padding:clamp(44px,6vh,72px) 0;position:relative}

.kicker{
  font-family:var(--sans);font-size:11px;font-weight:600;
  letter-spacing:.24em;text-transform:uppercase;color:var(--teal);
  margin:0 0 20px;
}
h2{
  font-family:var(--serif);font-weight:420;letter-spacing:-.01em;
  font-size:clamp(2.1rem,4.4vw,3.3rem);line-height:1.08;margin:0 0 18px;text-wrap:balance;
  font-variation-settings:"opsz" 80;
}
h3{font-family:var(--sans);font-weight:700;letter-spacing:-.01em}
.lede{font-size:clamp(1.02rem,1.3vw,1.16rem);color:var(--muted);max-width:38em;margin:0 0 12px}
.center{text-align:center}
.center .lede{margin-left:auto;margin-right:auto}

/* ---------- announcement + nav ---------- */
.announce{
  background:var(--ink);color:var(--cream-on-dark);text-align:center;
  font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;padding:10px 16px;
}
.announce b{color:var(--mint);font-weight:700}
nav.site{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);background:rgba(247,245,239,.88);backdrop-filter:blur(14px)}
.nav-in{display:flex;align-items:center;gap:28px;height:76px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{width:32px;height:32px;flex:none}
.wordmark{font-family:var(--sans);font-weight:700;font-size:20px;letter-spacing:-.01em;line-height:1.1;display:block}
.wordmark .md{color:var(--teal)}
.brand small{display:none}
.nav-links{display:flex;gap:26px;margin-left:auto;font-family:var(--sans);font-size:13px;font-weight:600;color:var(--muted)}
.nav-links a{text-decoration:none;padding:6px 2px}
.nav-links a:hover{color:var(--ink)}
.nav-cta{margin-left:4px;font-family:var(--sans);font-size:13px;font-weight:700;color:var(--cream-on-dark);background:var(--ink);padding:12px 22px;border-radius:999px;text-decoration:none;white-space:nowrap;transition:background .2s}
.nav-cta:hover{background:var(--teal)}
.nav-burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:10px;padding:8px 10px;cursor:pointer;color:var(--ink);font-size:18px;line-height:1}
@media(max-width:880px){
  .nav-links{display:none;position:absolute;top:76px;left:0;right:0;background:var(--bone);border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:8px 24px 16px}
  .nav-links a{padding:13px 0;border-bottom:1px solid var(--line)}
  .nav-links.open{display:flex}
  .nav-burger{display:block}
  .nav-cta{margin-left:8px}
}

/* ---------- buttons ---------- */
.btn{
  font-family:var(--sans);font-size:14px;font-weight:700;letter-spacing:.01em;
  color:var(--cream-on-dark);background:var(--ink);
  border:none;cursor:pointer;text-decoration:none;display:inline-block;
  padding:18px 36px;border-radius:999px;
  transition:background .2s ease,transform .2s ease;
}
.btn:hover{background:var(--teal);transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--cream-on-dark)}
.btn.light{background:var(--cream-on-dark);color:var(--ink)}
.btn.light:hover{background:#fff;color:var(--ink)}
.btn:focus-visible,a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:8px}
.howlink{font-family:var(--sans);font-size:13px;font-weight:600;text-decoration:none;border-bottom:1.5px solid var(--line);padding-bottom:3px;letter-spacing:.02em}
.howlink:hover{border-color:var(--teal)}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden}
.hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,80px);align-items:center;padding:clamp(64px,10vh,120px) 0 clamp(52px,7vh,88px)}
h1{
  font-family:var(--serif);
  font-size:clamp(3.4rem,8vw,6.2rem);
  line-height:.98;letter-spacing:-.02em;font-weight:400;margin:0 0 26px;text-wrap:balance;
  font-variation-settings:"opsz" 144;
}
h1 em{font-style:italic;font-weight:380;color:var(--teal)}
.sub{font-size:clamp(1.08rem,1.4vw,1.22rem);color:var(--muted);max-width:30em;margin:0 0 32px}
.sub strong{color:var(--ink);font-weight:600}
.cta-row{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-bottom:16px}
.micro{font-size:13px;color:var(--muted);margin:0}
.micro b{color:var(--ink);font-weight:600}
@media(max-width:920px){.hero-in{grid-template-columns:1fr;gap:52px}.stage{order:2}}

/* ---------- phone / chat demo ---------- */
.stage{position:relative;display:flex;justify-content:center}
.stage::before{content:"";position:absolute;inset:6% -4% -4% -4%;border-radius:var(--r);background:var(--sage);z-index:0}
.phone{position:relative;z-index:1;width:min(360px,92%);background:var(--card);border:1px solid var(--line);border-radius:40px;box-shadow:0 40px 80px -40px rgba(16,41,31,.35);padding:14px 14px 18px;margin:36px 0}
.p-head{display:flex;align-items:center;gap:11px;padding:10px 10px 14px;border-bottom:1px solid var(--line)}
.avatar{width:40px;height:40px;border-radius:50%;flex:none;background:var(--ink);color:var(--cream-on-dark);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;font-family:var(--sans)}
.p-name{font-size:14px;font-weight:600;line-height:1.25;font-family:var(--sans)}
.p-status{font-size:12px;color:var(--teal);display:flex;align-items:center;gap:5px}
.p-status::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--teal);animation:pulse 2.6s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.chat{background:var(--bone);border-radius:0 0 26px 26px;padding:16px 12px 14px;display:flex;flex-direction:column;gap:10px;min-height:330px}
.stamp{text-align:center;font-size:11px;color:var(--muted);margin:2px 0 4px;font-family:var(--sans);letter-spacing:.04em}
.bubble{max-width:84%;padding:11px 15px;border-radius:18px;font-size:14px;line-height:1.42;opacity:0;transform:translateY(10px);animation:rise .45s cubic-bezier(.2,.8,.3,1) forwards}
.from-me{align-self:flex-end;background:var(--ink);color:var(--cream-on-dark);border-bottom-right-radius:5px;animation-delay:.5s}
.from-them{align-self:flex-start;background:var(--card);color:var(--ink);border:1px solid var(--line);border-bottom-left-radius:5px}
.reply{animation-delay:3.9s}
.plan-msg{animation-delay:5s}
@keyframes rise{to{opacity:1;transform:none}}
.receipt{align-self:flex-end;font-size:11px;color:var(--muted);margin:-4px 4px 0 0;position:relative;height:1.2em;min-width:96px;text-align:right}
.receipt .delivered,.receipt .seen{position:absolute;right:0;top:0;white-space:nowrap}
.receipt .delivered{opacity:0;animation:flash 1.5s .9s forwards}
@keyframes flash{0%{opacity:0}15%{opacity:1}80%{opacity:1}100%{opacity:0}}
.receipt .seen{color:var(--teal);font-weight:600;opacity:0;animation:rise .4s 2.4s forwards}
.receipt .seen svg{width:15px;height:9px;vertical-align:0;margin-right:2px}
.typing{align-self:flex-start;background:var(--card);border:1px solid var(--line);border-radius:18px;border-bottom-left-radius:5px;padding:12px 15px;display:flex;gap:4px;opacity:0;animation:typecycle 1.5s 2.9s both}
@keyframes typecycle{0%{opacity:0}12%{opacity:1}82%{opacity:1}100%{opacity:0}}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:bob 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}
.typing i:nth-child(3){animation-delay:.3s}
@keyframes bob{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(-3px);opacity:1}}
.plan-msg .plan-top{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;margin-bottom:3px;font-family:var(--sans)}
.plan-msg .ok{width:18px;height:18px;border-radius:50%;background:var(--teal);color:#fff;flex:none;display:flex;align-items:center;justify-content:center;font-size:11px}
.plan-msg small{color:var(--muted);font-size:12px}
.sig{font-size:12px;color:var(--muted);margin-top:6px;font-style:italic}
.chip{position:absolute;z-index:2;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:10px 18px;font-family:var(--sans);font-size:12px;font-weight:600;box-shadow:0 20px 40px -22px rgba(16,41,31,.4);opacity:0;animation:rise .5s forwards;letter-spacing:.02em}
.chip b{color:var(--teal)}
.chip-a{top:7%;left:-20px;animation-delay:5.7s}
.chip-b{bottom:9%;right:-14px;animation-delay:6.1s}
@media(max-width:1020px){.chip-a{left:0}.chip-b{right:0}}

/* ---------- facts line (replaces boxed stats) ---------- */
.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts-in{display:grid;grid-template-columns:repeat(4,1fr);padding:0}
.fact{padding:36px clamp(12px,2vw,28px);text-align:center;border-left:1px solid var(--line)}
.fact:first-child{border-left:none}
.fact b{font-family:var(--serif);font-weight:420;font-size:clamp(1.5rem,2.4vw,2.1rem);display:block;letter-spacing:-.01em;line-height:1.1;margin-bottom:6px;font-variant-numeric:tabular-nums}
.fact b em{font-style:italic;color:var(--teal)}
.fact span{font-family:var(--sans);font-size:11px;color:var(--muted);font-weight:600;letter-spacing:.14em;text-transform:uppercase}
@media(max-width:820px){
  .facts-in{grid-template-columns:1fr 1fr}
  .fact:nth-child(3){border-left:none}
  .fact:nth-child(n+3){border-top:1px solid var(--line)}
}

/* ---------- program (editorial rows on dark) ---------- */
.band-dark{background:var(--dark);color:var(--cream-on-dark);border-radius:0}
.band-dark .kicker{color:var(--mint)}
.band-dark h2{color:var(--cream-on-dark)}
.band-dark .lede{color:var(--sage-on-dark)}
.prog-rows{margin-top:52px;border-top:1px solid rgba(239,233,218,.16)}
.prog-row{
  display:grid;grid-template-columns:72px 1fr 1.4fr;gap:clamp(16px,3vw,48px);
  align-items:baseline;padding:34px 0;border-bottom:1px solid rgba(239,233,218,.16);
}
.prog-row .pn{font-family:var(--serif);font-style:italic;font-weight:380;font-size:22px;color:var(--sage-on-dark)}
.prog-row h3{font-family:var(--serif);font-weight:420;font-size:clamp(1.3rem,2vw,1.7rem);margin:0;color:var(--cream-on-dark);letter-spacing:-.01em}
.prog-row p{font-size:14px;color:var(--sage-on-dark);margin:0;max-width:34em}
@media(max-width:760px){.prog-row{grid-template-columns:48px 1fr;gap:12px}.prog-row p{grid-column:2}}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.step{background:var(--sage);border-radius:var(--r);padding:36px 30px;position:relative}
.step:nth-child(2){background:var(--teal-soft)}
.step:nth-child(3){background:var(--mint)}
.step-n{font-family:var(--serif);font-style:italic;font-weight:380;font-size:18px;color:var(--teal);margin-bottom:18px}
.step h3{font-family:var(--serif);font-weight:450;font-size:20px;margin:0 0 10px;letter-spacing:-.01em}
.step p{font-size:14px;color:#4D5E4F;margin:0}
@media(max-width:860px){.steps{grid-template-columns:1fr}}

/* ---------- aspire (editorial pull-quote) ---------- */
.aspire{text-align:center;padding:clamp(96px,14vh,170px) 0;background:var(--bone-2)}
.aspire p.big{
  font-family:var(--serif);font-weight:400;letter-spacing:-.015em;
  font-size:clamp(2rem,5vw,3.6rem);line-height:1.14;max-width:19em;margin:0 auto 26px;text-wrap:balance;
  font-variation-settings:"opsz" 144;
}
.aspire p.big em{font-style:italic;color:var(--teal);font-weight:380}
.aspire p.small{font-family:var(--sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--muted);margin:0}

/* ---------- eligibility checker ---------- */
.elig{background:var(--dark);color:var(--cream-on-dark);border-radius:var(--r);overflow:hidden}
.elig-in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px);padding:clamp(40px,5vw,72px);align-items:center}
.elig .kicker{color:var(--mint)}
.elig h2{color:var(--cream-on-dark)}
.elig .lede{color:var(--sage-on-dark)}
.elig-card{background:var(--card);color:var(--ink);border-radius:22px;padding:32px}
.elig-card h3{font-family:var(--serif);font-weight:450;font-size:18px;margin:0 0 18px;letter-spacing:-.01em}
.elig-step{display:none}
.elig-step.active{display:block}
.field{margin-bottom:14px}
.field label{display:block;font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px;color:var(--muted)}
.field select,.field input{width:100%;padding:14px 16px;border:1.5px solid var(--line);border-radius:12px;font-family:var(--body);font-size:14px;background:#fff;color:var(--ink)}
.field-row{display:flex;gap:12px}
.field-row .field{flex:1}
.elig-card .btn{width:100%;text-align:center;padding:16px}
.elig-note{font-size:11px;color:var(--muted);margin:14px 0 0;line-height:1.55}
.elig-result{text-align:center;padding:10px 0}
.elig-result .big{font-family:var(--serif);font-weight:450;font-size:22px;margin:8px 0 8px;letter-spacing:-.01em}
.elig-result .big.ok{color:var(--teal)}
.elig-result .big.no{color:var(--warn)}
.elig-result p{font-size:14px;color:var(--muted);margin:0 0 20px}
.elig-progress{display:flex;gap:6px;margin-bottom:20px}
.elig-progress i{height:3px;flex:1;border-radius:2px;background:var(--line)}
.elig-progress i.on{background:var(--teal)}
@media(max-width:860px){.elig-in{grid-template-columns:1fr}}

/* ---------- accountability (Seen Loop) ---------- */
.loop-wrap{background:var(--sage);border-radius:var(--r);padding:clamp(36px,5vw,72px)}
.loop-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,80px);align-items:center}
.loop-card{background:var(--card);border-radius:22px;padding:28px;box-shadow:0 30px 60px -36px rgba(16,41,31,.4);max-width:400px;margin:0 auto}
.loop-card .lc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.loop-card .lc-head b{font-family:var(--sans);font-size:14px;letter-spacing:.02em}
.loop-card .lc-badge{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--teal);background:var(--teal-soft);padding:6px 13px;border-radius:999px;text-transform:uppercase}
.lc-row{display:flex;align-items:center;gap:13px;padding:14px 0;border-top:1px solid var(--line);font-size:14px}
.lc-row .dot{width:30px;height:30px;border-radius:50%;background:var(--sage);color:var(--teal);display:flex;align-items:center;justify-content:center;flex:none}
.lc-row .dot svg{width:15px;height:15px}
.lc-row b{display:block;font-size:13px;font-family:var(--sans)}
.lc-row span{font-size:12px;color:var(--muted)}
.lc-row .when{margin-left:auto;font-size:11px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase}
.loop-list{list-style:none;margin:30px 0 0;padding:0}
.loop-list li{display:flex;gap:18px;align-items:baseline;padding:18px 0;border-top:1px solid rgba(20,43,36,.12)}
.loop-list li:first-child{border-top:none;padding-top:0}
.loop-list .n{font-family:var(--serif);font-style:italic;font-weight:380;color:var(--teal);font-size:18px;flex:none;width:28px}
.loop-list b{display:block;font-size:16px;font-family:var(--serif);font-weight:450;letter-spacing:-.01em}
.loop-list p{margin:3px 0 0;font-size:14px;color:#4D5E4F}
@media(max-width:860px){.loop-grid{grid-template-columns:1fr}}

/* ---------- comparison table ---------- */
.cmp-scroll{overflow-x:auto;margin-top:44px;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
table.cmp{border-collapse:collapse;width:100%;min-width:640px;font-size:14px}
.cmp th,.cmp td{padding:17px 20px;text-align:center;border-bottom:1px solid var(--line)}
.cmp th{font-family:var(--sans);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.cmp td:first-child,.cmp th:first-child{text-align:left;font-weight:600}
.cmp tr:last-child td{border-bottom:none}
.cmp .us{background:var(--sage)}
.cmp th.us{color:var(--teal)}
.cmp .yes{color:var(--teal);font-weight:700}
.cmp .no{color:#9A4433;opacity:.8}
.cmp .meh{color:var(--muted)}

/* ---------- provider ---------- */
.prov{display:grid;grid-template-columns:auto 1fr;gap:clamp(28px,4vw,56px);align-items:center;background:var(--bone-2);border-radius:var(--r);padding:clamp(32px,4vw,60px)}
.prov-photo{width:clamp(130px,15vw,180px);height:clamp(130px,15vw,180px);border-radius:50%;background:var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:400;font-style:italic;font-size:40px;color:var(--cream-on-dark)}
.prov h3{font-family:var(--serif);font-weight:450;font-size:26px;margin:0 0 6px;letter-spacing:-.01em}
.prov .cred{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin:0 0 14px}
.prov p{font-size:16px;color:var(--muted);margin:0 0 10px;max-width:52em}
.prov .mline{font-size:12px;color:var(--muted)}
@media(max-width:700px){.prov{grid-template-columns:1fr}}

/* ---------- founding offer ---------- */
.founding{background:var(--dark);color:var(--cream-on-dark);border-radius:var(--r);text-align:center;padding:clamp(52px,8vw,96px) clamp(24px,5vw,64px)}
.founding .kicker{color:var(--mint)}
.founding h2{color:var(--cream-on-dark);font-size:clamp(2rem,4.2vw,3.2rem)}
.founding .lede{color:var(--sage-on-dark);margin-left:auto;margin-right:auto}
.founding .btn{margin-top:18px}

/* ---------- FAQ ---------- */
.faq{max-width:760px;margin:44px auto 0}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:22px 4px;font-family:var(--serif);font-weight:450;font-size:18px;display:flex;justify-content:space-between;align-items:center;gap:14px;letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--body);font-size:22px;font-weight:300;color:var(--teal);flex:none;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{padding:0 4px 22px;font-size:14px;color:var(--muted);max-width:56em}

/* ---------- trust strip ---------- */
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust-in{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,40px);padding:34px 0}
.t-item{display:flex;gap:14px;align-items:flex-start}
.t-item svg{width:20px;height:20px;flex:none;margin-top:3px;color:var(--teal)}
.t-item h3{font-family:var(--serif);font-weight:450;font-size:16px;margin:0 0 3px;letter-spacing:-.01em}
.t-item p{font-size:13px;color:var(--muted);margin:0}
@media(max-width:760px){.trust-in{grid-template-columns:1fr}}

/* ---------- footer ---------- */
footer.site{background:var(--dark);color:var(--sage-on-dark);margin-top:clamp(48px,7vh,88px)}
.foot-in{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:clamp(24px,4vw,56px);padding:clamp(48px,7vh,76px) 0 34px}
.foot-brand .wordmark{color:var(--cream-on-dark)}
.foot-brand p{font-size:13px;margin:14px 0 0;max-width:28em;color:var(--sage-on-dark)}
footer.site h4{font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#7E9880;margin:0 0 16px;font-weight:700}
footer.site ul{list-style:none;margin:0;padding:0;display:grid;gap:11px;font-size:14px}
footer.site a{text-decoration:none;color:var(--sage-on-dark)}
footer.site a:hover{color:var(--cream-on-dark)}
.fineprint{border-top:1px solid rgba(239,233,218,.14);padding:24px 0 32px;font-size:11px;color:#7E9880;line-height:1.7}
@media(max-width:860px){.foot-in{grid-template-columns:1fr 1fr}}

/* ---------- concierge widget ---------- */
.cg-fab{
  position:fixed;right:22px;bottom:22px;z-index:90;
  display:flex;align-items:center;gap:10px;
  background:var(--ink);color:var(--cream-on-dark);border:none;cursor:pointer;
  font-family:var(--sans);font-weight:700;font-size:13px;letter-spacing:.02em;
  padding:16px 24px;border-radius:999px;box-shadow:0 20px 48px -16px rgba(16,41,31,.55);
  transition:transform .2s ease,background .2s ease;
}
.cg-fab:hover{transform:translateY(-2px);background:var(--teal)}
.cg-fab .cg-dot{width:7px;height:7px;border-radius:50%;background:var(--mint);animation:pulse 2.6s infinite}
.cg-panel{
  position:fixed;right:22px;bottom:90px;z-index:91;
  width:min(380px,calc(100vw - 32px));max-height:min(560px,calc(100vh - 120px));
  background:var(--card);border:1px solid var(--line);border-radius:24px;
  box-shadow:0 40px 90px -36px rgba(16,41,31,.5);display:flex;flex-direction:column;overflow:hidden;
}
.cg-panel[hidden]{display:none}
.cg-head{display:flex;align-items:center;gap:11px;padding:18px;background:var(--dark);color:var(--cream-on-dark)}
.cg-head .avatar{width:36px;height:36px;font-size:12px;background:var(--teal);color:#fff}
.cg-head b{font-family:var(--sans);font-size:14px;display:block;letter-spacing:.01em}
.cg-head span{font-size:12px;color:var(--mint)}
.cg-close{margin-left:auto;background:none;border:none;color:var(--cream-on-dark);font-size:20px;cursor:pointer;padding:4px 8px}
.cg-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--bone)}
.cg-msg{max-width:88%;padding:11px 15px;border-radius:16px;font-size:14px;line-height:1.5}
.cg-msg.bot{align-self:flex-start;background:var(--card);border:1px solid var(--line);border-bottom-left-radius:5px}
.cg-msg.user{align-self:flex-end;background:var(--ink);color:var(--cream-on-dark);border-bottom-right-radius:5px}
.cg-msg a{color:var(--teal);font-weight:600}
.cg-msg.user a{color:var(--mint)}
.cg-chips{display:flex;flex-wrap:wrap;gap:7px;align-self:flex-start;max-width:95%}
.cg-chips button{background:transparent;border:1.5px solid var(--teal);color:var(--teal);font-family:var(--sans);font-size:12px;font-weight:600;padding:9px 16px;border-radius:999px;cursor:pointer;letter-spacing:.02em}
.cg-chips button:hover{background:var(--teal);color:#fff}
.cg-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:var(--card)}
.cg-input input{flex:1;border:1.5px solid var(--line);border-radius:999px;padding:12px 17px;font-size:14px;font-family:var(--body);background:#fff}
.cg-input button{background:var(--ink);color:var(--cream-on-dark);border:none;border-radius:999px;width:44px;height:44px;cursor:pointer;font-size:14px;flex:none}
.cg-input button:hover{background:var(--teal)}
.cg-note{font-size:11px;color:var(--muted);text-align:center;padding:0 14px 12px;background:var(--card)}

/* ---------- reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- small-screen polish ---------- */
@media(max-width:480px){
  .announce{font-size:11px;padding:8px 12px}
  .nav-in{gap:12px;height:66px}
  .brand img{width:28px;height:28px}
  .wordmark{font-size:16px}
  .nav-cta{padding:10px 16px;font-size:12px}
  h1{font-size:3rem}
  .cta-row{gap:16px}
  .cta-row .btn{width:100%;text-align:center}
  .stage::before{inset:8% 0 0 0}
  .elig-in{padding:28px 20px}
  .elig-card{padding:22px 18px}
  .loop-wrap{padding:28px 20px}
  .prov{padding:28px 22px}
  .prov-photo{width:100px;height:100px;font-size:26px}
  .cg-fab{right:14px;bottom:14px;padding:13px 18px;font-size:12px}
  .cg-panel{right:8px;left:8px;width:auto;bottom:74px}
  .chip-a{top:2%}
  .chip-b{bottom:4%}
}

@media(prefers-reduced-motion:reduce){
  .bubble,.chip,.receipt .seen{animation:none;opacity:1;transform:none}
  .receipt .delivered,.typing{display:none}
  .p-status::before,.typing i,.cg-fab .cg-dot{animation:none}
  .reveal{opacity:1;transform:none;transition:none}
  .btn,.cg-fab,.nav-cta{transition:none}
}

/* ---------- v3.1: audience split, photo slots, product/plan cards ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:48px}
.panel{position:relative;border-radius:var(--r);overflow:hidden;text-decoration:none;display:flex;flex-direction:column;min-height:480px;transition:transform .25s ease}
.panel:hover{transform:translateY(-5px)}
.panel .photo{flex:1}
.panel-body{padding:30px 32px 34px}
.panel h3{font-family:var(--serif);font-weight:420;font-size:clamp(1.5rem,2.4vw,2rem);margin:0 0 8px;letter-spacing:-.015em}
.panel p{font-size:14px;color:var(--muted);margin:0 0 16px;max-width:30em}
.panel .plink{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.panel .plink::after{content:" →"}
.panel-w{background:var(--sage)}
.panel-m{background:var(--teal-soft)}
@media(max-width:820px){.split{grid-template-columns:1fr}.panel{min-height:380px}}

/* Photo slots: duotone art-directed placeholders.
   Replace background-image with licensed/original photography ONLY
   (brand policy: no fake patients, no AI imagery). Keep the tint overlay. */
.photo{position:relative;background:linear-gradient(160deg,var(--mint) 0%,var(--teal) 140%);min-height:220px}
.photo.warm{background:linear-gradient(160deg,#E9E2CF 0%,var(--teal) 170%)}
.photo.deep{background:linear-gradient(160deg,var(--teal) -20%,var(--dark) 120%)}
.photo .arch{position:absolute;inset:auto 10% -22% 10%;height:78%;border-radius:999px 999px 0 0;background:rgba(252,251,247,.22);backdrop-filter:blur(1px)}
.photo.has-img{background-size:cover;background-position:center 20%}
.photo .tint{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,41,31,0) 55%,rgba(16,41,31,.28))}

/* Product / plan cards */
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
.prod{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}
.prod:hover{transform:translateY(-5px);box-shadow:0 32px 64px -40px rgba(16,41,31,.45)}
.prod .photo{min-height:190px}
.prod-body{padding:26px 28px 30px;display:flex;flex-direction:column;flex:1}
.prod .ptag{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-bottom:10px}
.prod h3{font-family:var(--serif);font-weight:450;font-size:20px;margin:0 0 8px;letter-spacing:-.01em}
.prod p{font-size:14px;color:var(--muted);margin:0 0 18px;flex:1}
.prod .price{font-family:var(--serif);font-size:16px;margin:0 0 16px}
.prod .price b{font-weight:600}
.prod .price span{font-size:12px;color:var(--muted);font-family:var(--body)}
.prod .btn{width:100%;text-align:center;padding:15px}
@media(max-width:900px){.prod-grid{grid-template-columns:1fr}}

/* Plan selector (program page) */
.plans{display:grid;gap:12px;margin:26px 0}
.plan{display:flex;align-items:center;gap:16px;background:var(--card);border:1.5px solid var(--line);border-radius:18px;padding:20px 22px;cursor:pointer;transition:border-color .2s}
.plan:hover,.plan.sel{border-color:var(--teal)}
.plan input{accent-color:var(--teal);width:18px;height:18px;flex:none}
.plan b{display:block;font-family:var(--sans);font-size:14px}
.plan span{font-size:13px;color:var(--muted)}
.plan .pr{margin-left:auto;font-family:var(--serif);font-size:18px;white-space:nowrap}
.plan .pr small{font-size:12px;color:var(--muted);font-family:var(--body)}
.billing-note{background:var(--sage);border-radius:16px;padding:18px 20px;font-size:13px;color:#43543F;line-height:1.6}
.billing-note b{color:var(--ink)}

/* Page hero (interior pages) */
.page-hero{padding:clamp(52px,8vh,96px) 0 clamp(36px,5vh,64px)}
.page-hero h1{font-size:clamp(2.8rem,6vw,4.6rem)}
.crumb{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 22px}
.crumb a{text-decoration:none;color:var(--teal)}

/* ================================================================
   v4 "showroom" — dark cinematic hero, CSS product renders, motion
   ================================================================ */

/* ---------- dark hero ---------- */
.hero-dark{
  background:
    radial-gradient(1100px 600px at 78% 20%,rgba(63,184,150,.17),transparent 60%),
    radial-gradient(700px 500px at 10% 100%,rgba(42,122,101,.22),transparent 65%),
    linear-gradient(175deg,#0C211B 0%,#10291F 55%,#12302A 100%);
  color:var(--cream-on-dark);overflow:hidden;position:relative;
}
.hero-dark .kicker{color:var(--mint)}
.hero-dark h1{color:var(--cream-on-dark)}
.hero-dark h1 em{color:#5BC9A8}
.hero-dark .sub{color:var(--sage-on-dark)}
.hero-dark .sub strong{color:var(--cream-on-dark)}
.hero-dark .micro{color:#7E9880}
.hero-dark .micro b{color:var(--cream-on-dark)}
.hero-dark .howlink{color:var(--cream-on-dark);border-color:rgba(239,233,218,.3)}
.hero-dark .howlink:hover{border-color:var(--mint)}
.hero-dark .btn{background:var(--cream-on-dark);color:var(--ink)}
.hero-dark .btn:hover{background:#fff}
/* staggered headline entrance */
.rise-in{opacity:0;transform:translateY(26px);animation:riseIn .9s cubic-bezier(.2,.8,.2,1) forwards}
.d1{animation-delay:.05s}.d2{animation-delay:.18s}.d3{animation-delay:.32s}.d4{animation-delay:.46s}.d5{animation-delay:.6s}
@keyframes riseIn{to{opacity:1;transform:none}}

/* ---------- CSS product renders (mock branded packaging — original imagery) ---------- */
.float-stage{position:relative;min-height:540px;display:flex;align-items:center;justify-content:center}
.float-stage .glow{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(63,184,150,.28),transparent 62%);filter:blur(30px)}
.float-stage .shelf{position:absolute;bottom:12%;left:8%;right:8%;height:18px;border-radius:50%;background:rgba(0,0,0,.4);filter:blur(16px)}
.fl{position:absolute;animation:floaty 7s ease-in-out infinite alternate}
.fl.f1{animation-delay:0s}.fl.f2{animation-delay:1.1s;animation-duration:8s}.fl.f3{animation-delay:2.2s;animation-duration:9s}
@keyframes floaty{from{transform:translateY(-8px) rotate(-1.2deg)}to{transform:translateY(12px) rotate(1.4deg)}}

.render{position:relative;filter:drop-shadow(0 30px 34px rgba(0,0,0,.38))}
.render .label{
  position:absolute;left:8%;right:8%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:#FCFBF7;border-radius:6px;text-align:center;padding:8px 4px;gap:2px;overflow:hidden;
}
.render .label b{font-family:var(--sans);font-weight:700;font-size:11px;letter-spacing:.22em;color:var(--teal-deep,#1D6454);color:#257867}
.render .label em{font-family:var(--serif);font-style:italic;font-weight:450;font-size:18px;color:var(--ink);line-height:1}
.render .label small{font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#60705F}
.render .label .rx{margin-top:3px;font-family:var(--sans);font-size:11px;letter-spacing:.1em;color:#9AA896;text-transform:uppercase}

/* injector pen */
.render.pen{width:54px;height:300px;border-radius:27px;
  background:linear-gradient(90deg,#CFCaBA 0%,#F6F4EC 38%,#FBFAF4 52%,#D8D3C3 100%)}
.render.pen::before{content:"";position:absolute;top:0;left:0;right:0;height:72px;border-radius:27px 27px 10px 10px;
  background:linear-gradient(90deg,#17493C,#2E8F7A 45%,#3FB896 55%,#1B5547)}
.render.pen::after{content:"";position:absolute;top:84px;left:10%;right:10%;height:3px;border-radius:2px;background:rgba(20,43,36,.14)}
.render.pen .label{top:104px;height:124px}
/* pill bottle */
.render.bottle{width:108px;height:168px;border-radius:14px 14px 18px 18px;
  background:linear-gradient(90deg,#DCD7C7 0%,#FBFAF4 42%,#FFFFFF 50%,#DFDACA 100%)}
.render.bottle::before{content:"";position:absolute;top:-26px;left:14px;right:14px;height:30px;border-radius:8px 8px 4px 4px;
  background:linear-gradient(90deg,#17493C,#2E8F7A 45%,#3FB896 55%,#1B5547)}
.render.bottle .label{top:26px;bottom:18px}
/* carton box */
.render.box{width:170px;height:122px;border-radius:10px;
  background:linear-gradient(100deg,#10291F 0%,#15362C 60%,#1B4436 100%)}
.render.box::before{content:"";position:absolute;top:0;left:0;bottom:0;width:10px;border-radius:10px 0 0 10px;background:rgba(0,0,0,.28)}
.render.box .label{background:transparent;top:0;bottom:0;left:12%;right:6%}
.render.box .label b{color:#9ED9C3}
.render.box .label em{color:#EFE9DA;font-size:22px}
.render.box .label small{color:#A9BFA8}
.render.box .label .rx{color:#6E8A77}
/* skincare tube */
.render.tube{width:74px;height:200px;border-radius:12px 12px 26px 26px;
  background:linear-gradient(90deg,#D8E4D5 0%,#F2F7EF 45%,#FFFFFF 52%,#CFDECC 100%)}
.render.tube::before{content:"";position:absolute;top:-20px;left:22px;right:22px;height:24px;border-radius:6px;
  background:linear-gradient(90deg,#17493C,#2E8F7A 50%,#1B5547)}
.render.tube .label{top:28px;height:112px}
/* dropper vial */
.render.vial{width:64px;height:140px;border-radius:10px 10px 16px 16px;
  background:linear-gradient(90deg,#1E4A3C 0%,#2E8F7A 46%,#3FB896 52%,#1B5547 100%)}
.render.vial::before{content:"";position:absolute;top:-34px;left:17px;right:17px;height:22px;border-radius:5px;background:#10291F}
.render.vial::after{content:"";position:absolute;top:-12px;left:26px;right:26px;height:16px;background:#10291F}
.render.vial .label{top:22px;bottom:16px;left:12%;right:12%}
.render.vial .label em{font-size:14px}
/* scale helper on cards */
.r-sm{transform:scale(.72);transform-origin:bottom center}

/* ---------- marquee ---------- */
.marquee{background:var(--ink);color:var(--cream-on-dark);overflow:hidden;border-top:1px solid rgba(239,233,218,.12);border-bottom:1px solid rgba(239,233,218,.12)}
.mq-track{display:flex;gap:0;width:max-content;animation:mq 36s linear infinite}
.mq-track span{display:flex;align-items:center;gap:26px;padding:15px 13px;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.mq-track i{font-style:normal;color:#3FB896}
@keyframes mq{to{transform:translateX(-50%)}}
.marquee:hover .mq-track{animation-play-state:paused}

/* ---------- catalog rail ---------- */
.rail-head{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.rail-hint{font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:min(320px,78vw);gap:18px;overflow-x:auto;padding:44px 6px 26px;scroll-snap-type:x mandatory;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.cat{scroll-snap-align:start;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;transition:transform .3s ease,box-shadow .3s ease;will-change:transform}
.cat:hover{transform:translateY(-8px);box-shadow:0 44px 70px -42px rgba(16,41,31,.5)}
.cat-stage{height:250px;display:flex;align-items:flex-end;justify-content:center;position:relative;overflow:hidden;padding-bottom:0}
.cat-stage .render{margin-bottom:-6px}
.cat-stage.s-sage{background:linear-gradient(170deg,#EDF0E3,#DCE6D8)}
.cat-stage.s-mint{background:linear-gradient(170deg,#DEEDE2,#C9E0D0)}
.cat-stage.s-warm{background:linear-gradient(170deg,#F0EADA,#E3E3CF)}
.cat-stage.s-teal{background:linear-gradient(170deg,#D7E8E0,#BCD8CB)}
.cat-stage.s-dark{background:linear-gradient(170deg,#143229,#1C4537)}
.cat-badge{position:absolute;top:16px;left:16px;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:7px 13px;border-radius:999px;background:rgba(252,251,247,.92);color:var(--teal)}
.cat-badge.live{background:var(--ink);color:var(--mint)}
.cat-body{padding:24px 26px 28px;display:flex;flex-direction:column;flex:1}
.cat-body .cname{font-family:var(--serif);font-weight:450;font-size:22px;letter-spacing:-.01em;margin:0 0 2px}
.cat-body .cline{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin:0 0 10px}
.cat-body p{font-size:13px;color:var(--muted);margin:0 0 16px;flex:1}
.cat-body .cprice{font-size:12px;color:var(--muted);margin:0 0 14px}
.cat-body .cprice b{font-family:var(--serif);font-size:16px;color:var(--ink);font-weight:600}
.cat-body .go{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.cat-body .go::after{content:" →"}

/* ---------- animated counters ---------- */
.fact b .cnt{display:inline-block;min-width:1.2ch;font-variant-numeric:tabular-nums}

/* ---------- tilt ---------- */
.tilt{transition:transform .25s ease}
@media(hover:hover){.tilt:hover{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-6px)}}

/* ---------- staggered reveal groups ---------- */
.rg>.reveal:nth-child(1){transition-delay:.02s}
.rg>.reveal:nth-child(2){transition-delay:.12s}
.rg>.reveal:nth-child(3){transition-delay:.22s}
.rg>.reveal:nth-child(4){transition-delay:.32s}
.rg>.reveal:nth-child(5){transition-delay:.42s}
.rg>.reveal:nth-child(6){transition-delay:.52s}

/* category page hero stage */
.cat-hero-stage{display:flex;align-items:center;justify-content:center;min-height:460px;border-radius:var(--r);position:relative}

@media(max-width:920px){.float-stage{min-height:420px;transform:scale(.82)}}
@media(prefers-reduced-motion:reduce){
  .fl,.mq-track{animation:none}
  .rise-in{animation:none;opacity:1;transform:none}
  .cat,.tilt{transition:none}
}

/* ---------- v4.1: campaign photography ---------- */
.hero-photo{
  background:
    linear-gradient(90deg,rgba(12,33,27,.94) 0%,rgba(12,33,27,.78) 38%,rgba(12,33,27,.25) 68%,rgba(12,33,27,.05) 100%),
    url(/assets/img/hero-trim.jpg) right center/cover no-repeat;
}
.hero-photo .hero-in{min-height:min(78vh,760px);align-items:center;grid-template-columns:1fr .7fr}
@media(max-width:920px){
  .hero-photo{background:
    linear-gradient(180deg,rgba(12,33,27,.92) 0%,rgba(12,33,27,.72) 55%,rgba(12,33,27,.35) 100%),
    url(/assets/img/hero-trim.jpg) 72% center/cover no-repeat}
  .hero-photo .hero-in{grid-template-columns:1fr;min-height:72vh}
}
.cat-stage.has-img,.cat-hero-stage.has-img{background-size:cover;background-position:center}
.cat-hero-stage.has-img{min-height:520px;box-shadow:0 44px 80px -44px rgba(16,41,31,.55)}
.photo.has-img .arch{display:none}

/* ================================================================
   v5 "THE THREAD" — the homepage as a conversation.
   The brand mechanic (messages that get Seen ✓✓) becomes the layout:
   a care-thread spine, oversized exchanges, replies that carry the
   catalog, the Seen Loop, and pricing. Plus a strict ratio system.
   ================================================================ */

/* ---------- ratio system (fixes placement) ---------- */
.cat-stage{aspect-ratio:4/3;height:auto;min-height:0}
.cat-stage.has-img{background-position:center 42%}
.cat-hero-stage{aspect-ratio:4/5;min-height:0!important}
.panel .photo{aspect-ratio:auto;min-height:0}
.panel{min-height:0}
.panel .photo.has-img{aspect-ratio:4/3;background-position:center 55%}
.hero-photo .hero-in{min-height:min(88vh,860px)}
@media(min-width:921px){.hero-photo{background-position:78% center,78% center}}

/* ---------- thread ---------- */
.thread{position:relative;max-width:1100px;margin:0 auto;padding:clamp(40px,6vh,80px) clamp(18px,3vw,40px)}
.thread::before{
  content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translateX(-50%);
  background:linear-gradient(180deg,transparent,var(--line) 6%,var(--line) 94%,transparent);
}
.x{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px);margin:0 0 clamp(44px,7vh,84px)}
.x-node{
  position:absolute;left:50%;top:10px;transform:translateX(-50%);z-index:2;
  width:34px;height:34px;border-radius:50%;background:var(--card);border:2px solid var(--teal);
  display:flex;align-items:center;justify-content:center;color:var(--teal);
}
.x-node svg{width:16px;height:10px}
.x-you .x-b{grid-column:2;justify-self:start;max-width:30em}
.x-gs .x-b{grid-column:1;justify-self:end;width:100%}
.x-b{position:relative}
.bub-you{
  background:var(--ink);color:var(--cream-on-dark);
  font-size:clamp(1.25rem,2.4vw,1.8rem);line-height:1.35;font-weight:500;
  padding:clamp(22px,3vw,34px) clamp(26px,3.4vw,40px);
  border-radius:30px 30px 30px 8px;letter-spacing:-.01em;
}
.x-stamp{
  display:flex;align-items:center;gap:7px;margin-top:12px;
  font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);
}
.x-stamp svg{width:16px;height:10px}
.x-you .x-stamp{justify-content:flex-start}
.bub-gs{
  background:var(--card);border:1px solid var(--line);
  border-radius:30px 30px 8px 30px;
  padding:clamp(28px,4vw,48px);
  box-shadow:0 30px 60px -44px rgba(16,41,31,.45);
}
.bub-gs .kicker{margin-bottom:12px}
.bub-gs h2{font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:12px}
.bub-gs .lede{font-size:1rem;margin-bottom:0}
.bub-gs .sig-line{margin-top:18px;font-size:12px;color:var(--muted);font-style:italic}
.t-date{
  text-align:center;font-family:var(--sans);font-size:11px;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--muted);
  margin:0 0 clamp(36px,5vh,56px);position:relative;z-index:2;
}
.t-date span{background:var(--bone);padding:6px 16px;border:1px solid var(--line);border-radius:999px}

/* thread content modules inside replies */
.mini-steps{display:grid;gap:0;margin-top:20px;border-top:1px solid var(--line)}
.mini-step{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);align-items:baseline}
.mini-step .n{font-family:var(--serif);font-style:italic;color:var(--teal);font-size:16px}
.mini-step b{display:block;font-family:var(--sans);font-size:14px;margin-bottom:2px}
.mini-step p{margin:0;font-size:13px;color:var(--muted)}
.price-line{display:flex;align-items:baseline;gap:12px;margin:18px 0 6px}
.price-line b{font-family:var(--serif);font-weight:500;font-size:clamp(2rem,4vw,2.8rem);letter-spacing:-.02em}
.price-line span{font-size:13px;color:var(--muted)}
.bub-gs .btn{margin-top:16px}

/* full-bleed breakouts from the thread */
.t-break{position:relative;margin:0 0 clamp(44px,7vh,84px)}
.t-break.full{width:100vw;margin-left:50%;transform:translateX(-50%)}
.t-img{aspect-ratio:21/8;background-size:cover;background-position:center}
.t-img .t-cap{
  position:absolute;left:clamp(20px,4vw,60px);bottom:clamp(16px,3vw,40px);
  font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#fff;
  background:rgba(16,41,31,.55);backdrop-filter:blur(6px);padding:9px 16px;border-radius:999px;
}
.t-break .rail{padding-top:26px}

/* composer (eligibility as "your turn") */
.composer .elig{border-radius:30px 30px 8px 30px}

/* hero receipt */
.hero-receipt{display:flex;align-items:center;gap:8px;margin-top:18px;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mint)}
.hero-receipt svg{width:17px;height:11px}

@media(max-width:860px){
  .thread::before{left:17px;transform:none}
  .x{grid-template-columns:1fr;gap:0;padding-left:44px}
  .x-node{left:17px;transform:translateX(-50%)}
  .x-you .x-b,.x-gs .x-b{grid-column:1;justify-self:stretch;max-width:none}
  .bub-you{border-radius:24px 24px 24px 6px;font-size:1.2rem}
  .bub-gs{border-radius:24px}
  .t-break.full{width:auto;margin-left:-44px;transform:none;margin-right:-18px}
  .t-img{aspect-ratio:16/10}
}

/* ================================================================
   v6 "ALIVE" — Ken Burns layers, photographic section grounds,
   thread progress rail, typing reveals, parallax drift.
   ================================================================ */

@keyframes kbzoom{from{transform:scale(1) translateY(var(--ky,0px))}to{transform:scale(1.09) translateY(var(--ky,0px))}}

/* hero with live zoom layer */
.hero-kb{position:relative;overflow:hidden}
.hero-kb .kb-outer{position:absolute;inset:0;z-index:0}
.hero-kb .kb{position:absolute;inset:-7%;background-size:cover;background-position:72% center;animation:kbzoom 26s ease-in-out infinite alternate;will-change:transform}
.hero-kb .kb-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(12,33,27,.95) 0%,rgba(12,33,27,.8) 38%,rgba(12,33,27,.32) 72%,rgba(12,33,27,.12) 100%)}
.hero-kb .hero-in{position:relative;z-index:2}
.hero-kb .glow-follow{position:absolute;z-index:1;width:560px;height:560px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(63,184,150,.17),transparent 65%);transform:translate(-50%,-50%);left:70%;top:50%;transition:left .6s cubic-bezier(.2,.8,.2,1),top .6s cubic-bezier(.2,.8,.2,1)}
@media(max-width:920px){.hero-kb .kb-scrim{background:linear-gradient(180deg,rgba(12,33,27,.94) 0%,rgba(12,33,27,.72) 55%,rgba(12,33,27,.4) 100%)}}

/* image breaks get zoom + parallax */
.t-img{position:relative;overflow:hidden}
.t-img .kb{position:absolute;inset:-8%;background-size:cover;background-position:center;animation:kbzoom 24s ease-in-out infinite alternate;will-change:transform}
.t-img .t-cap{z-index:2}

/* photographic section grounds */
.bgsec{position:relative;overflow:hidden}
.bgsec .kb{position:absolute;inset:-7%;background-size:cover;background-position:center;animation:kbzoom 28s ease-in-out infinite alternate;z-index:0;will-change:transform}
.bgsec .scrim{position:absolute;inset:0;z-index:1}
.bgsec>.wrap,.bgsec>*:not(.kb):not(.scrim){position:relative;z-index:2}
.aspire.bgsec{background:var(--dark)}
.aspire.bgsec .scrim{background:linear-gradient(180deg,rgba(11,30,24,.82),rgba(11,30,24,.6) 50%,rgba(11,30,24,.85))}
.aspire.bgsec p.big{color:var(--cream-on-dark)}
.aspire.bgsec p.big em{color:#5BC9A8}
.aspire.bgsec p.small{color:var(--mint)}
.founding{position:relative;overflow:hidden}
.founding .kb{position:absolute;inset:-7%;background-size:cover;background-position:center 60%;animation:kbzoom 30s ease-in-out infinite alternate;z-index:0;will-change:transform}
.founding .scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(11,30,24,.93) 20%,rgba(29,100,84,.78))}
.founding>*:not(.kb):not(.scrim){position:relative;z-index:2}

/* bubbles tilt in */
.x.reveal{transform:translateY(26px) rotate(.6deg)}
.x.reveal.in{transform:none}
.x-you.reveal{transform:translateY(26px) rotate(-.6deg)}
.x-you.reveal.in{transform:none}

/* typing reveal */
.bub-you .t-dots{display:inline-flex;gap:6px;align-items:center;height:1em}
.bub-you .t-dots i{width:8px;height:8px;border-radius:50%;background:var(--sage-on-dark);animation:bob 1s infinite}
.bub-you .t-dots i:nth-child(2){animation-delay:.15s}
.bub-you .t-dots i:nth-child(3){animation-delay:.3s}
.bub-you .msg-hidden{display:none}

/* thread progress rail */
.t-rail{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:60;display:flex;flex-direction:column;gap:14px}
.t-rail a{position:relative;width:11px;height:11px;border-radius:50%;background:transparent;border:2px solid var(--line);display:block;transition:all .25s}
.t-rail a:hover{border-color:var(--teal)}
.t-rail a.on{background:var(--teal);border-color:var(--teal);box-shadow:0 0 0 5px rgba(46,143,122,.18)}
.t-rail a .tip{
  position:absolute;right:22px;top:50%;transform:translateY(-50%);white-space:nowrap;
  font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  background:var(--ink);color:var(--cream-on-dark);padding:6px 12px;border-radius:999px;
  opacity:0;pointer-events:none;transition:opacity .2s;
}
.t-rail a:hover .tip{opacity:1}
@media(max-width:1180px){.t-rail{display:none}}

@media(prefers-reduced-motion:reduce){
  .hero-kb .kb,.t-img .kb,.bgsec .kb,.founding .kb{animation:none}
  .hero-kb .glow-follow{display:none}
  .x.reveal,.x-you.reveal{transform:none}
  .bub-you .t-dots{display:none}
  .bub-you .msg-hidden{display:inline}
}

/* ================================================================
   v7 "CHAPTERS" — full-screen photographic chapters with floating
   cards + oversized numerals, alternating with light ledgers.
   Replaces the thread. Zoom tamed (1.04, tight inset) to stop blur.
   ================================================================ */

/* tame all Ken Burns layers */
@keyframes kbzoom{from{transform:scale(1) translateY(var(--ky,0px))}to{transform:scale(1.045) translateY(var(--ky,0px))}}
.hero-kb .kb{inset:-3%}
.t-img .kb,.bgsec .kb,.founding .kb{inset:-3%}

.chapter{position:relative;min-height:min(92vh,900px);display:flex;align-items:center;overflow:hidden;background:var(--dark);color:var(--cream-on-dark);padding:clamp(72px,10vh,120px) 0}
.chapter .kb{position:absolute;inset:-3%;background-size:cover;background-position:center;animation:kbzoom 30s ease-in-out infinite alternate;z-index:0;will-change:transform}
.chapter .scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(11,30,24,.9) 8%,rgba(11,30,24,.55) 55%,rgba(11,30,24,.25))}
.chapter.ch--right .scrim{background:linear-gradient(260deg,rgba(11,30,24,.9) 8%,rgba(11,30,24,.55) 55%,rgba(11,30,24,.25))}
.ch-num{
  position:absolute;z-index:1;top:3%;left:clamp(8px,2vw,40px);
  font-family:var(--serif);font-style:italic;font-weight:300;line-height:1;
  font-size:clamp(7rem,20vw,17rem);color:rgba(239,233,218,.07);user-select:none;pointer-events:none;
}
.chapter.ch--right .ch-num{left:auto;right:clamp(8px,2vw,40px)}
.ch-card{
  position:relative;z-index:2;background:var(--card);color:var(--ink);
  border-radius:30px;padding:clamp(30px,4vw,54px);max-width:600px;
  box-shadow:0 50px 100px -50px rgba(5,15,12,.8);
}
.chapter.ch--right .ch-wrap{display:flex;justify-content:flex-end}
.ch-card .kicker{margin-bottom:12px}
.ch-card h2{font-size:clamp(1.7rem,3.2vw,2.5rem);margin-bottom:12px}
.ch-card .lede{font-size:1.02rem}
.ch-chip{display:inline-flex;align-items:center;gap:7px;margin-bottom:16px;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);background:var(--teal-soft);padding:7px 14px;border-radius:999px}
.ch-chip svg{width:15px;height:9px}
.ch-card .btn{margin-top:18px}
/* card overlaps the next ledger */
.chapter+.ledger{position:relative;z-index:3}
.ledger{background:var(--bone);padding:clamp(56px,8vh,96px) 0}
.ledger.tight{padding:clamp(36px,5vh,64px) 0}
.ledger .pull{margin-top:calc(-1*clamp(80px,12vh,140px))}
@media(max-width:860px){
  .chapter{min-height:0;padding:clamp(64px,9vh,96px) 0}
  .ch-card{max-width:none}
}
/* dark ledger variant */
.ledger.dark{background:var(--dark);color:var(--cream-on-dark)}
.ledger.dark h2{color:var(--cream-on-dark)}
.ledger.dark .lede{color:var(--sage-on-dark)}

/* chapter rail labels reuse t-rail styles (JS builds from .chapter[data-label]) */

/* category page: kb ground hero */
.cat-hero{position:relative;overflow:hidden;background:var(--dark);color:var(--cream-on-dark);padding:clamp(72px,11vh,130px) 0}
.cat-hero .kb{position:absolute;inset:-3%;background-size:cover;background-position:center;animation:kbzoom 28s ease-in-out infinite alternate;z-index:0}
.cat-hero .scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(11,30,24,.92) 10%,rgba(11,30,24,.5) 60%,rgba(11,30,24,.2))}
.cat-hero .wrap{position:relative;z-index:2}
.cat-hero h1{color:var(--cream-on-dark);font-size:clamp(2.8rem,6.5vw,5rem)}
.cat-hero h1 em{color:#5BC9A8}
.cat-hero .sub{color:var(--sage-on-dark)}
.cat-hero .crumb{color:var(--sage-on-dark)}
.cat-hero .crumb a{color:var(--mint)}
.cat-hero .micro{color:#7E9880}
.cat-hero .micro b{color:var(--cream-on-dark)}
.cat-hero .btn{background:var(--cream-on-dark);color:var(--ink)}
.cat-hero .btn:hover{background:#fff}
.cat-hero .howlink{color:var(--cream-on-dark);border-color:rgba(239,233,218,.3)}
/* cross-sell mini rail */
.xsell{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}
.xsell a{display:block;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;text-decoration:none;transition:transform .2s}
.xsell a:hover{transform:translateY(-4px)}
.xsell .xs-img{aspect-ratio:16/9;background-size:cover;background-position:center}
.xsell b{display:block;font-family:var(--sans);font-size:13px;padding:12px 16px 4px}
.xsell span{display:block;font-size:11px;color:var(--muted);padding:0 16px 14px;font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase}
@media(max-width:860px){.xsell{grid-template-columns:repeat(2,1fr)}}

/* ================================================================
   v8 "ELEVEN" — craft pass: typographic accents, nav polish, hero
   cue, card interactions, eligibility motion, giant sign-off.
   ================================================================ */

html{scroll-padding-top:92px}
h2 em,h1 em{font-style:italic;font-weight:380;color:var(--teal)}
.chapter h2 em,.band-dark h2 em,.cat-hero h1 em{color:#5BC9A8}
.btn{letter-spacing:.04em;text-transform:none}
.kicker{color:var(--teal)}

/* nav: animated underline + tighter rhythm */
.nav-links a{position:relative;padding:6px 0}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:var(--teal);transition:right .25s ease}
.nav-links a:hover::after{right:0}

/* hero scroll cue */
.scroll-cue{
  position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:rgba(239,233,218,.55);
}
.scroll-cue i{width:1.5px;height:42px;background:linear-gradient(180deg,rgba(239,233,218,.0),rgba(239,233,218,.6));display:block;animation:cueDrop 2.2s ease-in-out infinite}
@keyframes cueDrop{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* catalog card interactions */
.cat .go{display:inline-flex;align-items:center;gap:6px}
.cat .go::after{content:"→";transition:transform .25s ease}
.cat:hover .go::after{transform:translateX(5px)}
.cat-stage{transition:filter .4s ease}
.cat:hover .cat-stage{filter:brightness(1.07) saturate(1.05)}

/* eligibility step motion + progress */
.elig-step.active{animation:stepIn .4s cubic-bezier(.2,.8,.2,1)}
@keyframes stepIn{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.elig-progress i{transition:background .4s ease}

/* chapter cards slide from their side */
.chapter .ch-card.reveal{transform:translateX(-36px);opacity:0}
.chapter.ch--right .ch-card.reveal{transform:translateX(36px)}
.chapter .ch-card.reveal.in{transform:none;opacity:1}

/* provider pull-quote */
.prov blockquote{
  margin:0 0 14px;padding:0;border:0;
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.4;color:var(--ink);letter-spacing:-.01em;
}
.prov blockquote::before{content:"“";color:var(--teal)}
.prov blockquote::after{content:"”";color:var(--teal)}

/* giant sign-off */
.signoff{background:var(--dark);color:var(--cream-on-dark);text-align:center;padding:clamp(80px,14vh,150px) 0 clamp(60px,10vh,110px);position:relative;overflow:hidden}
.signoff .so-big{
  font-family:var(--serif);font-weight:350;font-style:italic;letter-spacing:-.02em;
  font-size:clamp(4rem,14vw,11rem);line-height:.95;margin:0 0 26px;
  color:var(--cream-on-dark);font-variation-settings:"opsz" 144;
}
.signoff .so-big .ticks{display:inline-block;width:.5em;height:.3em;color:#3FB896;margin-left:.08em}
.signoff .so-sub{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--sage-on-dark);margin:0 0 30px}
.signoff .btn{background:var(--cream-on-dark);color:var(--ink)}
.signoff .btn:hover{background:#fff}
footer.site{margin-top:0}

@media(prefers-reduced-motion:reduce){
  .scroll-cue i{animation:none}
  .elig-step.active{animation:none}
  .chapter .ch-card.reveal,.chapter.ch--right .ch-card.reveal{transform:none;opacity:1}
}

/* ================================================================
   v9 TYPE RESET — brand-true: Montserrat display, no serif, no
   italics. The brand is modern + clean; the type now matches it.
   ================================================================ */
:root{--serif:"Montserrat","Avenir Next",Futura,sans-serif}

h1{font-weight:800;letter-spacing:-.03em;line-height:1.04;font-size:clamp(2.8rem,6.4vw,4.8rem);font-variation-settings:normal}
h2{font-weight:800;letter-spacing:-.02em;line-height:1.1;font-size:clamp(1.8rem,3.4vw,2.6rem);font-variation-settings:normal}
h1 em,h2 em,.aspire p.big em,.cat-hero h1 em{font-style:normal;font-weight:800}
.aspire p.big{font-weight:700;letter-spacing:-.02em;font-size:clamp(1.6rem,4vw,2.9rem);font-variation-settings:normal}

.step-n,.prog-row .pn,.loop-list .n,.mini-step .n{font-style:normal;font-weight:800;color:var(--teal)}
.step-n{font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.ch-num{font-style:normal;font-weight:800;letter-spacing:-.04em;color:rgba(239,233,218,.055)}
.step h3,.prog-row h3,.loop-list b,.mini-step b{font-weight:700;letter-spacing:-.01em}
.prog-row h3{font-size:clamp(1.15rem,1.8vw,1.45rem)}

.prov blockquote{font-family:var(--body);font-style:normal;font-weight:600;font-size:clamp(1.05rem,1.5vw,1.25rem);color:var(--ink)}
.prov blockquote::before,.prov blockquote::after{content:""}
.prov h3,.cname{font-weight:800}
.prov-photo{font-style:normal;font-weight:800;font-size:34px}
.sig,.sig-line{font-style:normal;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}

.fact b,.price-line b,.elig-result .big{font-family:var(--sans);font-weight:800;letter-spacing:-.02em}
.fact b em{font-style:normal}
.faq summary{font-family:var(--sans);font-weight:600;font-size:14px;letter-spacing:0}
.elig-card h3{font-family:var(--sans);font-weight:700;font-size:16px}
.plan .pr{font-family:var(--sans);font-weight:800}
.render .label em{font-style:normal;font-weight:700;font-family:var(--sans);font-size:14px;letter-spacing:.04em;text-transform:uppercase}

.so-big{font-style:normal;font-weight:800;letter-spacing:-.04em;font-size:clamp(3rem,10vw,8rem);font-variation-settings:normal}
.t-date span{font-weight:700}

/* ================================================================
   v10 TYPE SYSTEM — Plus Jakarta Sans display / Figtree body.
   Weight moderated: presence from spacing and scale, not 800 bulk.
   ================================================================ */
:root{
  --sans:"Plus Jakarta Sans","Avenir Next",Futura,sans-serif;
  --serif:"Plus Jakarta Sans","Avenir Next",Futura,sans-serif;
  --display:"Plus Jakarta Sans","Avenir Next",Futura,sans-serif;
  --body:"Figtree","Helvetica Neue",Arial,sans-serif;
}
body{font-family:var(--body);font-size:16px;letter-spacing:.001em}
h1{font-weight:700;letter-spacing:-.03em}
h2{font-weight:700;letter-spacing:-.022em}
h1 em,h2 em{font-weight:700}
.step h3,.prog-row h3,.loop-list b,.mini-step b,.prov h3,.cname{font-weight:600}
.step-n{font-weight:700}
.ch-num{font-weight:800}
.so-big{font-weight:700;letter-spacing:-.045em}
.fact b,.price-line b,.elig-result .big,.plan .pr{font-weight:700}
.btn,.nav-cta{font-weight:600;letter-spacing:.02em}
.kicker{font-weight:600;letter-spacing:.22em}
.wordmark{font-weight:700}
.aspire p.big{font-weight:600;letter-spacing:-.02em}
.faq summary{font-weight:600}

/* ================================================================
   v10.2 AUDIT FIXES — from visual walkthrough
   ================================================================ */
/* 1) counter digits were caught by .fact span caption rule */
.fact b .cnt{font-size:inherit;font-family:inherit;font-weight:inherit;color:inherit;letter-spacing:inherit;line-height:inherit;text-transform:none}
/* 2) hero legibility: stronger scrim + brighter copy on imagery */
.hero-kb .kb-scrim{background:linear-gradient(90deg,rgba(12,33,27,.97) 0%,rgba(12,33,27,.88) 40%,rgba(12,33,27,.55) 68%,rgba(12,33,27,.22) 100%)}
.hero-dark .sub{color:#C7D8CC}
.hero-dark .micro{color:#9FB7A9}
.hero-dark .micro b{color:#EFE9DA}
@media(max-width:920px){.hero-kb .kb-scrim{background:linear-gradient(180deg,rgba(12,33,27,.96) 0%,rgba(12,33,27,.82) 55%,rgba(12,33,27,.5) 100%)}}
/* 3) chapter rail: capsule, hidden until scrolled */
.t-rail{background:rgba(16,41,31,.72);backdrop-filter:blur(8px);padding:14px 9px;border-radius:999px;border:1px solid rgba(239,233,218,.14);opacity:0;pointer-events:none;transition:opacity .4s ease}
.t-rail.show{opacity:1;pointer-events:auto}
.t-rail a{border-color:rgba(239,233,218,.45)}
.t-rail a:hover{border-color:#3FB896}
.t-rail a.on{background:#3FB896;border-color:#3FB896;box-shadow:none}
/* 4) rail-head hint alignment */
.rail-head .rail-hint{margin-bottom:14px}
/* 5) scroll cue calmer */
.scroll-cue{opacity:.8}
.scroll-cue span{color:rgba(239,233,218,.4)}

/* v10.3: real clinician photography */
.prov-photo{padding:0;overflow:hidden;background:var(--mint-soft)}
.prov-photo img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block}
.avatar.avatar-img{background:var(--mint-soft);overflow:hidden;padding:0}
.avatar.avatar-img img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}

/* ================================================================
   v11 TYPE: FINAL — Eric picked Option B (Sora display / Inter body)
   ================================================================ */
:root{
  --sans:"Sora","Avenir Next",Futura,sans-serif;
  --serif:"Sora","Avenir Next",Futura,sans-serif;
  --display:"Sora","Avenir Next",Futura,sans-serif;
  --body:"Inter","Helvetica Neue",Arial,sans-serif;
}
body{font-family:var(--body)}
h1{font-weight:700;letter-spacing:-.035em}
h2{font-weight:700;letter-spacing:-.025em}
.so-big{letter-spacing:-.05em}
.kicker{letter-spacing:.2em}
.btn,.nav-cta{letter-spacing:.01em}

/* v11.1: aspire = quiet light typographic break (was clashing dark-on-dark) */
.aspire{background:var(--bone-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.aspire p.big{color:var(--ink)}
.aspire p.big em{color:var(--teal)}
.aspire p.small{color:var(--muted);letter-spacing:.26em}
.aspire p.small::before{content:"✓✓";color:var(--teal);margin-right:10px;letter-spacing:0}

/* v11.2: category quick-bar + cleaner catalog header */
.quickbar{background:var(--bone);border-bottom:1px solid var(--line)}
.quickbar-in{display:flex;align-items:center;gap:10px;padding:14px 0;flex-wrap:wrap}
.quickbar .qb-label{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-right:6px}
.quickbar a{
  display:inline-flex;align-items:center;gap:7px;text-decoration:none;
  font-family:var(--sans);font-size:12px;font-weight:600;color:var(--ink);
  background:var(--card);border:1px solid var(--line);border-radius:999px;padding:9px 16px;
  transition:border-color .2s,transform .2s;
}
.quickbar a:hover{border-color:var(--teal);transform:translateY(-1px)}
.quickbar a i{width:6px;height:6px;border-radius:50%;background:var(--line);font-style:normal}
.quickbar a.live i{background:var(--teal)}
.quickbar a.live{border-color:var(--teal-soft)}
@media(max-width:860px){.quickbar-in{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.quickbar-in::-webkit-scrollbar{display:none}.quickbar a{white-space:nowrap}}

/* ================================================================
   v12 "TRAY HERO" — Medvi-pattern: flat calm hero, centered type,
   category tile tray straddling the hero edge. Pills retired.
   ================================================================ */
.hero-c{
  position:relative;overflow:hidden;text-align:center;color:var(--cream-on-dark);
  background:
    radial-gradient(1000px 500px at 50% -10%,rgba(63,184,150,.14),transparent 62%),
    linear-gradient(170deg,#0C211B 0%,#10291F 60%,#143429 100%);
  padding:clamp(64px,9vh,110px) 0 150px;
}
.hero-c .ghost{
  position:absolute;left:50%;bottom:-4%;transform:translateX(-50%);z-index:0;
  font-family:var(--sans);font-weight:700;letter-spacing:-.04em;line-height:1;
  font-size:clamp(8rem,22vw,20rem);color:rgba(239,233,218,.035);user-select:none;pointer-events:none;white-space:nowrap;
}
.hero-c .wrap{position:relative;z-index:1}
.hero-c .kicker{justify-content:center;color:var(--mint)}
.hero-c .kicker::before{display:none}
.hero-c h1{margin-left:auto;margin-right:auto;max-width:11em;font-size:clamp(2.9rem,6.5vw,5rem)}
.hero-c .sub{margin:0 auto 30px;max-width:36em;color:#B9CDBF}
.hero-c .sub strong{color:var(--cream-on-dark)}
.hero-c .cta-row{justify-content:center}
.hero-c .btn{background:var(--cream-on-dark);color:var(--ink)}
.hero-c .btn:hover{background:#fff}
.hero-c .howlink{color:var(--cream-on-dark);border-color:rgba(239,233,218,.3)}
.hero-c .micro{color:#9FB7A9}
.hero-c .micro b{color:var(--cream-on-dark)}
.hero-c .hero-receipt{justify-content:center}

/* tray straddling the hero bottom edge */
.traywrap{background:var(--bone);padding:0 0 clamp(28px,4vh,44px)}
.tray{
  position:relative;z-index:5;margin-top:-110px;
  background:#fff;border-radius:26px;padding:14px;
  box-shadow:0 40px 90px -40px rgba(16,41,31,.35);
  display:grid;grid-template-columns:repeat(5,1fr);gap:12px;   /* 5 lines since Skin retired */
}
.tile{display:flex;flex-direction:column;background:var(--bone);border-radius:16px;overflow:hidden;text-decoration:none;transition:transform .22s ease,box-shadow .22s ease}
.tile:hover{transform:translateY(-4px);box-shadow:0 18px 36px -22px rgba(16,41,31,.4)}
.tile .t-im{aspect-ratio:4/3;background-size:cover;background-position:center;position:relative}
.tile .t-im .t-dot{position:absolute;top:10px;left:10px;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:rgba(252,251,247,.94);color:var(--teal);padding:4px 9px;border-radius:999px}
.tile .t-lb{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;font-family:var(--sans);font-size:13px;font-weight:600;color:var(--ink)}
.tile .t-lb span.ar{color:var(--teal);transition:transform .22s ease}
.tile:hover .t-lb span.ar{transform:translateX(4px)}
@media(max-width:1060px){.tray{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){
  .tray{display:grid;grid-auto-flow:column;grid-auto-columns:46%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .tray::-webkit-scrollbar{display:none}
  .tile{scroll-snap-align:start}
}
/* retire quickbar */
.quickbar{display:none}

/* ================================================================
   v13 "ELEVATE" — the hundred small things.
   Unified shadows/motion, scroll-aware nav + progress, icon marquee,
   image zooms, breathing FAB, floating phone, micro-typography.
   ================================================================ */

/* selection + base niceties */
::selection{background:var(--teal);color:#fff}
html{scrollbar-color:var(--teal) var(--bone)}
body{text-rendering:optimizeLegibility}

/* unified shadow + motion tokens */
:root{
  --sh-sm:0 2px 8px -2px rgba(16,41,31,.12);
  --sh-md:0 14px 34px -16px rgba(16,41,31,.28);
  --sh-lg:0 40px 80px -36px rgba(16,41,31,.42);
  --ease:cubic-bezier(.22,.8,.26,.99);
}

/* scroll-aware nav: condenses + progress hairline */
nav.site{transition:box-shadow .3s var(--ease)}
nav.site .nav-in{transition:height .3s var(--ease)}
nav.site.condensed .nav-in{height:60px}
nav.site.condensed{box-shadow:var(--sh-sm)}
.progressbar{position:fixed;top:0;left:0;height:2.5px;width:0;background:linear-gradient(90deg,var(--teal),#3FB896);z-index:100;transition:width .1s linear}

/* buttons: arrow slide + press state */
.btn{position:relative;transition:background .25s var(--ease),transform .2s var(--ease),box-shadow .25s var(--ease)}
.btn:active{transform:translateY(0) scale(.98)}
.btn .bi{display:inline-block;margin-left:8px;transition:transform .25s var(--ease)}
.btn:hover .bi{transform:translateX(4px)}

/* tile/card image zooms */
.tile .t-im,.cat-stage,.xsell .xs-img{transition:transform .6s var(--ease)}
.tile{isolation:isolate}
.tile .t-im{transform-origin:center}
.tile:hover .t-im{transform:scale(1.06)}
.cat{isolation:isolate}
.cat:hover .cat-stage{transform:scale(1.04);filter:brightness(1.06) saturate(1.05)}
.xsell a{overflow:hidden}
.xsell a:hover .xs-img{transform:scale(1.06)}

/* tray: finer card detail */
.tray{border:1px solid rgba(217,227,219,.8)}
.tile{box-shadow:var(--sh-sm)}
.tile .t-lb{border-top:1px solid var(--line)}

/* facts: hairline accents */
.fact{position:relative}
.fact::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:26px;height:2px;background:var(--teal);opacity:0;transition:opacity .6s var(--ease)}
.fact.lit::before{opacity:1}

/* marquee with icons */
.mq-track svg{width:15px;height:15px;vertical-align:-2.5px;margin-right:8px;color:#3FB896}
.mq-track span{gap:34px}

/* chapters: inner content cascade */
.ch-card .mini-step{opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.ch-card.in .mini-step{opacity:1;transform:none}
.ch-card.in .mini-step:nth-child(1){transition-delay:.15s}
.ch-card.in .mini-step:nth-child(2){transition-delay:.27s}
.ch-card.in .mini-step:nth-child(3){transition-delay:.39s}
.ch-card.in .mini-step:nth-child(4){transition-delay:.51s}

/* phone: gentle float */
.phone{animation:phoneFloat 7s ease-in-out infinite alternate}
@keyframes phoneFloat{from{transform:translateY(-5px)}to{transform:translateY(7px)}}

/* eligibility: focus + fill polish */
.field select:focus,.field input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(46,143,122,.14);outline:none}
.elig-progress i{position:relative;overflow:hidden}
.elig-progress i.on::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--teal),#3FB896);animation:fillIn .5s var(--ease)}
@keyframes fillIn{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1)}}

/* concierge FAB: breathing ring */
.cg-fab{position:fixed}
.cg-fab::before{content:"";position:absolute;inset:-4px;border-radius:999px;border:1.5px solid rgba(63,184,150,.4);animation:breath 3s ease-in-out infinite}
@keyframes breath{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.06);opacity:.2}}

/* footer micro */
footer.site a{transition:color .2s,padding-left .2s}
footer.site ul a:hover{padding-left:4px}
.fineprint{position:relative}

/* faq: smoother open */
.faq .a{line-height:1.7}
.faq summary{transition:color .2s}
.faq summary:hover{color:var(--teal)}

/* signoff: ticks pulse once on reveal */
.signoff .so-big .ticks{animation:none}
.signoff.in-view .so-big .ticks svg path{stroke-dasharray:60;stroke-dashoffset:60;animation:drawTick .9s var(--ease) forwards}
.signoff.in-view .so-big .ticks svg path:last-child{animation-delay:.25s}
@keyframes drawTick{to{stroke-dashoffset:0}}

@media(prefers-reduced-motion:reduce){
  .phone{animation:none}
  .cg-fab::before{animation:none}
  .tile:hover .t-im,.cat:hover .cat-stage,.xsell a:hover .xs-img{transform:none}
  .ch-card .mini-step{opacity:1;transform:none}
  .progressbar{display:none}
  .elig-progress i.on::after{animation:none}
}

/* v13.1: proactive concierge teaser — pops up and types talking points */
.cg-tease{
  position:fixed;right:22px;bottom:86px;z-index:89;width:min(320px,calc(100vw - 44px));
  background:var(--card);border:1px solid var(--line);border-radius:20px 20px 6px 20px;
  box-shadow:var(--sh-lg);padding:16px 18px 14px;
  opacity:0;transform:translateY(14px) scale(.97);transition:opacity .4s var(--ease),transform .4s var(--ease);
  cursor:pointer;
}
.cg-tease.show{opacity:1;transform:none}
.cg-tease .ct-head{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.cg-tease .ct-head img{width:26px;height:26px;border-radius:50%;object-fit:cover}
.cg-tease .ct-head b{font-family:var(--sans);font-size:12px}
.cg-tease .ct-head .on{width:6px;height:6px;border-radius:50%;background:var(--teal);margin-left:2px}
.cg-tease .ct-x{margin-left:auto;background:none;border:none;color:var(--muted);font-size:16px;cursor:pointer;padding:2px 6px;line-height:1}
.cg-tease .ct-msg{font-size:13px;line-height:1.5;color:var(--ink);min-height:1.5em}
.cg-tease .ct-msg+.ct-msg{margin-top:8px}
.cg-tease .ct-dots{display:inline-flex;gap:4px;align-items:center}
.cg-tease .ct-dots i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:bob 1s infinite}
.cg-tease .ct-dots i:nth-child(2){animation-delay:.15s}
.cg-tease .ct-dots i:nth-child(3){animation-delay:.3s}
.cg-tease .ct-caret{display:inline-block;width:2px;height:1em;background:var(--teal);vertical-align:-2px;margin-left:1px;animation:caret 1s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
.cg-tease .ct-stamp{display:flex;align-items:center;gap:6px;margin-top:10px;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--teal)}
.cg-tease .ct-stamp svg{width:14px;height:9px}
@media(max-width:480px){.cg-tease{bottom:74px;right:14px}}
@media(prefers-reduced-motion:reduce){.cg-tease{transition:none}.cg-tease .ct-dots i{animation:none}.cg-tease .ct-caret{display:none}}

/* v13.2: scroll-triggered founding-list email capture */
.em-cap{
  position:fixed;left:22px;bottom:22px;z-index:88;width:min(360px,calc(100vw - 44px));
  background:var(--dark);color:var(--cream-on-dark);border-radius:22px;padding:22px 22px 18px;
  box-shadow:var(--sh-lg);border:1px solid rgba(239,233,218,.14);
  opacity:0;transform:translateY(18px);transition:opacity .45s var(--ease),transform .45s var(--ease);
}
.em-cap.show{opacity:1;transform:none}
.em-cap .ec-x{position:absolute;top:10px;right:12px;background:none;border:none;color:var(--sage-on-dark);font-size:16px;cursor:pointer;padding:4px}
.em-cap b{font-family:var(--sans);font-size:14px;display:block;margin-bottom:5px;letter-spacing:-.01em}
.em-cap p{font-size:12px;color:var(--sage-on-dark);margin:0 0 13px;line-height:1.5}
.em-cap form{display:flex;gap:8px}
.em-cap input{flex:1;border:1px solid rgba(239,233,218,.25);background:rgba(239,233,218,.07);border-radius:999px;padding:11px 16px;font-size:13px;color:var(--cream-on-dark);font-family:var(--body)}
.em-cap input::placeholder{color:#7E9880}
.em-cap input:focus{outline:none;border-color:var(--teal-bright);box-shadow:0 0 0 3px rgba(63,184,150,.18)}
.em-cap button[type=submit]{font-family:var(--sans);font-size:12px;font-weight:700;background:var(--cream-on-dark);color:var(--ink);border:none;border-radius:999px;padding:11px 18px;cursor:pointer;white-space:nowrap}
.em-cap button[type=submit]:hover{background:#fff}
.em-cap .ec-micro{font-size:11px;color:#7E9880;margin:9px 0 0}
.em-cap .ec-done{display:flex;align-items:center;gap:9px;font-family:var(--sans);font-size:13px;font-weight:600;color:var(--mint);padding:6px 0}
.em-cap .ec-done svg{width:18px;height:11px;color:#3FB896}
@media(max-width:640px){.em-cap{left:12px;bottom:12px}}
@media(prefers-reduced-motion:reduce){.em-cap{transition:none}}

/* v13.3: hero decramp — air over density */
.hero-c{padding:clamp(88px,13vh,150px) 0 180px}
.hero-c .kicker{margin-bottom:22px}
.hero-c h1{margin-bottom:26px}
.hero-c .sub{margin-bottom:38px;max-width:32em}
.hero-c .cta-row{margin-bottom:0}
.hero-c .ghost{bottom:-14%;color:rgba(239,233,218,.025)}
.tray{margin-top:-96px;padding:16px;gap:14px}
.tile .t-lb{padding:13px 15px}
/* subpage clinician strip */
.clin-strip{background:var(--card);border:1px solid var(--line);border-radius:20px;display:flex;align-items:center;gap:18px;padding:18px 24px;box-shadow:var(--sh-sm)}
.clin-strip img{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:center 25%}
.clin-strip b{font-family:var(--sans);font-size:14px;display:block}
.clin-strip span{font-size:12px;color:var(--muted)}
.clin-strip a{margin-left:auto;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);text-decoration:none;white-space:nowrap}
@media(max-width:560px){.clin-strip{flex-wrap:wrap}.clin-strip a{margin-left:74px}}
/* subpage image beat */
.sub-break{position:relative;overflow:hidden;aspect-ratio:21/7}
.sub-break .kb{position:absolute;inset:-3%;background-size:cover;background-position:center;animation:kbzoom 28s ease-in-out infinite alternate}
@media(max-width:860px){.sub-break{aspect-ratio:16/9}}

/* v13.4: tray tiles — tall portrait images, wider tray */
.hero-c{padding-bottom:210px}
.traywrap .wrap{max-width:1380px}
.tray{margin-top:-130px;padding:16px;gap:14px}
.tile .t-im{aspect-ratio:3/4.1}
.tile .t-lb{padding:14px 16px;font-size:14px}
@media(max-width:1060px){
  .tray{grid-template-columns:repeat(3,1fr)}
  .tile .t-im{aspect-ratio:3/3.4}
}
@media(max-width:640px){
  .tray{grid-auto-columns:56%}
  .tile .t-im{aspect-ratio:3/3.6}
}

/* v14 "TWO MEANINGS" — the brand concept threaded through */
.tile .t-lb{flex-wrap:wrap;row-gap:0}
.tile .t-tag{display:block;width:100%;font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);padding:0 16px 12px;margin-top:-6px}

/* v15 MEGA-FOOTER + tools */
.foot-in{grid-template-columns:1.25fr 1fr 1fr 1fr 1fr;align-items:start}
.foot-app{position:relative;border-radius:20px;overflow:hidden;background:#0C211B;border:1px solid rgba(239,233,218,.14);padding:24px;min-height:300px;display:flex;flex-direction:column;justify-content:flex-end}
.foot-app .fa-img{position:absolute;inset:0;background-size:cover;background-position:62% 20%;opacity:.5}
.foot-app .fa-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,33,27,.25),rgba(12,33,27,.92) 75%)}
.foot-app>*{position:relative}
.foot-app .fa-badge{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--mint);background:rgba(63,184,150,.16);border:1px solid rgba(63,184,150,.35);border-radius:999px;padding:5px 12px;display:inline-block;width:max-content;margin-bottom:10px}
.foot-app b{font-family:var(--sans);font-size:16px;color:var(--cream-on-dark);display:block;margin-bottom:5px}
.foot-app p{font-size:12px;color:var(--sage-on-dark);margin:0}
footer.site ul small{display:block;font-size:11px;color:#6E8A77;letter-spacing:.06em;margin-top:1px}
@media(max-width:1060px){.foot-in{grid-template-columns:1fr 1fr}.foot-app{grid-column:1/-1;min-height:220px}}
/* tool pages */
.tool-card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:var(--sh-md);max-width:560px}
.tool-card .btn{width:100%;text-align:center;margin-top:4px}
.tool-res{text-align:center;padding:18px 0 6px}
.tool-res b{font-family:var(--sans);font-weight:700;font-size:clamp(2rem,4vw,2.8rem);letter-spacing:-.02em;display:block}
.tool-res span{font-size:13px;color:var(--muted)}
.tool-copy{max-width:640px}
.tool-copy h2{font-size:1.4rem;margin-top:34px}
.tool-copy p{color:var(--muted);font-size:14px}

/* ============ v16 · CATEGORY SECTIONS (Medvi-anatomy, light) + WIDGETS ============ */
.cs{position:relative;padding:clamp(64px,9vh,112px) 0;background:linear-gradient(180deg,var(--cs-wash,var(--bone)) 0%,var(--bone) 62%)}
.cs+.cs{border-top:1px solid var(--line)}
.cs-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(28px,4.5vw,72px);align-items:center}
.cs.flip .cs-grid .cs-media{order:2}
.cs-eyebrow{display:flex;align-items:center;gap:10px;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--acc);margin:0 0 14px}
.cs-eyebrow .dotlive{width:7px;height:7px;border-radius:50%;background:var(--acc);animation:pulse 2.6s infinite}
.cs h2{font-family:var(--display);font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.06;letter-spacing:-.03em;font-weight:700;color:var(--ink);margin:0 0 14px}
.cs h2 .acc{color:var(--acc)}
.cs .cs-sub{font-family:var(--body);font-size:16px;line-height:1.7;color:var(--muted);max-width:34em;margin:0 0 20px}
.cs-list{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:10px}
.cs-list li{display:flex;gap:11px;align-items:flex-start;font-family:var(--body);font-size:14px;color:var(--ink);line-height:1.5}
.cs-list li::before{content:"";flex:none;width:19px;height:19px;margin-top:1px;border-radius:50%;background:var(--acc);
  -webkit-mask:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="none" stroke="black" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" d="M4.5 10.5l3.5 3.5 7.5-8"/></svg>') center/100% no-repeat;
  mask:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="none" stroke="black" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" d="M4.5 10.5l3.5 3.5 7.5-8"/></svg>') center/100% no-repeat;
  background-color:var(--acc)}
.cs-ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.cs .btn.acc{background:var(--acc);color:#fff}
.cs .btn.acc:hover{background:var(--ink)}
.cs-note{font-family:var(--body);font-size:12px;color:var(--muted);margin:14px 0 0}
/* media collage */
.cs-media{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:auto;gap:14px;min-width:0}
.cs-im{border-radius:22px;background-size:cover;background-position:center;border:1px solid var(--line);box-shadow:0 18px 44px -26px rgba(16,41,31,.35)}
.cs-im.tall{aspect-ratio:3/3.6;grid-row:span 2}
.cs-im.sq{aspect-ratio:4/3.1}
.cs-media .wg{grid-column:1/-1}
@media(min-width:981px){
  .cs-media.wg-side{grid-template-columns:1.06fr 1fr}
  .cs-media.wg-side .wg{grid-column:2;grid-row:1/span 2;height:100%}
  .cs-media.wg-side .cs-im.tall{grid-row:span 2}
}
/* accents */
.cs--trim{--acc:#2E8F7A;--cs-wash:#E7F1EA}
.cs--crown{--acc:#A8742F;--cs-wash:#F3ECDD}
.cs--rise{--acc:#3E6FA8;--cs-wash:#E7EDF4}
.cs--glow{--acc:#BC5F84;--cs-wash:#F5E9EE}
.cs--core{--acc:#71619F;--cs-wash:#ECE9F4}
.cs--pulse{--acc:#C25147;--cs-wash:#F6EAE6}
/* ---- widget card ---- */
.wg{--wg-track:color-mix(in srgb,var(--acc) 16%,#EDEAE0);background:var(--card);border:1px solid var(--line);border-radius:22px;padding:20px 20px 18px;display:flex;flex-direction:column;gap:14px;box-shadow:0 18px 44px -28px rgba(16,41,31,.3)}
.wg-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.wg-head b{font-family:var(--sans);font-size:14px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
.wg-tag{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);background:color-mix(in srgb,var(--acc) 12%,transparent);padding:5px 10px;border-radius:999px;white-space:nowrap}
.wg-row{display:flex;align-items:center;gap:16px}
.wg-ringwrap{position:relative;flex:none;display:grid;place-items:center}
.wg-ringwrap svg{display:block}
.wg-ringlab{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--sans)}
.wg-ringlab b{font-size:26px;font-weight:700;color:var(--ink);line-height:1}
.wg-ringlab span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:3px}
.wg-ringlab-ok{font-size:30px;color:var(--acc);font-weight:700}
.wg-copy{min-width:0}
.wg-t{display:block;font-family:var(--sans);font-size:14px;font-weight:700;color:var(--acc);margin:0 0 4px}
.wg-line{font-family:var(--body);font-size:14px;line-height:1.6;color:var(--muted);margin:0}
.wg-micro{font-family:var(--body);font-size:11px;color:var(--muted);opacity:.85;margin:0;border-top:1px dashed var(--line);padding-top:10px}
.wg-range{appearance:none;-webkit-appearance:none;width:100%;height:6px;border-radius:999px;background:var(--wg-track);outline-offset:4px;cursor:pointer}
.wg-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--acc);border:3px solid #fff;box-shadow:0 2px 8px rgba(16,41,31,.3);cursor:grab}
.wg-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--acc);border:3px solid #fff;box-shadow:0 2px 8px rgba(16,41,31,.3);cursor:grab}
.wg-between{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.wg-between b{font-size:14px;letter-spacing:0;text-transform:none;color:var(--acc);font-weight:700}
.wg-cv{width:100%;height:auto;border-radius:14px;background:color-mix(in srgb,var(--acc) 6%,#FFFFFF);border:1px solid var(--line)}
.wg-chips{display:flex;gap:8px;flex-wrap:wrap}
.wg-chip{font-family:var(--sans);font-size:12px;font-weight:700;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:9px 16px;cursor:pointer;transition:all .2s}
.wg-chip:hover{border-color:var(--acc);color:var(--acc)}
.wg-chip.on{background:var(--acc);border-color:var(--acc);color:#fff}
.wg-static .wg-chip{cursor:default;font-size:11px;padding:7px 13px}
.wg-days{display:flex;gap:8px;justify-content:space-between}
.wg-day{flex:1;aspect-ratio:1;max-width:46px;border-radius:14px;border:1.5px solid var(--line);background:#fff;font-family:var(--sans);font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;transition:all .18s}
.wg-day:hover{border-color:var(--acc);color:var(--acc)}
.wg-day.on{background:var(--acc);border-color:var(--acc);color:#fff;transform:translateY(-2px)}
.wg-orbwrap{display:flex;gap:16px;align-items:center}
.wg-orb{flex:none;width:92px;height:92px;border-radius:50%;background:radial-gradient(circle at 34% 30%,#FFF6E8,#F2CFA6 58%,#E0A96B);box-shadow:0 0 0 8px color-mix(in srgb,var(--acc) 8%,transparent),0 14px 30px -14px rgba(16,41,31,.35);transition:background .5s,box-shadow .5s}
.wg-orb.night{background:radial-gradient(circle at 34% 30%,#E9E4F6,#B9A8D8 58%,#7E6BAE)}
.wg-steps{display:grid;gap:9px;min-width:0}
.wg-step b{display:block;font-family:var(--sans);font-size:13px;font-weight:700;color:var(--ink)}
.wg-step span{font-family:var(--body);font-size:12px;color:var(--muted);line-height:1.45}
.wg-ekg{position:relative;border-radius:14px;background:color-mix(in srgb,var(--acc) 5%,#FFFFFF);border:1px solid var(--line);padding:10px 0 2px}
.wg-ekg svg{width:100%;height:92px;display:block}
.wg-grid{stroke:color-mix(in srgb,var(--acc) 12%,transparent);stroke-width:1}
.wg-trace{stroke:var(--acc);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
@keyframes wg-draw{0%{stroke-dashoffset:var(--wg-len,1200)}70%{stroke-dashoffset:0}100%{stroke-dashoffset:0}}
.wg-bpm{display:flex;align-items:baseline;gap:7px;padding:4px 14px 8px}
.wg-bpm b{font-family:var(--sans);font-size:22px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.wg-bpm span{font-family:var(--body);font-size:11px;color:var(--muted)}
/* catalog intro strip */
.cs-intro{text-align:center;padding:clamp(56px,8vh,88px) 0 clamp(8px,2vh,20px)}
.cs-intro .kicker{margin-bottom:10px}
.cs-intro h2{font-family:var(--display);font-size:clamp(2rem,4.2vw,3.2rem);letter-spacing:-.03em;font-weight:700;color:var(--ink);margin:0 0 12px}
.cs-intro h2 em{font-style:normal;color:var(--teal)}
.cs-intro p{font-family:var(--body);font-size:16px;color:var(--muted);max-width:44em;margin:0 auto;line-height:1.7}
@media(max-width:980px){
  .cs-grid{grid-template-columns:1fr}
  .cs.flip .cs-grid .cs-media{order:0}
  .cs-media{grid-template-columns:1fr 1fr}
  .cs-im.tall{aspect-ratio:3/2.6;grid-row:auto;grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){
  .wg-trace{animation:none!important}
  .cs-eyebrow .dotlive{animation:none}
  .wg-day.on{transform:none}
}

/* ============ v16.1 · LIGHTER GREEN + TINTED (not solid) DARK SURFACES ============ */
:root{--dark:#1C4536;--dark-2:#25573F;--ink-deep:#173529}
.hero-c{background:
  radial-gradient(1100px 540px at 50% -12%,rgba(91,201,168,.22),transparent 62%),
  radial-gradient(900px 600px at 85% 110%,rgba(63,184,150,.14),transparent 60%),
  linear-gradient(170deg,#1A4030 0%,#1E4B3A 58%,#255944 100%)}
.announce{background:linear-gradient(90deg,#1B4233,#226048 55%,#1B4233)}
.marquee{background:linear-gradient(90deg,#1B4233,#215A44 50%,#1B4233);border-top:1px solid rgba(239,233,218,.14);border-bottom:1px solid rgba(239,233,218,.14)}
.chapter{background:linear-gradient(170deg,#1B4335,#235441)}
.chapter .scrim{background:linear-gradient(100deg,rgba(23,56,43,.86) 8%,rgba(23,56,43,.5) 55%,rgba(26,64,48,.22))}
.chapter.ch--right .scrim{background:linear-gradient(260deg,rgba(23,56,43,.86) 8%,rgba(23,56,43,.5) 55%,rgba(26,64,48,.22))}
.elig{background:
  radial-gradient(760px 420px at 12% -10%,rgba(91,201,168,.2),transparent 60%),
  linear-gradient(160deg,#1C4636,#245642 70%,#2A6450)}
.founding{background:linear-gradient(145deg,#1C4636,#266049)}
.founding .scrim{background:linear-gradient(100deg,rgba(24,58,45,.9) 20%,rgba(42,118,96,.72))}
.band-dark{background:linear-gradient(160deg,#1C4636,#245642)}
.signoff{background:
  radial-gradient(1200px 600px at 50% 120%,rgba(91,201,168,.2),transparent 62%),
  linear-gradient(175deg,#1B4233,#214F3D 60%,#275C47)}
footer.site{background:linear-gradient(175deg,#193E30,#1C4737)}
.aspire.bgsec .scrim{background:linear-gradient(180deg,rgba(24,58,45,.8),rgba(24,58,45,.56) 50%,rgba(24,58,45,.82))}
.cat-hero .scrim{background:linear-gradient(100deg,rgba(23,56,43,.88) 10%,rgba(23,56,43,.46) 60%,rgba(26,64,48,.2))}
.cg-head{background:linear-gradient(120deg,#1C4636,#245642)}

/* v16.2 · widget width fixes */
.cs-grid{grid-template-columns:1.16fr .84fr}
@media(min-width:981px){
  .cs-media.wg-side{grid-template-columns:.86fr 1.14fr}
}
.wg-copy{flex:1;min-width:0}
.wg-head b{line-height:1.3}
.wg{min-width:0}
.cs-im.tall{aspect-ratio:3/3.9}

/* v16.3 · widget min-width + small-card ergonomics */
@media(min-width:981px){
  .cs-media.wg-side{grid-template-columns:minmax(0,.82fr) minmax(290px,1.18fr)}
}
.wg-row{flex-wrap:wrap}
.wg-days{gap:6px}
.wg-day{max-width:42px;border-radius:12px}
.wg-head{flex-wrap:wrap;row-gap:6px}
.wg-head b{font-size:14px}
.wg-line{font-size:13px}
.wg-orbwrap{flex-wrap:wrap}

/* v16.4 · flipped sections: media keeps the wide track */
@media(min-width:981px){
  .cs.flip .cs-grid{grid-template-columns:.84fr 1.16fr}
}

/* ============ v17 · HERO SEEN-CYCLE + SECTION MICRO-INTERACTIONS ============ */
.hero-tint{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.55;transition:opacity .6s ease;
  background:radial-gradient(1000px 520px at 50% 14%,var(--tintc,rgba(91,201,168,.2)),transparent 68%)}
.hero-tint.dim{opacity:0}
.cycle-wrap{display:inline-block;position:relative}
.cycle-word{font-style:normal;font-weight:700;display:inline-block;color:var(--cycw,#5BC9A8);
  transition:opacity .34s ease,transform .34s ease,color .34s ease;will-change:transform}
.cycle-word.out{opacity:0;transform:translateY(-16px) rotate(-1deg)}
.cycle-word.pre{transition:none;opacity:0;transform:translateY(18px)}
.cycle-word::after{content:"";position:absolute;left:2%;right:2%;bottom:.02em;height:.085em;border-radius:99px;
  background:currentColor;opacity:.32;transform-origin:left;transform:scaleX(var(--uw,1));transition:transform .5s cubic-bezier(.22,.8,.3,1)}
/* tray tile hot state (synced with cycle) */
.tile[data-cat]{--tacc:#5BC9A8}
.tile[data-cat="trim"]{--tacc:#2E8F7A}.tile[data-cat="crown"]{--tacc:#A8742F}
.tile[data-cat="rise"]{--tacc:#3E6FA8}.tile[data-cat="glow"]{--tacc:#BC5F84}
.tile[data-cat="core"]{--tacc:#71619F}.tile[data-cat="pulse"]{--tacc:#C25147}
.tile{transition:transform .4s cubic-bezier(.22,.8,.3,1),box-shadow .4s ease}
.tile.hot{transform:translateY(-7px);box-shadow:0 0 0 2.5px var(--tacc),0 24px 48px -20px rgba(16,41,31,.45)}
.tile.hot .t-tag{color:var(--tacc);font-weight:700}
.tile.hot .ar{transform:translateX(4px)}
.tile .ar{display:inline-block;transition:transform .3s ease}
/* category section accent underline sweep */
.cs h2 .acc{position:relative;display:inline-block}
.cs h2 .acc::after{content:"";position:absolute;left:0;right:0;bottom:-.06em;height:.09em;border-radius:99px;
  background:var(--acc);opacity:.3;transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.22,.8,.3,1) .25s}
.cs .cs-copy.lit h2 .acc::after{transform:scaleX(1)}
/* image tile hover: phrase reveal + slow zoom */
.cs-im{position:relative;overflow:hidden}
.cs-im::before{content:"";position:absolute;inset:0;z-index:1;background:inherit;
  transition:transform 1.2s cubic-bezier(.22,.8,.3,1)}
.cs-im .im-tag{position:absolute;left:12px;bottom:12px;z-index:2;font-family:var(--sans);font-size:12px;font-weight:700;
  letter-spacing:.06em;color:#fff;background:color-mix(in srgb,var(--acc) 82%,#10291F);padding:8px 14px;border-radius:999px;
  opacity:0;transform:translateY(10px);transition:opacity .35s ease,transform .35s ease;pointer-events:none;box-shadow:0 8px 20px -8px rgba(16,41,31,.5)}
.cs-im:hover::before,.cs-media:hover .cs-im::before{transform:scale(1.05)}
.cs-im:hover .im-tag,.cs-media:hover .cs-im .im-tag{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .cycle-word,.cycle-word::after,.tile,.cs-im::before,.cs h2 .acc::after{transition:none!important}
  .cs-im::before{transform:none!important}
}
.hero-c h1{max-width:16em}
.cw-seen{color:var(--cream-on-dark)}

/* ============ v18 · STAGGERED MEDIA COMPOSITIONS (per-category, anti-template) ============ */
.cs-media{position:relative}
.pchip{position:absolute;z-index:4;width:112px;aspect-ratio:3/3.8;border-radius:18px;background-size:cover;background-position:center;
  border:4px solid var(--card);box-shadow:0 16px 34px -14px rgba(16,41,31,.45);pointer-events:none}
/* Trim — arch crop, product pen chip low-left, block floats high */
.cs--trim .cs-im.tall{border-radius:999px 999px 26px 26px}
.cs--trim .pchip{left:-18px;bottom:-22px;transform:rotate(-5deg)}
.cs--trim .cs-media{margin-top:-14px}
/* Crown — gentle tilt, chip high-left, block + widget sit low */
.cs--crown .cs-im.tall{transform:rotate(-2deg)}
.cs--crown .pchip{left:-20px;top:-20px;transform:rotate(5deg)}
.cs--crown .cs-media{margin-top:26px}
.cs--crown .cs-media .wg{margin-top:34px}
/* Rise — straight crop over an offset accent frame, no chip */
.cs--rise .cs-im.tall{border-radius:20px;box-shadow:-18px 18px 0 -2px color-mix(in srgb,var(--acc) 26%,transparent)}
.cs--rise .cs-media{margin-top:-10px}
/* Glow — leaf-shaped crop, chip low-left, widget rides high */
.cs--glow .cs-im.tall{border-radius:26px 140px 26px 140px}
.cs--glow .pchip{left:-16px;bottom:-18px;transform:rotate(-6deg)}
.cs--glow .cs-media .wg{margin-top:-18px}
/* Core — widget takes the LEFT slot, image tilts right, chip low-right */
.cs--core .cs-im.tall{transform:rotate(1.8deg)}
.cs--core .pchip{right:-18px;bottom:-20px;transform:rotate(5deg)}
.cs--core .cs-media{margin-top:20px}
/* Pulse — round watch-render badge, widget drops low */
.cs--pulse .pchip{width:116px;height:116px;aspect-ratio:auto;border-radius:50%;left:-20px;bottom:-20px;transform:none}
.cs--pulse .cs-media{margin-top:-16px}
.cs--pulse .cs-media .wg{margin-top:22px}
/* keep the hover Seen-chip clear of bottom-left product chips */
.cs--trim .im-tag,.cs--glow .im-tag,.cs--pulse .im-tag{left:auto;right:12px}
@media(min-width:981px){
  .cs--core .cs-media.wg-side .wg{grid-column:1;grid-row:1/span 2}
  .cs--core .cs-media.wg-side .cs-im.tall{grid-column:2;grid-row:1/span 2}
}
/* hand-laid hero tray: alternating baselines (hot-lift combines via --ty) */
.tile{--ty:0px;transform:translateY(var(--ty))}
.tray .tile:nth-child(2){--ty:10px}
.tray .tile:nth-child(3){--ty:-6px}
.tray .tile:nth-child(4){--ty:7px}
.tray .tile:nth-child(6){--ty:9px}
.tile.hot{transform:translateY(calc(var(--ty) - 7px))}
/* gender split: arch one card, drop the other */
.split .panel-w .photo{border-radius:999px 999px 0 0}
@media(min-width:981px){.split .panel-m{margin-top:30px}}
@media(max-width:980px){
  .pchip{width:86px}
  .cs--pulse .pchip{width:92px;height:92px}
  .cs-media{margin-top:0!important}
  .cs--crown .cs-media .wg,.cs--pulse .cs-media .wg{margin-top:0}
  .cs--glow .cs-media .wg{margin-top:0}
}
@media(prefers-reduced-motion:reduce){.tile{transform:translateY(var(--ty))}}

/* ============ v19 · POLISH PASS (depth, editorial scale, chip-placement fix) ============ */
/* chips: bottom corners only, mostly overhanging — never over faces */
.pchip{width:102px}
.cs--trim .pchip{left:-26px;bottom:-24px;transform:rotate(-6deg)}
.cs--crown .pchip{left:-24px;top:auto;bottom:-22px;transform:rotate(6deg)}
.cs--glow .pchip{left:-24px;bottom:-22px;transform:rotate(-7deg)}
.cs--core .pchip{right:-24px;bottom:-24px;transform:rotate(6deg)}
.cs--pulse .pchip{width:104px;height:104px;left:-24px;bottom:-26px}
.cs--crown .im-tag{left:auto;right:12px}
/* seated accent blob behind each media composition */
.cs-media{z-index:0}
.cs-media::before{content:"";position:absolute;z-index:-1;width:88%;aspect-ratio:1;border-radius:50%;left:46%;top:52%;transform:translate(-50%,-50%);pointer-events:none;
  background:radial-gradient(circle,color-mix(in srgb,var(--acc) 15%,transparent),transparent 68%)}
.cs--crown .cs-media::before{left:40%;top:44%}
.cs--glow .cs-media::before{left:56%;top:58%}
.cs--pulse .cs-media::before{left:38%;top:56%}
/* editorial scale on section headlines */
.cs h2{font-size:clamp(2.1rem,4.2vw,3.3rem)}
/* widget cards: accent hairline + hover lift */
.wg{position:relative;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease}
.wg::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;z-index:1;
  background:linear-gradient(90deg,var(--acc),color-mix(in srgb,var(--acc) 30%,#fff))}
.wg:hover{transform:translateY(-3px);box-shadow:0 26px 54px -28px rgba(16,41,31,.38)}
/* comparison: make our column unmistakably ours */
.cmp th.us{background:var(--teal);color:#fff;letter-spacing:.14em}
.cmp .us{background:color-mix(in srgb,var(--teal) 11%,var(--card))}
.cmp .yes::before{content:"✓  ";font-weight:800}
.cmp .no::before{content:"✕ ";font-size:11px;opacity:.7}
.cmp-scroll{box-shadow:0 20px 44px -30px rgba(16,41,31,.3)}
/* provider card: ringed photo, credential chips, soft blob */
.prov{position:relative;overflow:hidden}
.prov::before{content:"";position:absolute;right:-120px;top:-120px;width:380px;height:380px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(91,201,168,.16),transparent 68%)}
.prov-photo{overflow:hidden;border:4px solid var(--card);box-shadow:0 0 0 2px var(--teal),0 18px 40px -20px rgba(16,41,31,.4)}
.prov-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.prov-chips span{font-family:var(--sans);font-size:11px;font-weight:700;color:var(--teal);background:var(--teal-soft);padding:7px 13px;border-radius:999px;white-space:nowrap}
/* hero: tiny Seen-receipt payoff */
.hero-receipt{display:flex;gap:10px;justify-content:center;align-items:center;margin-top:26px;font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.04em}
.hero-receipt .hr-msg{color:var(--cream-on-dark);background:rgba(239,233,218,.12);border:1px solid rgba(239,233,218,.2);padding:8px 15px;border-radius:999px 999px 4px 999px}
.hero-receipt .hr-seen{color:#5BC9A8}
.hero-receipt .hr-seen b{letter-spacing:-.04em;margin-left:2px}
/* catalog intro: six-category dot legend */
.cs-intro .dots{display:flex;gap:11px;justify-content:center;margin-top:20px}
.cs-intro .dots i{width:11px;height:11px;border-radius:50%;background:var(--d);display:block;opacity:.85}
/* faq micro-interactions */
.faq summary{transition:color .2s}
.faq summary:hover,.faq details[open] summary{color:var(--teal)}
@media(max-width:980px){
  .pchip{width:80px}
  .cs--pulse .pchip{width:86px;height:86px}
  .cs-media::before{width:100%}
}

/* v19.1 · product motion block */
.cs-vid{width:100%;display:block;border-radius:22px;border:1px solid var(--line);box-shadow:0 18px 44px -26px rgba(16,41,31,.35)}
.cs-media.solo{display:block}

/* ============ v20 · GUIDES + MEGA-FOOTER + FAQ GROUPS ============ */
.guide-hero{background:
  radial-gradient(900px 420px at 15% -10%,rgba(91,201,168,.14),transparent 60%),
  linear-gradient(170deg,#1B4335 0%,#235441 100%);color:var(--cream-on-dark);padding:clamp(56px,8vh,96px) 0 clamp(40px,6vh,64px)}
.guide-hero .crumb{font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-on-dark);margin:0 0 20px}
.guide-hero .crumb a{color:inherit;text-decoration:none}
.guide-hero .kicker{color:var(--mint)}
.guide-hero h1{color:var(--cream-on-dark);font-size:clamp(2.2rem,4.6vw,3.6rem)}
.guide-hero h1 em{font-style:normal;color:#5BC9A8}
.answer-box{max-width:52em;background:rgba(239,233,218,.09);border:1px solid rgba(239,233,218,.18);border-left:4px solid #5BC9A8;border-radius:16px;padding:20px 24px;margin-top:26px}
.answer-box b{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#5BC9A8;display:block;margin-bottom:8px}
.answer-box p{margin:0;font-size:16px;line-height:1.7;color:var(--cream-on-dark)}
.guide-body h2{font-family:var(--display);font-size:clamp(1.4rem,2.4vw,1.9rem);letter-spacing:-.02em;margin:34px 0 10px;color:var(--ink)}
.guide-body h2:first-child{margin-top:0}
.guide-body p{font-family:var(--body);font-size:16px;line-height:1.75;color:var(--muted);max-width:46em;margin:0 0 6px}
.gnav{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.gnav-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 20px;text-decoration:none;color:var(--ink);font-family:var(--sans);font-size:14px;font-weight:700;transition:border-color .2s,transform .2s,box-shadow .2s}
.gnav-card:hover{border-color:var(--teal);transform:translateY(-2px);box-shadow:0 16px 34px -22px rgba(16,41,31,.35)}
.gnav-card .ar{color:var(--teal);transition:transform .2s}
.gnav-card:hover .ar{transform:translateX(3px)}
@media(max-width:760px){.gnav{grid-template-columns:1fr}}
/* FAQ groups */
.faq-g{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin:34px 0 6px;padding:0 4px}
.faq-g:first-child{margin-top:0}
.faq .a a{color:var(--teal);font-weight:600;text-decoration:underline;text-underline-offset:2px}
/* mega-footer: six columns */
.foot-in{grid-template-columns:1.15fr 1fr .95fr 1fr 1.05fr 1fr}
@media(max-width:1100px){.foot-in{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:640px){.foot-in{grid-template-columns:1fr 1fr}}
footer.site .fsub{margin-top:22px}

/* v20.1 · streak day buttons: never clip the 7th day */
.wg-days{gap:5px;justify-content:stretch}
.wg-day{flex:1 1 0;min-width:0;max-width:44px;aspect-ratio:auto;height:38px;border-radius:11px;padding:0}

/* ============ v21 · PREMIUM TEXTURE PASS ============ */
/* film grain on dark cinematic surfaces */
.hero-c::after,.signoff::after,.chapter::after,.founding::after,.guide-hero::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.5;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E")}
.hero-c{isolation:isolate}
.hero-c .wrap{z-index:2}
.chapter .ch-wrap,.chapter .ch-num{z-index:2}
.signoff .wrap,.founding>*,.guide-hero .wrap{position:relative;z-index:2}
/* tray tiles: shine sweep on hover */
.tile .t-im{position:relative;overflow:hidden}
.tile .t-im::after{content:"";position:absolute;inset:-40% -60%;z-index:2;pointer-events:none;
  background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.28) 50%,transparent 58%);
  transform:translateX(-80%) rotate(0.001deg);transition:transform .7s cubic-bezier(.3,.7,.3,1)}
.tile:hover .t-im::after,.tile.hot .t-im::after{transform:translateX(80%)}
/* catalog legend dots: staggered pop on reveal */
.cs-intro .dots i{opacity:0;transform:scale(.3);animation:dotpop .45s cubic-bezier(.34,1.56,.64,1) forwards}
.cs-intro .dots i:nth-child(1){animation-delay:.1s}.cs-intro .dots i:nth-child(2){animation-delay:.18s}
.cs-intro .dots i:nth-child(3){animation-delay:.26s}.cs-intro .dots i:nth-child(4){animation-delay:.34s}
.cs-intro .dots i:nth-child(5){animation-delay:.42s}.cs-intro .dots i:nth-child(6){animation-delay:.5s}
@keyframes dotpop{to{opacity:.85;transform:scale(1)}}
/* widget result numbers: tabular + slight pop */
.wg-ringlab b,.wg-bpm b,.tool-res b{font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce){
  .tile .t-im::after{display:none}
  .cs-intro .dots i{animation:none;opacity:.85;transform:none}
}

/* v21.1 · mobile corrections (verified at 390px) */
@media(max-width:980px){
  .cs-grid{grid-template-columns:1fr}
  .cs.flip .cs-grid{grid-template-columns:1fr}
}
.chapter .ch-card{max-width:min(560px,100%)}
@media(max-width:700px){
  footer.site .wrap.foot-in{padding-left:22px;padding-right:22px}
  .foot-app{grid-column:1/-1}
}

/* v21.2 · hero Q/A split: full question + cycling answers */
.q-seen{font-style:normal;color:#5BC9A8}

/* ============ v22 · ASPIRE + SIGNOFF REBUILD ============ */
.aspire{position:relative;overflow:hidden}
.aspire::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(900px 420px at 50% 0%,rgba(46,143,122,.1),transparent 65%)}
.aspire .wrap{position:relative}
.asp-ticks{display:inline-block;width:54px;color:var(--teal);margin-bottom:22px}
.asp-ticks svg{width:100%;height:auto;display:block}
.aspire p.big{max-width:17em;margin-left:auto;margin-right:auto;text-wrap:balance;line-height:1.14}
.aspire p.big.big2{color:var(--muted);font-weight:600;margin-top:10px}
.aspire p.big.big2 em{font-style:normal;font-weight:800;color:var(--teal)}
.asp-words{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;margin-top:34px;
  font-family:var(--sans);font-size:14px;font-weight:700;letter-spacing:.04em}
.asp-words span{color:var(--c);position:relative}
.asp-words span+span::before{content:"";position:absolute;left:-14px;top:50%;width:5px;height:5px;border-radius:50%;
  background:var(--line);transform:translateY(-50%)}
/* signoff: kill the stray italic, draw the ticks on reveal */
.signoff .so-big{font-style:normal;font-family:var(--display);font-weight:800;letter-spacing:-.045em}
.signoff .ticks path{stroke-dasharray:40;stroke-dashoffset:40}
.signoff .so-big.in .ticks path{animation:tickdraw .7s cubic-bezier(.3,.7,.3,1) forwards}
.signoff .so-big.in .ticks path:nth-child(2){animation-delay:.35s}
@keyframes tickdraw{to{stroke-dashoffset:0}}
.so-dots{display:flex;gap:12px;justify-content:center;margin:6px 0 16px}
.so-dots i{width:9px;height:9px;border-radius:50%;background:var(--d);opacity:.9;display:block}
@media(prefers-reduced-motion:reduce){
  .signoff .ticks path{stroke-dashoffset:0;animation:none!important}
}

/* ============ v23 · SHORTER HOME HERO + INTERIOR UPGRADE PACKAGE ============ */
/* homepage hero: compress so the tray shows above the fold */
.hero-c{padding:clamp(36px,4.5vh,58px) 0 128px}
.hero-c h1{font-size:clamp(2.5rem,5.4vw,4.2rem);margin-bottom:16px}
.hero-c .kicker{margin-bottom:12px}
.hero-c .sub{margin-bottom:22px;font-size:16px}
.hero-c .cta-row{margin-bottom:0}
.hero-receipt{margin-top:18px}
/* interior split hero */
.cat-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.5;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E")}
.cat-hero .wrap{position:relative;z-index:2}
.hero-split{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(28px,4vw,64px);align-items:center}
.hero-media{position:relative;justify-self:end;width:min(380px,100%)}
.hm-im{aspect-ratio:3/3.5;border-radius:999px 999px 26px 26px;background-size:cover;background-position:center;
  border:5px solid rgba(252,251,247,.92);box-shadow:0 30px 70px -30px rgba(5,20,15,.6)}
.hero-media .pchip{right:-16px;bottom:-14px;left:auto;top:auto;transform:rotate(5deg)}
.hero-media::before{content:"";position:absolute;z-index:-1;width:120%;aspect-ratio:1;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(91,201,168,.22),transparent 68%)}
@media(max-width:980px){
  .hero-split{grid-template-columns:1fr}
  .hero-media{justify-self:center;width:min(300px,86%);margin-top:6px}
}
/* steps: category accent + lift */
.steps .step{transition:transform .3s ease,box-shadow .3s ease;position:relative;overflow:hidden}
.steps .step::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--acc,var(--teal)),color-mix(in srgb,var(--acc,var(--teal)) 30%,#fff))}
.steps .step:hover{transform:translateY(-3px);box-shadow:0 24px 50px -28px rgba(16,41,31,.35)}
.steps .step-n{background:color-mix(in srgb,var(--acc,var(--teal)) 13%,#fff);color:var(--acc,var(--teal));
  border:1.5px solid color-mix(in srgb,var(--acc,var(--teal)) 30%,transparent)}
/* tool cards: hairline + lift (match widget cards) */
.tool-card{position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.tool-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--teal),#5BC9A8)}
.tool-card:hover{transform:translateY(-2px);box-shadow:0 26px 54px -28px rgba(16,41,31,.3)}

/* v23.1 · step numerals as pills, not bars */
.steps .step-n{display:inline-flex;align-items:center;justify-content:center;width:auto;align-self:flex-start;
  padding:5px 13px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.08em}

/* ============ v24 · SIGNATURE MODULES (for-women / for-men / membership) ============ */
/* framed hero media variant (for-men) */
.hero-media.hm--frame .hm-im{border-radius:20px;border:4px solid rgba(252,251,247,.92);
  box-shadow:-18px 18px 0 -2px rgba(62,111,168,.45),0 30px 70px -30px rgba(5,20,15,.6)}
.hero-media.hm--frame::before{background:radial-gradient(circle,rgba(143,180,232,.2),transparent 68%)}
/* no-BS scorecard */
.sc{margin-top:28px;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--card);
  box-shadow:0 22px 50px -30px rgba(16,41,31,.3)}
.sc-row{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.sc-row:last-child{border-bottom:none}
.sc-no,.sc-yes{padding:17px 22px;font-family:var(--body);font-size:14px;display:flex;align-items:center;gap:11px}
.sc-no{color:var(--muted);background:color-mix(in srgb,var(--line) 26%,transparent);text-decoration:line-through;text-decoration-color:rgba(154,68,51,.5);text-decoration-thickness:1.5px}
.sc-no::before{content:"✕";flex:none;font-size:12px;color:#9A4433;opacity:.8;font-weight:700}
.sc-yes{color:var(--ink);font-weight:600}
.sc-yes::before{content:"✓";flex:none;font-weight:800;color:var(--acc,var(--teal))}
@media(max-width:700px){.sc-row{grid-template-columns:1fr}.sc-no{border-bottom:1px dashed var(--line)}}
/* membership billing timeline */
.bline{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:40px;position:relative}
.bline::before{content:"";position:absolute;top:19px;left:9%;right:9%;height:2.5px;
  background:linear-gradient(90deg,var(--teal-soft),var(--teal),var(--teal-soft));border-radius:99px}
.bl-step{position:relative;padding:0 14px;text-align:center}
.bl-dot{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;
  background:var(--card);border:2.5px solid var(--teal);color:var(--teal);font-family:var(--sans);font-size:13px;font-weight:800;margin-bottom:12px;letter-spacing:-.06em}
.bl-step.on .bl-dot{background:var(--teal);color:#fff;box-shadow:0 0 0 7px color-mix(in srgb,var(--teal) 16%,transparent)}
.bl-step b{display:block;font-family:var(--sans);font-size:13px;font-weight:700;color:var(--ink);margin-bottom:5px}
.bl-step p{font-family:var(--body);font-size:13px;line-height:1.55;color:var(--muted);margin:0}
@media(max-width:860px){
  .bline{grid-template-columns:1fr;gap:18px;justify-items:start}
  .bline::before{left:19px;right:auto;top:8%;bottom:8%;width:2.5px;height:auto;
    background:linear-gradient(180deg,var(--teal-soft),var(--teal),var(--teal-soft))}
  .bl-step{text-align:left;display:grid;grid-template-columns:40px 1fr;gap:0 14px;padding:0}
  .bl-step b{grid-column:2}.bl-step p{grid-column:2}.bl-dot{grid-row:1/span 2;margin:0}
}
/* stage chips wrap nicely in the card */
.wg-stages{flex-wrap:wrap}
.gsec .cs-media{min-width:0}

/* ============ v25 · THREE BESPOKE PAGE OPENERS ============ */
/* —— FOR WOMEN: light editorial hero —— */
.whero{position:relative;overflow:hidden;padding:clamp(48px,7vh,88px) 0 clamp(44px,6vh,72px);
  background:
   radial-gradient(900px 480px at 82% 0%,rgba(188,95,132,.14),transparent 62%),
   radial-gradient(700px 420px at 0% 100%,rgba(46,143,122,.08),transparent 60%),
   var(--bone)}
.whero .crumb-ink{font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 18px}
.whero .crumb-ink a{color:inherit;text-decoration:none}
.wbadge{display:inline-block;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:#A14A6E;background:rgba(188,95,132,.12);border:1px solid rgba(188,95,132,.3);padding:8px 16px;border-radius:999px;margin-bottom:20px}
.whero h1{color:var(--ink);font-size:clamp(2.2rem,4.6vw,3.6rem);max-width:11em}
.whero h1 em{font-style:normal;color:#BC5F84}
.whero .sub{color:var(--muted);max-width:33em}
.wbtn{background:#BC5F84;color:#fff}
.wbtn:hover{background:var(--ink)}
.howlink-ink{color:var(--ink)}
.wchips{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}
.wchips span{font-family:var(--sans);font-size:12px;font-weight:700;color:#A14A6E;background:#fff;
  border:1px solid rgba(188,95,132,.35);padding:8px 14px;border-radius:999px}
.whero .hm-im.hm-w{border-color:#fff;box-shadow:0 30px 70px -30px rgba(120,40,70,.35)}
.whero .hero-media::before{background:radial-gradient(circle,rgba(188,95,132,.16),transparent 68%)}
.hm-float{position:absolute;left:-26px;bottom:34px;background:var(--card);border:1px solid var(--line);border-radius:16px;
  padding:12px 16px;max-width:230px;box-shadow:0 18px 40px -18px rgba(16,41,31,.35)}
.hm-float b{display:block;font-family:var(--sans);font-size:13px;color:var(--ink)}
.hm-float .tk{color:var(--teal);letter-spacing:-.08em}
.hm-float span{font-family:var(--body);font-size:11px;color:var(--muted);line-height:1.45}
/* —— FOR MEN: slate spec-sheet hero —— */
.mhero{position:relative;overflow:hidden;color:var(--cream-on-dark);padding:clamp(48px,7vh,84px) 0 clamp(44px,6vh,72px);
  background:
   radial-gradient(900px 500px at 85% -10%,rgba(143,180,232,.16),transparent 62%),
   linear-gradient(170deg,#1C3140 0%,#24415A 100%)}
.mhero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.5;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E")}
.mhero .wrap{position:relative;z-index:2}
.mhero .crumb{font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#9FB6CE;margin:0 0 18px}
.mhero .crumb a{color:inherit;text-decoration:none}
.mhero h1{color:#F2EFE6;font-size:clamp(2.2rem,4.6vw,3.6rem)}
.mhero h1 em{font-style:normal;color:#8FB4E8}
.mhero .sub{color:#B9C9DC}
.mbtn{background:#F2EFE6;color:#1C3140}
.mbtn:hover{background:#fff}
.mhero .howlink{color:#D7E2EF}
.spec{margin:26px 0 28px;max-width:430px;border:1px solid rgba(242,239,230,.18);border-radius:16px;overflow:hidden;
  background:rgba(10,24,34,.35);backdrop-filter:blur(4px)}
.spec-row{display:flex;align-items:baseline;gap:14px;padding:13px 18px;border-bottom:1px solid rgba(242,239,230,.1)}
.spec-row:last-child{border-bottom:none}
.spec-row span{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#9FB6CE;flex:none}
.spec-row i{flex:1;border-bottom:1.5px dotted rgba(159,182,206,.35);transform:translateY(-4px)}
.spec-row b{font-family:var(--sans);font-size:16px;font-weight:800;color:#F2EFE6;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.mhero .hero-media.hm--frame .hm-im{border-color:rgba(242,239,230,.92);box-shadow:-18px 18px 0 -2px rgba(143,180,232,.4),0 30px 70px -30px rgba(4,14,22,.7)}
/* —— MEMBERSHIP: the receipt —— */
.rcpt{position:relative;background:#FCFBF7;color:var(--ink);border-radius:18px 18px 0 0;padding:26px 26px 34px;
  box-shadow:0 30px 70px -28px rgba(5,20,15,.55);
  -webkit-mask:
    linear-gradient(#000 0 0) top/100% calc(100% - 12px) no-repeat,
    radial-gradient(circle at 10px 100%, transparent 0 7px, #000 7px) bottom left/20px 12px repeat-x;
  mask:
    linear-gradient(#000 0 0) top/100% calc(100% - 12px) no-repeat,
    radial-gradient(circle at 10px 100%, transparent 0 7px, #000 7px) bottom left/20px 12px repeat-x}
.r-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.r-brand{font-family:var(--sans);font-weight:800;font-size:16px;letter-spacing:-.02em}
.r-brand b{color:var(--teal)}
.r-no{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--muted)}
.r-dash{border-top:1.5px dashed var(--line);margin:12px 0}
.r-item{display:flex;justify-content:space-between;gap:12px;font-family:var(--body);font-size:14px;color:var(--ink);padding:5px 0}
.r-item b{color:var(--teal);font-weight:800}
.rcpt .plans{margin:4px 0}
.rcpt .plan{padding:13px 16px;border-radius:14px}
.r-total{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--sans);padding:6px 0 0}
.r-total span{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.r-total b{font-size:30px;font-weight:800;letter-spacing:-.03em;color:var(--ink)}
.r-note{font-family:var(--body);font-size:12px;color:var(--muted);line-height:1.55;margin:8px 0 16px}
.r-stamp{display:block;text-align:center;margin-top:14px;font-family:var(--sans);font-size:11px;font-weight:800;
  letter-spacing:.22em;text-transform:uppercase;color:var(--teal);opacity:.85;transform:rotate(-1.6deg)}
@media(max-width:980px){
  .hm-float{left:8px;bottom:14px}
  .spec{max-width:100%}
}

/* ============ v26 · CONCEPT CRAFT: collage / blueprint / giant price ============ */
/* —— WOMEN: editorial lockup + collage + stage marquee —— */
.w-split{grid-template-columns:1fr 1.05fr;align-items:center}
.w-kick{font-family:var(--sans);font-size:clamp(14px,1.4vw,18px);font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:var(--ink);margin:0 0 6px}
.w-h1{font-family:var(--display);font-weight:800;font-size:clamp(3rem,6vw,5rem);line-height:.98;letter-spacing:-.045em;color:var(--ink);margin:0 0 20px}
.w-h1 span{color:#BC5F84}
.w-collage{position:relative;min-height:clamp(380px,44vw,560px)}
.wc-main{position:absolute;right:6%;top:0;width:68%;aspect-ratio:3/3.6;border-radius:999px 999px 26px 26px;
  background-size:cover;background-position:center;border:6px solid #fff;box-shadow:0 36px 80px -34px rgba(120,40,70,.45)}
.wc-sub{position:absolute;left:0;bottom:4%;width:42%;aspect-ratio:1;border-radius:24px;transform:rotate(-4deg);
  background-size:cover;background-position:center;border:6px solid #fff;box-shadow:0 26px 60px -26px rgba(120,40,70,.4)}
.w-collage::before{content:"";position:absolute;z-index:-1;width:110%;aspect-ratio:1;border-radius:50%;left:50%;top:48%;transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(188,95,132,.18),transparent 66%)}
.w-collage .hm-float{left:auto;right:-4px;bottom:10%;max-width:215px}
.whero{padding-bottom:clamp(36px,5vh,56px)}
.w-marquee{background:linear-gradient(90deg,#B8537B,#D0718F 50%,#B8537B);color:#FFF4F8;overflow:hidden;
  border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(188,95,132,.3)}
.wm-track{display:flex;white-space:nowrap;width:max-content;animation:mqx 26s linear infinite;
  font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;padding:13px 0}
@keyframes mqx{to{transform:translateX(-50%)}}
/* —— MEN: blueprint grid + stopwatch frame —— */
.bp-grid{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background:
   repeating-linear-gradient(0deg,transparent 0 47px,rgba(159,182,206,.1) 47px 48px),
   repeating-linear-gradient(90deg,transparent 0 47px,rgba(159,182,206,.1) 47px 48px)}
.m-split{align-items:center}
.m-h1{font-family:var(--display);font-weight:800;font-size:clamp(2.6rem,5vw,4.2rem);letter-spacing:-.04em;line-height:1;color:#F2EFE6;margin:0 0 18px}
.m-h1 span{color:#8FB4E8}
.spec{position:relative}
.spec-tag{position:absolute;top:-10px;right:14px;background:#1C3140;padding:2px 10px;border:1px solid rgba(159,182,206,.4);border-radius:6px;
  font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#9FB6CE}
.spec::before,.spec::after,.spec .spec-row:first-of-type::before{content:none}
.wframe{position:relative;width:min(440px,92%);aspect-ratio:1;justify-self:end;margin-right:2%}
.wf-im{position:absolute;inset:7.5%;border-radius:50%;background-size:cover;background-position:center 20%;
  box-shadow:0 36px 80px -30px rgba(4,14,22,.75)}
.wf-ring{position:absolute;inset:0;width:100%;height:100%}
.wf-ticks{stroke:rgba(159,182,206,.5);stroke-width:2.6;stroke-dasharray:.35 4.03}
.wf-arc{stroke:#8FB4E8;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transform:rotate(-90deg);transform-origin:50% 50%}
.wframe.in .wf-arc{animation:wfdraw 1.6s cubic-bezier(.3,.7,.3,1) .3s forwards}
@keyframes wfdraw{to{stroke-dashoffset:66.7}}
.wf-chip{position:absolute;left:50%;bottom:-4px;transform:translateX(-50%);background:#8FB4E8;color:#13222E;
  font-family:var(--sans);font-size:14px;font-weight:800;letter-spacing:.04em;padding:7px 18px;border-radius:999px;
  font-variant-numeric:tabular-nums;box-shadow:0 12px 26px -10px rgba(4,14,22,.6)}
/* —— MEMBERSHIP: giant price + zero litany + printing receipt —— */
.p-kick{font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--mint);margin:0 0 4px}
.bigprice{font-family:var(--display);font-weight:800;font-size:clamp(5rem,11vw,9rem);letter-spacing:-.05em;line-height:1;color:#F2EFE6;
  font-variant-numeric:tabular-nums;margin:0 0 22px;text-shadow:0 20px 60px rgba(5,20,15,.4)}
.bigprice .bp-cur{font-size:.42em;vertical-align:.62em;color:#5BC9A8;letter-spacing:0}
.bigprice .bp-per{font-size:.22em;color:var(--sage-on-dark);letter-spacing:0;font-weight:700;margin-left:6px}
.zeroes{display:grid;gap:9px;max-width:420px}
.z-row{display:flex;align-items:baseline;gap:14px;padding:9px 0;border-bottom:1px dashed rgba(239,233,218,.18)}
.z-row b{font-family:var(--sans);font-size:18px;font-weight:800;color:#5BC9A8;font-variant-numeric:tabular-nums;flex:none;width:46px}
.z-row span{font-family:var(--body);font-size:14px;color:var(--cream-on-dark)}
/* receipt prints itself on reveal */
.rcpt{clip-path:inset(0 0 100% 0);transform:translateY(-14px)}
.rcpt.in{animation:rprint 1.1s steps(14,end) .2s forwards}
@keyframes rprint{to{clip-path:inset(0 0 -8% 0);transform:none}}
@media(prefers-reduced-motion:reduce){
  .wm-track{animation:none}
  .wf-arc{animation:none!important;stroke-dashoffset:66.7}
  .rcpt{clip-path:none;transform:none;animation:none!important}
}
@media(max-width:980px){
  .w-split{grid-template-columns:1fr}
  .w-collage{min-height:0;height:380px;margin-top:8px}
  .wframe{justify-self:center;margin:10px 0 0}
  .bigprice{font-size:clamp(4rem,16vw,6rem)}
}

/* v26.1 · spec tag sits proud of the card */
.spec{overflow:visible}
.spec .spec-row:first-child{border-radius:16px 16px 0 0}
.spec .spec-row:last-child{border-radius:0 0 16px 16px}
.spec-tag{top:-11px;z-index:2}

/* ============ v27 · VOICE PASS: quotes, highlight, ghost numeral ============ */
.hl{background:linear-gradient(transparent 58%,rgba(188,95,132,.3) 58% 92%,transparent 92%);padding:0 2px;font-weight:600;color:var(--ink)}
.qsec{background:
  radial-gradient(760px 380px at 85% 10%,rgba(188,95,132,.1),transparent 62%),var(--bone)}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px;align-items:start}
.qcard{margin:0;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:28px 26px 24px;position:relative;
  box-shadow:0 22px 50px -30px rgba(120,40,70,.35);transition:transform .3s ease}
.qcard:nth-child(1){transform:rotate(-1.2deg)}
.qcard:nth-child(2){transform:translateY(16px)}
.qcard:nth-child(3){transform:rotate(1.2deg)}
.qcard:hover{transform:translateY(-4px)}
.qcard::before{content:"\201C";position:absolute;top:2px;left:18px;font-family:var(--display);font-size:64px;font-weight:800;color:rgba(188,95,132,.3);line-height:1}
.qcard blockquote{margin:18px 0 14px;font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:-.015em;line-height:1.35;color:var(--ink)}
.qcard figcaption{font-family:var(--body);font-size:14px;line-height:1.6;color:var(--muted);border-top:1.5px dashed var(--line);padding-top:12px}
.qcard figcaption::before{content:"→ ";color:#BC5F84;font-weight:700}
@media(max-width:860px){.quotes{grid-template-columns:1fr}.qcard:nth-child(n){transform:none}}
/* men ghost numeral */
.m-ghost{position:absolute;z-index:0;left:-2%;bottom:-14%;font-family:var(--display);font-weight:800;font-size:clamp(20rem,36vw,34rem);
  line-height:1;color:transparent;-webkit-text-stroke:2px rgba(143,180,232,.14);letter-spacing:-.06em;pointer-events:none;user-select:none}
@media(prefers-reduced-motion:reduce){.qcard{transition:none}}

/* ============ v28 · MEN'S PAGE: WARM CINEMATIC (attract, don't audit) ============ */
.mhero-cine{min-height:min(86vh,840px);display:flex;align-items:center;padding:0;
  background:linear-gradient(170deg,#1B3328,#24412f)}
.mhero-cine .mh-kb{position:absolute;inset:0;background-size:cover;background-position:center 28%}
.mhero-cine .mh-scrim{position:absolute;inset:0;z-index:1;
  background:linear-gradient(95deg,rgba(13,26,20,.93) 0%,rgba(13,26,20,.62) 46%,rgba(13,26,20,.06) 74%),
             linear-gradient(0deg,rgba(13,26,20,.55),transparent 36%)}
.mhero-cine .bp-grid,.mhero-cine .m-ghost{display:none}
.mh-copy{position:relative;z-index:2;max-width:580px;padding:clamp(72px,11vh,130px) 0 clamp(64px,9vh,110px)}
.mhero-cine .m-h1 span{color:#E8B36A}
.mhero-cine .crumb{color:#C9BFA4}
.mhero-cine .sub{color:#E3DCC9}
.mhero-cine .spec{background:rgba(9,20,15,.52);border-color:rgba(232,179,106,.22);backdrop-filter:blur(6px)}
.mhero-cine .spec-row{border-color:rgba(232,179,106,.14)}
.mhero-cine .spec-row span{color:#CDB98F}
.mhero-cine .spec-row i{border-color:rgba(232,179,106,.3)}
.mhero-cine .spec-row b{color:#F0D7A8}
.mhero-cine .spec-tag{background:#17291F;border-color:rgba(232,179,106,.4);color:#E8B36A}
.mbtn{background:#E0A458;color:#1B2E22}
.mbtn:hover{background:#F0BC75;color:#16241B}
.mhero-cine .howlink{color:#EADFC6}
.cs--amber{--acc:#B97F35;--cs-wash:#F4EBDA}
@media(max-width:980px){
  .mhero-cine{min-height:0}
  .mhero-cine .mh-scrim{background:linear-gradient(0deg,rgba(13,26,20,.95) 30%,rgba(13,26,20,.55) 70%,rgba(13,26,20,.25))}
}

/* v28.1 · men hero: subject clear of copy, tighter fold */
.mh-copy{padding:clamp(48px,7vh,84px) 0 clamp(44px,6vh,72px)}
.mhero-cine .spec-row{padding:10px 18px}
.mhero-cine .spec{margin:22px 0 24px;max-width:460px}
.mhero-cine .m-h1{font-size:clamp(2.4rem,4.6vw,3.9rem)}
.mhero-cine .mh-scrim{background:linear-gradient(95deg,rgba(13,26,20,.94) 0%,rgba(13,26,20,.72) 42%,rgba(13,26,20,.12) 66%,rgba(13,26,20,0) 80%),linear-gradient(0deg,rgba(13,26,20,.5),transparent 32%)}

/* ============ v29 · WIDGET TOGGLE POLISH ============ */
.cs--rise .wg .wg-line{min-height:3.6em}
[data-widget="stages"] .wg-line,[data-widget="reasons"] .wg-line{min-height:5em!important}
.wg *{min-width:0}
.wg-line{transition:opacity .18s ease}
.wg-line.swap{opacity:.25}

/* ============ v30 · WOMEN'S CINEMATIC HERO ============ */
.whero-cine{min-height:min(84vh,820px);display:flex;align-items:center;padding:0;position:relative;overflow:hidden;
  background:linear-gradient(170deg,#3A2430,#4A2E38)}
.whero-cine::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.45;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E")}
.whero-cine .mh-kb{position:absolute;inset:0;background-size:cover}
.whero-cine .wh-scrim{position:absolute;inset:0;z-index:1;
  background:linear-gradient(95deg,rgba(43,22,28,.92) 0%,rgba(43,22,28,.66) 42%,rgba(43,22,28,.1) 66%,rgba(43,22,28,0) 80%),
             linear-gradient(0deg,rgba(43,22,28,.45),transparent 32%)}
.whero-cine .mh-copy{max-width:600px}
.wk-light{color:#F4C9D8;letter-spacing:.3em;font-size:clamp(12px,1.2vw,15px)}
.wh1{color:#FBF3EC;font-size:clamp(2.3rem,4.4vw,3.7rem)}
.wh1 span{color:#F4A9C4}
.whero-cine .sub{color:#EFDDD4}
.whero-cine .crumb{color:#D8B9AC;font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px}
.whero-cine .crumb a{color:inherit;text-decoration:none}
.wchips-dark{margin-top:22px}
.wchips-dark span{color:#F8DCE7;background:rgba(68,30,42,.55);border:1px solid rgba(244,169,196,.4);backdrop-filter:blur(4px)}
.wbtn{background:#E58FB1;color:#3A1824}
.wbtn:hover{background:#F4A9C4;color:#30141E}
@media(max-width:980px){
  .whero-cine{min-height:0}
  .whero-cine .wh-scrim{background:linear-gradient(0deg,rgba(43,22,28,.94) 32%,rgba(43,22,28,.5) 72%,rgba(43,22,28,.2))}
}

/* v30.1 · women hero: readable type, stronger left scrim */
.whero-cine h1{color:#FBF3EC}
.whero-cine h1 span{color:#F4A9C4}
.whero-cine .wh-scrim{background:linear-gradient(95deg,rgba(40,20,26,.95) 0%,rgba(40,20,26,.78) 40%,rgba(40,20,26,.18) 64%,rgba(40,20,26,0) 78%),linear-gradient(0deg,rgba(40,20,26,.5),transparent 34%)}

/* ============ v31 · WIDGETS WITH PURPOSE: assessment -> answer -> CTA ============ */
.wg-cta{display:block;text-align:center;font-family:var(--sans);font-size:14px;font-weight:700;
  color:#fff;background:var(--acc,var(--teal));padding:13px 18px;border-radius:999px;text-decoration:none;
  transition:transform .2s ease,filter .2s ease;margin-top:2px}
.wg-cta:hover{transform:translateY(-1px);filter:brightness(1.07)}
.wg-ekg-slim svg{height:62px}

/* v31.1 · chip pills: uniform grid, no rag */
.wg-chips.wg-stages{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.wg-chips.wg-stages .wg-chip{width:100%;text-align:center;padding:11px 10px;font-size:13px;line-height:1.25;white-space:normal;border-radius:999px}
.wg-chips.wg-stages .wg-chip:last-child:nth-child(odd){grid-column:1/-1}
.wg-chip.on{box-shadow:0 8px 18px -8px color-mix(in srgb,var(--acc,var(--teal)) 55%,transparent)}
.wg-head{align-items:baseline}
.wg-between{align-items:center}
.wg-line{margin-top:2px}

/* ============ v32 · SIGN-OFF v2: a closing argument, not a shout ============ */
.signoff.so2{text-align:left;padding:clamp(64px,9vh,110px) 0}
.so-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,80px);align-items:center;position:relative;z-index:2}
.so2 .so-big{font-size:clamp(2.6rem,5vw,4.2rem);margin:6px 0 14px}
.so-line{font-family:var(--body);font-size:16px;line-height:1.7;color:var(--cream-on-dark);opacity:.92;max-width:30em;margin:0 0 24px}
.so2 .cta-row{justify-content:flex-start}
.so-dots-left{justify-content:flex-start;margin:26px 0 0}
.so-media{position:relative;justify-self:end;width:min(380px,100%)}
.so-im{aspect-ratio:4/4.4;border-radius:999px 999px 26px 26px;background-size:cover;background-position:center 30%;
  border:5px solid rgba(252,251,247,.9);box-shadow:0 30px 70px -28px rgba(5,18,14,.65)}
.so-media::before{content:"";position:absolute;z-index:-1;width:118%;aspect-ratio:1;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(91,201,168,.2),transparent 66%)}
.so-float{left:-28px;bottom:28px;max-width:230px}
.so-float .tk{color:var(--teal);letter-spacing:-.08em}
@media(max-width:980px){
  .so-grid{grid-template-columns:1fr}
  .so-media{justify-self:center;width:min(300px,84%)}
  .so-float{left:4px;bottom:12px}
}

/* ============ v33 · BOOKING PAGE ============ */
.book-grid{display:grid;grid-template-columns:1.6fr .9fr;gap:clamp(24px,3.5vw,48px);align-items:start;margin-top:8px}
.book-embed{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:14px;
  box-shadow:0 24px 54px -30px rgba(16,41,31,.32)}
.book-embed iframe{width:100%;height:min(78vh,760px);border:0;border-radius:14px;display:block;background:#fff}
.book-side{display:grid;gap:16px}
.bs-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:24px 22px;position:relative;overflow:hidden}
.bs-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--teal),#5BC9A8)}
.bs-card h3{font-family:var(--display);font-size:18px;font-weight:700;letter-spacing:-.015em;margin:0 0 12px;color:var(--ink)}
.bs-card .cs-list{margin:0}
.bs-card .cs-list li{font-size:14px}
.bs-alt{background:var(--sage)}
.bs-alt::before{background:linear-gradient(90deg,#A8742F,#E0B36A)}
@media(max-width:980px){
  .book-grid{grid-template-columns:1fr}
  .book-embed iframe{height:min(70vh,620px)}
}

/* v33.1 · book sidebar list: inline bold must not become a flex item */
.bs-card .cs-list li{display:block;position:relative;padding-left:30px;line-height:1.55}
.bs-card .cs-list li::before{position:absolute;left:0;top:1px;margin:0}

/* ============ v34 · BOOKING EMBED: crop Google's header chrome ============ */
.book-embed{padding:0;overflow:hidden;background:#fff}
.bk-win{position:relative;overflow:hidden;border-radius:18px;height:min(76vh,720px)}
.bk-win iframe{position:absolute;top:-272px;left:0;width:100%;height:calc(100% + 272px);border:0;display:block}
.bk-cap{display:flex;align-items:center;gap:10px;padding:16px 20px 14px;border-bottom:1px solid var(--line);background:var(--card)}
.bk-cap .bk-dot{width:9px;height:9px;border-radius:50%;background:var(--teal);flex:none;animation:pulse 2.6s infinite}
.bk-cap b{font-family:var(--sans);font-size:14px;font-weight:700;color:var(--ink)}
.bk-cap span{font-family:var(--body);font-size:12px;color:var(--muted);margin-left:auto}
.book-embed .micro{padding:0 20px 16px;margin:12px 0 0}
@media(max-width:980px){
  .bk-win{height:min(68vh,580px)}
  .bk-win iframe{top:-248px;height:calc(100% + 248px)}
}
@media(prefers-reduced-motion:reduce){.bk-cap .bk-dot{animation:none}}

/* v34.1 · crop clears Google's section header completely */
.bk-win iframe{top:-310px;height:calc(100% + 310px)}
@media(max-width:980px){.bk-win iframe{top:-286px;height:calc(100% + 286px)}}

/* v35 · native booking widget sits in the page, not in a framed window */
.book-embed:has(#scion-booking-widget){background:transparent;border:0;box-shadow:none;padding:0;overflow:visible}
.book-embed .bk-cap{border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0;background:var(--card)}
.book-embed:has(#scion-booking-widget) .bk-cap{border-radius:18px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.book-embed .micro{padding:0;margin-top:14px}

/* v35.1 · booking page: widget gets full width, info cards sit beneath */
.book-stack{display:block}
.book-stack .book-embed{width:100%;max-width:1000px;margin:0 auto}
.book-side-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:1000px;margin:26px auto 0;align-items:start}
.book-side-row > p.micro{grid-column:1/-1;margin:0}
@media(max-width:860px){.book-side-row{grid-template-columns:1fr}}

/* ============ v36 · MOBILE PASS ============ */
/* home tray was pushing the page 9px wide: contain the scroller */
@media(max-width:760px){
  .tray{max-width:100%;padding-left:14px;padding-right:14px;
    scroll-padding-left:14px;-webkit-overflow-scrolling:touch}
  .tray .tile{scroll-snap-align:start}
}
/* legibility: nothing below 11px on phones */
@media(max-width:760px){
  .announce{font-size:11px;line-height:1.45;padding:9px 14px}
  .kicker,.crumb{font-size:11px}
  .t-tag,.wg-tag,.ch-chip,.fa-badge,.spec-tag,.r-no{font-size:11px}
  .micro,.elig-note,.wg-micro,.cs-note,.r-note{font-size:12px;line-height:1.6}
  .fineprint{font-size:12px;line-height:1.65}
}
/* tap targets: 44px minimum on the things people actually tap */
@media(max-width:760px){
  .nav-links a{display:block;padding:12px 2px;font-size:14px}
  .howlink{display:inline-block;padding:10px 0;min-height:44px;line-height:24px}
  footer.site a{display:inline-block;padding:7px 0;min-height:36px}
  .faq summary{padding:18px 4px;min-height:52px}
  .btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center}
  .wg-chip{min-height:44px}
  .wg-day{height:44px;max-width:none}
  .cs-ctas .btn,.cta-row .btn{width:auto}
}
/* widget + booking card breathing room */
@media(max-width:620px){
  .wg{padding:18px 16px 16px}
  .bk-cap{flex-wrap:wrap;row-gap:4px}
  .bk-cap span{margin-left:0;width:100%}
  .book-side-row{gap:14px}
}
/* hero + section rhythm tightening on phones */
@media(max-width:620px){
  .hero-c{padding-top:28px;padding-bottom:104px}
  .hero-receipt{flex-wrap:wrap;gap:8px}
  .cs{padding:clamp(44px,7vh,72px) 0}
  .cs h2{font-size:clamp(1.9rem,8vw,2.4rem)}
  .guide-hero h1,.wh1,.m-h1{font-size:clamp(2rem,8.5vw,2.6rem)}
  .bigprice{font-size:clamp(3.6rem,20vw,5rem)}
  .so2 .so-big{font-size:clamp(2.2rem,12vw,3rem)}
}

/* v36.1 · product chips must not escape the viewport on phones */
@media(max-width:980px){
  .cs--trim .pchip,.cs--crown .pchip,.cs--glow .pchip,.cs--pulse .pchip{left:-6px}
  .cs--core .pchip{right:-6px}
  .hero-media .pchip{right:-6px}
}

/* ============ v37 · MOBILE PRODUCT CAROUSEL (rebuilt) ============
   Root cause of the broken carousel: repeat(3,1fr) from the 1060px
   breakpoint was never reset, so the first three tiles computed to
   ZERO width inside the overflowing column-flow grid — the carousel
   looked like it "started" on Skin because tiles 1-3 were collapsed. */
@media(max-width:760px){
  .traywrap{padding-bottom:clamp(22px,4vh,34px);overflow:visible}
  .traywrap > .wrap{padding-left:0;padding-right:0;max-width:none}
  .tray{
    grid-template-columns:none;            /* <- the fix */
    grid-auto-flow:column;
    grid-auto-columns:74%;
    margin-top:-64px;
    background:transparent;
    box-shadow:none;
    border:0;
    border-radius:0;
    padding:4px 16px 18px;
    gap:12px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    scroll-padding-left:16px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .tray::-webkit-scrollbar{display:none}
  .tray .tile{
    scroll-snap-align:start;
    background:var(--card);
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:0 18px 40px -26px rgba(16,41,31,.42);
    min-width:0;
  }
  .tray .tile .t-im{aspect-ratio:16/11}
  .tray .tile .t-lb{padding:12px 14px 4px;font-size:14px}
  .tray .tile .t-tag{padding:0 14px 13px}
  .tile.hot{transform:translateY(var(--ty))}   /* no lift inside a scroller */
  /* swipe affordance */
  .traywrap .wrap::after{
    content:"Swipe for all six \2192";
    display:block;text-align:center;margin-top:10px;
    font-family:var(--sans);font-size:11px;font-weight:700;
    letter-spacing:.14em;text-transform:uppercase;color:var(--muted);opacity:.75;
  }
}
@media(max-width:420px){
  .tray{grid-auto-columns:80%}
}

/* ============ v37.1 · CHAT DOESN'T EAT THE PHONE SCREEN ============ */
@media(max-width:760px){
  /* compact FAB: icon-forward, hugs the corner */
  .cg-fab{right:12px;bottom:12px;padding:11px 15px;font-size:12px;max-width:62vw}
  .cg-fab::before{display:none}
  /* teaser docks above the FAB, narrow, never center-screen */
  .cg-tease{
    left:12px;right:12px;bottom:66px;width:auto;max-width:none;
    padding:12px 14px;border-radius:16px;
  }
  .cg-tease .ct-txt{font-size:13px;line-height:1.5}
  .cg-tease .cg-t-head b{font-size:13px}
}

/* v38 · hero receipt retired (Eric 10/19) */
.hero-receipt{display:none!important}

/* ============ v39 · SIDE-SCROLL KILL + MOBILE NAV ORDER ============ */
/* Global backstop: decorative absolutes (ghost wordmark, marquee track,
   float cards, accent blobs) must never create a horizontal scrollbar.
   `clip` instead of `hidden` so position:sticky on the nav still works. */
html{overflow-x:clip}
body{overflow-x:clip;max-width:100%}
/* the specific offenders the audit named */
.signoff,.so-grid{overflow-x:clip}
.so-media{max-width:100%}
.cs,.cs-grid{overflow-x:clip}
.hero-c,.whero,.mhero,.guide-hero,.cat-hero{overflow-x:clip}

/* mobile nav: Get Seen Today on the LEFT, hamburger on the RIGHT */
@media(max-width:880px){
  .nav-in{gap:10px}
  .brand{order:1}
  .nav-cta{order:2;margin-left:auto;margin-right:0}
  .nav-burger{order:3;margin-left:10px}
  .nav-links{order:4}
}
@media(max-width:400px){
  .nav-cta{padding:11px 14px;font-size:12px}
  .brand span{font-size:14px}
}

/* v39.1 · 320px: brand mark only, compact CTA, burger stays reachable */
@media(max-width:345px){
  .nav-in{gap:6px;padding-left:14px;padding-right:14px}
  /* v26.1 · the wordmark stays. It was hidden here back when the bar carried
     more; measured at 320px the row now uses 181 of 320px, so the name fits
     at a smaller size. A health brand shouldn't lose its name on a phone. */
  .brand > span{display:block}            /* the lockup wrapper only... */
  .brand .wordmark .md{display:inline}    /* ...not the "MD" inside it */
  /* The two-word wordmark is wider than the old one — the 320px lockup
     needs another step down to keep the burger on screen. */
  .brand .wordmark{font-size:11px;letter-spacing:0;white-space:nowrap}
  .brand img{width:20px;height:20px}
  /* the primary CTA is one phrase sitewide now — "Start my free visit" — and
     it is longer than the label it replaced, so the 320px bar gets the tighter
     pill rather than a second, shorter wording just for the nav. */
  .nav-in{gap:3px;padding-left:12px;padding-right:12px}
  .nav-cta{padding:7px 8px;font-size:11px;letter-spacing:0}
  .nav-burger{padding:5px 6px;margin-left:2px;font-size:15px}
}

/* ============ v40 · BOOKING PAGE: make the visit feel worth showing up for ============ */
.book-hero{position:relative;overflow:hidden;color:var(--cream-on-dark);
  padding:clamp(44px,6.5vh,78px) 0 clamp(40px,6vh,70px);
  background:linear-gradient(170deg,#1B4335,#235441)}
.book-hero .bh-kb{position:absolute;inset:0;background-size:cover;background-position:center 34%}
.book-hero .bh-scrim{position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg,rgba(16,36,27,.95) 0%,rgba(16,36,27,.78) 44%,rgba(16,36,27,.3) 76%),
             linear-gradient(0deg,rgba(16,36,27,.5),transparent 40%)}
.book-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.45;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E")}
.book-hero .wrap{position:relative;z-index:2}
.bh-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(24px,4vw,56px);align-items:center}
.book-hero .crumb{font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-on-dark);margin:0 0 14px}
.book-hero .crumb a{color:inherit;text-decoration:none}
.book-hero .kicker{color:var(--mint)}
.book-hero h1{font-family:var(--display);font-weight:800;font-size:clamp(2.2rem,4.6vw,3.6rem);line-height:1.03;letter-spacing:-.035em;color:var(--cream-on-dark);margin:0 0 16px}
.book-hero h1 span{color:#5BC9A8}
.book-hero .sub{color:#DCE8DD;max-width:30em;margin-bottom:20px}
.bh-chips{display:flex;flex-wrap:wrap;gap:8px}
.bh-chips span{font-family:var(--sans);font-size:11px;font-weight:700;color:#DCF0E4;
  background:rgba(91,201,168,.14);border:1px solid rgba(91,201,168,.34);padding:8px 14px;border-radius:999px}
.bh-card{background:rgba(252,251,247,.96);border-radius:22px;padding:22px 22px 20px;
  box-shadow:0 30px 70px -30px rgba(5,20,15,.6)}
.bh-prov{display:flex;align-items:center;gap:13px;margin-bottom:14px}
.bh-prov img{width:58px;height:58px;border-radius:50%;object-fit:cover;object-position:center 22%;flex:none;
  border:2.5px solid #fff;box-shadow:0 0 0 2px var(--teal)}
.bh-prov b{display:block;font-family:var(--sans);font-size:14px;color:var(--ink);letter-spacing:-.01em}
.bh-prov span{font-family:var(--body);font-size:12px;color:var(--muted);line-height:1.45}
.bh-quote{font-family:var(--display);font-weight:600;font-size:16px;line-height:1.5;color:var(--ink);
  margin:0;padding-top:14px;border-top:1px dashed var(--line)}
/* three-step strip */
.bh-steps-sec{padding-top:clamp(30px,4vh,46px)}
.bh-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.bh-step{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px 22px 20px;position:relative;overflow:hidden}
.bh-step::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--teal),#5BC9A8)}
.bh-step .n{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;
  background:var(--teal-soft);color:var(--teal);font-family:var(--sans);font-size:14px;font-weight:800;margin-bottom:11px}
.bh-step b{display:block;font-family:var(--sans);font-size:16px;color:var(--ink);margin-bottom:5px;letter-spacing:-.01em}
.bh-step p{font-family:var(--body);font-size:14px;line-height:1.6;color:var(--muted);margin:0}
@media(max-width:860px){
  .bh-grid{grid-template-columns:1fr}
  .bh-steps{grid-template-columns:1fr}
  .book-hero .bh-scrim{background:linear-gradient(0deg,rgba(16,36,27,.95) 34%,rgba(16,36,27,.6) 72%,rgba(16,36,27,.3))}
}

/* ============ v41 · ONE PRODUCT CARD PER SCREEN ============
   Eric: don't show all of one and part of the next. Full-width snap
   cards; the auto-rotation + swipe hint carry the "there's more" job
   that the peek used to do. */
@media(max-width:760px){
  .tray{grid-auto-columns:100%;gap:14px;padding-left:18px;padding-right:18px;scroll-padding-left:18px}
  .tray .tile .t-im{aspect-ratio:16/10}
  .tray .tile .t-lb{font-size:16px;padding:14px 16px 4px}
  .tray .tile .t-tag{padding:0 16px 15px;font-size:12px}
}
@media(max-width:420px){
  .tray{grid-auto-columns:100%}
}
/* position dots so the visitor can see where they are in the six */
.tray-dots{display:none}
@media(max-width:760px){
  .tray-dots{display:flex;gap:7px;justify-content:center;margin-top:12px}
  .tray-dots i{width:7px;height:7px;border-radius:50%;background:var(--line);display:block;transition:all .25s ease}
  .tray-dots i.on{background:var(--teal);width:20px;border-radius:99px}
}

/* v41.1 · cloned loop tiles exist only on mobile where the tray scrolls */
.tile-clone{display:none}
@media(max-width:760px){.tile-clone{display:flex}}

/* ============ v42 · DESKTOP REPAIR ============
   .traywrap must stay overflow:visible — the tray overlaps the hero by
   -110px and any overflow-x value forces overflow-y to clip, which cut
   the product cards in half on desktop. Side scroll is already handled
   at body level (v39). */
.traywrap{overflow:visible}
/* hero cycle colours: keep every answer inside the brand's warm/green
   family — steel blue and violet read as foreign over the green hero */
.cw-blue{color:#8FB4E8}

/* ============ v43 · COMPARISON TABLE -> STACKED CARDS ON MOBILE ============
   The 4-column table forced a 640px min-width into a 390px screen, so the
   GetSeen Health column — the entire point — sat off-screen behind a side
   scroll. On phones each ROW becomes a card: the feature on top, then the
   three answers as labelled lines with ours highlighted last. */
@media(max-width:760px){
  .cmp-scroll{overflow:visible;border:0;background:none;box-shadow:none;border-radius:0;margin-top:26px}
  table.cmp{min-width:0;width:100%;display:block;font-size:14px}
  .cmp thead{display:none}
  .cmp tbody{display:block}
  .cmp tr{display:block;background:var(--card);border:1px solid var(--line);border-radius:18px;
    padding:16px 18px 14px;margin-bottom:12px;box-shadow:0 14px 32px -26px rgba(16,41,31,.35)}
  .cmp td{display:flex;align-items:baseline;justify-content:space-between;gap:16px;
    text-align:right;border:0;padding:9px 0}
  .cmp tr td:first-child{display:block;text-align:left;font-family:var(--sans);font-weight:700;
    font-size:16px;color:var(--ink);padding:0 0 11px;margin-bottom:5px;border-bottom:1px dashed var(--line)}
  .cmp td[data-l]::before{content:attr(data-l);font-family:var(--sans);font-size:12px;font-weight:600;
    letter-spacing:.01em;color:var(--muted);text-align:left;flex:none;max-width:48%}
  .cmp td.us{background:color-mix(in srgb,var(--teal) 10%,transparent);border-radius:12px;
    padding:11px 13px;margin-top:7px}
  .cmp td.us::before{color:var(--teal);font-weight:800}
  .cmp tr:last-child td{border-bottom:0}
}

/* v43.1 · breathing room between the hero CTAs and the carousel
   (tray overlaps by -110px, so the hero needs more bottom padding) */
.hero-c{padding-bottom:178px}
@media(max-width:760px){.hero-c{padding-bottom:116px}}
@media(max-width:620px){.hero-c{padding-bottom:104px}}

/* ============ v44 · LONG-FORM GUIDE FURNITURE ============ */
.guide-body h3{font-family:var(--sans);font-size:18px;font-weight:700;letter-spacing:-.01em;
  color:var(--ink);margin:26px 0 8px}
.guide-body em{font-style:italic}
.guide-body a{color:var(--teal);font-weight:600;text-decoration:underline;text-underline-offset:2px}
/* on-this-page */
.g-toc{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px 24px;margin:0 0 34px;max-width:46em}
.g-toc-h{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--teal);margin:0 0 10px}
.g-toc ol{margin:0;padding-left:20px;display:grid;gap:7px}
.g-toc li{font-family:var(--body);font-size:14px;line-height:1.45;color:var(--muted)}
.g-toc a{color:var(--ink);text-decoration:none;font-weight:500}
.g-toc a:hover{color:var(--teal);text-decoration:underline}
/* lists */
.g-list,.g-steps{max-width:46em;margin:12px 0 14px;display:grid;gap:9px}
.g-list{list-style:none;padding:0}
.g-list li{position:relative;padding-left:28px;font-family:var(--body);font-size:16px;line-height:1.65;color:var(--muted)}
.g-list li::before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;border-radius:50%;
  background:var(--teal-soft);border:2px solid var(--teal)}
.g-steps{padding-left:22px}
.g-steps li{font-family:var(--body);font-size:16px;line-height:1.65;color:var(--muted);padding-left:6px}
.g-list b,.g-steps b{color:var(--ink);font-weight:700}
/* callout */
.g-note{background:var(--sage);border-left:4px solid var(--teal);border-radius:0 16px 16px 0;
  padding:16px 20px;margin:18px 0;max-width:46em}
.g-note p{margin:0;font-family:var(--body);font-size:14px;line-height:1.65;color:var(--ink)}
/* data table */
.g-tablewrap{overflow-x:auto;margin:18px 0 20px;border:1px solid var(--line);border-radius:16px;background:var(--card);max-width:52em}
.g-table{border-collapse:collapse;width:100%;min-width:480px;font-family:var(--body);font-size:14px}
.g-table th,.g-table td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.g-table thead th{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--teal);background:color-mix(in srgb,var(--teal) 7%,transparent)}
.g-table tbody tr:last-child td{border-bottom:0}
.g-table td:first-child{font-weight:600;color:var(--ink)}
.g-stamp{font-family:var(--body);font-size:12px;color:var(--muted);border-top:1px solid var(--line);
  padding-top:16px;margin-top:38px;max-width:46em}
@media(max-width:760px){
  .g-toc{padding:16px 18px}
  .g-table{min-width:420px;font-size:13px}
  .g-table th,.g-table td{padding:11px 12px}
}

/* ============ v45 · MEMBERSHIP HERO LEGIBILITY ============
   The $149 block and the $0 list sat straight on a busy product photo.
   A dedicated veil darkens the copy column so the type reads, while the
   product scene still shows through on the right. */
.prog-hero .prog-veil{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(100deg, rgba(10,26,20,.94) 0%, rgba(10,26,20,.88) 30%, rgba(10,26,20,.55) 52%, rgba(10,26,20,.12) 72%, rgba(10,26,20,0) 86%),
    linear-gradient(0deg, rgba(10,26,20,.55), transparent 42%)}
.prog-hero .wrap{position:relative;z-index:2}
.prog-hero .bigprice{text-shadow:0 10px 44px rgba(5,16,12,.75)}
.prog-hero .p-kick{color:#A9D9C5}
.prog-hero .z-row{border-bottom-color:rgba(239,233,218,.26)}
.prog-hero .z-row span{color:#EFE9DA}
.prog-hero .z-row b{color:#5BC9A8}
.prog-hero .micro{color:#DCE8DD}
.prog-hero .micro b{color:#fff}
.prog-hero .crumb{color:#C6D8C9}
@media(max-width:920px){
  .prog-hero .prog-veil{background:
    linear-gradient(0deg, rgba(10,26,20,.95) 38%, rgba(10,26,20,.74) 70%, rgba(10,26,20,.5)),
    linear-gradient(100deg, rgba(10,26,20,.8), rgba(10,26,20,.45))}
}

/* ============ v46 · QC PASS: legibility + heading structure ============ */
/* /program had no H1 (headings began at H2). The price lockup is now the
   H1 — a modest lead line plus the price, visually unchanged. */
.p-h1{margin:0 0 22px;font-family:var(--display);font-weight:800;letter-spacing:-.03em;
  font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.1;color:var(--cream-on-dark)}
.p-h1 .bigprice{display:block;margin-top:6px}
/* QC: four items measured under 11.4px and were genuinely hard to read.
   Uppercase letterspaced labels at 11px are kept — they read fine. */
.foot-app .fa-badge{font-size:11px}
footer.site .foot-in ul li a small{font-size:11px}
.cg-note{font-size:11px;line-height:1.55}
.r-no{font-size:11px}
/* last two sub-11px outliers lifted to the 11px floor */
.cat-hero .cat-badge,.cat-badge{font-size:11px}
.rcpt .r-stamp{font-size:11px}

/* ============ v23 · FRAME NORMALIZATION (audit 2026-10-19) ============
   One rectangle, everywhere. The v18 per-category compositions measured out
   at 10 distinct corner radii and 6 rotations across 26 rendered images;
   hims.com renders 39 of 40 frames at 0px and medvi 36 of 38, with zero
   rotations between them. The novelty crops (arch top, leaf, circle), the
   tilts and the overlapping polaroid chips were reading as scrapbook rather
   than clinic, and they broke the page's vertical rhythm. Variation now
   comes from the alternating left/right rhythm and from the photography —
   never from the container. Radius unified on 22px, the value .cs-im and
   .wg already shared, so images and widget cards read as one family. */
:root{--frame-r:22px}

/* 1 · novelty crops → one rectangle */
.cs .cs-im,.cs .cs-im.tall,
.cs--trim .cs-im.tall,.cs--glow .cs-im.tall,.cs--rise .cs-im.tall,
.cs--crown .cs-im.tall,.cs--core .cs-im.tall,.cs--pulse .cs-im.tall{
  border-radius:var(--frame-r);
}
/* 2 · zero rotation on every frame */
.cs .cs-im,.cs .cs-im.tall,.cs .cs-media .wg,
.cs--crown .cs-im.tall,.cs--core .cs-im.tall{transform:none}
/* 3 · Rise loses the offset accent frame, keeps the shared shadow */
.cs--rise .cs-im.tall{box-shadow:0 18px 44px -26px rgba(16,41,31,.35)}
/* 4 · polaroid product chips retired (product renders live in the hero tray) */
.cs .pchip{display:none}
/* 5 · per-category vertical stagger off — one baseline */
.cs .cs-media,.cs .cs-media .wg,
.cs--crown .cs-media,.cs--crown .cs-media .wg,
.cs--core .cs-media,.cs--pulse .cs-media,.cs--pulse .cs-media .wg,
.cs--glow .cs-media .wg,.cs--trim .cs-media,.cs--rise .cs-media{margin-top:0}
/* 6 · one portrait aspect for the people frame */
.cs .cs-im.tall{aspect-ratio:4/5}
@media(max-width:980px){.cs .cs-im.tall{aspect-ratio:3/2.6}}
/* 7 · gender panels: the women's arch becomes the same rectangle as the men's */
.split .panel-w .photo,.split .panel-m .photo{border-radius:var(--frame-r);overflow:hidden}
/* 8 · signoff / aspire block + category-page "in action" frames */
.so-im,.so-media .so-im,.cat-action .cs-im,.cat-action .cs-im.tall{border-radius:var(--frame-r);transform:none}
.so-media .pchip,.cat-action .pchip{display:none}
/* 9 · category-page hero media — same rectangle, and the chips go everywhere */
.hm-im,.hero-media .hm-im,.hero-media .cs-im{border-radius:var(--frame-r);transform:none}
.pchip{display:none}

/* ============ v24 · PRICE BAND (audit fix #1/#2, 2026-10-19) ============
   The live category page had no price on it at all. Two cards — what we
   charge, what the pharmacy charges — then the all-in, stated plainly. */
.pband{padding:72px 0;background:var(--bone);border-top:1px solid var(--line)}
.pband .kicker{color:var(--teal)}
.pband h2{margin-bottom:28px}
.pb-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.pb-card{background:var(--card);border:1px solid var(--line);border-radius:var(--frame-r,22px);
  padding:26px 26px 24px;box-shadow:0 18px 44px -28px rgba(16,41,31,.3);display:flex;flex-direction:column}
.pb-lbl{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted,#6B7A72)}
.pb-big{font-family:var(--sans);font-size:54px;font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--ink);margin:12px 0 6px;display:block}
.pb-big i{font-style:normal;font-size:26px;vertical-align:super;color:var(--teal);margin-right:2px}
.pb-big small{font-size:16px;font-weight:600;letter-spacing:0;color:var(--muted,#6B7A72)}
.pb-sub{font-size:13px;color:var(--muted,#6B7A72);margin-bottom:18px}
.pb-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.pb-list li{font-size:14px;line-height:1.5;padding:11px 0 11px 24px;border-bottom:1px solid var(--line);position:relative}
.pb-list li:last-child{border-bottom:0}
.pb-list li::before{content:"✓";position:absolute;left:0;top:11px;color:var(--teal);font-weight:700;font-size:13px}
.pb-allin{margin-top:20px;background:var(--card);border:1px solid var(--line);border-radius:var(--frame-r,22px);
  padding:24px 26px;display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center}
.pb-allin > div{border-right:1px solid var(--line);padding-right:28px}
.pb-allin b{display:block;font-family:var(--sans);font-size:46px;font-weight:700;letter-spacing:-.03em;line-height:1.05;color:var(--teal)}
.pb-allin b small{font-size:16px;font-weight:600;letter-spacing:0;color:var(--muted,#6B7A72)}
.pb-allin p{margin:0;font-size:14px;line-height:1.55;color:var(--ink)}
@media(max-width:860px){
  .pb-grid{grid-template-columns:1fr}
  .pb-allin{grid-template-columns:1fr;gap:16px}
  .pb-allin > div{border-right:0;border-bottom:1px solid var(--line);padding-right:0;padding-bottom:14px}
  .pband{padding:52px 0}
  .pb-big{font-size:46px}
}
.p-plan-note{font-family:var(--sans);font-size:13px;color:var(--muted);margin:-6px 0 18px;letter-spacing:.01em}
.p-plan-note b{color:var(--ink)}

/* ============ v25 · TRUST RAIL + WHAT'S OPENING NEXT (audit 07 / 09) ============ */
.trail{background:var(--card);border-bottom:1px solid var(--line);padding:0}
.trail-in{display:flex;flex-wrap:wrap;gap:0;align-items:stretch}
.tr{flex:1 1 220px;display:flex;align-items:center;gap:10px;justify-content:center;
  padding:18px 16px;border-right:1px solid var(--line);
  font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--ink);text-align:left}
.tr:last-child{border-right:0}
.tr svg{width:19px;height:19px;flex:none;color:var(--teal)}
@media(max-width:860px){
  .trail-in{display:grid;grid-template-columns:1fr 1fr}
  .tr{border-bottom:1px solid var(--line);font-size:11px;padding:14px 10px;gap:8px}
  .tr:nth-child(2n){border-right:0}
  .tr:nth-child(n+3){border-bottom:0}
}

/* Five launching-soon categories, one row — breadth without equal billing */
.next{padding:76px 0;background:var(--bone-2);border-top:1px solid var(--line)}
.next .kicker{color:var(--teal)}
.next-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:30px}
.nx{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);
  border-radius:var(--frame-r,22px);overflow:hidden;text-decoration:none;color:var(--ink);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;position:relative}
.nx:hover,.nx:focus-visible{transform:translateY(-4px);box-shadow:0 22px 48px -28px rgba(16,41,31,.42);border-color:var(--acc,var(--teal))}
.nx-im{display:block;aspect-ratio:4/3;background-size:cover;background-position:center 22%}
.nx-b{display:flex;flex-direction:column;gap:2px;padding:15px 16px 16px}
.nx-b b{font-family:var(--sans);font-size:14px;font-weight:700;letter-spacing:-.01em}
.nx-b span{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--acc,var(--teal))}
.nx-ar{position:absolute;right:14px;bottom:15px;font-size:16px;color:var(--acc,var(--teal));opacity:.55;transition:opacity .3s ease,transform .3s ease}
.nx:hover .nx-ar{opacity:1;transform:translateX(3px)}
/* v25 · accent discipline (audit 08): one accent is live per screen now that the
   five sections are a row. Here the per-category hue is dialled back so the row
   reads as one family rather than five brands. */
.nx--crown{--acc:#8F7347}.nx--rise{--acc:#4E6B8C}.nx--glow{--acc:#9E6A80}
.nx--core{--acc:#6E6689}.nx--pulse{--acc:#A05F55}
@media(max-width:1020px){.next-row{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){
  .next{padding:52px 0}
  .next-row{grid-template-columns:1fr;gap:10px}
  .nx{flex-direction:row;align-items:center}
  .nx-im{width:104px;aspect-ratio:1;flex:none;align-self:stretch}
  .nx-b{padding:14px 16px}
  .nx-ar{bottom:auto;top:50%;transform:translateY(-50%)}
  .nx:hover .nx-ar{transform:translateY(-50%) translateX(3px)}
}

/* ============ v26 · SLIM NAV + HERO B (Eric, 2026-10-19) ============
   Nav: only For Men and For Women stay on the bar; everything else moves
   behind the menu at every width, not just mobile. The burger stops being a
   mobile affordance and becomes the nav.
   Hero: Option B — offer, promise, price, in that order, with a photograph
   on the right. The ghost wordmark and the centred-type-on-green silhouette
   are gone, which is where we most resembled medvi. */
.nav-primary{display:flex;gap:22px;margin-left:auto;font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.01em}
.nav-primary a{text-decoration:none;color:var(--ink);padding:6px 0;position:relative}
.nav-primary a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:var(--teal);transition:right .25s ease}
.nav-primary a:hover::after{right:0}

/* the menu is a panel at every width now */
.nav-burger{display:block;margin-left:22px;order:3}
.nav-links{
  display:none;position:absolute;top:76px;right:24px;left:auto;width:min(290px,calc(100vw - 48px));
  background:var(--card);border:1px solid var(--line);border-top:0;border-radius:0 0 18px 18px;
  flex-direction:column;gap:0;padding:6px 20px 14px;margin-left:0;
  box-shadow:0 26px 54px -26px rgba(16,41,31,.42);z-index:60;
}
.nav-links.open{display:flex}
.nav-links a{padding:13px 0;border-bottom:1px solid var(--line);color:var(--ink);font-size:14px}
.nav-links a:last-child{border-bottom:0}
.nav-links a::after{display:none}
.nav-links a:hover{color:var(--teal)}
.nav-links .nl-men,.nav-links .nl-women{display:none}   /* already on the bar */
@media(max-width:760px){
  .nav-primary{display:none}                            /* bar gets crowded — all of it goes in */
  .nav-links{right:0;left:0;width:auto;border-radius:0;border-left:0;border-right:0;padding:6px 24px 16px}
  .nav-links .nl-men,.nav-links .nl-women{display:block}
}

/* Hero B retired 2026-10-19 — Eric picked Option A: the question hero keeps
   its centred composition and the tray on its bottom edge, with the price and
   the refund promise moved up into the subhead. The slim nav above stays. */
.pb-big.pb-na{font-size:30px;letter-spacing:-.01em;line-height:1.2}
