/* TIDEWELL site2.css v2 (art direction v2): sunny, warm, bold. Cream page, big sky-blue bands, full-bleed photos, huge type.
   Home page first; the other five pages move over in phase 2. Light default, near-black Night theme (never navy). */
:root{
  --page:#fff8ef;--card:#ffffff;--ink:#0d1b2a;--ink-2:rgba(13,27,42,.8);--ink-3:rgba(13,27,42,.68);
  --hair:rgba(13,27,42,.1);--hair-2:rgba(13,27,42,.2);
  --blue:#1f6fd1;--blue-deep:#1859ad;--on-blue:#ffffff;
  --accent:#1f6fd1;--acc-text:#1f6fd1;--acc-ink:#1859ad;--acc-soft:rgba(31,111,209,.1);
  --coral:#ff7a59;--coral-2:#ff9a78;--on-coral:#0d1b2a;
  --glass:rgba(255,255,255,.8);--glass-edge:rgba(255,255,255,.7);--glass-2:rgba(13,27,42,.045);--glass-3:rgba(13,27,42,.08);
  --stage-base:#e4f0fb;--stage-glow:#5abef3;--stage-lift:#a6d4f1;
  --shade:8,10,14;
  --shadow:0 24px 48px -26px rgba(13,27,42,.45);--shadow-sm:0 10px 24px -16px rgba(13,27,42,.34);
  --focus:#1f6fd1;--nav-bg:rgba(255,248,239,.88);--logo-ink:#ffffff;
  --ok:#157a4b;--ok-bg:rgba(21,122,75,.12);--warn:#8a5a00;--warn-bg:rgba(240,170,20,.2);--bad:#b42318;--bad-bg:rgba(180,35,24,.1);
  --r-card:32px;--r-panel:24px;--r-row:16px;
  --ease:cubic-bezier(.22,1,.36,1);--ease-sheet:cubic-bezier(.32,.72,0,1);
  --font:Figtree,system-ui,-apple-system,"Segoe UI",sans-serif;
  --display:Outfit,Figtree,system-ui,sans-serif;
  color-scheme:light;
}
[data-theme="dark"]{
  --page:#0a0d11;--card:#121820;--ink:#f2f7fb;--ink-2:rgba(242,247,251,.8);--ink-3:rgba(242,247,251,.66);
  --hair:rgba(255,255,255,.1);--hair-2:rgba(255,255,255,.2);
  --accent:#5aa9f5;--acc-text:#5aa9f5;--acc-ink:#8cc4fb;--acc-soft:rgba(90,169,245,.16);
  --glass:rgba(18,24,32,.78);--glass-edge:rgba(255,255,255,.14);--glass-2:rgba(255,255,255,.05);--glass-3:rgba(255,255,255,.09);
  --stage-base:#171d24;--stage-glow:#5aa9f5;--stage-lift:#2c6aa8;
  --shadow:0 24px 44px -20px rgba(0,0,0,.75);--shadow-sm:0 10px 24px -14px rgba(0,0,0,.7);
  --focus:#5aa9f5;--nav-bg:rgba(10,13,17,.84);--logo-ink:#0a0d11;
  --ok:#5ad19a;--ok-bg:rgba(90,209,154,.14);--warn:#f0c15a;--warn-bg:rgba(240,193,90,.14);--bad:#ff8f84;--bad-bg:rgba(255,143,132,.14);
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--page);color:var(--ink);font:400 18px/1.6 var(--font);-webkit-font-smoothing:antialiased;min-width:320px}
img,svg{display:block;max-width:100%}
[hidden]{display:none!important}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:8px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:1200px;margin:0 auto;padding-inline:16px}
.wrap.wide{max-width:1456px;padding-inline:clamp(16px,4vw,56px)}
[id]{scroll-margin-top:84px}
.nb{white-space:nowrap}
.num{font-variant-numeric:tabular-nums}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;letter-spacing:-.03em;font-variant-ligatures:none;font-feature-settings:"liga" 0,"clig" 0}

/* type */
.h2{font:800 clamp(40px,5.8vw,88px)/.98 var(--display);letter-spacing:-.036em;word-spacing:.05em;text-wrap:balance;max-width:17ch}
.lead{font-size:clamp(18px,1.5vw,21px);line-height:1.55;color:var(--ink-2);max-width:56ch;margin-top:20px}
.fine{font-size:14.5px;line-height:1.6;color:var(--ink-3);max-width:74ch}
.sec{padding-block:clamp(72px,10vw,152px)}
.sec-sm{padding-block:clamp(48px,6vw,88px)}

/* top strip */
.strip{position:relative;background:#0a0d11;border-bottom:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.88);font:500 12.5px/1.3 var(--font);text-align:center;min-height:40px;display:flex;align-items:center;justify-content:center;padding:0 16px}
.strip a{color:#fff;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;min-height:40px;padding:0 4px}
.skip{position:absolute;left:16px;top:-120px;background:var(--coral);color:#0d1b2a;padding:0 18px;border-radius:999px;z-index:100;text-decoration:none;font-weight:600;min-height:44px;display:inline-flex;align-items:center}
.skip:focus{top:48px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 28px;border-radius:999px;font:700 16px var(--font);border:2px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .2s}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:scale(.98)}
.btn.coral{background:var(--coral);color:var(--on-coral);box-shadow:0 12px 24px -14px rgba(0,0,0,.55)}
.btn.coral:hover{background:var(--coral-2)}
.btn.white{background:#ffffff;color:#0d1b2a}
.btn.line{background:transparent;border-color:rgba(255,255,255,.85);color:#fff}
.btn.glass{background:var(--glass);border-color:var(--hair-2);color:var(--ink);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}
.btn.ink{background:var(--ink);color:var(--page)}
.btn.sm{min-height:40px;padding:0 18px;font-size:14px;border-width:1px}
.btn.lg{min-height:62px;padding:0 38px;font-size:18px}
.btn.block{width:100%}
.iconbtn{width:40px;height:40px;border-radius:50%;border:1px solid var(--hair-2);background:var(--glass);display:grid;place-items:center;cursor:pointer;padding:0;color:var(--ink);flex:none}
.iconbtn svg{width:18px;height:18px}
.iconbtn .sun{display:none}
[data-theme="dark"] .iconbtn .sun{display:block}
[data-theme="dark"] .iconbtn .moon{display:none}
.more-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--acc-text);font-weight:700;text-decoration:none;border-bottom:2px solid currentColor;margin-top:28px;font-size:18px}

/* header */
.logo{display:inline-flex;align-items:center;gap:10px;font:700 24px var(--display);letter-spacing:-.035em;text-decoration:none;color:var(--ink);min-height:40px}
.logo .mark{width:36px;height:36px;border-radius:12px;background:var(--blue);display:grid;place-items:center;flex:none}
.logo .mark svg{width:22px;height:22px;color:#fff}
header.site{position:sticky;top:0;z-index:50;background:var(--nav-bg);backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);border-bottom:1px solid var(--hair)}
header.site .navin{display:flex;align-items:center;gap:20px;height:68px}
header.site .links{display:flex;gap:4px;margin-inline:auto;font-size:15px}
header.site .links a{text-decoration:none;color:var(--ink-2);padding:0 14px;min-height:40px;display:inline-flex;align-items:center;border-radius:999px;transition:color .2s,background .2s;font-weight:600}
header.site .links a:hover{color:var(--ink);background:var(--glass-2)}
header.site .links a[aria-current="page"]{color:var(--ink);background:var(--acc-soft)}
header.site .navr{display:flex;align-items:center;gap:10px}
header.site .burger{display:none}
header.site .sheet{position:absolute;left:16px;right:16px;top:calc(100% + 8px);padding:12px;border-radius:24px;background:color-mix(in srgb,var(--page) 96%,transparent);border:1px solid var(--hair-2);backdrop-filter:blur(28px) saturate(150%);-webkit-backdrop-filter:blur(28px) saturate(150%);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s,transform .35s var(--ease-sheet),visibility 0s .35s}
header.site .sheet.open{opacity:1;visibility:visible;transform:none;transition:opacity .25s,transform .35s var(--ease-sheet)}
header.site .sheet a.l{display:flex;align-items:center;min-height:52px;padding:0 14px;border-radius:12px;text-decoration:none;font:700 20px var(--display);letter-spacing:-.015em;color:var(--ink)}
header.site .sheet a.l:hover{background:var(--glass-2)}
header.site .sheet a.l[aria-current="page"]{background:var(--acc-soft);color:var(--ink)}
header.site .sheet .row2{display:grid;gap:8px;margin-top:8px;padding-top:12px;border-top:1px solid var(--hair)}
@media (max-width:1060px){header.site .links,header.site .navr .signin{display:none}header.site .burger{display:grid}header.site .navr{margin-left:auto}}
@media (max-width:600px){header.site .navr .start{display:none}}

/* footer */
footer.site{border-top:1px solid var(--hair);padding-block:72px 44px}
footer.site .fgrid{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:32px}
footer.site h3.fh{font:700 13px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0 0 8px}
footer.site ul{list-style:none;display:grid;gap:0;font-size:16px}
footer.site ul a{text-decoration:none;color:var(--ink-2);display:inline-flex;align-items:center;min-height:40px;min-width:44px}
footer.site ul a:hover{color:var(--ink);text-decoration:underline}
footer.site p.about{color:var(--ink-2);font-size:16px;margin:14px 0 0;max-width:34ch}
footer.site .legal{margin-top:44px;padding-top:22px;border-top:1px solid var(--hair);font-size:14px;color:var(--ink-3);display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px}
@media (max-width:760px){footer.site .fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}footer.site .fgrid>div:first-child{grid-column:1/-1}}

/* motion: opacity, transform, blur only */
.js .rv{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--d,0)*90ms)}
.js .rv.in{opacity:1;transform:none}
.js .hw{display:inline-block;opacity:0;transform:translateY(22px);filter:blur(10px);transition:opacity .7s var(--ease),transform .7s var(--ease),filter .7s var(--ease);transition-delay:calc(var(--i)*80ms + .15s)}
.js .in .hw,.js .hw.in{opacity:1;transform:none;filter:blur(0)}
html.revealed *,html.revealed *::before,html.revealed *::after{transition:none!important}
@keyframes settle{from{transform:scale(1.07)}to{transform:scale(1)}}
@keyframes bob{from{transform:rotate(-9deg) translateY(0)}to{transform:rotate(-6deg) translateY(-8px)}}

/* ---------- HERO: the photo owns the screen ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;background:#0a0d11;color:#fff;min-height:clamp(560px,calc(100vh - 108px),860px);min-height:clamp(560px,calc(100svh - 108px),860px);display:flex;align-items:flex-end}
.hero .hero-img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 24%;z-index:-2;filter:saturate(1.12) contrast(1.03);animation:settle 2.6s var(--ease) both}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(var(--shade),.2) 0%,rgba(var(--shade),0) 20%,rgba(var(--shade),0) 36%,rgba(var(--shade),.5) 60%,rgba(var(--shade),.9) 100%),linear-gradient(90deg,rgba(var(--shade),.4) 0%,rgba(var(--shade),0) 60%)}
.hero-in{position:relative;width:100%;padding-block:0 clamp(36px,5.2vw,84px)}
.hero h1{font:800 clamp(54px,9.4vw,148px)/.94 var(--display);letter-spacing:-.04em;word-spacing:.06em;color:#fff;max-width:11ch;text-wrap:balance;text-shadow:0 2px 40px rgba(var(--shade),.4)}
.hero .hl{position:relative;display:inline-block;white-space:nowrap}
.hero .hl svg{position:absolute;left:-2%;bottom:-.1em;width:104%;height:.26em;overflow:visible}
.hero .hl path{fill:none;stroke:var(--coral);stroke-width:8;stroke-linecap:round;vector-effect:non-scaling-stroke}
.js .hero .hl svg{transform-origin:left;transform:scaleX(0);transition:transform 1s var(--ease) .9s}
.js .hero .in .hl svg,.js .hero .hl.in svg{transform:none}
.hero .ctas{margin-top:clamp(24px,3vw,40px);display:flex;flex-wrap:wrap;gap:12px}
.hbadge{position:absolute;z-index:2;right:clamp(16px,4vw,64px);bottom:clamp(44px,7vw,108px);width:clamp(116px,13.6vw,204px);aspect-ratio:1;border-radius:50%;background:var(--coral);color:var(--on-coral);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1;transform:rotate(-9deg);box-shadow:0 22px 46px -16px rgba(0,0,0,.6),inset 0 0 0 5px rgba(255,255,255,.35);animation:bob 4.2s ease-in-out infinite alternate}
.hbadge .f{font:700 clamp(12px,1.25vw,18px) var(--font);letter-spacing:.1em;text-transform:uppercase}
.hbadge .p{font:800 clamp(44px,6.2vw,92px)/.92 var(--display);letter-spacing:-.06em;margin:2px 0 3px}
.hbadge .m{font:700 clamp(13px,1.35vw,19px) var(--font)}

@media (max-width:700px){
  .hero{min-height:clamp(600px,calc(100svh - 112px),760px)}
  .hero .hero-img{object-position:52% 30%}
  .hbadge{top:18px;bottom:auto;right:16px;width:108px}
  .hbadge .p{font-size:44px}
  .hero h1{font-size:clamp(46px,14.4vw,60px)}
}

/* ---------- one small trust row + the medication notice ---------- */
.notes{padding-block:clamp(26px,3.4vw,44px)}
.notes-in{display:flex;flex-wrap:wrap;gap:16px 56px;align-items:flex-start;justify-content:space-between}
.trust{list-style:none;display:flex;flex-wrap:wrap;gap:10px 30px;font:600 16px var(--font);color:var(--ink)}
.trust li{position:relative;padding-left:28px;min-height:24px}
.trust li::before{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;background:var(--blue)}
.trust li::after{content:"";position:absolute;left:6px;top:7px;width:9px;height:5px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(-45deg)}
.notes .fine{flex:1 1 100%;max-width:92ch}

/* ---------- blue bands ---------- */
.band{position:relative;isolation:isolate;background:var(--blue);color:var(--on-blue)}
.band .wv{position:absolute;left:0;right:0;height:44px;background:var(--page);z-index:1;pointer-events:none;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 44' preserveAspectRatio='none'%3E%3Cpath d='M0 0H640V18C560 18 560 42 480 42S400 18 320 18 240 42 160 42 80 18 0 18Z'/%3E%3C/svg%3E") repeat-x 0 0/640px 44px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 44' preserveAspectRatio='none'%3E%3Cpath d='M0 0H640V18C560 18 560 42 480 42S400 18 320 18 240 42 160 42 80 18 0 18Z'/%3E%3C/svg%3E") repeat-x 0 0/640px 44px}
.band .wv.t{top:-1px}
.band .wv.b{bottom:-1px;transform:scaleY(-1)}
@media (max-width:700px){.band .wv{height:30px;-webkit-mask-size:420px 30px;mask-size:420px 30px}}
.band .h2{color:#fff}
.band .lead,.band p{color:#fff}
.band-pad{padding-block:176px}
#from.band-pad{padding-bottom:120px}
@media (max-width:1200px){.band-pad{padding-block:128px}#from.band-pad{padding-bottom:96px}}
@media (max-width:700px){.band-pad{padding-block:104px}#from.band-pad{padding-bottom:80px}}
.ripples{position:absolute;right:0;top:6%;width:min(62vw,880px);height:auto;z-index:-1;opacity:.2;pointer-events:none}
.ripples path{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round}

/* the giant price */
.giant{font:800 clamp(84px,16.5vw,252px)/.86 var(--display);letter-spacing:-.05em;word-spacing:.04em;color:#fff}
.giant span{display:block}
.lines{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,64px);margin-top:clamp(52px,7vw,100px)}
.lines li{border-top:3px solid #fff;padding-top:20px;font:500 clamp(18px,1.7vw,23px)/1.4 var(--font);color:#fff;max-width:30ch}
.bnote{margin-top:clamp(36px,4.4vw,60px);font-size:15.5px;line-height:1.6;max-width:70ch;color:#fff}
@media (max-width:860px){.lines{grid-template-columns:1fr;gap:22px}}

/* ---------- full-bleed photo with type on it ---------- */
.photo{position:relative;isolation:isolate;overflow:hidden;background:#0a0d11;color:#fff;display:flex;align-items:flex-end}
.photo>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;z-index:-2}
.photo::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}
.photo .ph-in{position:relative;width:100%}
.photo h2{font:800 clamp(52px,9vw,140px)/.92 var(--display);letter-spacing:-.04em;word-spacing:.05em;color:#fff;text-wrap:balance}
.photo p{color:#fff}

/* how it works: three huge numerals */
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4.4vw,72px);margin-top:clamp(44px,6vw,84px)}
.step .n{display:block;font:800 clamp(140px,16vw,236px)/.78 var(--display);letter-spacing:-.05em;color:var(--acc-text);margin-bottom:clamp(20px,2.4vw,32px)}
.step h3{font:800 clamp(28px,2.7vw,38px)/1.06 var(--display);letter-spacing:-.028em}
.step p{margin-top:14px;color:var(--ink-2);font-size:clamp(17px,1.35vw,19px);max-width:36ch}
@media (max-width:860px){
  .steps{grid-template-columns:1fr;gap:38px}
  .step{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:22px;align-items:start}
  .step .n{font-size:104px;margin:0;line-height:.74}
  .step h3{font-size:28px}
}

/* split sections: type on one half, a big photo bleeding off the other */
:root{--edge:max(clamp(16px,4vw,56px),calc((100vw - 1456px)/2 + clamp(16px,4vw,56px)))}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:clamp(560px,54vw,800px)}
.split .txt{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-block:clamp(56px,8vw,120px);padding-left:var(--edge);padding-right:clamp(20px,4.4vw,80px)}
.split.flip .txt{padding-left:clamp(20px,4.4vw,80px);padding-right:var(--edge)}
.split.flip .pic{order:-1}
.split.blue{background:var(--blue)}
.split.blue .txt{background:var(--blue);color:#fff}
.split.blue .txt .h2{color:#fff;max-width:11ch}
.split.blue .txt p{color:#fff}
.split .txt p.body{font-size:clamp(18px,1.5vw,21px);line-height:1.55;margin:clamp(20px,2.4vw,30px) 0 clamp(26px,3vw,38px);max-width:42ch}
.split .pic{position:relative;overflow:hidden;background:#0a0d11;min-height:420px}
.split .pic img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 46%}
.split.two{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.split.two .pic img{object-position:50% 36%}
.split.two h2{font:800 clamp(48px,6.6vw,108px)/.92 var(--display);letter-spacing:-.026em;word-spacing:.04em;text-wrap:balance;color:var(--ink)}
.split.two .sub{font:500 clamp(20px,1.9vw,26px)/1.32 var(--font);margin-top:clamp(20px,2.2vw,30px);max-width:30ch;color:var(--ink)}
.split.two .sub b{font:800 1.5em/1 var(--display);letter-spacing:-.03em;color:var(--coral);margin-right:.14em}
[data-theme="light"] .split.two .sub b{color:var(--acc-text)}
.split.two .fine2{font-size:16px;line-height:1.6;margin-top:16px;max-width:46ch;color:var(--ink-2)}
.split.two .ctas{margin-top:clamp(24px,2.8vw,36px)}
@media (max-width:860px){
  .split,.split.two{grid-template-columns:1fr}
  .split .pic,.split.flip .pic{order:-1;min-height:0;aspect-ratio:4/3.4}
  .split .txt,.split.flip .txt{padding:52px 16px 60px}
}

/* clinicians: large editorial portraits */
.team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.4vw,36px);margin-top:clamp(40px,5vw,72px)}
.person .ph{position:relative;overflow:hidden;border-radius:var(--r-card);aspect-ratio:4/5;background:var(--stage-base)}
.person .ph img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 22%}
.person.init .ph{background:var(--blue);display:grid;place-items:center}
.person .ph .rip{position:absolute;inset:0;width:100%;height:100%;opacity:.24}
.person .ph .rip path{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round}
.person.init .ph span{position:relative;font:800 clamp(110px,13vw,200px)/.8 var(--display);letter-spacing:-.04em;color:#fff}
.person h3{font:800 clamp(26px,2.4vw,34px)/1.05 var(--display);letter-spacing:-.028em;margin-top:22px}
.person p{color:var(--ink-2);margin-top:8px;font-size:clamp(17px,1.3vw,19px);max-width:34ch}
@media (max-width:860px){.team{grid-template-columns:1fr;max-width:520px}}

/* pricing: three bold cards on blue */
.pricing .h2{max-width:14ch}
.pricing .lead{color:#fff}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.2vw,32px);margin-top:clamp(44px,5.6vw,80px);align-items:stretch}
.plan{position:relative;display:flex;flex-direction:column;gap:18px;padding:clamp(28px,3vw,44px);border-radius:var(--r-card);background:var(--card);color:var(--ink);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.plan h3{font:800 clamp(28px,2.4vw,34px)/1 var(--display);letter-spacing:-.028em}
.plan .price{font:800 clamp(80px,8vw,120px)/.84 var(--display);letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.plan .price small{font:700 20px var(--font);letter-spacing:0;color:var(--ink-3);margin-left:4px}
.plan .who{color:var(--ink-2);font-size:17px;min-height:54px}
.checks{list-style:none;display:grid;gap:12px;font-size:17px}
.checks li{position:relative;padding-left:34px}
.checks li::before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:var(--blue)}
.checks li::after{content:"";position:absolute;left:6.5px;top:8px;width:10px;height:5px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(-45deg)}
.plan .checks{flex:1;align-content:start}
.plan .save{font-size:15px;color:var(--ok);font-weight:700}
.plan .tag{position:absolute;top:-17px;left:clamp(28px,3vw,44px);padding:7px 16px;border-radius:999px;background:var(--coral);color:var(--on-coral);font:800 14px var(--font);letter-spacing:.02em}
.plan.hot{outline:5px solid var(--coral);outline-offset:-1px}
@media (min-width:961px){.plan.hot{margin-block:-22px;padding-block:calc(clamp(28px,3vw,44px) + 22px)}}
@media (max-width:960px){.plans{grid-template-columns:1fr;max-width:560px}}
.medbox{margin-top:clamp(40px,5vw,64px);padding-top:28px;border-top:3px solid #fff;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:16px clamp(24px,5vw,72px);align-items:start}
.medbox h3{font:800 clamp(24px,2.2vw,30px)/1.1 var(--display);letter-spacing:-.028em;color:#fff}
.medbox p{color:#fff;font-size:16px;line-height:1.65;max-width:72ch}
@media (max-width:860px){.medbox{grid-template-columns:1fr}}

/* member stories */
.stories{margin-top:clamp(40px,5vw,72px);display:grid;gap:clamp(36px,5vw,72px)}
.q blockquote{font:700 clamp(23px,2vw,28px)/1.25 var(--display);letter-spacing:-.015em;text-wrap:pretty}
.q.feat blockquote{font:800 clamp(32px,4.5vw,66px)/1.08 var(--display);letter-spacing:-.032em;word-spacing:.04em;max-width:24ch;text-wrap:balance}
.q.feat blockquote::before{content:"";display:block;width:clamp(44px,5vw,72px);height:clamp(34px,4vw,56px);margin-bottom:22px;background:var(--coral);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 56'%3E%3Cpath d='M0 56V30C0 12 10 2 28 0v11C19 13 16 18 16 26h14v30zM40 56V30C40 12 50 2 68 0v11C59 13 56 18 56 26h14v30z'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 56'%3E%3Cpath d='M0 56V30C0 12 10 2 28 0v11C19 13 16 18 16 26h14v30zM40 56V30C40 12 50 2 68 0v11C59 13 56 18 56 26h14v30z'/%3E%3C/svg%3E") no-repeat center/contain}
.q .who{display:flex;align-items:center;gap:14px;margin-top:26px}
.q .who b{display:block;font-weight:700;font-size:18px}
.q .who span.d{font-size:15px;color:var(--ink-3)}
.av{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font:800 16px var(--display);color:var(--on-coral);background:var(--coral);flex:none}
.av.sky{background:var(--blue);color:#fff}
.q .iv{margin-top:14px;font-size:14.5px;color:var(--ink-3)}
.qrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,80px)}
.qrow .q{border-top:3px solid var(--ink);padding-top:26px}
@media (max-width:760px){.qrow{grid-template-columns:1fr}}

/* small habits: full-bleed walk */
.habits{min-height:clamp(520px,50vw,720px)}
.habits>img{object-position:40% 55%}
.habits::after{background:linear-gradient(180deg,rgba(var(--shade),.1) 0%,rgba(var(--shade),.2) 35%,rgba(var(--shade),.9) 100%)}
.habits .ph-in{padding-block:0 clamp(40px,5.6vw,80px)}
.habits h2{font-size:clamp(46px,7.6vw,120px);max-width:12ch}
.habits .hl3{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,48px);margin-top:clamp(28px,3.4vw,48px)}
.habits .hl3 li{border-top:3px solid #fff;padding-top:16px;font:700 clamp(20px,1.9vw,27px)/1.2 var(--display);letter-spacing:-.015em;color:#fff}
.habits .tail{margin-top:22px;font-size:16.5px;max-width:58ch}
@media (max-width:760px){.habits{min-height:660px}.habits .hl3{grid-template-columns:1fr;gap:14px}.habits::after{background:linear-gradient(180deg,rgba(var(--shade),.25) 0%,rgba(var(--shade),.62) 28%,rgba(var(--shade),.92) 70%,rgba(var(--shade),.94) 100%)}}

/* faq */
.faqgrid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.faqgrid .stick{position:sticky;top:110px}
.faq{border-top:3px solid var(--ink)}
.fi{border-bottom:1px solid var(--hair-2);padding-block:2px}
.fi h3{font:inherit;letter-spacing:0}
.fi button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;text-align:left;padding:26px 0;min-height:68px;background:none;border:0;cursor:pointer;font:700 clamp(20px,1.9vw,26px)/1.22 var(--display);letter-spacing:-.015em}
.fi .pl{width:38px;height:38px;border-radius:50%;background:var(--coral);color:var(--on-coral);display:grid;place-items:center;flex:none;transition:transform .35s var(--ease)}
.fi .pl svg{width:16px;height:16px}
.fi.open .pl{transform:rotate(45deg)}
.fa{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .4s var(--ease),visibility 0s .4s}
.fi.open .fa{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .4s var(--ease)}
.fa>div{overflow:hidden}
.fa p{padding:0 56px 28px 0;color:var(--ink-2);font-size:17.5px;max-width:60ch}
@media (max-width:900px){.faqgrid{grid-template-columns:1fr}.faqgrid .stick{position:static}.fa p{padding-right:0}}

/* important safety information: clean footnote block */
.isi{border:3px solid var(--ink);border-radius:var(--r-card);background:var(--card);padding:clamp(26px,4vw,56px);display:grid;gap:22px}
.isi h2{font:800 clamp(28px,3.2vw,42px)/1.05 var(--display);letter-spacing:-.03em}
.isi .box{border:2px solid var(--coral);background:var(--glass-2);border-radius:var(--r-row);padding:18px 22px}
.isi .box b{display:block;margin-bottom:6px;font-size:17px}
.isi h3{font:700 16px var(--font);letter-spacing:0;margin-bottom:6px}
.isi p,.isi li{font-size:15.5px;line-height:1.6;color:var(--ink-2)}
.isi .cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 48px}
.isi ul{padding-left:20px;display:grid;gap:4px}
@media (max-width:760px){.isi .cols{grid-template-columns:1fr}}

/* final call */
.final{text-align:center}
.final h2{font:800 clamp(54px,10.6vw,168px)/.92 var(--display);letter-spacing:-.045em;word-spacing:.04em;color:#fff;max-width:11ch;margin:0 auto;text-wrap:balance}
.final p{max-width:46ch;margin:clamp(22px,2.6vw,34px) auto clamp(28px,3.4vw,44px);font-size:clamp(18px,1.6vw,22px);color:#fff}
.final .ctas{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .js .rv,.js .hw{opacity:1!important;transform:none!important;filter:none!important}
  .js .hero .hl svg{transform:none!important}
  .hbadge{transform:rotate(-9deg)}
}
