@font-face{font-family:Geist;src:url(/fonts/geist.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(/fonts/geist-mono.woff2) format("woff2");font-weight:100 900;font-display:swap}

:root{
  --ivory:#f5f2ec;--paper:#fbfaf7;--stone:#e9e4db;--ink:#111;--soft:#3d3a35;--grey:#8a857c;--line:#d9d3c8;--black:#0b0b0b;
  --serif:Cormorant,"Cormorant Garamond",Didot,"Bodoni 72",Georgia,serif;
  --sans:Jost,"Helvetica Neue",Helvetica,Arial,sans-serif;
  --ease:cubic-bezier(.25,.1,.1,1);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--soft);font:300 15px/1.75 var(--sans);letter-spacing:.01em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
h1,h2,h3{font-family:var(--serif);font-weight:300;color:var(--ink);margin:0;line-height:1.05;letter-spacing:-.01em}
h1{font-size:clamp(46px,6.4vw,96px)}
h2{font-size:clamp(34px,4.2vw,62px)}
h3{font-size:26px}
em{font-style:italic}
p{margin:0}
.wrap{max-width:1440px;margin:0 auto;padding:0 48px}
.cap{font:400 11px/1.4 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--ink)}
.cap.g{color:var(--grey)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.link{font:400 11px/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--ink);padding-bottom:6px;border-bottom:1px solid currentColor;display:inline-block;transition:opacity .3s}
.link:hover{opacity:.55}
.on-dark .link,.link.lt{color:#fff}

/* fade */
.rv{opacity:0;transition:opacity .28s ease-out}
.rv.in{opacity:1}

/* top bar + header */
.notice{background:var(--black);color:#e9e4db;text-align:center;font:400 10.5px/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;height:33px;line-height:33px;padding:0 16px;white-space:nowrap;overflow:hidden}
header.top{position:sticky;top:0;z-index:50;background:rgba(251,250,247,.96);border-bottom:1px solid var(--line);transition:background .4s}
header.top.over{position:fixed;left:0;right:0;top:33px;background:transparent;border-color:transparent;transition:top .3s,background .4s}
header.top.over.solid{top:0}
header.top.over .ln a,header.top.over .rn a{color:#fff}
header.top.over .logo .b{display:none}
header.top:not(.over) .logo .w{display:none}
header.top.over.solid{background:rgba(251,250,247,.97);border-color:var(--line)}
header.top.over.solid .ln a,header.top.over.solid .rn a{color:var(--ink)}
header.top.over.solid .logo .b{display:block}
header.top.over.solid .logo .w{display:none}
.top .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:78px}
.lcol{display:flex;align-items:center}
.ln,.rn{display:flex;gap:30px}
.ln .mob{display:none}
.rn{justify-content:flex-end}
.ln a,.rn a{font:400 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ink);transition:opacity .3s}
.ln a:hover,.rn a:hover{opacity:.5}
.logo img{height:26px;width:auto}
.menu{display:none;background:none;border:0;padding:6px;width:34px}
.menu span{display:block;height:1px;background:currentColor;margin:6px 0}

/* buttons: square, quiet */
.btn{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 38px;border:1px solid var(--ink);background:var(--ink);color:#fff;font:400 11px/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;transition:background .35s,color .35s;white-space:nowrap}
.btn:hover{background:transparent;color:var(--ink)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff}
.btn.lt{background:#fff;border-color:#fff;color:var(--ink)}
.btn.lt:hover{background:transparent;color:#fff}
.btn.block{width:100%}

/* hero: full-bleed image, text bottom-centred */
.hero{position:relative;height:calc(100svh - 33px);min-height:620px;overflow:hidden;color:#fff}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 35%;transform:scale(1.04);transition:transform 6s var(--ease)}
.hero.in img{transform:none}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.42),rgba(0,0,0,0) 45%)}
.hero .tx{position:absolute;left:0;right:0;bottom:9vh;text-align:center;z-index:2;padding:0 24px}
.hero h1{color:#fff;font-size:clamp(44px,6.2vw,92px)}
.hero p{font:300 15px/1.6 var(--sans);letter-spacing:.04em;margin:18px auto 30px;max-width:520px;color:rgba(255,255,255,.88)}
.hero .acts{display:flex;gap:34px;justify-content:center;flex-wrap:wrap}

/* intro statement */
.statement{padding:150px 0 120px;text-align:center}
.statement h2{max-width:980px;margin:22px auto 0;font-size:clamp(30px,3.6vw,52px);line-height:1.18}
.statement p{max-width:560px;margin:28px auto 0}

/* edits: two-up editorial */
.edits{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.edit{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:var(--stone)}
.edit img{width:100%;height:100%;object-fit:cover;transition:transform 2.2s var(--ease)}
.edit:hover img{transform:scale(1.035)}
.edit .tx{position:absolute;left:0;right:0;bottom:44px;text-align:center;color:#fff;z-index:2}
.edit:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.38),rgba(0,0,0,0) 40%)}
.edit h3{color:#fff;font-size:clamp(30px,3vw,44px);margin:12px 0 18px}
.edits.three{grid-template-columns:repeat(3,1fr)}

/* section heads */
.sec{padding:120px 0}
.sec.tight{padding:80px 0}
.sec.ivory{background:var(--ivory)}
.head{text-align:center;margin-bottom:64px}
.head h2{margin-top:18px}
.head p{max-width:520px;margin:20px auto 0}

/* product grid: quiet tiles */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:56px 28px}
.prod{display:block;text-align:center}
.prod .im{display:block;aspect-ratio:4/5;background:var(--ivory);overflow:hidden}
.prod .im img{width:100%;height:100%;object-fit:cover;transition:transform 1.8s var(--ease)}
.prod:hover .im img{transform:scale(1.04)}
.prod .nm{display:block;margin-top:20px;font:400 11px/1.5 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ink)}
.prod .hl{display:block;font:italic 300 19px/1.3 var(--serif);color:var(--soft);margin-top:6px}
.prod .pr{display:block;margin-top:8px;font:300 13px var(--sans);color:var(--grey);letter-spacing:.06em}

/* filters */
.filters{display:flex;justify-content:center;gap:34px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin-bottom:70px}
.filters a{font:400 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--grey);transition:color .3s}
.filters a:hover,.filters a.on{color:var(--ink)}
.filters a.on{text-decoration:underline;text-underline-offset:8px}
.search{display:block;max-width:360px;margin:0 auto 60px;position:relative}
.search input{width:100%;height:44px;border:0;border-bottom:1px solid var(--ink);background:transparent;font:300 15px var(--sans);color:var(--ink);text-align:center;letter-spacing:.06em;outline:none}

/* split feature */
.split{display:grid;grid-template-columns:1fr 1fr;min-height:760px}
.split .ph{position:relative;overflow:hidden;background:var(--stone)}
.split .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split .tx{display:flex;flex-direction:column;justify-content:center;padding:90px 9%;background:var(--ivory)}
.split h2{margin:20px 0 26px}
.split ul{list-style:none;padding:0;margin:8px 0 40px;border-top:1px solid var(--line)}
.split li{padding:16px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--ink)}
.split.rev .ph{order:2}

/* ritual steps */
.ritual{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.ritual div{padding:56px 44px;border-right:1px solid var(--line);text-align:center}
.ritual div:last-child{border-right:0}
.ritual .n{font:italic 300 46px/1 var(--serif);color:var(--grey);display:block;margin-bottom:22px}
.ritual h3{margin-bottom:12px}

/* full-bleed band */
.band{position:relative;height:88svh;min-height:560px;overflow:hidden;color:#fff}
.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.28)}
.band .tx{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:2;padding:0 24px}
.band h2{color:#fff;margin:18px 0 34px;max-width:860px}

/* product page */
.pdp{display:grid;grid-template-columns:1.15fr .85fr;min-height:calc(100svh - 111px)}
.pdp .gal{background:var(--ivory);position:relative}
.pdp .gal img{position:sticky;top:78px;width:100%;height:calc(100svh - 111px);object-fit:cover}
.pdp .info{padding:90px 9% 80px;display:flex;flex-direction:column;justify-content:center}
.pdp .crumb{margin-bottom:34px}
.pdp h1{font-size:clamp(40px,4vw,62px)}
.pdp .sub{font:400 11px var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--grey);margin-top:16px}
.pdp .lead{font:300 16px/1.8 var(--sans);color:var(--soft);margin:28px 0 34px;max-width:470px}
.dose{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:0;border:1px solid var(--line);margin:14px 0 26px}
.dose label{position:relative;border-right:1px solid var(--line)}
.dose label:last-child{border-right:0}
.dose input{position:absolute;opacity:0}
.dose span{display:block;padding:16px 10px;text-align:center;font:400 12px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--grey);cursor:pointer;transition:.3s}
.dose span small{display:block;letter-spacing:.06em;text-transform:none;font-size:12px;margin-top:2px}
.dose input:checked+span{background:var(--ink);color:#fff}
.dose input:focus-visible+span{outline:1px solid var(--ink);outline-offset:-4px}
.price{font:300 30px var(--serif);color:var(--ink);margin-bottom:26px}
.fine{font-size:12.5px;color:var(--grey);margin-top:16px;line-height:1.6}
.acc{margin-top:44px;border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;cursor:pointer;padding:20px 0;display:flex;justify-content:space-between;font:400 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ink)}
.acc summary::-webkit-details-marker{display:none}
.acc summary:after{content:"+";font-size:16px;font-weight:300;letter-spacing:0}
.acc details[open] summary:after{content:"−"}
.acc .body{padding:0 0 22px;font-size:14px}
.acc dl{margin:0}
.acc dl div{display:flex;justify-content:space-between;padding:8px 0;font-size:13.5px}
.acc dt{color:var(--grey)}
.acc dd{margin:0;color:var(--ink)}
.acc a{border-bottom:1px solid currentColor}

/* lab table */
.tablewrap{overflow:auto;border-top:1px solid var(--ink)}
table.coa{width:100%;border-collapse:collapse;min-width:820px;font-size:14px}
table.coa th{text-align:left;font:400 10.5px var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--grey);padding:18px 14px;border-bottom:1px solid var(--line)}
table.coa td{padding:18px 14px;border-bottom:1px solid var(--line);color:var(--ink);white-space:nowrap}
table.coa td.s{font-family:var(--serif);font-size:19px}
table.coa .pend{color:var(--grey);font-style:italic;font-family:var(--serif);font-size:16px}

/* prose / faq */
.prose{max-width:720px;margin:0 auto}
.prose h3{margin:36px 0 12px;font-size:26px}
.prose p{margin:0 0 16px}
details.faq{border-bottom:1px solid var(--line)}
details.faq:first-of-type{border-top:1px solid var(--line)}
details.faq summary{list-style:none;cursor:pointer;padding:28px 0;display:flex;justify-content:space-between;gap:20px;font:300 24px/1.3 var(--serif);color:var(--ink)}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary:after{content:"+";font:300 20px var(--sans)}
details.faq[open] summary:after{content:"−"}
details.faq .a{padding:0 0 28px;max-width:620px}

/* visit */
.visit{max-width:620px;margin:0 auto;padding:110px 24px 120px;text-align:center}
.visit h1{font-size:clamp(40px,5vw,64px);margin:20px 0 18px}
.goalpick{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);margin:40px 0 34px;text-align:left}
.goalpick label{position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.goalpick input{position:absolute;opacity:0}
.goalpick span{display:block;padding:20px 22px;font:300 21px var(--serif);color:var(--ink);cursor:pointer;transition:.3s}
.goalpick input:checked+span{background:var(--ink);color:#fff}
label.f{display:block;text-align:left;font:400 10.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--grey);margin-bottom:26px}
.f input,.f select{display:block;width:100%;height:46px;margin-top:10px;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;font:300 16px var(--sans);color:var(--ink);letter-spacing:.02em;text-transform:none;outline:none;-webkit-appearance:none;appearance:none}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.consent{display:flex;gap:12px;text-align:left;font-size:13px;margin:4px 0 34px}
.note{font-size:13px;color:var(--grey);margin-top:28px;line-height:1.7}

/* footer */
footer{background:var(--black);color:#b8b2a7;padding:100px 0 44px}
footer .logo img{height:28px;margin:0 auto}
footer .news{text-align:center;max-width:520px;margin:0 auto 90px}
footer .news h3{color:#fff;font-size:34px;margin:30px 0 14px}
footer .cols{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;border-top:1px solid #2a2824;padding-top:56px}
footer h4{font:400 10.5px/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:#fff;margin:0 0 22px}
footer a{display:block;font-size:13.5px;padding:5px 0;transition:color .3s}
footer a:hover{color:#fff}
footer .legal{margin-top:70px;padding-top:30px;border-top:1px solid #2a2824;font-size:11.5px;line-height:1.85;color:#7c776e}

@media (max-width:1080px){
  .grid{grid-template-columns:repeat(3,1fr)}
  .ln{display:none}
  .menu{display:block;color:var(--ink)}
  .ln .mob{display:block}
  header.top.over:not(.solid) .menu{color:#fff}
  .rn a:not(.keep){display:none}
  body.nav-open .ln{display:flex;position:fixed;top:78px;left:0;right:0;bottom:0;background:var(--paper);flex-direction:column;gap:0;padding:30px 24px;z-index:60}
  body.nav-open .ln a{padding:18px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--ink)!important}
}
@media (max-width:820px){
  .wrap{padding:0 22px}
  .top .wrap{height:64px}
  .logo img{height:22px}
  .edits,.edits.three{grid-template-columns:1fr}
  .grid{grid-template-columns:repeat(2,1fr);gap:40px 12px}
  .prod .hl{font-size:16px}
  .split{grid-template-columns:1fr;min-height:0}
  .split .ph{aspect-ratio:4/5}
  .split .tx{padding:64px 24px}
  .split.rev .ph{order:0}
  .ritual{grid-template-columns:1fr}
  .ritual div{border-right:0;border-bottom:1px solid var(--line)}
  .pdp{grid-template-columns:1fr}
  .pdp .gal img{position:static;height:auto;aspect-ratio:4/5}
  .pdp .info{padding:50px 22px 70px}
  .sec{padding:84px 0}
  .statement{padding:100px 0 80px}
  footer .cols{grid-template-columns:1fr 1fr}
  .filters{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;gap:26px;padding:20px 22px;margin:0 -22px 50px;scrollbar-width:none}
  .filters::-webkit-scrollbar{display:none}
  .filters a{white-space:nowrap}
  .goalpick{grid-template-columns:1fr}
  body.nav-open .ln{top:64px}
  .notice .d{display:none}
  .hero img{object-position:80% 35%}
  header.top.over.solid~main .hero{}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}.rv{opacity:1}}

/* ================= themes + Geist (layout unchanged) ================= */
:root,html[data-theme=dark]{
  --paper:#141311;--ivory:#1b1a17;--stone:#23211d;--ink:#f4f1ea;--soft:#bdb7ab;--grey:#8c867b;--line:rgba(255,255,255,.1);--line3:rgba(255,255,255,.35);
  --black:#0e0d0b;--on-ink:#141311;--hdr:rgba(20,19,17,.88);--card:#1a1916;--teal-t:#cdb48a;--teal:#cdb48a;
  color-scheme:dark;
}
html[data-theme=light]{
  --paper:#fbfaf7;--ivory:#f3f0ea;--stone:#e8e3da;--ink:#121212;--soft:#45423d;--grey:#857f76;--line:#dcd6cb;--line3:#121212;
  --black:#0b0b0b;--on-ink:#fbfaf7;--hdr:rgba(251,250,247,.92);--card:#fff;--teal-t:#8a6a3c;--teal:#a8865a;
  color-scheme:light;
}
:root{--serif:Geist,"Helvetica Neue",Arial,sans-serif;--sans:Geist,"Helvetica Neue",Arial,sans-serif;--mono:"Geist Mono",ui-monospace,monospace}
html{background:var(--paper)}
body{font-weight:400;font-size:15.5px;color:var(--soft);letter-spacing:0;transition:background .4s,color .4s}
h1,h2,h3{font-weight:500;letter-spacing:-.035em;line-height:1.02}
em{font-style:normal;color:var(--grey)}
.cap,.link,.ln a,.rn a,.notice,.filters a,.prod .nm,.acc summary,label.f,table.coa th,.dose span,.btn,.chip,.badge{font-family:var(--mono);font-weight:500;letter-spacing:.14em}
.notice{background:var(--black);color:#cfcfca;border-bottom:1px solid var(--line)}
header.top{background:var(--hdr);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--line)}
header.top.over{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
header.top.over.solid{background:var(--hdr);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
/* logo + nav colour: white over the hero, theme ink elsewhere */
html[data-theme=dark] header.top .logo .b{display:none}
html[data-theme=dark] header.top .logo .w{display:block}
html[data-theme=light] header.top.over:not(.solid) .logo .b{display:none}
html[data-theme=light] header.top.over:not(.solid) .logo .w{display:block}
html[data-theme=light] header.top:not(.over) .logo .b,html[data-theme=light] header.top.over.solid .logo .b{display:block}
html[data-theme=light] header.top:not(.over) .logo .w,html[data-theme=light] header.top.over.solid .logo .w{display:none}
header.top.over:not(.solid) .ln a,header.top.over:not(.solid) .rn a,header.top.over:not(.solid) .tt,header.top.over:not(.solid) .menu{color:#fff}
.btn{background:var(--ink);border-color:var(--ink);color:var(--on-ink);font-weight:600}
.btn:hover{background:transparent;color:var(--ink)}
.btn.ghost{color:var(--ink);border-color:var(--line3)}
.btn.ghost:hover{background:var(--ink);color:var(--on-ink)}
.btn.lt{background:#fff;border-color:#fff;color:#0b0b0c}
.btn.lt:hover{background:transparent;color:#fff}
.hero:after{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.05) 55%)}
.statement h2{font-weight:400;letter-spacing:-.025em;line-height:1.2}
.prod .im{background:var(--ivory)}
.prod .hl{font:500 17px/1.35 var(--sans);font-style:normal;letter-spacing:-.01em;color:var(--ink);margin-top:8px}
.prod .pr{color:var(--grey)}
.edit:after{background:linear-gradient(0deg,rgba(0,0,0,.65),rgba(0,0,0,0) 45%)}
.edit h3{font-weight:500}
.ritual .n{font:500 13px/1 var(--mono);letter-spacing:.16em;color:var(--grey);font-style:normal}
.split .tx{background:var(--ivory)}
.price{font:500 32px var(--sans);letter-spacing:-.02em}
.dose span{color:var(--grey)}
.dose input:checked+span{background:var(--ink);color:var(--on-ink)}
.goalpick span{font:500 17px var(--sans)}
.goalpick input:checked+span{background:var(--ink);color:var(--on-ink)}
.f input,.f select{border-bottom-color:var(--line3);color:var(--ink)}
.f select option{background:var(--paper);color:var(--ink)}
.search input{border-bottom-color:var(--line3);color:var(--ink)}
details.faq summary{font:500 21px/1.35 var(--sans);letter-spacing:-.015em}
table.coa{border-top-color:var(--line3)}
table.coa td.s{font:500 16px var(--sans)}
table.coa .pend{font:400 14px var(--sans);font-style:normal}
footer{background:var(--black);color:#9a9a94;border-top:1px solid var(--line)}
footer .news h3{font-weight:500}
footer .logo .b{display:none!important}
body.nav-open .ln{background:var(--paper)}

/* theme-aware product imagery: dark marble vials in dark, travertine in light */
.th-light{display:none!important}
html[data-theme=light] .th-dark{display:none!important}
html[data-theme=light] .th-light{display:block!important}

/* theme toggle: one quiet icon */
.tt{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;background:none;color:var(--ink);padding:0;opacity:.85;transition:opacity .3s,transform .5s var(--ease)}
.tt:hover{opacity:1}
.tt svg{width:17px;height:17px}
.tt .sun{display:none}
html[data-theme=light] .tt .sun{display:block}
html[data-theme=light] .tt .moon{display:none}
.tt:active{transform:rotate(30deg)}

/* ================= shop showcases ================= */
.shophead{padding:150px 0 0}
.shophead h1{font-size:clamp(46px,6.4vw,96px);margin-top:16px;max-width:900px}
.shophead p{max-width:540px;margin-top:22px;font-size:17px}
.chipbar{position:sticky;top:77px;z-index:20;background:var(--hdr);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:56px}
.chipbar .wrap{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-top:12px;padding-bottom:12px}
.chipbar .wrap::-webkit-scrollbar{display:none}
.chip{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;border:1px solid var(--line);font-size:11px;text-transform:uppercase;color:var(--soft);white-space:nowrap;transition:.25s}
.chip:hover{border-color:var(--ink);color:var(--ink)}
.chip.on{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.chip i{font-style:normal;color:var(--grey)}
.chip.on i{color:inherit;opacity:.6}

/* collection showcase */
.coll{padding:110px 0 0;scroll-margin-top:140px}
.coll-top{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;margin-bottom:16px}
.coll-img,.coll-feat{position:relative;overflow:hidden;background:var(--stone);min-height:640px;isolation:isolate}
.coll-img img,.coll-feat .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 2s var(--ease)}
.coll-img:hover img,.coll-feat:hover .bg{transform:scale(1.03)}
.coll-img:after,.coll-feat:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.05) 55%)}
.coll-img .tx,.coll-feat .tx{position:absolute;left:40px;right:40px;bottom:40px;color:#fff}
.coll-img h2{color:#fff;font-size:clamp(36px,3.8vw,58px);margin:14px 0 14px}
.coll-img p{color:rgba(255,255,255,.82);max-width:460px;margin-bottom:24px}
.coll-feat .k{display:inline-flex;gap:8px;align-items:center;font:500 10.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#fff;border:1px solid rgba(255,255,255,.35);padding:7px 10px}
.coll-feat h3{color:#fff;font-size:clamp(24px,2.2vw,32px);margin:16px 0 6px;font-weight:500}
.coll-feat .nm{display:block;font:500 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.coll-feat .row{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.2)}
.coll-feat .row b{color:#fff;font:500 20px var(--sans)}

/* product card v2 */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pc2{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);transition:border-color .35s,transform .5s var(--ease)}
.pc2:hover{border-color:var(--line3);transform:translateY(-3px)}
.pc2 .im{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:var(--ivory)}
.pc2 .im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .7s var(--ease),transform 1.6s var(--ease)}
.pc2 .im .alt{opacity:0}
.pc2:hover .im .alt{opacity:1}
.pc2:hover .im img{transform:scale(1.04)}
.badge{position:absolute;z-index:2;top:12px;font-size:9.5px;text-transform:uppercase;padding:6px 9px;background:rgba(0,0,0,.55);color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:inline-flex;gap:6px;align-items:center}
.badge.l{left:12px}.badge.r{right:12px}
.badge .dot{width:6px;height:6px;border-radius:50%;background:var(--teal)}
.pc2 .bd{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}
.pc2 .cl{font:500 10.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--teal-t)}
.pc2 h3{font:500 18px/1.25 var(--sans);letter-spacing:-.015em;color:var(--ink);margin:10px 0 4px}
.pc2 .nm{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}
.pc2 .ln{font-size:14px;line-height:1.55;color:var(--soft);margin:12px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pc2 .ft{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:18px}
.pc2 .ft .pr{font:500 15px var(--sans);color:var(--ink)}
.pc2 .ft .pr small{font:400 12px var(--sans);color:var(--grey);margin-right:4px}
.pc2 .ft .go{font:500 10.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);display:inline-flex;gap:8px;align-items:center}
.pc2 .ft .go:after{content:"→";transition:transform .3s var(--ease)}
.pc2:hover .ft .go:after{transform:translateX(4px)}
.pc2 .sz{display:flex;gap:4px;flex-wrap:wrap;margin-top:14px}
.pc2 .sz span{font:500 10.5px var(--mono);letter-spacing:.06em;color:var(--soft);border:1px solid var(--line);padding:4px 7px}

/* collection page intro */
.cintro{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px 0 0}
.cintro .q{background:var(--ivory);padding:70px 8%;display:flex;flex-direction:column;justify-content:center}
.cintro .q h2{margin:16px 0 20px}
.cintro ul{list-style:none;padding:0;margin:16px 0 0;border-top:1px solid var(--line)}
.cintro li{padding:15px 0;border-bottom:1px solid var(--line);color:var(--ink);display:flex;gap:12px;align-items:center;font-size:15px}
.cintro li:before{content:"";width:5px;height:5px;background:var(--teal);flex:none}

/* product page gallery */
.pgal{position:sticky;top:77px;height:calc(100svh - 111px);display:grid;grid-template-columns:76px 1fr;gap:12px;padding:12px;background:var(--ivory)}
.pgal .thumbs{display:flex;flex-direction:column;gap:8px}
.pgal .thumbs button{padding:0;border:1px solid transparent;background:none;aspect-ratio:4/5;overflow:hidden;opacity:.6;transition:.3s}
.pgal .thumbs button.on,.pgal .thumbs button:hover{opacity:1;border-color:var(--line3)}
.pgal .thumbs img{width:100%;height:100%;object-fit:cover}
.pgal .main{position:relative;overflow:hidden}
.pgal .main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s var(--ease)}
.pgal .main img:not(.on){opacity:0}
.pdp .gal{background:var(--ivory)}
.outc{margin:6px 0 30px;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.outc li{border:1px solid var(--line);padding:14px 16px;font-size:13.5px;color:var(--ink);display:flex;gap:10px;align-items:center}
.outc li:before{content:"";width:5px;height:5px;background:var(--teal);flex:none}

@media (max-width:1080px){.cards{grid-template-columns:repeat(3,1fr)}.coll-top{grid-template-columns:1fr}.coll-img,.coll-feat{min-height:560px}.chipbar{top:77px}}
@media (max-width:820px){
  .shophead{padding:110px 0 0}
  .chipbar{top:64px;margin-top:40px}
  .coll{padding:70px 0 0;scroll-margin-top:120px}
  .coll-img,.coll-feat{min-height:480px}
  .coll-img .tx,.coll-feat .tx{left:22px;right:22px;bottom:26px}
  .cards{grid-template-columns:repeat(2,1fr);gap:10px}
  .pc2 .bd{padding:14px}
  .pc2 h3{font-size:15.5px}
  .pc2 .ln,.pc2 .sz{display:none}
  .badge.r{display:none}
  .cintro{grid-template-columns:1fr}
  .cintro .q{padding:50px 22px}
  .pgal{position:static;height:auto;grid-template-columns:1fr;padding:0}
  .pgal .main{aspect-ratio:4/5}
  .pgal .thumbs{flex-direction:row;order:2;padding:10px 22px}
  .pgal .thumbs button{width:64px}
  .outc{grid-template-columns:1fr}
}

/* ================= hero v2 ================= */
.hero2{position:relative;height:calc(100svh - 34px);min-height:700px;overflow:hidden;color:#fff;background:#000;display:flex;flex-direction:column;justify-content:flex-end}
.hero2>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 30%;transform:scale(1.05);transition:transform 7s var(--ease)}
.hero2.in>img{transform:none}
.hero2:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.45) 38%,rgba(0,0,0,0) 68%),linear-gradient(0deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,0) 35%)}
.h2in{position:relative;z-index:2;width:100%;padding-bottom:64px}
.h2tx{max-width:640px}
.hero2 h1{color:#fff;font-size:clamp(46px,6vw,92px);font-weight:500;letter-spacing:-.045em;line-height:.98;margin:22px 0 24px}
.hero2 p{font-size:17.5px;line-height:1.6;color:rgba(255,255,255,.82);max-width:500px;margin-bottom:34px}
.hero2 .acts{display:flex;gap:12px;flex-wrap:wrap}
.btn.lt.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.btn.lt.ghost:hover{background:#fff;color:#0b0b0c;border-color:#fff}
.h2trust{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.28);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.h2trust .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.h2trust .wrap div{padding:22px 0 22px 24px;border-left:1px solid rgba(255,255,255,.12)}
.h2trust .wrap div:first-child{border-left:0;padding-left:0}
.h2trust b{display:block;font:500 22px/1.1 var(--sans);letter-spacing:-.02em;color:#fff}
.h2trust span{display:block;margin-top:6px;font:500 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6)}

/* ================= reviews ================= */
.stars{color:var(--teal-t);letter-spacing:2px;font-size:14px}
.stars i{font-style:normal;color:var(--line3);opacity:.35}
.rsum{display:flex;align-items:center;gap:12px}
.rsum b{font:500 28px var(--sans);color:var(--ink)}
.rsum span{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rcard{margin:0;border:1px solid var(--line);background:var(--card);padding:30px;display:flex;flex-direction:column;gap:20px}
.rtop{display:flex;justify-content:space-between;align-items:center}
.rtag{font:500 9.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--grey);border:1px dashed var(--line3);padding:4px 8px;opacity:.8}
.rtag.ok{color:var(--teal-t);border-style:solid;border-color:var(--teal-t)}
.rcard blockquote{margin:0;font-size:15px;line-height:1.65;color:var(--soft);flex:1}
.rcard blockquote b{display:block;font:500 19px/1.3 var(--sans);letter-spacing:-.015em;color:var(--ink);margin-bottom:10px}
.rcard figcaption{display:flex;gap:12px;align-items:center;padding-top:18px;border-top:1px solid var(--line)}
.rcard .av{width:38px;height:38px;border-radius:50%;background:var(--stone);color:var(--ink);display:grid;place-items:center;font:500 14px var(--sans)}
.rcard figcaption b{display:block;font:500 14px var(--sans);color:var(--ink)}
.rcard figcaption small{font-size:12.5px;color:var(--grey)}
@media (max-width:1080px){.rgrid{grid-template-columns:1fr 1fr}}
@media (max-width:820px){
  .hero2{min-height:640px}
  .hero2>img{object-position:70% 30%}
  .hero2:after{background:linear-gradient(0deg,rgba(0,0,0,.88) 25%,rgba(0,0,0,.25) 65%,rgba(0,0,0,.1))}
  .h2in{padding-bottom:36px}
  .hero2 .acts .btn{flex:1 1 100%}
  .h2trust .wrap{grid-template-columns:1fr 1fr}
  .h2trust .wrap div{padding:16px 0 16px 16px}
  .h2trust .wrap div:nth-child(3){border-left:0;padding-left:0}
  .h2trust .wrap div:nth-child(n+3){border-top:1px solid rgba(255,255,255,.12)}
  .h2trust b{font-size:18px}
  .rgrid{grid-template-columns:1fr}
}
.rn{align-items:center}
.chipbar{margin-top:0}
.shophead{padding-bottom:56px}
.hero~.chipbar,.hero2~.chipbar{margin-top:0}
@media (max-width:820px){.chipbar{margin-top:0}.shophead{padding-bottom:40px}}
.revs .head{display:flex;justify-content:space-between;align-items:flex-end;text-align:left;gap:30px;flex-wrap:wrap}
.revs .head h2{margin-top:16px}
.rsum .stars{font-size:16px}
@media (max-width:820px){
  .rn a.keep{display:none}
  .rn{gap:0}
  .hero2>img{object-position:40% 22%}
  .hero2 .cap{font-size:10px;letter-spacing:.12em}
}
.pc2 .im .alt{position:absolute;inset:0;display:block}
.pc2 .im .alt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pc2 .im span.alt{transition:opacity .7s var(--ease)}

/* ================= mobile: edge-to-edge, immersive ================= */
@media (max-width:820px){
  .wrap,.hero .tx,.band .tx{padding-left:14px;padding-right:14px}
  .hero,.hero2{height:100svh;min-height:0}
  .hero2{height:calc(100svh - 34px)}
  .h2in{padding-bottom:28px}
  /* full-bleed image blocks */
  .edits,.edits.three{gap:0}
  .edit{aspect-ratio:auto;height:88svh}
  .edit .tx,.edits.three .edit .tx{left:16px;right:16px;bottom:22px}
  .split .ph{aspect-ratio:auto;height:80svh}
  .band{height:90svh}
  .coll{padding-top:0}
  .coll .wrap{padding:0}
  .coll-top{gap:0;margin-bottom:0}
  .coll-img,.coll-feat{min-height:0;height:86svh}
  .coll-img .tx,.coll-feat .tx{left:16px;right:16px;bottom:22px}
  /* cards touch the edges with hairline gutters */
  .cards{gap:1px;background:var(--line);margin:0 -14px}
  .coll .cards{margin:0}
  .pc2{border:0}
  .pc2:hover{transform:none}
  .pc2 .bd{padding:12px 12px 16px}
  .pc2 .cl{font-size:9.5px}
  .pc2 h3{font-size:15px;margin-top:6px}
  .pc2 .ft{padding-top:12px}
  .pc2 .ft .go{display:none}
  .badge{top:8px;font-size:8.5px;padding:5px 7px}
  .badge.l{left:8px}
  .grid{margin:0 -14px;gap:28px 1px}
  .prod .nm,.prod .hl,.prod .pr{padding:0 12px}
  /* product page: full-bleed gallery */
  .pdp .gal,.pgal{padding:0}
  .pgal .main{aspect-ratio:auto;height:78svh}
  .pgal .thumbs{padding:8px 14px;gap:6px}
  .pdp .info{padding:32px 14px 60px}
  .cintro .q{padding:44px 14px}
  .shophead{padding:96px 0 30px}
  .shophead h1{font-size:46px}
  .chipbar .wrap{padding-left:14px;padding-right:14px}
  .sec{padding:64px 0}
  .head{margin-bottom:34px}
  .rgrid{gap:1px;background:var(--line);margin:0 -14px}
  .rcard{border:0;padding:24px 16px}
  .ritual div{padding:34px 16px}
  .tablewrap{margin:0 -14px;border-left:0;border-right:0}
  .visit{padding:96px 14px 90px}
  footer{padding:70px 0 34px}
}

/* ================= Alpha concierge dock ================= */
#ah-agent{--ag-bg:rgba(16,16,18,.78);--ag-bd:rgba(255,255,255,.12);--ag-ink:#f3f3f1;--ag-soft:#b9b9b4;--ag-bub:rgba(255,255,255,.06);--ag-me:#f3f3f1;--ag-me-ink:#0b0b0c}
html[data-theme=light] #ah-agent{--ag-bg:rgba(251,250,247,.82);--ag-bd:rgba(0,0,0,.1);--ag-ink:#121212;--ag-soft:#55524c;--ag-bub:rgba(0,0,0,.045);--ag-me:#121212;--ag-me-ink:#fbfaf7}
.ag-fab{position:fixed;right:24px;bottom:24px;z-index:90;display:flex;align-items:center;gap:12px;height:56px;padding:0 22px 0 14px;border:1px solid var(--ag-bd);background:var(--ag-bg);color:var(--ag-ink);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border-radius:999px;box-shadow:0 20px 50px -18px rgba(0,0,0,.55);font:500 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;transition:transform .4s var(--ease),opacity .3s}
.ag-fab:hover{transform:translateY(-2px)}
#ah-agent.on .ag-fab{opacity:0;pointer-events:none;transform:scale(.9)}
.ag-orb{width:28px;height:28px;border-radius:50%;flex:none;background:radial-gradient(circle at 35% 30%,#fbf1dc,#cdb48a 45%,#6b5434 100%);box-shadow:0 0 0 3px rgba(205,180,138,.18);animation:agpulse 3.2s ease-in-out infinite}
@keyframes agpulse{50%{box-shadow:0 0 0 7px rgba(205,180,138,.08)}}
.ag-panel{position:fixed;right:24px;bottom:24px;z-index:91;width:410px;height:min(680px,calc(100svh - 120px));display:flex;flex-direction:column;background:var(--ag-bg);color:var(--ag-ink);border:1px solid var(--ag-bd);backdrop-filter:blur(26px) saturate(1.5);-webkit-backdrop-filter:blur(26px) saturate(1.5);border-radius:22px;box-shadow:0 40px 90px -30px rgba(0,0,0,.6);opacity:0;transform:translateY(18px) scale(.98);transform-origin:bottom right;transition:opacity .35s var(--ease),transform .45s var(--ease);overflow:hidden}
#ah-agent.on .ag-panel{opacity:1;transform:none}
.ag-hd{display:flex;align-items:center;gap:12px;padding:16px 16px 14px;border-bottom:1px solid var(--ag-bd)}
.ag-id{flex:1;display:flex;flex-direction:column}
.ag-id b{font:600 15px var(--sans)}
.ag-id small{font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ag-soft);display:flex;align-items:center;gap:6px}
.ag-id small i{width:6px;height:6px;border-radius:50%;background:#3ddc84;display:inline-block}
.ag-x{border:0;background:none;color:var(--ag-soft);font-size:26px;line-height:1;width:34px;height:34px}
.ag-log{flex:1;overflow-y:auto;padding:18px 16px 8px;display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain;scrollbar-width:thin}
.ag-m{display:flex;flex-direction:column;gap:8px;max-width:92%}
.ag-m.u{align-self:flex-end;align-items:flex-end}
.ag-b{padding:11px 14px;border-radius:16px;background:var(--ag-bub);font-size:14px;line-height:1.55;color:var(--ag-ink)}
.ag-b p{margin:0}.ag-b p+p{margin-top:6px}
.ag-b ul{margin:6px 0;padding-left:18px}
.ag-m.u .ag-b{background:var(--ag-me);color:var(--ag-me-ink);border-bottom-right-radius:5px}
.ag-m.a .ag-b{border-bottom-left-radius:5px}
.ag-typing .ag-b{display:flex;gap:4px;padding:14px}
.ag-typing span{width:6px;height:6px;border-radius:50%;background:var(--ag-soft);animation:agdot 1s infinite}
.ag-typing span:nth-child(2){animation-delay:.15s}.ag-typing span:nth-child(3){animation-delay:.3s}
@keyframes agdot{50%{opacity:.25;transform:translateY(-2px)}}
.ag-prods{display:flex;flex-direction:column;gap:8px;width:100%}
.ag-p{display:grid;grid-template-columns:76px 1fr;gap:12px;border:1px solid var(--ag-bd);border-radius:14px;padding:8px;background:var(--ag-bub)}
.ag-pi img{width:76px;height:95px;object-fit:cover;border-radius:9px}
.ag-pb{display:flex;flex-direction:column;gap:3px;min-width:0}
.ag-pb small{font:500 9.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#cdb48a}
.ag-pb b{font:500 14px/1.25 var(--sans)}
.ag-pb span{font-size:12px;color:var(--ag-soft)}
.ag-pa{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.ag-pa button{border:1px solid var(--ag-bd);background:none;color:var(--ag-ink);font:500 10.5px var(--mono);padding:6px 8px;border-radius:8px}
.ag-pa button:hover{background:var(--ag-me);color:var(--ag-me-ink)}
.ag-cart,.ag-order{width:100%;border:1px solid var(--ag-bd);border-radius:14px;padding:12px 14px;background:var(--ag-bub);display:flex;flex-direction:column;gap:6px}
.ag-ch{display:flex;justify-content:space-between;font:500 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ag-soft)}
.ag-ch b{font:600 15px var(--sans);letter-spacing:0;color:var(--ag-ink)}
.ag-cl{display:flex;justify-content:space-between;font-size:13px}
.ag-cl i{font-style:normal;color:var(--ag-soft)}
.ag-go{margin-top:6px;height:42px;border:0;border-radius:10px;background:var(--ag-me);color:var(--ag-me-ink);font:600 11px var(--mono);letter-spacing:.14em;text-transform:uppercase}
.ag-order small{font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#cdb48a}
.ag-order b{font:600 17px var(--sans)}
.ag-order span{font-size:13px;color:var(--ag-soft)}
.ag-quick{display:flex;gap:6px;flex-wrap:wrap;padding:6px 16px 10px}
.ag-quick:empty{display:none}
.ag-quick button{border:1px solid var(--ag-bd);background:none;color:var(--ag-ink);font-size:12.5px;padding:7px 12px;border-radius:999px}
.ag-quick button:hover{background:var(--ag-bub)}
.ag-in{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--ag-bd)}
.ag-in input{flex:1;height:46px;border:1px solid var(--ag-bd);border-radius:14px;background:var(--ag-bub);color:var(--ag-ink);padding:0 14px;font:400 15px var(--sans);outline:none}
.ag-in input:focus{border-color:#cdb48a}
.ag-in button{width:46px;height:46px;border:0;border-radius:14px;background:var(--ag-me);color:var(--ag-me-ink);display:grid;place-items:center}
.ag-fine{margin:0;padding:0 16px 12px;font-size:10.5px;color:var(--ag-soft)}
@media (max-width:820px){
  .ag-fab{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));height:52px;padding:0 18px 0 12px}
  .ag-panel{inset:0;width:auto;height:100svh;border-radius:0;border:0}
  html.ag-open,html.ag-open body{overflow:hidden}
  .ag-in{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
}
.ag-typing .ag-b{align-items:center}
.ag-typing em{font-style:normal;font-size:12px;color:var(--ag-soft);margin-left:8px}
.ag-typing em:empty{display:none}

/* ================= bag + checkout ================= */
.bagl{display:inline-flex;align-items:center;gap:6px}
.bagl span{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;font:600 10px var(--sans);letter-spacing:0;background:var(--line3);color:var(--paper)}
.bagl.has span{background:#cdb48a;color:#1a140b}
header.top.over:not(.solid) .bagl{color:#fff}
.buyrow{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bagwrap{display:grid;grid-template-columns:1.4fr .9fr;gap:60px;align-items:start;padding-top:40px}
.bagh{font-size:clamp(40px,4.6vw,64px);margin:16px 0 34px}
.blines{border-top:1px solid var(--line)}
.bline{display:grid;grid-template-columns:120px 1fr auto;gap:22px;padding:22px 0;border-bottom:1px solid var(--line);align-items:center}
.bimg{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--ivory)}
.bimg img{width:100%;height:100%;object-fit:cover}
.binfo{display:flex;flex-direction:column;gap:4px}
.binfo b{font:500 19px var(--sans);color:var(--ink);letter-spacing:-.01em}
.bhl{font-size:14px;color:var(--grey)}
.bqty{display:flex;align-items:center;gap:4px;margin-top:10px}
.bqty button{width:32px;height:32px;border:1px solid var(--line);background:none;color:var(--ink);font-size:16px}
.bqty span{min-width:28px;text-align:center;color:var(--ink)}
.bqty .brm{width:auto;border:0;margin-left:14px;font:500 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--grey)}
.bprice{text-align:right;font:500 18px var(--sans);color:var(--ink)}
.bprice small{display:block;font-size:12px;color:var(--grey);font-weight:400}
.bsum{position:sticky;top:110px;border:1px solid var(--line);background:var(--card);padding:28px;display:flex;flex-direction:column;gap:2px}
.bsum .btn{margin-top:18px}
.srow{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--soft)}
.srow small{color:var(--grey)}
.srow.tot{border-bottom:0;font:500 19px var(--sans);color:var(--ink);padding-top:16px}
.sline{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink)}
.sline img{width:56px;height:70px;object-fit:cover;background:var(--ivory)}
.sline small{display:block;color:var(--grey);font-size:12px}
.coform .pair{gap:16px}
.err{color:#e5484d;font-size:14px;min-height:20px;margin-top:12px}
.apay{margin:4px 0 26px}
.apple-pay{-webkit-appearance:-apple-pay-button;-apple-pay-button-type:buy;-apple-pay-button-style:white-outline;display:block;width:100%;height:52px;border:0;cursor:pointer}
html[data-theme=light] .apple-pay{-apple-pay-button-style:black}
.or{display:flex;align-items:center;gap:14px;margin-top:22px;font:500 10.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--grey)}
.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}
#ah-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,30px);opacity:0;z-index:95;background:var(--ink);color:var(--paper);padding:14px 20px;font-size:14px;transition:.35s var(--ease);pointer-events:none;white-space:nowrap}
#ah-toast.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
#ah-toast a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.ag-gos{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}
.ag-gos .ag-go{display:grid;place-items:center;margin:0;text-decoration:none}
.ag-go.alt{background:none;border:1px solid var(--ag-bd);color:var(--ag-ink)}
@media (max-width:820px){
  .bagwrap{grid-template-columns:1fr;gap:30px;padding-top:10px}
  .bline{grid-template-columns:84px 1fr;gap:14px}
  .bprice{grid-column:2;text-align:left}
  .bsum{position:static;padding:20px 16px;margin:0 -14px;border-left:0;border-right:0}
  .buyrow{grid-template-columns:1fr}
  #ah-toast{bottom:84px;white-space:normal;width:calc(100% - 28px);text-align:center}
}
@media (max-width:1080px){.rn a.bagl{display:inline-flex!important;margin-right:8px}}
/* dark theme: always the white logo and light nav, including the solid (scrolled) header */
html[data-theme=dark] header.top.over.solid .logo .b,html[data-theme=dark] header.top:not(.over) .logo .b{display:none!important}
html[data-theme=dark] header.top.over.solid .logo .w,html[data-theme=dark] header.top:not(.over) .logo .w{display:block!important}
html[data-theme=dark] header.top.over.solid .ln a,html[data-theme=dark] header.top.over.solid .rn a,html[data-theme=dark] header.top.over.solid .tt,html[data-theme=dark] header.top.over.solid .menu{color:var(--ink)!important}
html[data-theme=light] header.top.over.solid .ln a,html[data-theme=light] header.top.over.solid .rn a,html[data-theme=light] header.top.over.solid .tt,html[data-theme=light] header.top.over.solid .menu,html[data-theme=light] header.top.over.solid .bagl{color:var(--ink)!important}

/* ================= voice mode ================= */
.ag-in .ag-mic{background:var(--ag-bub);color:var(--ag-ink);border:1px solid var(--ag-bd)}
#ah-agent.voice .ag-in .ag-mic{background:#cdb48a;color:#1a140b;border-color:#cdb48a}
.ag-voice{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--ag-bd);animation:agvin .35s var(--ease)}
@keyframes agvin{from{opacity:0;transform:translateY(-6px)}}
.ag-vorb{position:relative;width:54px;height:54px;flex:none;--s:calc(1 + var(--lv,0)*.45)}
.ag-vorb i{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fbf1dc,#cdb48a 48%,#6b5434 100%);transition:transform .12s linear}
.ag-vorb i:nth-child(1){transform:scale(var(--s));opacity:.18}
.ag-vorb i:nth-child(2){inset:6px;transform:scale(calc(1 + var(--lv,0)*.25));opacity:.35}
.ag-vorb i:nth-child(3){inset:13px}
#ah-agent[data-voice=thinking] .ag-vorb i:nth-child(3){animation:agthink 1.1s ease-in-out infinite}
#ah-agent[data-voice=speaking] .ag-vorb i:nth-child(1){animation:agspeak 1.4s ease-in-out infinite}
@keyframes agthink{50%{transform:scale(.82);opacity:.7}}
@keyframes agspeak{50%{transform:scale(1.35);opacity:.08}}
.ag-vt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ag-vs{font:600 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ag-ink)}
.ag-vc{font-size:14px;color:var(--ag-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-vend{border:1px solid var(--ag-bd);background:none;color:var(--ag-ink);font-size:12.5px;padding:8px 14px;border-radius:999px}
.ag-vend:hover{background:var(--ag-bub)}

/* ================= v8 polish: contrast, drawer, motion ================= */
/* Contrast: firmer body copy and secondary text in both themes (WCAG AA on paper). */
html[data-theme=light]{--soft:#2e2b27;--grey:#615b52;--line:#d2cbbf}
:root,html[data-theme=dark]{--soft:#d9d4c9;--grey:#a8a296}
.hero p,.prod .hl,.prod .pr,.ritual .n,.pdp .lead,.price,details.faq summary,.goalpick span,.f input,.f select{font-weight:400}
.pdp .lead{color:var(--ink);opacity:.86}
.pc2 .ln,.rcard blockquote,.srow{color:var(--soft)}
.f input,.f select,.f textarea{color:var(--ink);border-color:var(--line3)!important;background:var(--card)}
.f input::placeholder{color:var(--grey);opacity:1}
.f label,.f .lb{color:var(--ink);font-weight:500}
.srow b,.bsum b,.price b{color:var(--ink);font-weight:600}
.btn{transition:transform .25s var(--ease),background .25s,color .25s,box-shadow .25s}
.btn:active{transform:scale(.97)}
.btn:hover{box-shadow:0 10px 30px -12px rgba(0,0,0,.45)}

/* Add to bag states */
[data-addbag]{position:relative;gap:10px}
[data-addbag].adding{opacity:.85}
[data-addbag].added{background:#cdb48a!important;border-color:#cdb48a!important;color:#1a140b!important}
[data-addbag].added svg{animation:tick .45s var(--ease)}
@keyframes tick{from{transform:scale(.3);opacity:0}}
.spin{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.ah-fly{position:fixed;z-index:120;pointer-events:none;object-fit:cover;border-radius:6px;transition:transform .7s cubic-bezier(.6,-.15,.35,1),opacity .7s ease;box-shadow:0 20px 50px -10px rgba(0,0,0,.4)}
.bagl.bump span{animation:bump .5s var(--ease)}
@keyframes bump{40%{transform:scale(1.45)}}

/* Drawer */
#ah-drawer{position:fixed;inset:0;z-index:96;pointer-events:none}
#ah-drawer.on{pointer-events:auto}
.dw-scrim{position:absolute;inset:0;background:rgba(10,9,8,.42);opacity:0;transition:opacity .4s var(--ease);backdrop-filter:blur(2px)}
#ah-drawer.on .dw-scrim{opacity:1}
.dw{position:absolute;top:0;right:0;bottom:0;width:min(440px,100vw);background:var(--paper);color:var(--ink);display:flex;flex-direction:column;transform:translateX(102%);transition:transform .5s cubic-bezier(.2,.8,.2,1);box-shadow:-30px 0 80px -30px rgba(0,0,0,.35)}
#ah-drawer.on .dw{transform:none}
html.dw-open{overflow:hidden}
.dw-hd{display:flex;align-items:center;gap:10px;padding:22px 24px;border-bottom:1px solid var(--line)}
.dw-hd b{font-size:17px;font-weight:600;letter-spacing:-.01em}
.dw-n{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}
.dw-x{margin-left:auto;width:36px;height:36px;border:1px solid var(--line);background:none;color:var(--ink);font-size:20px;line-height:1;border-radius:50%;transition:transform .3s var(--ease)}
.dw-x:hover{transform:rotate(90deg)}
.dw-body{flex:1;overflow:auto;padding:8px 24px}
.dw-line{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);transition:opacity .25s}
.dw-line.busy{opacity:.45}
.dw-line.new{animation:dwin .6s var(--ease)}
@keyframes dwin{from{opacity:0;transform:translateX(24px)}}
.dw-im{width:84px;aspect-ratio:4/5;flex:none;background:var(--stone);overflow:hidden}
.dw-im img{width:100%;height:100%;object-fit:cover}
.dw-in{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.dw-in b{font-size:15px;font-weight:600;color:var(--ink)}
.dw-in small{font-size:13px;color:var(--soft)}
.dw-row{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:8px}
.dw-q{display:inline-flex;align-items:center;border:1px solid var(--line3);height:34px}
.dw-q button{width:34px;height:100%;border:0;background:none;color:var(--ink);font-size:16px}
.dw-q button:hover{background:var(--stone)}
.dw-q i{font-style:normal;min-width:22px;text-align:center;font-weight:600;font-size:14px}
.dw-p{font-weight:600;font-size:15px}
.dw-rm{align-self:flex-start;border:0;background:none;padding:2px 0;color:var(--grey);font-size:12px;text-decoration:underline;text-underline-offset:3px}
.dw-rm:hover{color:var(--ink)}
.dw-ft{padding:20px 24px calc(20px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--ivory)}
.dw-ft:empty{display:none}
.dw-tot{display:flex;justify-content:space-between;align-items:baseline;font-size:15px;color:var(--ink)}
.dw-tot b{font-size:20px;font-weight:600}
.dw-fine{font-size:12.5px;color:var(--soft);margin:6px 0 16px}
.dw-ft .btn{width:100%}
.dw-link{display:block;text-align:center;margin-top:12px;font-size:13px;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.dw-empty{padding:60px 0;text-align:center;color:var(--soft)}
.dw-empty .btn{margin-top:14px}

/* Motion: page fade-in, card lift, image zoom, link underline */
@media (prefers-reduced-motion:no-preference){
  main{animation:pagein .18s ease-out}
  @keyframes pagein{from{opacity:.65}to{opacity:1}}
  .pc2,.rcard{transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
  .pc2:hover{transform:translateY(-4px);box-shadow:0 24px 50px -28px rgba(0,0,0,.35)}
  .pc2 img{transition:transform 1.1s var(--ease)}
  .pc2:hover img{transform:scale(1.045)}
  .dose label,.chip{transition:background .25s,border-color .25s,color .25s,transform .2s}
  .dose label:active,.chip:active{transform:scale(.97)}
}
.dose span{color:var(--soft);font-weight:500}
#ah-drawer .dw{visibility:hidden;transition:transform .5s cubic-bezier(.2,.8,.2,1),visibility 0s .5s}
#ah-drawer.on .dw{visibility:visible;transition:transform .5s cubic-bezier(.2,.8,.2,1),visibility 0s}

/* ================= v9 dock: a floating chat input ================= */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
html.has-dock body{padding-bottom:104px}
.ag-dock{position:fixed;left:0;right:0;bottom:22px;margin:0 auto;z-index:92;width:min(680px,calc(100vw - 32px));height:64px;display:flex;align-items:center;gap:6px;padding:0 8px 0 8px;
  background:var(--ag-bg);color:var(--ag-ink);border:1px solid var(--ag-bd);border-radius:22px;backdrop-filter:blur(28px) saturate(1.6);-webkit-backdrop-filter:blur(28px) saturate(1.6);
  box-shadow:0 24px 60px -20px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.08);transition:box-shadow .35s var(--ease),border-color .35s,transform .35s var(--ease),width .45s var(--ease);animation:dockin .7s .3s var(--ease) both}
@keyframes dockin{from{opacity:0;transform:translateY(26px)}}
.ag-dock.focus,.ag-dock:hover{border-color:rgba(205,180,138,.6);box-shadow:0 28px 70px -20px rgba(0,0,0,.5),0 0 0 4px rgba(205,180,138,.14)}
#ah-agent.on .ag-dock{width:min(760px,calc(100vw - 32px))}
.ag-orbb{width:48px;height:48px;border:0;background:none;display:grid;place-items:center;flex:none;padding:0;cursor:pointer}
.ag-orbb .ag-orb{width:30px;height:30px}
.ag-dl{flex:1;min-width:0;height:100%;display:flex;align-items:center}
.ag-dock input{width:100%;height:100%;border:0;background:none;outline:none;color:var(--ag-ink);font:400 16.5px var(--sans);letter-spacing:-.005em;padding:0 4px}
.ag-dock input::placeholder{color:var(--ag-soft);opacity:1;transition:opacity .22s,transform .22s}
.ag-dock input.swap::placeholder{opacity:0}
.ag-dock .ag-mic,.ag-dock .ag-send{width:46px;height:46px;flex:none;border-radius:15px;display:grid;place-items:center;border:0;cursor:pointer;transition:background .25s,color .25s,transform .2s,opacity .25s}
.ag-dock .ag-mic{background:none;color:var(--ag-ink)}
.ag-dock .ag-mic:hover{background:var(--ag-bub)}
.ag-dock .ag-send{background:var(--ag-me);color:var(--ag-me-ink);opacity:.35}
.ag-dock.typed .ag-send,.ag-dock.focus .ag-send{opacity:1}
.ag-dock .ag-send:active,.ag-dock .ag-mic:active{transform:scale(.92)}
#ah-agent.voice .ag-dock .ag-mic{background:#cdb48a;color:#1a140b}
/* Conversation sheet opens ABOVE the dock, same axis */
.ag-panel{left:0;right:0;margin:0 auto;bottom:98px;width:min(760px,calc(100vw - 32px));height:min(640px,calc(100svh - 150px));transform:translateY(18px) scale(.985);transform-origin:bottom center}
.ag-fine{text-align:center;padding:4px 16px 12px}
.ag-log{padding:22px 22px 10px}
.ag-b{font-size:15px}
.ag-m{max-width:84%}
.ag-quick{padding:6px 22px 12px}
@media (max-width:820px){
  .ag-dock{bottom:calc(10px + env(safe-area-inset-bottom));width:calc(100vw - 20px);height:58px;border-radius:20px}
  #ah-agent.on .ag-dock{width:calc(100vw - 20px)}
  .ag-dock input{font-size:16px}
  .ag-panel{inset:0 0 auto 0;margin:0;width:100%;height:calc(100svh - 78px - env(safe-area-inset-bottom));border-radius:0 0 22px 22px;border-top:0;transform:translateY(-12px)}
  html.has-dock body{padding-bottom:84px}
}
html.has-dock #ah-toast{bottom:104px}

/* ================= v10 refinement: mobile header + menu, monogram, lab cards ================= */
/* Concierge monogram (replaces the orb) */
.ag-mk{position:relative;width:34px;height:34px;flex:none;border-radius:11px;background:var(--ag-me);color:var(--ag-me-ink);display:grid;place-items:center}
.ag-mk svg{width:19px;height:auto;fill:currentColor;margin-top:1px}
.ag-mk i{position:absolute;right:-2px;bottom:-2px;width:10px;height:10px;border-radius:50%;background:#3ddc84;border:2px solid var(--paper)}
.ag-orbb{width:46px;height:46px}
.ag-orbb .ag-mk{width:38px;height:38px;border-radius:12px;transition:transform .3s var(--ease)}
.ag-orbb:hover .ag-mk{transform:scale(1.05)}
.ag-hd .ag-mk i{display:none}
/* voice visual: ink rings around the mark, driven by mic level */
.ag-vorb i{background:none!important;border:1.5px solid var(--ag-ink)}
.ag-vorb i:nth-child(1){opacity:.12}.ag-vorb i:nth-child(2){opacity:.28}
.ag-vorb i:nth-child(3){background:var(--ag-me)!important;border:0;opacity:1}

/* Header: mobile rhythm */
@media (max-width:1080px){
  .ln{display:none!important}
  .menu{position:relative;width:40px;height:40px;padding:0;margin-left:-8px;display:grid;place-items:center}
  .menu span{position:absolute;left:10px;right:10px;height:1.5px;margin:0;background:currentColor;transition:transform .35s var(--ease),top .35s var(--ease)}
  .menu span:first-child{top:15px}.menu span:last-child{top:23px}
  html.nav-open .menu span:first-child{top:19px;transform:rotate(45deg)}
  html.nav-open .menu span:last-child{top:19px;transform:rotate(-45deg)}
  .rn{gap:14px}
  .rn .tt{display:none}
}
@media (max-width:820px){
  .notice{height:30px;line-height:30px;font-size:9.5px;letter-spacing:.2em}
  header.top.over{top:30px}
  header.top.over.solid{top:0}
  .top .wrap{height:58px;padding:0 16px}
  .logo img{height:21px}
  .bagl{font-size:10.5px;letter-spacing:.14em}
}
/* Mobile navigation: a conventional left drawer with native focus management. */
html.nav-open,html.nav-open body{overflow:hidden}
html.nav-open #ah-agent{visibility:hidden}
.mnav{position:fixed;inset:0 auto 0 0;margin:0;width:min(390px,92vw);max-width:none;height:100dvh;max-height:none;border:0;border-right:1px solid var(--line);padding:0;background:var(--paper);color:var(--ink);box-shadow:15px 0 60px #061b3430;overflow:hidden;overscroll-behavior:contain;visibility:visible;opacity:1;transform:none;z-index:100}
.mnav:not([open]){display:none}.mnav[open]{display:flex;flex-direction:column;animation:menu-enter .22s ease-out both}
.mnav::backdrop{background:#061b3470;backdrop-filter:blur(2px)}
.mnav.is-closing{animation:menu-exit .2s ease-in both}.mnav.is-closing::backdrop{animation:menu-dim-out .2s ease-in both}
.mn-header{display:flex;justify-content:space-between;align-items:center;gap:20px;flex:none;min-height:76px;padding:16px 20px;border-bottom:1px solid var(--line)}
.mn-header>a{display:flex;align-items:center}.mn-header img{width:112px;height:32px;object-fit:contain}.mn-close{display:grid;place-items:center;width:44px;height:44px;margin-right:-8px;border:0;border-radius:50%;background:transparent;color:var(--ink);font:300 32px/1 var(--sans);cursor:pointer}
.mn-close:hover{background:var(--ivory)}.mn-close:focus-visible,.mn-tt:focus-visible,.mnav summary:focus-visible,.mnav a:focus-visible{outline:2px solid var(--teal);outline-offset:-2px;border-radius:4px}
.mn-in{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 20px max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;-webkit-overflow-scrolling:touch}
.mn-primary{display:flex;flex-direction:column}.mn-primary>a{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:62px;border-bottom:1px solid var(--line);color:var(--ink);font:600 19px/1.35 var(--sans);letter-spacing:-.02em;padding:15px 0}.mn-primary>a>span{font:400 25px/1 var(--sans);color:var(--soft)}
.mn-primary>a[aria-current=page]{color:var(--teal-t)}.mn-primary>a[aria-current=page]>span{color:inherit}
.mn-categories{border-bottom:1px solid var(--line);margin:0;padding:0}.mn-categories>summary{display:flex;justify-content:space-between;align-items:center;gap:14px;list-style:none;cursor:pointer;min-height:58px;padding:15px 0;font:500 15px/1.5 var(--sans);color:var(--ink)}.mn-categories>summary::-webkit-details-marker{display:none}.mn-categories>summary>span{font-size:22px;font-weight:400;transition:transform .15s}.mn-categories[open]>summary>span{transform:rotate(45deg)}
.mn-categories nav{padding:0 0 12px}.mn-categories nav a{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:10px 12px;border-radius:5px;color:var(--soft);font:400 13px/1.5 var(--sans)}.mn-categories nav a:hover{background:var(--ivory);color:var(--teal-t)}
.mn-support{display:flex;flex-direction:column;padding:18px 0;gap:0}.mn-support>a{display:flex;align-items:center;min-height:44px;color:var(--soft);font:400 15px/1.5 var(--sans);padding:9px 0}
.mn-bottom{margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}.mn-tt{border:0;background:transparent;color:var(--soft);font:400 12px/1.5 var(--sans);padding:8px 0;min-height:40px;text-align:left;cursor:pointer}.mn-bottom>p{color:var(--grey);font:400 11px/1.65 var(--sans);margin-top:10px}
html[data-theme=dark] .mn-header img{filter:brightness(0) invert(1)}
@keyframes menu-enter{from{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes menu-exit{to{transform:translateX(-100%)}}@keyframes menu-dim-out{to{background:#061b3400;backdrop-filter:blur(0)}}
@media(min-width:1081px){.mnav{display:none!important}}
@media(prefers-reduced-motion:reduce){.mnav[open],.mnav.is-closing,.mnav.is-closing::backdrop{animation:none}}

/* Lab results: cards on phones instead of a sideways-scrolling table */
@media (max-width:820px){
  table.coa{min-width:0}
  table.coa thead{display:none}
  table.coa,table.coa tbody,table.coa tr,table.coa td{display:block;width:100%}
  table.coa tr{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;padding:18px 16px;border-bottom:1px solid var(--line)}
  table.coa td{padding:0;border:0;white-space:normal;font-size:14px}
  table.coa td.s{grid-column:1/-1;font-size:18px;font-weight:600}
  table.coa td[data-l]:before{content:attr(data-l);display:block;font:500 9.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--grey);margin-bottom:3px}
  table.coa td:last-child{grid-column:1/-1}
  .outc{grid-template-columns:1fr 1fr}
  .outc li{padding:12px;font-size:13px}
}
.cask{margin:22px 0 0;font-size:14.5px;color:var(--soft)}.cask .link{margin-left:6px}
#ah-agent.dock-hide .ag-dock{transform:translateY(calc(100% + 40px));opacity:0;pointer-events:none}
.ag-dock{transition:box-shadow .35s var(--ease),border-color .35s,transform .45s var(--ease),opacity .35s,width .45s var(--ease)}
#ah-agent.dock-mini .ag-dock{width:62px;left:auto;right:16px;margin:0;padding:0 7px}
#ah-agent.dock-mini .ag-dl,#ah-agent.dock-mini .ag-mic,#ah-agent.dock-mini .ag-send{display:none}

/* ================= v11: opaque mobile header, consent rows ================= */
.consent{display:flex!important;align-items:flex-start;gap:12px;font-size:13.5px;line-height:1.55;color:var(--soft)}
.consent input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--ink)}
.consent span{flex:1;min-width:0}
.consent a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;border:0}
@media (max-width:1080px){
  /* Solid header: nothing shows through or collides while scrolling */
  header.top,header.top.over.solid{background:var(--paper)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom:1px solid var(--line)!important}
  header.top.over:not(.solid){background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,0))!important;border-color:transparent!important}
}
/* Sticky collection bar sits flush under the header (78px desktop, 58px phone) on a solid ground */
.chipbar{top:78px}
@media (max-width:820px){.chipbar{top:58px!important;background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none}}

/* ================= v12: phones get ONE bar, in the flow ================= */
/* The header never floats over content on a phone: it sits in the page flow above the hero,
   stays solid, and is the only sticky element (the collection bar scrolls with the page). */
@media (max-width:820px){
  header.top,header.top.over,header.top.over.solid{position:sticky!important;top:0!important;left:auto;right:auto;
    background:var(--paper)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom:1px solid var(--line)!important}
  header.top.over .menu,header.top.over .rn a,header.top.over .bagl{color:var(--ink)!important}
  html[data-theme=light] header.top.over .logo .b{display:block!important}
  html[data-theme=light] header.top.over .logo .w{display:none!important}
  html[data-theme=dark] header.top.over .logo .w{display:block!important}
  html[data-theme=dark] header.top.over .logo .b{display:none!important}
  .chipbar{position:relative!important;top:auto!important}
  .hero2,.hero{min-height:0}
}
@media (max-width:820px){.hero2{height:calc(100svh - 89px)!important;min-height:560px}}
@media (max-width:1080px){html header.top.over:not(.solid),html header.top.over.solid{background:var(--paper)!important;border-bottom:1px solid var(--line)!important}}

/* ================= v11: keyboard-safe phones, live voice words ================= */
@media (max-width:820px){
  html.ag-open,html.ag-open body{overflow:hidden;overscroll-behavior:none}
}
.ag-m.u.ag-live .ag-b{opacity:.7}
.ag-m.u.ag-live .ag-b::after{content:"";display:inline-block;width:2px;height:1em;margin-left:3px;vertical-align:-2px;background:currentColor;animation:agblink 1s steps(2) infinite}
@keyframes agblink{50%{opacity:0}}

/* Keep dock clearance inside the dark footer rather than below the page. */
html.has-dock body{padding-bottom:0}
html.has-dock body>footer{padding-bottom:104px}
.simple-buy{display:block}
#search.sec{padding-top:44px;padding-bottom:12px}
@media(max-width:820px){html.has-dock body>footer{padding-bottom:calc(84px + env(safe-area-inset-bottom))}#search.sec{padding-top:28px}}

/* Research imagery uses one optimized transparent packshot with live catalog labels. */
.research-vial{position:relative;display:block;aspect-ratio:2/3;width:100%;container-type:inline-size;isolation:isolate}
.research-vial img.vial-base{position:static!important;display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;opacity:1!important;transform:none!important;inset:auto!important;z-index:0!important;transition:none!important}
.research-vial .vial-label{position:absolute;left:25%;top:45%;width:50%;height:28%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4cqw;z-index:1;color:#171a19;padding:2cqw;line-height:1.2}
.research-vial .vial-label img{position:static!important;width:68%!important;height:auto!important;max-height:25px!important;object-fit:contain!important;opacity:1!important;transform:none!important;inset:auto!important;z-index:1!important;margin:0!important}
.research-vial .vial-label b{font:600 clamp(7px,5.2cqw,23px)/1.16 var(--sans);letter-spacing:-.025em;overflow-wrap:anywhere;color:#17231f}
.research-vial .vial-label small{font:500 clamp(4px,2.2cqw,10px)/1.3 var(--mono);letter-spacing:.1em;color:#4b514c}
.pc2 .im>.research-vial,.prod .im>.research-vial{width:82%;height:96%;position:absolute;inset:2% 9%;aspect-ratio:auto}
.pc2 .im,.prod .im{background:radial-gradient(ellipse at 50% 30%,#eee9df,#d7d2c9)}
html[data-theme=dark] .pc2 .im,html[data-theme=dark] .prod .im{background:radial-gradient(ellipse at 50% 35%,#39443f,#171c1a 75%)}
.pc2 .im .badge{background:rgba(16,26,22,.8);font-size:9px;letter-spacing:.06em}.pc2 .ft .pr{font-size:21px}.pc2 .ft{padding-top:22px}.pc2 .cl{letter-spacing:.09em;line-height:1.5}.pc2 .bd{gap:4px}
.research-scene{position:absolute;inset:0;overflow:hidden;background:radial-gradient(ellipse at 60% 32%,#52645c 0%,#1b2924 40%,#0c1310 100%)}
.research-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#08110fe6,transparent 48%);pointer-events:none}
.research-scene>.research-vial{position:absolute;width:50%;max-width:370px;left:25%;top:7%;transform:rotate(-10deg);filter:drop-shadow(15px 28px 22px #0006)}
.scene-performance,.scene-longevity{background:radial-gradient(ellipse at 60% 30%,#606259,#252b26 45%,#111513)}
.scene-glow,.scene-vitality{background:radial-gradient(ellipse at 58% 30%,#6b6556,#302e25 45%,#181812)}
.scene-mind{background:radial-gradient(ellipse at 65% 30%,#4c585f,#242d30 45%,#101618)}
.scene-caption{position:absolute;top:28px;left:28px;font:500 9px var(--mono);letter-spacing:.22em;color:#c2cfc9;opacity:.65}
.edit .research-scene,.hero .research-scene{z-index:0}.edit .tx,.hero .tx{z-index:2}.edit:after,.hero:after{z-index:1}
.coll-img .research-scene{z-index:-2}.coll-feat>.research-vial{position:absolute;width:55%;left:22.5%;top:4%;z-index:-2;transform:rotate(8deg)}.coll-feat{background:radial-gradient(ellipse at 40% 25%,#48574e,#111b15 75%)}
.split .ph .research-scene>.research-vial{width:58%;max-width:440px;left:21%;top:10%}.split .ph .scene-caption{bottom:28px;top:auto}
.research-product-scene{display:grid;place-items:center;background:radial-gradient(ellipse at 50% 35%,#f0eee7,#d8d3ca)}
html[data-theme=dark] .research-product-scene{background:radial-gradient(ellipse at 50% 35%,#3e4a44,#141c17)}
.research-product-scene>.research-vial{width:82%;max-width:470px;max-height:94%}.pgal .thumbs .research-vial{height:100%;background:var(--stone)}.pgal .thumbs .vial-label{display:none}
.product-illustration-note{font-size:10.5px;line-height:1.65;color:var(--grey);margin-top:9px}
.supply-visual{height:100%;width:100%;background:linear-gradient(135deg,#2e4138,#0d1713);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center;gap:24px}
.supply-visual img{position:static!important;object-fit:contain!important;width:100px!important;height:auto!important;opacity:1!important;transform:none!important}.supply-visual b{font-size:23px;line-height:1.3}.supply-visual small{font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.research-hero{background:radial-gradient(ellipse at 78% 35%,#2c4b40,#101d17 45%,#080d0b 78%)}
.hero-vials{position:absolute;right:3%;top:13%;width:51%;height:72%;z-index:0;pointer-events:none}.float-vial{position:absolute;filter:drop-shadow(14px 28px 28px #0007)}
.float-vial-0{width:46%;right:30%;top:0;transform:rotate(-11deg)}.float-vial-1{width:37%;right:-1%;top:18%;transform:rotate(12deg)}.float-vial-2{width:30%;right:66%;top:35%;transform:rotate(-22deg)}
.research-hero:after{background:linear-gradient(90deg,#080d0bf0 0%,#080d0bc7 29%,#080d0b0a 70%),linear-gradient(0deg,#080d0b80,transparent 40%)}
@media(prefers-reduced-motion:no-preference){.float-vial-0{animation:vial-float-a 10s ease-in-out infinite}.float-vial-1{animation:vial-float-b 12s ease-in-out infinite}.float-vial-2{animation:vial-float-c 11s ease-in-out infinite}@keyframes vial-float-a{50%{transform:translateY(-14px) rotate(-8deg)}}@keyframes vial-float-b{50%{transform:translateY(12px) rotate(9deg)}}@keyframes vial-float-c{50%{transform:translateY(-8px) rotate(-19deg)}}}
/* Footer retains the original brand block and four link groups, with tighter hierarchy. */
.research-footer{padding-top:70px;border-top:1px solid #343a33}
.research-footer .news{max-width:none;text-align:left;margin:0 0 48px;display:grid;grid-template-columns:1fr auto;column-gap:50px;align-items:center}
.research-footer .news>.logo{grid-column:1;justify-self:start;padding:0}.research-footer .logo img{margin:0;height:28px}.research-footer .news h3{grid-column:1;font-size:clamp(32px,3vw,44px);line-height:1.12;margin:24px 0 16px;letter-spacing:-.035em}.research-footer .news>p:not([style]){grid-column:1;font-size:14px;line-height:1.8;color:#b5bdb8;max-width:470px}.research-footer .news>p[style]{grid-column:2;grid-row:1/4;margin:0!important}.research-footer .news .btn{display:inline-flex;padding:0 26px;font-size:10px;letter-spacing:.16em}
.research-footer .cols{gap:44px;padding-top:38px}.research-footer .cols h4{color:#d6dcd8;letter-spacing:.17em;font-size:10px;margin-bottom:18px}.research-footer .cols a{font-size:13px;padding:5px 0;color:#a7b1aa}.research-footer .cols a:hover{color:#fff}.footer-location{font-size:12px;display:block;margin-top:9px;line-height:1.7;color:#89968d}.research-footer .legal{margin-top:42px;padding-top:24px;font-size:10.5px;color:#929d95;max-width:none}
.season-toggle{display:block;border:0;background:none;font:400 10px var(--sans);text-decoration:underline;text-underline-offset:4px;color:#929d95;padding:12px 0 0}
/* A few decorative marks stay inside the existing hero, never above navigation or controls. */
.season-layer{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}.season-particle{position:absolute;top:-32px;left:var(--x);width:var(--size);height:var(--size);opacity:.18;animation:season-drift var(--duration) linear var(--delay) infinite;will-change:transform}.season-snow{border-radius:50%;background:#fff;box-shadow:0 0 7px #fff5}.season-pumpkin{border:1px solid #ca9458;border-radius:43%;box-shadow:inset 3px 0 0 #ca945820,inset -3px 0 0 #ca945820}.season-pumpkin:before{content:"";position:absolute;height:4px;width:2px;left:45%;top:-4px;background:#ca9458;transform:rotate(20deg)}
@keyframes season-drift{to{transform:translate3d(40px,1000px,0) rotate(50deg)}}
@media(max-width:1080px){.hero-vials{right:-3%;width:56%}.research-footer .cols{gap:28px}}
@media(max-width:820px){.hero-vials{right:-12%;top:-1%;width:85%;height:55%;opacity:.85}.float-vial-0{width:45%;right:25%}.float-vial-1{right:0}.float-vial-2{right:62%}.research-hero:after{background:linear-gradient(0deg,#080d0b 15%,#080d0bb8 58%,#080d0b00 100%)}.research-hero .h2tx{position:relative}.research-hero h1{font-size:clamp(40px,7vw,58px)}.research-scene>.research-vial{width:58%;left:21%;top:6%}.scene-caption{font-size:8px;left:18px;top:18px}.coll-img .research-scene>.research-vial{width:48%;left:26%}.research-footer{padding-top:50px}.research-footer .news{display:block;margin-bottom:34px}.research-footer .news h3{font-size:32px;margin:22px 0 14px}.research-footer .news>p[style]{margin-top:24px!important}.research-footer .cols{grid-template-columns:1fr 1fr;gap:30px 22px;padding-top:30px}.research-footer .legal{margin-top:30px}.pc2 .ft .pr{font-size:18px}.product-illustration-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){.float-vial,.season-particle{animation:none!important}.season-layer{display:none}}
html[data-research-motion=off] .float-vial,.motion-paused .float-vial,.motion-paused .season-particle{animation-play-state:paused!important}
html[data-research-motion=off] .season-layer{display:none}
/* Keep the phone hero's reading area quiet while the specimens remain visible above it. */
@media(max-width:820px){.research-hero:after{background:linear-gradient(0deg,#080d0b 35%,#080d0bf2 66%,#080d0b00 100%)}.hero-vials{top:-4%;right:-4%;width:78%}.hero-vials .float-vial-2{display:none}}

/* Quiet research-group identity, repeated from collection banner to the selected SKU. */
[data-research-group]{--group-accent:#8fae9e;--group-dark:#345647}
[data-research-group=weight]{--group-accent:#79afa2;--group-dark:#2b5c51}
[data-research-group=performance]{--group-accent:#88a8c3;--group-dark:#3d5b77}
[data-research-group=recovery]{--group-accent:#9ab58a;--group-dark:#47623b}
[data-research-group=longevity]{--group-accent:#b09fc4;--group-dark:#675174}
[data-research-group=glow]{--group-accent:#c39b7d;--group-dark:#7b553a}
[data-research-group=vitality]{--group-accent:#bd94a4;--group-dark:#754858}
[data-research-group=mind]{--group-accent:#9b9fc8;--group-dark:#515779}
[data-research-group=supplies]{--group-accent:#b1aea0;--group-dark:#5f5b4e}
.research-scene[data-research-group]{background:radial-gradient(ellipse at 60% 28%,color-mix(in srgb,var(--group-accent) 42%,#17231c),#121c17 60%,#0b100d)}
.pc2[data-research-group]{border-top:2px solid var(--group-accent)}
.pc2[data-research-group] .cl{color:var(--group-dark);display:flex;gap:7px;align-items:flex-start}
.pc2[data-research-group] .cl:before{content:"";flex:none;width:5px;height:5px;border-radius:50%;background:var(--group-dark);margin-top:4px}
html[data-theme=dark] .pc2[data-research-group] .cl{color:var(--group-accent)}
html[data-theme=dark] .pc2[data-research-group] .cl:before{background:var(--group-accent)}
.chip[data-research-group]{display:inline-flex;align-items:center;gap:9px;flex-shrink:0;border-bottom:2px solid var(--group-accent)}
.chip[data-research-group]:before{content:"";width:5px;height:5px;flex:none;border-radius:50%;background:var(--group-dark)}
html[data-theme=dark] .chip[data-research-group]:before{background:var(--group-accent)}
.chip[data-research-group].on{border-color:var(--group-accent)}
.edit[data-research-group] .tx .cap,.coll-img[data-research-group] .tx .cap,.hero[data-research-group] .tx .cap{display:inline-flex;align-items:center;gap:9px;max-width:100%;padding:9px 12px;line-height:1.5;background:#0b1411c9;border:1px solid color-mix(in srgb,var(--group-accent) 65%,transparent);letter-spacing:.1em;text-wrap:balance}
.edit[data-research-group] .tx .cap:before,.coll-img[data-research-group] .tx .cap:before,.hero[data-research-group] .tx .cap:before{content:"";width:6px;height:6px;flex:none;border-radius:50%;background:var(--group-accent)}
.edit[data-research-group]{border-bottom:3px solid var(--group-accent)}
.coll-feat[data-research-group] .k{border-color:var(--group-accent);color:var(--group-accent)}
.info[data-research-group] .crumb{color:var(--group-dark);border-left:3px solid var(--group-accent);padding-left:12px;line-height:1.5}
html[data-theme=dark] .info[data-research-group] .crumb{color:var(--group-accent)}
.info[data-research-group] .dose input:checked+span{box-shadow:inset 0 -3px 0 var(--group-accent)}
@media(max-width:820px){.edit[data-research-group] .tx .cap{font-size:9px;letter-spacing:.04em;padding:7px 9px;margin:0 14px}.pc2 .cl{font-size:9px}.pc2[data-research-group] .cl:before{margin-top:3px}.chip[data-research-group]{font-size:10px;letter-spacing:.06em}}
/* No reserved empty variant tracks: one, two and many options fill naturally. */
.dose{display:flex;flex-wrap:wrap;border:0;gap:8px;margin:14px 0 24px}.dose label{flex:1 1 105px;border:1px solid var(--line)!important;min-width:0}.dose span{height:100%;padding:14px 10px;letter-spacing:.08em}.dose input:disabled+span{opacity:.4;cursor:not-allowed}
.purchase-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 24px}.purchase-summary .price{font-size:34px;line-height:1.2}.unit-price>small{font-size:11px;color:var(--grey);display:block;margin-top:5px}.product-quantity{display:flex;gap:12px;align-items:center;font:500 10px var(--mono);text-transform:uppercase;letter-spacing:.1em}.product-quantity input{width:64px;height:46px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:500 16px var(--sans);padding:0 10px;text-align:center}.btn:disabled{opacity:.4;cursor:not-allowed}
.pdp-nav{display:flex;align-items:center;gap:24px;padding-top:22px;padding-bottom:22px;font-size:11px;border-bottom:1px solid var(--line)}.back-shop{white-space:nowrap;color:var(--ink);font-weight:500}.pdp-nav ol{display:flex;gap:9px;list-style:none;flex-wrap:wrap;margin:0;padding:0;color:var(--grey);line-height:1.6}.pdp-nav li+li:before{content:"/";margin-right:9px;color:var(--grey);opacity:.6}.pdp-nav a:hover{text-decoration:underline;text-underline-offset:4px}.pdp-nav [aria-current]{color:var(--ink)}
.pc2-main{display:flex;flex:1;flex-direction:column;min-width:0}.quick-buy{display:flex;justify-content:space-between;align-items:center;margin:0 18px 18px;padding:12px 0 0;border:0;border-top:1px solid var(--line);background:none;color:var(--ink);font:500 11px var(--mono);letter-spacing:.06em;text-align:left}.quick-buy span{font:400 20px var(--sans);color:var(--group-dark)}.quick-buy:hover{color:var(--group-dark)}.quick-buy:focus-visible{outline:2px solid var(--group-accent);outline-offset:4px}
.quick-sheet{width:calc(100% - 32px);max-width:510px;max-height:calc(100svh - 32px);padding:30px;border:1px solid var(--line);border-top:3px solid var(--group-accent);background:var(--paper);color:var(--ink);box-shadow:0 30px 120px #0005;overflow-y:auto;overscroll-behavior:contain}.quick-sheet::backdrop{background:#07110dd4;backdrop-filter:blur(7px)}.quick-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.quick-category{font:500 9px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--group-dark);border-left:3px solid var(--group-accent);padding-left:10px}.quick-close{background:none;color:var(--ink);border:0;font:300 27px var(--sans);width:34px;height:34px;flex:none}.quick-sheet h2{font-size:32px;letter-spacing:-.025em;overflow-wrap:anywhere}.quick-intro{font-size:13px;color:var(--soft);margin:12px 0 24px;line-height:1.7}.quick-options{border:0;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap}.quick-options legend{font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}.quick-options label{flex:1 1 100px;position:relative}.quick-options input{position:absolute;opacity:0}.quick-options label>span{display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid var(--line);padding:14px 8px;cursor:pointer}.quick-options b{font:500 12px var(--mono)}.quick-options small{font-size:12px}.quick-options input:checked+span{background:var(--ink);color:var(--on-ink);box-shadow:inset 0 -3px 0 var(--group-accent);border-color:var(--ink)}.quick-options input:disabled+span{opacity:.4;cursor:not-allowed}.quick-options input:focus-visible+span{outline:2px solid var(--group-accent);outline-offset:3px}.quick-quantity-row{display:flex;align-items:center;justify-content:space-between;margin:24px 0;font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.08em}.quick-stepper{display:flex;align-items:center;border:1px solid var(--line)}.quick-stepper button{width:38px;height:40px;background:none;border:0;color:var(--ink);font-size:18px}.quick-stepper input{width:42px;height:40px;text-align:center;background:none;color:var(--ink);border:0;border-right:1px solid var(--line);border-left:1px solid var(--line);font:500 15px var(--sans);appearance:textfield;-moz-appearance:textfield}.quick-stepper input::-webkit-inner-spin-button{appearance:none}.quick-total{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;align-items:end;gap:16px}.quick-total span{display:flex;flex-direction:column;gap:6px}.quick-total b{font:500 30px/1.2 var(--sans);letter-spacing:-.03em}.quick-total small{font-size:11px;color:var(--grey)}.quick-error{font-size:12px;color:#a33d30;line-height:1.6;margin:12px 0}.quick-foot{display:flex;flex-direction:column;gap:14px;margin-top:20px;font-size:11px;color:var(--grey)}.quick-foot a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
html[data-theme=dark] .quick-category,html[data-theme=dark] .quick-buy span{color:var(--group-accent)}
.pgal:has(.thumbs button:only-child){grid-template-columns:1fr}.pgal .thumbs:has(button:only-child){display:none}
@media(max-width:820px){.pdp-nav{display:block;padding-top:16px;padding-bottom:16px}.pdp-nav ol{font-size:10px;margin-top:10px;gap:6px}.pdp-nav li+li:before{margin-right:6px}.quick-buy{margin:0 12px 14px;font-size:10px}.quick-sheet{position:fixed;inset:auto 0 0;width:100%;max-width:none;max-height:90svh;margin:0;border-left:0;border-right:0;padding:24px 20px calc(24px + env(safe-area-inset-bottom))}.quick-sheet h2{font-size:28px}.pgal .main{height:min(58svh,480px)!important;min-height:280px}.research-product-scene>.research-vial{width:64%;max-height:100%}.purchase-summary .price{font-size:30px}}

/* Cool neutral foundations; research colors are navigation accents, not a warm filter. */
:root,html[data-theme=dark]{--paper:#0e131b;--ivory:#151d28;--stone:#202b3a;--ink:#f3f6fc;--soft:#c9d3e2;--grey:#9aaac0;--line:#2c394c;--line3:#8c9bb1;--black:#080d15;--on-ink:#0e131b;--hdr:rgba(14,19,27,.95);--card:#121a25;--teal-t:#82bbff;--teal:#65b8f5}
html[data-theme=light]{--paper:#f8fafc;--ivory:#eef2f7;--stone:#dfe6ef;--ink:#131d2b;--soft:#38475b;--grey:#596b82;--line:#d0dbe8;--line3:#7b8ea8;--black:#080d15;--on-ink:#f8fafc;--hdr:rgba(248,250,252,.97);--card:#fff;--teal-t:#2862a1;--teal:#2474ba}
[data-research-group=weight]{--group-accent:#39b8ee;--group-dark:#17678b;--scene-tint:#164a6d}
[data-research-group=performance]{--group-accent:#6d98ff;--group-dark:#305baa;--scene-tint:#263c71}
[data-research-group=recovery]{--group-accent:#49c8af;--group-dark:#176e60;--scene-tint:#154f52}
[data-research-group=longevity]{--group-accent:#a58cff;--group-dark:#6650a7;--scene-tint:#493b70}
[data-research-group=glow]{--group-accent:#63d9e9;--group-dark:#176d7a;--scene-tint:#155468}
[data-research-group=vitality]{--group-accent:#dc8cdb;--group-dark:#894687;--scene-tint:#563c67}
[data-research-group=mind]{--group-accent:#8ba9ff;--group-dark:#475ea5;--scene-tint:#303d70}
[data-research-group=supplies]{--group-accent:#9caec9;--group-dark:#4b607c;--scene-tint:#334657}
.pc2 .im,.prod .im,.research-product-scene{background:#edf2f8}
html[data-theme=dark] .pc2 .im,html[data-theme=dark] .prod .im,html[data-theme=dark] .research-product-scene{background:#1e2a3a}
.pc2 .im{border-bottom:1px solid var(--line)}.pc2 .im>.research-vial{width:76%;height:90%;inset:5% 12%}.pc2 .badge{backdrop-filter:none;-webkit-backdrop-filter:none;background:#142338e8}
.research-scene[data-research-group]{background:linear-gradient(140deg,#152235 0%,var(--scene-tint) 100%)}
.research-scene:after{background:linear-gradient(0deg,#07111fe8 0%,#07111f18 58%,transparent 100%)}
.scene-geometry{position:absolute;display:block;pointer-events:none;border:1px solid color-mix(in srgb,var(--group-accent) 65%,transparent)}
.scene-weight .geo-one{width:68%;aspect-ratio:1;border-radius:50%;left:14%;top:4%;box-shadow:0 0 0 25px #ffffff04,0 0 0 26px #39b8ee24}.scene-weight>.research-vial{width:48%;left:31%;top:3%;transform:rotate(13deg)}
.scene-performance .geo-one{width:58%;height:43%;top:14%;left:20%;transform:skewY(-17deg);background:#6d98ff0c;box-shadow:24px 32px 0 #6d98ff0a}.scene-performance>.research-vial{width:47%;left:25%;top:2%;transform:rotate(-12deg)}
.scene-recovery .geo-one{width:85%;height:30%;top:25%;left:8%;border-radius:50%;transform:rotate(-35deg)}.scene-recovery .geo-two{width:80%;height:28%;top:25%;left:8%;border-radius:50%;transform:rotate(35deg)}.scene-recovery>.research-vial{width:45%;left:28%;top:0;transform:rotate(3deg)}
.scene-longevity .geo-one{width:70%;aspect-ratio:1;border-radius:50%;left:14%;top:3%;background:#a58cff0a}.scene-longevity .geo-two{width:52%;aspect-ratio:1;border-radius:50%;left:23%;top:10%;border-style:dashed;opacity:.55}.scene-longevity>.research-vial{width:43%;left:29%;top:5%;transform:rotate(-17deg)}
.scene-glow .geo-one{width:60%;height:44%;left:22%;top:11%;clip-path:polygon(50% 0,100% 100%,0 100%);background:#63d9e91a;border:0}.scene-glow>.research-vial{width:45%;left:28%;top:3%;transform:rotate(15deg)}
.scene-vitality .geo-one{width:65%;height:22%;left:17%;top:27%;border-radius:50%;transform:rotate(55deg);box-shadow:0 0 0 18px #dc8cdb06}.scene-vitality .geo-two{width:65%;height:22%;left:17%;top:27%;border-radius:50%;transform:rotate(-55deg)}.scene-vitality>.research-vial{width:43%;left:29%;top:3%;transform:rotate(-6deg)}
.scene-mind .geo-one{width:85%;height:35%;left:8%;top:20%;border-radius:45%;transform:rotate(-20deg);border-style:dashed}.scene-mind .geo-two{width:45%;aspect-ratio:1;left:28%;top:13%;border-radius:50%;opacity:.5}.scene-mind>.research-vial{width:43%;left:29%;top:4%;transform:rotate(10deg)}
.coll-feat{background:linear-gradient(145deg,#213247,#0e1726)}.supply-visual{background:#233449}
.scene-caption{color:#d8e7f9;opacity:.75}
.research-hero{background:linear-gradient(115deg,#080f1d 30%,#152b48 70%,#214e73 100%)}.research-hero:after{background:linear-gradient(90deg,#080f1df0 0%,#080f1da6 35%,transparent 72%),linear-gradient(0deg,#080f1d77,transparent 50%)}
.hero-vials{right:2%;top:12%;width:50%}.float-vial-0{width:43%;right:31%;top:0}.float-vial-1{width:35%;right:1%;top:22%}.float-vial-2{width:28%;right:65%;top:39%}
.research-footer{background:#080d15;border-color:#253246}.research-footer .cols,.research-footer .legal{border-color:#263145}.research-footer .news>p:not([style]){color:#b1bed0}.research-footer .cols h4{color:#dce6f4}.research-footer .cols a{color:#aab9cc}.research-footer .legal,.footer-location,.season-toggle{color:#8d9fb7}
.bagl.has span{background:#8cc9ff;color:#0a1c32}[data-addbag].added{background:#8cc9ff!important;border-color:#8cc9ff!important;color:#0a1c32!important}
.ag-pb small,.ag-order small{color:#8cc9ff}#ah-agent.voice .ag-dock .ag-mic{background:#8cc9ff;color:#0a1c32}.ag-vorb i{background:radial-gradient(circle at 35% 30%,#e5f4ff,#8cc9ff 48%,#285280)}
@media(max-width:820px){.hero-vials{top:-4%;right:-4%;width:78%}.research-hero:after{background:linear-gradient(0deg,#080f1d 35%,#080f1df2 66%,#080f1d00 100%)}.coll-img .research-scene>.research-vial{width:46%;left:27%}.pc2 .cl{font-size:8.5px;line-height:1.55}}

/* Center the entire illustration, including its label, as one proportional object. */
.pc2 .im,.prod .im{display:grid;place-items:center}
.pc2 .im>.research-vial,.prod .im>.research-vial{position:relative;inset:auto;width:64%;height:auto;aspect-ratio:2/3}
.research-product-scene>.research-vial{width:auto;height:84%;max-width:78%;max-height:600px;aspect-ratio:2/3}
.pc2 .sz{font:400 12px/1.5 var(--sans);color:var(--grey);margin-top:10px;display:block}
.pc2 .bd{padding-top:16px}.pc2 .ft{padding-top:16px}
.research-scene>.research-vial,.coll-img .research-scene>.research-vial,.split .ph .research-scene>.research-vial{left:50%;top:45%;width:46%;max-height:75%;transform:translate(-50%,-50%);aspect-ratio:2/3}
.coll-feat>.research-vial{left:50%;top:41%;width:42%;transform:translate(-50%,-50%)}
.edit[data-research-group] .tx .cap,.coll-img[data-research-group] .tx .cap,.hero[data-research-group] .tx .cap{background:none;border:0;padding:0;letter-spacing:.06em}
.coll-feat .k{border:0;padding:0}.scene-caption{display:none}
/* One specification picker across product pages and quick add. */
.variant-picker{border:0;padding:0;margin:0;min-width:0}
.variant-picker legend{font:600 15px/1.4 var(--sans);color:var(--ink);letter-spacing:0;text-transform:none;padding:0}
.variant-help{font:400 12px/1.5 var(--sans);color:var(--grey);margin:5px 0 14px}
.dose,.quick-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;border:0}
.dose label,.quick-options label{position:relative;min-width:0;display:block;border:0!important;margin:0}
.dose label:only-child,.quick-options label:only-child{grid-column:1/-1}
.dose input,.quick-options input{position:absolute;width:1px;height:1px;opacity:0}
.dose .variant-option,.quick-options .variant-option{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 10px;min-height:88px;padding:14px 15px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);text-align:left;letter-spacing:0;cursor:pointer;box-shadow:none;transition:background .16s,border-color .16s,box-shadow .16s}
.variant-option:before{content:"";grid-column:2;grid-row:1;width:18px;height:18px;border:1.5px solid var(--line3);border-radius:50%;box-sizing:border-box}
.dose .variant-name,.quick-options .variant-name{grid-column:1;grid-row:1;display:block;font:600 17px/1.25 var(--sans);padding:0;border:0;background:none;color:inherit;letter-spacing:0;min-height:0}
.dose .variant-option small,.quick-options .variant-option small{grid-column:1;grid-row:2;font:500 15px/1.3 var(--sans);padding:0;margin:0;color:var(--soft)}
.variant-state{grid-column:2;grid-row:2;font:500 10px/1.4 var(--sans);font-style:normal;color:var(--grey)}
.variant-state:after{content:"Select"}
.dose input:checked+.variant-option,.quick-options input:checked+.variant-option{background:color-mix(in srgb,var(--group-accent) 9%,var(--card));border-color:var(--group-dark);box-shadow:inset 0 0 0 1px var(--group-dark);color:var(--ink)}
.variant-option:hover{border-color:var(--group-dark)}
input:checked+.variant-option:before{background:var(--group-dark);border-color:var(--group-dark);box-shadow:inset 0 0 0 4px var(--card)}
input:checked+.variant-option .variant-state{color:var(--group-dark)}input:checked+.variant-option .variant-state:after{content:"Selected"}
html[data-theme=dark] .dose input:checked+.variant-option,html[data-theme=dark] .quick-options input:checked+.variant-option{border-color:var(--group-accent);box-shadow:inset 0 0 0 1px var(--group-accent)}
html[data-theme=dark] input:checked+.variant-option:before{background:var(--group-accent);border-color:var(--group-accent)}html[data-theme=dark] input:checked+.variant-option .variant-state{color:var(--group-accent)}
.dose input:focus-visible+.variant-option,.quick-options input:focus-visible+.variant-option{outline:2px solid var(--group-accent);outline-offset:3px}
.dose input:disabled+.variant-option,.quick-options input:disabled+.variant-option{opacity:.4;cursor:not-allowed}.variant-picker input:disabled+.variant-option .variant-state:after{content:""}
.purchase-summary{margin:22px 0}.product-quantity{display:flex;justify-content:space-between;width:100%;font:500 14px/1.4 var(--sans);letter-spacing:0;text-transform:none}
.product-quantity label,.quick-quantity-row label{font:500 14px/1.4 var(--sans);letter-spacing:0;text-transform:none}
.product-quantity small,.quick-quantity-row label small{display:block;font:400 12px/1.5 var(--sans);color:var(--grey);margin-top:3px}
.quick-stepper{border-radius:9px;background:var(--card);overflow:hidden;height:44px}
.quick-stepper button{width:44px;height:44px;font:400 22px var(--sans);touch-action:manipulation}
.quick-stepper input,.product-quantity .quick-stepper input{width:46px;height:44px;padding:0;border:0;border-inline:1px solid var(--line);font:500 16px var(--sans);background:transparent}
.product-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:18px 0;font-size:14px}.product-total b{font:600 26px/1.2 var(--sans)}
/* Native dialog supplies focus containment; fixed body prevents iOS background scrolling. */
html.quick-open{overflow:hidden;overscroll-behavior:none;scrollbar-gutter:stable}
.quick-sheet{padding:28px;border:0;border-radius:20px;width:calc(100% - 40px);max-width:460px;max-height:calc(100dvh - 48px);overflow:hidden;box-shadow:0 20px 90px #0005;color:var(--ink);background:var(--paper)}
.quick-sheet[open]{display:flex;flex-direction:column;animation:quick-enter .26s cubic-bezier(.2,.8,.2,1) both}
.quick-sheet.is-closing{animation:quick-exit .2s ease both}
.quick-sheet::backdrop{background:#080f1d66;backdrop-filter:blur(3px);animation:quick-dim .25s ease both}
.quick-sheet.is-closing::backdrop{animation:quick-undim .2s ease both}
.quick-close{position:absolute;top:16px;right:16px;border-radius:50%;width:32px;height:32px;background:var(--ivory);font-size:24px;z-index:2;display:grid;place-items:center;line-height:1}
.quick-handle{display:none}
.quick-product{display:flex;align-items:center;gap:16px;padding:0 24px 24px 0;flex:none}
.quick-image{display:grid;place-items:center;flex:none;width:74px;height:92px;background:var(--ivory);border-radius:12px;overflow:hidden}
.quick-image>.research-vial{width:48px;height:72px;aspect-ratio:2/3}.quick-image .supply-visual{padding:6px;gap:4px}.quick-image .supply-visual img{width:36px!important}.quick-image .supply-visual b{font-size:9px}.quick-image .supply-visual small{display:none}
.quick-eyebrow{font:500 11px/1.4 var(--sans);color:var(--grey);margin:0 0 5px}
.quick-product h2{font:600 24px/1.2 var(--sans);letter-spacing:-.025em;margin:0 0 7px}
.quick-product a{font-size:12px;color:var(--grey);text-decoration:underline;text-underline-offset:3px}
.quick-form{min-height:0;display:flex;flex-direction:column;margin:0}.quick-body{overflow-y:auto;overscroll-behavior-y:contain;min-height:0;padding:1px 2px 0;scrollbar-width:thin}
.quick-quantity-row{margin:22px 0;letter-spacing:0}
.quick-actions{flex:none;border-top:1px solid var(--line);padding-top:18px}.quick-actions .btn{height:54px;display:flex;justify-content:space-between;align-items:center;letter-spacing:0;text-transform:none;font:500 15px var(--sans);border-radius:10px;padding:0 18px}
.quick-actions .btn b{font:600 17px var(--sans)}.quick-actions>p{font-size:11px;text-align:center;color:var(--grey);margin:12px 0 0}.quick-error:empty{display:none}.quick-actions .quick-error{color:#ba5044;text-align:left;margin:0 0 12px}
@keyframes quick-enter{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes quick-exit{to{opacity:0;transform:translateY(18px) scale(.98)}}
@keyframes quick-dim{from{background:#080f1d00;backdrop-filter:blur(0)}to{background:#080f1d66;backdrop-filter:blur(3px)}}
@keyframes quick-undim{to{background:#080f1d00;backdrop-filter:blur(0)}}
.research-hero h1{font-size:clamp(54px,6vw,88px);line-height:1.02}.research-hero p{max-width:370px;font-size:17px}.research-hero .hero-vials{top:50%;right:5%;height:auto;width:43%;aspect-ratio:1;transform:translateY(-50%)}
.research-hero .float-vial-0{width:44%;right:28%;top:0}.research-hero .float-vial-1{width:33%;right:0;top:25%}.research-hero .float-vial-2{width:30%;right:67%;top:30%}
@media(max-width:820px){
 .quick-sheet{position:fixed;inset:auto 0 0;width:100%;max-width:none;max-height:calc(100dvh - 24px);margin:0;border-radius:24px 24px 0 0;padding:0 20px max(18px,env(safe-area-inset-bottom));transform:translateY(var(--sheet-drag,0px))}
 .quick-sheet[open]{animation:quick-rise .3s cubic-bezier(.2,.8,.2,1) both}.quick-sheet.is-closing{animation:quick-drop .2s ease both}
 .quick-handle{display:grid;place-items:center;height:28px;flex:none;touch-action:none;margin:0 -20px 8px}.quick-handle i{width:36px;height:4px;background:var(--line3);opacity:.55;border-radius:4px}
 .quick-close{top:37px;right:20px}.quick-product{padding:0 32px 20px 0;gap:14px}.quick-product h2{font-size:22px}.quick-image{width:64px;height:80px}.quick-image>.research-vial{width:43px;height:auto}
 .quick-options .variant-option,.dose .variant-option{min-height:86px;padding:13px 14px}.quick-quantity-row{margin:20px 0}.quick-actions{padding-top:16px}
 .research-scene>.research-vial,.coll-img .research-scene>.research-vial{left:50%;top:43%;width:46%;transform:translate(-50%,-50%)}
 .research-product-scene>.research-vial{width:auto;height:82%;max-width:72%}
 .hero2.research-hero{height:auto!important;min-height:0;display:flex;padding-top:94px;overflow:hidden}
 .research-hero:after{background:linear-gradient(0deg,#080f1d70,transparent 80%)}
 .research-hero .hero-vials{position:relative;inset:auto;transform:none;flex:none;width:min(84%,360px);height:265px;aspect-ratio:auto;margin:0 auto 4px;opacity:1}
 .research-hero .float-vial-0{width:39%;left:31%;right:auto;top:0}.research-hero .float-vial-1{display:block;width:29%;right:3%;top:29px}.research-hero .float-vial-2{display:block;width:27%;right:auto;left:3%;top:46px}
 .research-hero .h2in{padding:8px 24px 32px}.research-hero .h2tx{max-width:430px;margin:0 auto;text-align:center}
 .research-hero .h2tx>.cap{font-size:9px;letter-spacing:.08em}.research-hero h1{font-size:clamp(40px,10vw,56px);line-height:1.03;margin:14px 0 16px}
 .research-hero p{font-size:14px;line-height:1.6;max-width:290px;margin:0 auto 22px}.research-hero .acts{display:flex;gap:12px;justify-content:center;align-items:center}.research-hero .acts .btn{flex:1 1 auto;font-size:10px;letter-spacing:.05em;height:46px;padding:0 12px;min-width:0;display:inline-flex;align-items:center;justify-content:center}
 .research-hero .h2trust .wrap{grid-template-columns:1fr 1fr}.research-hero .h2trust .wrap>div{padding:16px 12px}.research-hero .h2trust b{font-size:19px}.research-hero .h2trust span{font-size:8px;letter-spacing:.05em}
}
@keyframes quick-rise{from{transform:translateY(100%)}to{transform:translateY(var(--sheet-drag,0px))}}
@keyframes quick-drop{to{transform:translateY(100%)}}
@media(prefers-reduced-motion:reduce){.quick-sheet[open],.quick-sheet.is-closing,.quick-sheet::backdrop{animation:none!important}}
.dose .variant-option,.dose .variant-option span,.dose .variant-option small,.dose .variant-state{text-transform:none;text-align:left;letter-spacing:0}
.quick-image .vial-label b,.quick-image .vial-label small{display:none}.quick-image .vial-label{gap:0}.quick-image .vial-label img{width:80%!important}
@media(max-width:820px){.hero2.research-hero{padding-top:82px}.research-hero .hero-vials{height:230px}.research-hero .h2tx>.cap{display:none}}

/* Shop banners orient the catalog without delaying access to products. */
.shophead{padding:40px 0 26px}.shophead h1{font-size:clamp(32px,3.5vw,48px);line-height:1.1;margin:10px 0 0;max-width:none}.shophead p{font-size:14px;margin-top:12px;max-width:none}.shophead .cap{font-size:10px}
.shophead+.chipbar{margin-top:0}.shophead~#search.sec{padding-top:22px;padding-bottom:18px}.shophead~#search .search{margin:0!important;max-width:540px}.shophead~#search .search input{font-size:14px;padding-bottom:12px}
.coll{padding-top:40px}.coll>.wrap{max-width:none;padding:0}.coll-top{grid-template-columns:1.5fr 1fr;gap:14px;margin-bottom:14px}
.coll-img,.coll-feat{height:220px;min-height:0}
.coll-img .tx,.coll-feat .tx{left:28px;right:auto;bottom:24px;max-width:65%}.coll-img h2{font-size:28px;line-height:1.15;margin:10px 0}.coll-img p{font-size:12px;line-height:1.6;max-width:330px;margin:0 0 14px}.coll-img .cap{font-size:9px;letter-spacing:.04em}.coll-img .link{font-size:9px;letter-spacing:.07em}
.coll-img .research-scene>.research-vial{width:108px;max-width:none;max-height:none;left:auto;right:6%;top:50%;transform:translateY(-50%)}
.coll-img .scene-geometry{opacity:.45}.coll-img:after{background:linear-gradient(90deg,#07111fbb,transparent 85%)}
.coll-feat .tx{width:58%;max-width:none}.coll-feat>.research-vial{width:100px;left:auto;right:7%;top:50%;transform:translateY(-50%)}.coll-feat .k{font-size:9px}.coll-feat h3{font-size:24px;margin:10px 0 6px}.coll-feat .nm{font-size:9px;letter-spacing:.06em}.coll-feat .row{margin-top:16px;padding-top:12px;gap:12px}.coll-feat .row b{font-size:17px}.coll-feat .row .link{font-size:9px;letter-spacing:.04em}
#search+.coll{padding-top:0}
@media(max-width:1080px){.coll-top{grid-template-columns:1.5fr 1fr}.coll-img .tx{left:22px;max-width:63%}.coll-img h2{font-size:25px}.coll-img .research-scene>.research-vial{right:4%;width:100px}.coll-feat .tx{left:22px;width:54%}.coll-feat>.research-vial{right:4%;width:86px}.coll-feat .row .link{display:none}}
@media(max-width:820px){
 .shophead{padding:28px 0 20px}.shophead h1{font-size:32px;margin-top:8px;letter-spacing:-.03em}.shophead p{font-size:13px;line-height:1.6;margin-top:10px;max-width:300px}
 .shophead+.chipbar .wrap{padding-top:10px;padding-bottom:10px}.shophead+.chipbar .chip{height:34px;font-size:9px;padding:0 11px}
 .shophead~#search.sec{padding-top:18px;padding-bottom:18px}.shophead~#search .search{display:block;width:100%}.shophead~#search .search input{font-size:13px;width:100%}
 .coll{padding-top:28px;scroll-margin-top:130px}.coll>.wrap{padding:0}.coll-top{display:block;margin-bottom:12px}.coll-img{display:block;height:174px;min-height:0}.coll-feat{display:none}
 .coll-img .tx{left:18px;right:auto;bottom:20px;max-width:67%}.coll-img .tx .cap{font-size:8px;letter-spacing:.02em;line-height:1.5}.coll-img h2{font-size:23px;line-height:1.15;margin:10px 0 14px}.coll-img p{display:none}.coll-img .link{font-size:9px;letter-spacing:.04em}
 .coll-img .research-scene>.research-vial{width:82px;left:auto;right:4%;top:50%;transform:translateY(-50%)}
 .coll .cards{gap:1px;background:var(--line);margin:0}.coll .pc2{border:1px solid var(--line);border-top:2px solid var(--group-accent)}
}
@media(max-width:360px){.coll-img{height:164px}.coll-img .tx{max-width:66%;left:14px}.coll-img h2{font-size:21px}.coll-img .research-scene>.research-vial{width:70px;right:3%}}
@media(max-width:360px){.coll-img .tx{bottom:18px}.coll-img h2{font-size:20px;line-height:1.1;margin:8px 0 12px}}

/* Search results share the same full-width catalog edges. */
.shophead~#search>.wrap{max-width:none;padding-inline:0}.shophead~#search #results{margin-inline:0}.shophead~#search .search{margin-left:48px!important;width:calc(100% - 96px)}
@media(max-width:820px){.shophead~#search .search{margin-left:14px!important;width:calc(100% - 28px)}}

/* Alpha's printed identity: navy, teal and clean neutral surfaces. */
[data-research-group]{--group-accent:#39bdb4;--group-dark:#146d70;--scene-tint:#124754}
html[data-theme=light]{--ink:#102f4b;--soft:#344e60;--teal:#218c89;--teal-t:#146d70;--line:#cfdee3;--paper:#f8fbfc;--ivory:#ecf3f5;--stone:#dce8ec}
html[data-theme=dark]{--paper:#0b1b2a;--ivory:#112c3e;--ink:#f2f8fa;--soft:#b9ced7;--line:#294653;--card:#102635;--teal:#39bdb4;--teal-t:#73d8ce}
html[data-access=checking] main,html[data-access=checking] body>footer{visibility:hidden}
html.research-locked{overflow:hidden;overscroll-behavior:none}
.research-gate{width:calc(100% - 32px);max-width:510px;max-height:calc(100dvh - 32px);margin:auto;border:1px solid #315362;border-radius:20px;background:#0e293e;color:#d4e4e9;padding:32px;overflow-y:auto;box-shadow:0 30px 100px #0005}
.research-gate::backdrop{background:#061321e8;backdrop-filter:blur(9px)}
.research-gate>img{margin-bottom:26px}.gate-kicker{font:500 10px var(--mono);text-transform:uppercase;letter-spacing:.14em;color:#72d7ce}
.research-gate h2{font:500 46px/1.04 var(--sans);letter-spacing:-.04em;color:#fff;margin:10px 0 18px}.research-gate>p{font-size:14px;line-height:1.65;margin-bottom:22px}
.research-gate form label{display:flex;align-items:flex-start;gap:12px;padding:12px 0;font:400 13px/1.5 var(--sans);letter-spacing:0;color:#e2edf1;cursor:pointer}.research-gate input{width:19px;height:19px;flex:none;accent-color:#3bbfb5;margin:1px 0 0}
.research-gate .btn{background:#56c5ba;color:#092b3e;border-color:#56c5ba;margin-top:20px;border-radius:9px;letter-spacing:.02em;text-transform:none;font:600 15px var(--sans)}
.research-gate .btn:disabled{opacity:.38}.gate-links{display:flex;justify-content:space-between;gap:12px;margin:20px 0;font-size:12px;text-decoration:underline;text-underline-offset:3px}.research-gate>small{font:400 11px/1.6 var(--sans);display:block;color:#9ab9c8}.gate-error{font-size:12px;color:#ffb9a2}
.review-notice{background:#d8ecec;color:#123b4d;text-align:center;padding:6px 14px;font:500 11px/1.5 var(--sans)}.review-notice a{margin-left:10px;text-decoration:underline;text-underline-offset:3px}
.event-banner{background:#102f4b;color:#f5fcfd;padding:12px 18px;text-align:center;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 20px;border-bottom:2px solid #38b6ab;position:relative;z-index:32}
.event-banner strong{font:600 12px/1.5 var(--sans);letter-spacing:.07em}.event-clock{font:500 13px/1.5 var(--mono);color:#84e4d6;font-variant-numeric:tabular-nums}.event-banner small{font:400 10px/1.5 var(--sans);width:100%;color:#bcd2dc}
header.top.over{top:var(--banner-stack,34px)}
.price-pending{font:500 12px/1.5 var(--sans);letter-spacing:0;display:block;color:var(--grey);text-transform:none}
.sale-pricing{display:inline-flex;align-items:baseline;gap:7px 10px;flex-wrap:wrap;font-family:var(--sans);letter-spacing:0;text-transform:none}.sale-pricing del{font-size:13px;color:var(--grey);font-weight:400}.sale-pricing strong{font-size:25px;line-height:1.2;color:var(--ink);font-weight:700}.sale-pricing small{display:block;flex-basis:100%;font-size:10px;color:var(--group-dark);font-weight:500}
.variant-option .sale-pricing strong{font-size:18px}.variant-option .sale-pricing small{font-size:9px}.quick-options del{font-size:11px;color:var(--grey)}
.research-description{font-size:13px;line-height:1.8;color:var(--grey);margin:0 0 26px;max-width:540px}.report-components{padding-left:18px}.report-note{border-left:2px solid var(--group-accent);padding-left:12px;margin:12px 0}
.access-wrap{max-width:760px}.access-wrap h1{font-size:clamp(36px,5vw,64px);margin:16px 0 22px}.access-wrap>p{margin:16px 0;font-size:14px}.access-wrap form{margin:30px 0}.access-wrap textarea{width:100%;border:1px solid var(--line);background:var(--card);color:var(--ink);font:400 15px/1.5 var(--sans);padding:12px;resize:vertical}.access-wrap .fine{margin:20px 0}.access-wrap .f{margin-bottom:18px}.access-wrap .f input{font-family:var(--sans)}
.shop-focused-hero.hero2{height:420px;min-height:0;justify-content:center;background:linear-gradient(110deg,#0b2135,#123c51)}.shop-focused-hero .h2in{padding-bottom:0}.shop-focused-hero h1{font-size:clamp(44px,5vw,70px);margin:14px 0 18px}.shop-focused-hero p{font-size:15px;max-width:350px;margin-bottom:24px}.shop-focused-hero .hero-vials{width:35%;right:9%}.shop-focused-hero .h2tx>.cap{color:#85c9c7}.home-products.sec{padding:48px 0}.home-products .head{margin-bottom:24px}.home-products h2,.home-categories h2{font-size:clamp(28px,3vw,40px)}.home-products .head .link{display:inline-block;margin-top:16px}.home-products .head p{font-size:14px;margin-top:12px}.category-links{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.category-links a{border:1px solid var(--line);border-left:3px solid var(--group-accent);padding:20px;display:flex;align-items:center;justify-content:space-between;gap:14px;font:500 13px/1.5 var(--sans)}.quality-summary{display:grid;grid-template-columns:1fr 1fr;gap:60px}.quality-summary h2{font-size:clamp(30px,3vw,46px);margin-top:14px}.quality-summary p{font-size:14px;line-height:1.8;margin-bottom:18px}
.mobile-purchase{display:none}.shipping-progress{padding:0 0 22px;border-bottom:1px solid var(--line);margin-bottom:22px}.shipping-progress p{font-size:13px;font-weight:500;line-height:1.6}.shipping-progress small{font-size:10px;line-height:1.5;color:var(--grey);display:block}.shipping-progress progress{appearance:none;display:block;width:100%;height:5px;margin:12px 0;border:0;border-radius:6px;background:var(--ivory)}.shipping-progress progress::-webkit-progress-bar{background:var(--ivory);border-radius:6px}.shipping-progress progress::-webkit-progress-value{background:#218c89;border-radius:6px}.shipping-progress progress::-moz-progress-bar{background:#218c89}.shipping-line{font-size:12px}.cart-recommendations{margin:28px 0}.cart-recommendations h3{font:600 16px var(--sans)}.cart-recommendations>p{font-size:11px;color:var(--grey);margin:8px 0 16px}.cart-recommendations>div{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:12px 0}.cart-recommendations img{width:38px;height:58px;object-fit:contain;background:var(--ivory)}.cart-recommendations span{flex:1;font-size:12px;line-height:1.5}.cart-recommendations small{display:block;font-size:10px;color:var(--grey)}.cart-recommendations button{border:1px solid var(--line);background:var(--card);color:var(--ink);padding:8px 12px;border-radius:6px;font-size:12px}.dw-p del{font-size:11px;color:var(--grey)}
@media(max-width:820px){
 .review-notice{font-size:9px;line-height:1.6}.review-notice a{display:block;margin-left:0}.event-banner{padding:10px 12px;gap:3px 12px}.event-banner strong{font-size:10px;letter-spacing:.04em}.event-clock{font-size:12px}.event-banner small{font-size:9px}
 .research-gate{padding:24px;max-height:calc(100dvh - 20px)}.research-gate>img{margin-bottom:20px}.research-gate h2{font-size:38px}.research-gate form label{padding:9px 0;font-size:12px}.research-gate>p{font-size:13px;margin-bottom:14px}.research-gate .btn{margin-top:14px;height:46px}.gate-links{margin:16px 0}.research-gate>small{font-size:10px}
 .shop-focused-hero.hero2{padding-top:18px;height:auto!important;min-height:0}.shop-focused-hero .hero-vials{width:240px;height:170px;margin:0 auto}.shop-focused-hero .h2in{padding:8px 20px 26px}.shop-focused-hero h1{font-size:36px;margin:6px 0 14px}.shop-focused-hero p{font-size:13px;line-height:1.6;margin-bottom:20px}.shop-focused-hero .acts .btn{font-size:9px;padding:0 10px}
 .home-products.sec{padding:30px 0}.home-products .cards{margin-inline:0;gap:1px}.home-products .wrap{padding-inline:0}.home-products .head{padding-inline:16px}.home-products .head h2{font-size:27px}.home-categories.sec{padding:32px 0}.category-links{grid-template-columns:1fr 1fr;gap:8px}.category-links a{padding:14px 10px;font-size:11px}.quality-summary{display:block}.quality-summary>div+div{margin-top:24px}
 .mobile-purchase{position:fixed;z-index:29;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px max(12px,env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -5px 24px #102f4b0c}.mobile-purchase>span{font-size:12px;line-height:1.4;min-width:0}.mobile-purchase>span>b{display:block;font-size:13px}.mobile-purchase small{font-size:10px;color:var(--grey);margin-right:8px}.mobile-purchase .btn{font-size:10px;letter-spacing:.04em;padding:0 18px;height:44px;flex:none}.mobile-purchase .sale-pricing{display:inline-flex}.mobile-purchase .sale-pricing strong{font-size:16px}.mobile-purchase .sale-pricing small{display:none}.mobile-purchase .price-pending{font-size:10px}
 .has-mobile-purchase body>footer{padding-bottom:180px!important}.research-locked .mobile-purchase{visibility:hidden}.research-description{font-size:12px;margin-bottom:24px}
}
.season-setting{display:flex;align-items:center;gap:12px;margin-top:12px;font:400 11px var(--sans);letter-spacing:0;text-transform:none;color:#a9c3cc}.season-setting select{padding:7px 10px;border:1px solid #315362;background:#102f4b;color:#d8ecec;border-radius:5px;font:400 11px var(--sans)}
.dw-ft{padding-top:14px;padding-bottom:max(14px,env(safe-area-inset-bottom))}.dw-ft .dw-tot{font-size:12px;line-height:1.6;margin-bottom:5px;gap:16px}.dw-ft .dw-tot b{font-size:16px}.dw-ft .dw-fine{font-size:10px;margin:2px 0 8px}.dw-ft .btn{height:46px}.dw-ft .dw-link{font-size:11px;margin-top:8px}


/* The hero image group occupies its own bounded layout cell at every width. */
.shop-focused-hero.hero2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,64px);height:auto;min-height:390px;padding:32px clamp(24px,4vw,64px)}
.shop-focused-hero .h2in{order:0;position:relative;width:100%;padding:0;min-width:0}.shop-focused-hero .h2tx{max-width:620px}.shop-focused-hero .hero-vials{order:1;position:relative;inset:auto;width:100%;max-width:500px;height:320px;aspect-ratio:auto;transform:none;justify-self:center;margin:0;min-width:0}
.shop-focused-hero .float-vial-0{width:34%;max-width:164px;top:32px;left:33%;right:auto}.shop-focused-hero .float-vial-1{width:27%;max-width:124px;top:78px;right:4%;left:auto}.shop-focused-hero .float-vial-2{display:block;width:25%;max-width:114px;top:90px;left:3%;right:auto}
.shop-focused-hero .acts{gap:12px}.shop-focused-hero .acts .btn{height:auto;min-height:46px;padding:14px 20px;white-space:normal;line-height:1.5;text-align:center}
/* Preserve the vial and its label at the same aspect ratio, even in short windows. */
.research-scene,.research-product-scene{container-type:size}
.research-scene>.research-vial{width:min(46cqw,44cqh,370px);height:auto;max-height:none;aspect-ratio:2/3}
.split .ph .research-scene>.research-vial{width:min(58cqw,48cqh,440px);height:auto;max-height:none}
.research-product-scene>.research-vial{width:min(78cqw,56cqh,400px);height:auto;max-width:none;max-height:none;aspect-ratio:2/3}
@media(max-width:820px){
 .shop-focused-hero.hero2{grid-template-columns:minmax(0,1fr);gap:8px;padding:18px 20px 26px;min-height:0}
 .shop-focused-hero .hero-vials{order:0;position:relative;inset:auto;width:min(100%,320px);height:230px;margin:0;transform:none}
 .shop-focused-hero .h2in{order:1;padding:0}.shop-focused-hero .h2tx{max-width:440px;margin-inline:auto}
 .shop-focused-hero .float-vial-0{width:34%;max-width:124px;top:24px;left:33%;right:auto}.shop-focused-hero .float-vial-1{width:27%;max-width:96px;top:62px;right:4%;left:auto}.shop-focused-hero .float-vial-2{display:block;width:25%;max-width:90px;top:70px;left:3%;right:auto}
 .shop-focused-hero .acts .btn{flex:1 1 130px;padding:12px 10px;font-size:10px;letter-spacing:.03em}
 .research-scene>.research-vial{width:min(46cqw,44cqh,370px);height:auto;max-height:none}
 .research-product-scene>.research-vial{width:min(72cqw,54cqh,400px);height:auto;max-width:none;max-height:none}
}
.program-section.sec{padding:20px 0 48px}.program-links{display:grid;grid-template-columns:1fr 1fr;gap:16px}.program-links>a{background:#102f4b;color:#d0e4e8;padding:32px;border-top:3px solid #39bdb4}.program-links .cap{color:#77d3c9;font-size:10px}.program-links h2{color:#fff;font-size:34px;margin:14px 0}.program-links p{font-size:14px;max-width:430px;margin-bottom:24px}.program-links .link{color:#fff}
.bundle-page h1,.club-page h1{font-size:clamp(38px,5vw,68px);margin:16px 0 24px}.program-intro{font-size:15px;line-height:1.8;max-width:650px;margin-bottom:30px}.bundle-presets{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.bundle-presets button{padding:10px 14px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:12px;border-radius:7px}.bundle-presets button:hover{border-color:var(--teal)}.bundle-layout,.club-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:36px;align-items:start}.bundle-line{display:flex;gap:14px;align-items:start;padding:20px 0;border-top:1px solid var(--line)}.bundle-line-number{font:500 12px var(--mono);color:var(--teal-t);padding-top:7px}.bundle-line-fields{flex:1;min-width:0}.bundle-line label{display:block;font:500 12px/1.5 var(--sans);letter-spacing:0;color:var(--soft)}.bundle-line select{display:block;width:100%;height:48px;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:0 12px;margin-top:8px;border-radius:7px;font:400 14px var(--sans)}.bundle-line-bottom{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-top:16px}.bundle-detail{font-size:11px;text-decoration:underline;text-underline-offset:3px}.bundle-line-bottom label{display:flex;align-items:center;gap:12px}.bundle-line input{width:64px;height:40px;padding:0 8px;text-align:center;border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--ink);font:500 16px var(--sans)}.bundle-line>button{border:0;background:none;color:var(--grey);font-size:24px;line-height:1;padding:5px}.bundle-page form>.fine{margin:24px 0}.bundle-summary,.club-plan{position:sticky;top:100px;border:1px solid var(--line);border-top:3px solid var(--teal);background:var(--ivory);padding:26px}.bundle-summary h2{font-size:24px;margin:14px 0 20px}.bundle-summary-lines>div{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:12px 0;font-size:12px;line-height:1.5}.bundle-summary-lines small{display:block;color:var(--grey);font-size:10px}.bundle-summary .srow{font-size:12px;padding:9px 0}.bundle-summary .srow.tot{font-size:16px}.bundle-summary .fine{font-size:11px;margin:16px 0}.bundle-summary .btn{white-space:normal;text-align:center;line-height:1.4;padding-inline:14px}.bundle-summary .link{font-size:10px;letter-spacing:.04em}
.club-plan{background:#102f4b;color:#d1e4e9}.club-plan .cap{color:#74cfc7}.club-plan h2{font:600 44px/1.2 var(--sans);color:#fff;margin:18px 0 16px}.club-plan h2 small{font-size:16px;font-weight:400;color:#aac9d2;margin-left:7px}.club-plan p,.club-plan li{font-size:13px;line-height:1.8}.club-plan ul{padding-left:18px;margin:20px 0}.club-consent{display:flex;gap:10px;align-items:start;font:400 11px/1.7 var(--sans);letter-spacing:0;color:#a9c5cf}.club-consent input{flex:none;margin-top:4px}.club-plan .btn{margin:22px 0 20px;background:#45b8ad;color:#0b293b;border-color:#45b8ad;font-size:10px;letter-spacing:.03em;padding-inline:10px;white-space:normal}.club-plan .link{color:#d1e4e9;font-size:10px;letter-spacing:.04em}.club-plan .fine{color:#96b7c4;font-size:10px;margin-top:20px}.club-steps article{border-top:1px solid var(--line);padding:22px 0}.club-steps article>span{font:500 11px var(--mono);color:var(--teal-t)}.club-steps h3{font-size:23px;margin:10px 0}.club-steps p{font-size:14px;line-height:1.8}.club-page .club-layout>div>.fine{margin:16px 0 24px}
@media(max-width:820px){.program-section.sec{padding:12px 0 30px}.program-links{grid-template-columns:1fr;gap:12px}.program-links>a{padding:24px 20px}.program-links h2{font-size:28px}.bundle-layout,.club-layout{grid-template-columns:minmax(0,1fr);gap:24px}.bundle-page.sec,.club-page.sec{padding-top:32px}.bundle-page h1,.club-page h1{font-size:40px}.program-intro{font-size:14px}.bundle-line{gap:10px}.bundle-line select{font-size:13px;padding-left:8px}.bundle-line-bottom{align-items:start;flex-direction:column}.bundle-line-bottom label{align-self:flex-end}.bundle-summary,.club-plan{position:static;padding:22px}.bundle-summary .btn{height:48px}.bundle-presets{gap:6px}.bundle-presets button{font-size:11px;padding:9px 10px}}
/* Long compound names scale with the illustration instead of escaping its paper label. */
.research-vial .vial-label b{font-size:clamp(4px,5.2cqw,23px)}.research-vial .vial-label small{font-size:clamp(3px,2.2cqw,10px)}.research-vial .vial-label.is-long{gap:2cqw}.research-vial .vial-label.is-long b{font-size:clamp(3px,4.2cqw,18px)}
.event-sale-badge{position:absolute;z-index:3;top:12px;left:12px;background:#176e70;color:#fff;border-radius:5px;padding:6px 9px;font:600 10px/1.3 var(--sans);letter-spacing:.04em}.quick-image .event-sale-badge{display:none}.shop-programs{display:flex;gap:22px;flex-wrap:wrap;margin-top:18px}.shop-programs a{display:inline-flex;gap:14px;align-items:center;font:500 12px/1.5 var(--sans);color:var(--ink);text-decoration:underline;text-underline-offset:4px}.shop-programs a span{color:var(--teal-t)}
@media(max-width:820px){.event-sale-badge{top:9px;left:9px;padding:5px 7px;font-size:9px}.shop-programs{gap:10px 20px;margin-top:14px}.shop-programs a{font-size:11px;gap:8px}}

/* Give the event its own high-contrast teal identity throughout shopping. */
.event-banner{background:#64e2cd;color:#082e44;border-bottom:0;padding:14px 20px;gap:5px 28px}
.event-banner strong{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 18px;font-size:12px;letter-spacing:.06em}
.event-banner strong b{font:800 23px/1.15 var(--sans);letter-spacing:-.025em}
.event-clock{color:#082e44;background:#ffffff70;padding:5px 10px;border-radius:5px;font-weight:600}
.event-banner small{color:#174858;font-size:10px}
.event-sale-badge{background:#64e2cd;color:#082e44;border:1px solid #a7f5e6;border-radius:6px;padding:9px 12px;font:800 13px/1.2 var(--sans);letter-spacing:.01em;box-shadow:0 3px 12px #082e4412}
.sale-pricing{gap:5px 9px}
.sale-pricing strong{color:#08756b;font-size:28px;font-weight:800;letter-spacing:-.035em}
.sale-pricing del{color:#617480;text-decoration-thickness:1.5px}
.sale-pricing small{flex-basis:auto;background:#d0f6eb;color:#07554f;border:1px solid #9ce3d1;border-radius:4px;padding:4px 6px;font:700 10px/1.3 var(--sans);white-space:normal}
.pc2 .sale-pricing small{flex-basis:auto;margin-top:2px}
.variant-option .sale-pricing{gap:5px 7px}.variant-option .sale-pricing strong{font-size:22px}.variant-option .sale-pricing small{font-size:9px;padding:3px 5px}
.quick-options .variant-option>small{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}.quick-options .variant-option>small strong{color:#08756b;font:800 22px/1.2 var(--sans);letter-spacing:-.035em}
.quick-options del{color:#617480;text-decoration-thickness:1.5px}
.dw-p{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dw-p strong{color:var(--teal-t);font-weight:700}
html[data-theme=dark] .sale-pricing strong,html[data-theme=dark] .quick-options .variant-option>small strong{color:#64e2cd}
html[data-theme=dark] .sale-pricing del,html[data-theme=dark] .quick-options del{color:#a5bcc6}
html[data-theme=dark] .sale-pricing small{background:#163f40;border-color:#28675f;color:#90edda}
@media(max-width:820px){
 .event-banner{padding:11px 12px;gap:6px 12px}.event-banner strong{width:100%;gap:5px 12px;font-size:10px}.event-banner strong b{font-size:22px}.event-clock{font-size:11px;padding:4px 8px}.event-banner small{font-size:9px}
 .event-sale-badge{top:9px;left:9px;padding:7px 9px;font-size:12px}
 .sale-pricing{gap:5px 7px}.sale-pricing strong{font-size:25px}.sale-pricing del{font-size:12px}.sale-pricing small{font-size:9px;padding:3px 5px}
 .variant-option .sale-pricing strong,.quick-options .variant-option>small strong{font-size:20px}
 .mobile-purchase .sale-pricing strong{font-size:19px}
}

.pc2 .ft .sale-pricing small{font:700 10px/1.3 var(--sans);color:#07554f}.quick-sale-offer{display:inline-block;margin-left:8px;background:#64e2cd;color:#082e44;border-radius:4px;padding:3px 6px;font:800 10px/1.3 var(--sans)}
html[data-theme=dark] .pc2 .ft .sale-pricing small{color:#90edda}

/* Shopping actions have a consistent shape and readable type hierarchy. */
.btn{border-radius:7px;font:600 13px/1.35 var(--sans);letter-spacing:.01em;text-transform:none;min-height:46px;height:auto;padding:14px 22px;white-space:normal;text-align:center}
.btn:focus-visible,.link:focus-visible,.quick-buy:focus-visible{outline:3px solid #39bdb4;outline-offset:4px}
.link{font:500 13px/1.5 var(--sans);letter-spacing:0;text-transform:none;text-underline-offset:4px}
.acts .link,.home-products .head .link,.quality-summary .link,.program-links .link,.shop-programs a,.bundle-page [data-add-bundle-line],.bundle-summary>.link,.club-page p>.link,.club-plan>.link,.prose p>.link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:11px 17px;border:1px solid var(--teal);border-radius:7px;background:var(--ink);color:var(--paper);text-decoration:none;font:600 13px/1.4 var(--sans);letter-spacing:0;text-transform:none;white-space:normal}
.acts .link.lt,.program-links .link,.club-plan>.link{background:#64e2cd;border-color:#64e2cd;color:#082e44}
.acts .link+.link{background:transparent;color:#fff;border-color:#8eacbb}.acts .link:hover,.program-links .link:hover,.shop-programs a:hover{opacity:1;filter:brightness(1.08)}
.shop-programs{gap:10px;margin-top:20px}.shop-programs a span{color:inherit}
.quick-buy{min-height:44px;padding:10px 13px;margin-top:14px;border:1px solid var(--line);border-radius:6px;background:var(--ivory);font:600 12px/1.4 var(--sans);letter-spacing:0}
.quick-buy:hover{background:#d0f6eb;color:#07554f;border-color:#83d7c7}.quick-buy span{font-size:20px;color:inherit}
.pc2 .nm{font-weight:600;line-height:1.35}.pc2 .cl{line-height:1.6}.sec .head h2{line-height:1.12;letter-spacing:-.035em}.prose{font-size:15px;line-height:1.8}.prose h3{line-height:1.25;letter-spacing:-.02em}
/* Compact category banners reserve separate columns for copy and illustration. */
.coll-img{display:grid;grid-template-columns:minmax(0,1fr) 120px;align-items:center;gap:18px;height:auto;min-height:230px;padding:26px 28px}
.coll-img .tx{position:relative;inset:auto;max-width:none;min-width:0;grid-column:1;grid-row:1;z-index:2}
.coll-img .research-scene{inset:0}.coll-img .research-scene>.supply-visual{position:absolute;width:110px;height:150px;right:28px;top:50%;transform:translateY(-50%);padding:0;background:transparent}.coll-img .supply-visual b,.coll-img .supply-visual small{display:none}.coll-img .supply-visual img{width:90px!important}
.coll-img .research-scene>.research-vial{right:28px;width:110px;max-height:none}.coll-img h2{font-size:clamp(23px,2.2vw,32px);line-height:1.12;margin:10px 0 16px;text-wrap:balance}.coll-img .tx .cap{font-size:10px;line-height:1.5;letter-spacing:.025em}
.coll-img .tx>.link{border:1px solid #7acbc4;border-radius:5px;padding:8px 12px;background:#ffffff0d;color:#d9fffa;font:600 12px/1.4 var(--sans);letter-spacing:0;text-transform:none}
.collection-hero.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:30px;height:auto!important;min-height:420px;padding:48px clamp(24px,5vw,80px);background:#102f4b;isolation:isolate}
.collection-hero.hero>.research-scene{position:relative;inset:auto;grid-column:2;grid-row:1;width:100%;height:310px;background:none;overflow:hidden}.collection-hero.hero>.research-scene:after{display:none}.collection-hero.hero:after{display:none}
.collection-hero.hero .tx{position:relative;inset:auto;grid-column:1;grid-row:1;text-align:left;padding:0;min-width:0}.collection-hero.hero h1{font-size:clamp(38px,4.5vw,68px);line-height:1.05;letter-spacing:-.04em;text-wrap:balance}.collection-hero.hero p{margin:18px 0 24px;font-size:15px;letter-spacing:0;line-height:1.7}.collection-hero.hero .acts{justify-content:flex-start;gap:12px}.collection-hero .supply-visual{background:none;padding:20px}.collection-hero .supply-visual b,.collection-hero .supply-visual small{display:none}
@media(max-width:820px){
 .coll-img{grid-template-columns:minmax(0,1fr) 80px;gap:12px;min-height:190px;height:auto;padding:22px 16px}.coll-img .tx{inset:auto;max-width:none}.coll-img .tx .cap{font-size:9px;line-height:1.5}.coll-img h2{font-size:24px;line-height:1.13;margin:10px 0 14px}.coll-img .research-scene>.research-vial{right:16px;width:76px;top:50%}.coll-img .research-scene>.supply-visual{right:16px;width:76px;height:110px}.coll-img .supply-visual img{width:74px!important}
 .collection-hero.hero{grid-template-columns:minmax(0,1fr) 100px;gap:14px;padding:30px 16px;min-height:320px}.collection-hero.hero>.research-scene{height:220px}.collection-hero.hero>.research-scene>.research-vial{width:90px;left:50%;top:50%;transform:translate(-50%,-50%)}.collection-hero.hero h1{font-size:34px}.collection-hero.hero p{font-size:13px;line-height:1.6}.collection-hero.hero .tx .cap{font-size:9px;line-height:1.5}.collection-hero.hero .acts{gap:9px}.collection-hero.hero .acts .link{width:100%;font-size:12px;padding:10px;min-height:42px}.collection-hero .supply-visual{padding:0}.collection-hero .supply-visual img{width:90px!important}
 .quick-buy{font-size:12px;padding:10px 12px}.shop-programs a{font-size:12px;padding:10px 13px}.home-products .head .link,.quality-summary .link{font-size:13px}.program-links .link{font-size:13px}.research-footer .news .btn{font-size:13px;letter-spacing:0}
}
@media(max-width:360px){.coll-img{grid-template-columns:minmax(0,1fr) 66px;gap:10px;padding-inline:14px}.coll-img h2{font-size:21px}.coll-img .research-scene>.research-vial{right:12px;width:64px}.collection-hero.hero{grid-template-columns:minmax(0,1fr) 78px;gap:10px}.collection-hero.hero h1{font-size:29px}.collection-hero.hero>.research-scene>.research-vial{width:72px}}

/* Reference-label vial: printed logo and RUO band are part of the new artwork. */
.research-vial .vial-label{left:24%;top:54%;width:52%;height:18%;padding:1cqw;gap:0;color:#102f4b}.research-vial .vial-label b{font:700 clamp(4px,5.4cqw,24px)/1.13 var(--sans);color:#102f4b;letter-spacing:-.025em}.research-vial .vial-label.is-long{gap:0}.research-vial .vial-label.is-long b{font-size:clamp(3px,4.3cqw,19px)}
.dose .variant-option,.quick-options .variant-option{grid-template-columns:minmax(0,1fr) auto}.dose .variant-option>small,.quick-options .variant-option>small{min-width:0;grid-column:1/-1}.variant-state{grid-row:3;justify-self:end}
@media(max-width:600px){.variant-option .variant-state{display:none}.dose .variant-option,.quick-options .variant-option{padding:12px 10px;gap:7px}.dose .variant-name,.quick-options .variant-name{font-size:16px}.mobile-purchase{width:100%;max-width:100%;box-sizing:border-box}}
@media(max-width:360px){.coll-img .research-scene>.supply-visual{right:12px;width:64px}.coll-img .supply-visual img{width:62px!important}}

.shop-focused-hero .acts .btn{font-size:13px;letter-spacing:0;line-height:1.4}.research-footer .news .btn{font-size:13px;letter-spacing:0}.program-links .link{margin-top:2px}.coll-feat .row .link{font-size:12px;letter-spacing:0;text-transform:none}
@media(max-width:820px){.shop-focused-hero .acts .btn{font-size:13px;padding:12px 10px}}
.coll-feat .sale-pricing strong{color:#64e2cd}.coll-feat .sale-pricing del{color:#a3bdc9}.coll-feat .row{gap:14px}.coll-feat .row>b{min-width:0;flex:1}.coll-feat .row>.link{flex:none;border:1px solid #64e2cd;border-radius:5px;background:#64e2cd;color:#082e44;padding:9px 12px;font:600 12px/1.3 var(--sans);white-space:nowrap}

/* Stable chat geometry; viewport movement is never delayed by a bottom/width animation. */
#ah-agent .ag-dock,#ah-agent.on .ag-dock{inset:auto 0 var(--ag-bottom,22px) 0;width:min(680px,calc(100% - 32px));margin:0 auto;height:64px;transform:none;animation:none;opacity:1;transition:border-color .16s ease,box-shadow .16s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#ah-agent .ag-panel{inset:auto 0 calc(var(--ag-bottom,22px) + var(--ag-dock-height,64px) + 12px) 0;margin:0 auto;width:min(680px,calc(100% - 32px));height:var(--ag-panel-height,500px);max-height:none;border-radius:18px;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#ah-agent.on .ag-panel{transform:none}#ah-agent .ag-panel[hidden]{display:none!important}
#ah-agent .ag-dock.focus,#ah-agent .ag-dock:hover{border-color:var(--teal);box-shadow:0 8px 28px #102f4b24}
html.dw-open #ah-agent,html.quick-open #ah-agent{visibility:hidden;pointer-events:none}
html.ag-open .mobile-purchase{visibility:hidden;pointer-events:none}
@media(max-width:820px){#ah-agent .ag-dock,#ah-agent.on .ag-dock{width:calc(100% - 20px);height:58px;border-radius:18px}#ah-agent .ag-panel{width:calc(100% - 20px);border:1px solid var(--ag-bd);border-radius:18px}}
/* Short, consistent interactions; avoid expensive moving blur and whole-page transforms. */
:root{--motion-ease:cubic-bezier(.2,.7,.2,1)}
#ah-drawer .dw{transition:transform .24s var(--motion-ease),visibility 0s .24s}#ah-drawer.on .dw{transition:transform .24s var(--motion-ease),visibility 0s}.dw-scrim{transition:opacity .2s ease}
.quick-sheet[open]{animation-duration:.24s}.quick-sheet.is-closing{animation-duration:.2s}.quick-sheet::backdrop{backdrop-filter:blur(3px);animation:none}.mnav::backdrop{backdrop-filter:none}.mnav.is-closing::backdrop{animation:none}
.btn,.quick-buy{transition:background-color .15s ease,border-color .15s ease,color .15s ease}.pc2,.rcard{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
@media(hover:none){.pc2:hover{transform:none;box-shadow:none}.pc2:hover img{transform:none}.ag-orbb:hover .ag-mk{transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1!important}}

.bulk-offer{font:500 12px/1.6 var(--sans);background:var(--ivory);border-left:3px solid var(--teal);padding:12px 14px;margin:16px 0;color:var(--soft)}.bulk-applied{font:600 11px/1.5 var(--sans);color:var(--teal-t);margin-top:8px}.bulk-nudge{font:400 10px/1.5 var(--sans);color:var(--grey);margin-top:7px}.bulk-inline{font:600 10px/1.4 var(--sans);color:var(--teal-t);flex-basis:100%}.bulk-cart-note{font:500 11px/1.6 var(--sans);padding:10px 12px;background:var(--ivory);border-radius:6px;color:var(--teal-t);margin:10px 0}.bprice>del,.checkout-line-price>del{display:block;color:var(--grey);font-size:12px}.bprice>strong,.checkout-line-price>strong{color:var(--teal-t);font-size:20px;display:block}.checkout-line-price{text-align:right;flex:none}.checkout-line-price>small{font-size:10px}.recommend-price{display:flex!important;flex-wrap:wrap;gap:5px 8px;align-items:baseline}.recommend-price strong{color:var(--teal-t);font-size:13px}.recommend-price del{color:var(--grey);font-size:11px}
.home-membership{background:#102f4b;color:#d2e7ed;padding:52px 0;margin-bottom:28px}.membership-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:60px;align-items:center}.membership-copy>.cap,.membership-price>.cap{color:#77ded0;letter-spacing:.1em;font-size:11px}.membership-copy h2{color:#fff;font-size:clamp(36px,4vw,56px);letter-spacing:-.04em;line-height:1.08;margin:18px 0}.membership-copy>p{max-width:470px;font-size:15px;line-height:1.7}.membership-copy ul{display:grid;gap:8px;padding:0;list-style:none;font-size:13px;line-height:1.6;margin:22px 0}.membership-copy li:before{content:'✓';color:#64e2cd;margin-right:10px}.membership-copy .btn{gap:24px;background:#64e2cd;border-color:#64e2cd;color:#082e44;margin-top:4px}.membership-price{background:#173e55;border:1px solid #386071;border-radius:14px;padding:30px}.membership-price>p{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin:14px 0}.membership-price strong{font:700 clamp(38px,4vw,56px)/1.1 var(--sans);color:#fff;letter-spacing:-.04em}.membership-price>p>span{font-size:15px;color:#b2cbd4}.membership-price>b{font:500 16px/1.5 var(--sans);color:#fff}.membership-price p.membership-status{font:400 12px/1.7 var(--sans);color:#b2cbd4;margin:18px 0}.membership-price>a{display:inline-flex;align-items:center;min-height:44px;font:500 13px/1.5 var(--sans);text-decoration:underline;text-underline-offset:4px;color:#91eee0}
@media(max-width:820px){.home-membership{padding:32px 0;margin-bottom:20px}.membership-layout{grid-template-columns:minmax(0,1fr);gap:26px}.membership-copy h2{font-size:38px}.membership-copy>p{font-size:14px}.membership-price{padding:24px}.membership-price strong{font-size:44px}.membership-copy .btn{width:100%}.quick-body>.bulk-offer{font-size:11px;margin:14px 0}.bulk-cart-note{font-size:10px;padding:9px 10px}}
.dose .variant-option .sale-pricing{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 8px}.dose .variant-option .sale-pricing>small{display:block;font:600 9px/1.4 var(--sans);padding:4px 6px;border-radius:4px}.mobile-purchase [data-sticky-price]::after{content:'/ unit';font:400 9px/1.4 var(--sans);color:var(--grey);margin-left:5px}

.home-membership{scroll-margin-top:80px}.shop-bulk{font:400 12px/1.65 var(--sans);color:var(--soft);margin-top:16px;max-width:600px}
/* Brand typography: geometric headings, quiet readable interface type. */
@font-face{font-family:Alpha Display;src:url(/fonts/jost.woff2) format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Alpha Text;src:url(/fonts/inter.woff2) format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--sans:'Alpha Text','Helvetica Neue',Arial,sans-serif;--serif:'Alpha Display','Helvetica Neue',Arial,sans-serif}
body{font-family:var(--sans);font-size:15px;line-height:1.7;font-weight:400}
h1,h2,h3{font-family:var(--serif);font-weight:550;letter-spacing:-.035em;line-height:1.08}
.cap,.chip,.ln a,.rn a,.bagl,.mn-categories nav a,.pc2 .cl,.pc2 .sz,.variant-help,.crumb,.acc summary,label.f,table.coa th{font-family:var(--sans)}
.cap{font-weight:600;letter-spacing:.075em}.ln a,.rn a{font:500 13px/1.4 var(--sans);letter-spacing:0;text-transform:none}.bagl{letter-spacing:.025em}.ln a[href='/research-club']{color:var(--teal-t);font-weight:700}
.chip{font:500 11px/1.3 var(--sans);letter-spacing:0;text-transform:none}.pc2 .cl{font-size:10px;letter-spacing:.025em;text-transform:none}.pc2 h3{font-family:var(--serif);font-size:21px;font-weight:550;letter-spacing:-.02em;line-height:1.2}.pc2 .sz{font-size:12px;letter-spacing:0}
.btn,.quick-actions .btn{font:600 14px/1.4 var(--sans);letter-spacing:0;gap:14px}.link{font-weight:550;letter-spacing:0}.shop-focused-hero .acts .btn{font-size:14px}.shop-focused-hero h1{font-family:var(--serif);font-weight:550;font-size:clamp(48px,5vw,76px);letter-spacing:-.04em}.shophead h1{font-size:clamp(34px,3.5vw,50px);font-weight:550}.quick-product h2,.mn-primary>a{font-family:var(--serif);font-weight:550}.quick-product h2{font-size:27px}.sale-pricing strong{font-weight:700;letter-spacing:-.025em}.pdp .info h1{font-family:var(--serif);font-weight:550}.mobile-purchase .btn{font-size:12px;letter-spacing:0}
/* Membership is a primary destination, immediately below the home hero and shop introduction. */
.home-membership{padding:34px 0;margin:0;border-bottom:1px solid #3c6877}.membership-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px}.membership-copy h2{font-family:var(--serif);font-size:clamp(34px,4vw,52px);font-weight:550;margin:10px 0 12px;letter-spacing:-.025em}.membership-copy>p{font-size:14px;line-height:1.7}.membership-price{padding:0 0 0 36px;border:0;border-left:1px solid #476d7f;border-radius:0;background:none}.membership-price>p{margin:0 0 14px}.membership-price strong{font-size:44px;letter-spacing:-.035em}.membership-price>.btn{background:#64e2cd;color:#082e44;text-decoration:none;border-color:#64e2cd;min-height:46px}.membership-price p.membership-status{font-size:11px;margin:10px 0 0;max-width:300px}
.shophead{padding-bottom:22px}.shop-bundle-link{display:inline-flex;align-items:center;min-height:44px;font:500 13px/1.4 var(--sans);color:var(--teal-t);text-decoration:underline;text-underline-offset:4px;margin-top:4px}.shop-membership{background:#102f4b;color:#d2e7ed;border-bottom:2px solid #64e2cd;padding:22px 0}.shop-membership>.wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}.shop-membership .cap{color:#85e8d7;font-size:10px;letter-spacing:.06em}.shop-membership h2{color:#fff;font-size:32px;margin:6px 0;letter-spacing:-.02em}.shop-membership p{font:400 13px/1.6 var(--sans)}.shop-membership-action{display:grid;grid-template-columns:auto auto;gap:5px 22px;align-items:center}.shop-membership-action>p{display:flex;align-items:baseline;gap:7px}.shop-membership-action strong{font:650 32px/1.15 var(--sans);color:#fff;letter-spacing:-.035em}.shop-membership-action>p>span{font-size:12px;color:#bad2dc}.shop-membership-action .btn{background:#64e2cd;border-color:#64e2cd;color:#082e44;grid-column:2;grid-row:1/3}.shop-membership-action>small{font-size:10px;color:#bad2dc;grid-column:1}.shop-membership+.chipbar{margin-top:0}
/* Membership plan and application CTA appear before the explanatory content. */
.club-page{padding:34px 0 48px}.club-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}.club-intro h1{font-family:var(--serif);font-weight:550;font-size:clamp(48px,5.5vw,78px);line-height:1.02;letter-spacing:-.04em;margin:18px 0 24px}.club-intro>p{font-size:16px;line-height:1.8;color:var(--soft)}.club-hero .club-plan{position:static;top:auto;border:1px solid #315e71;border-radius:12px;padding:28px;background:#102f4b;box-shadow:0 12px 36px #102f4b0d}.club-hero .club-plan h2{font:650 52px/1.05 var(--sans);margin:12px 0 16px;letter-spacing:-.04em}.club-hero .club-plan h2 small{font-size:15px;font-weight:400;letter-spacing:0}.club-hero .club-plan>p{font-size:14px;line-height:1.6}.club-hero .club-plan .btn{font:600 14px/1.4 var(--sans);background:#64e2cd;border-color:#64e2cd;color:#082e44;margin:20px 0 0;min-height:50px}.club-plan p.club-application-note{font-size:11px;color:#b4d0da;margin-top:10px}.club-plan-facts{display:grid;gap:9px;padding-top:18px;margin-top:18px;border-top:1px solid #315e71;font-size:12px}.club-plan-facts>span:before{content:'✓';color:#64e2cd;margin-right:8px}.club-hero .club-plan p.fine{font-size:10px;line-height:1.65;margin-top:16px;color:#a2bfca}.club-explainer{padding:54px 0 30px}.club-explainer .head h2{font-size:clamp(30px,3vw,42px);margin-top:12px}.club-explainer .club-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.club-explainer .club-steps h3{font-family:var(--serif);font-size:25px;line-height:1.2}.club-explainer .club-steps article>span{font-family:var(--sans);font-size:12px}.club-final{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line);padding:28px 0}.club-final h2{font-size:32px}.club-final p{font-size:13px;margin-top:10px}.club-final .btn{background:var(--ink);color:var(--paper)}.club-alternative{font-size:13px;color:var(--soft)}.club-alternative a{color:var(--teal-t);text-decoration:underline;text-underline-offset:4px}
@media(hover:hover){.membership-price>.btn:hover,.shop-membership-action .btn:hover,.club-hero .club-plan .btn:hover{background:#8af1df;border-color:#8af1df;color:#082e44}.shop-bundle-link:hover{color:var(--ink)}}
@media(max-width:820px){
 .cap{letter-spacing:.055em}.shop-focused-hero h1{font-size:46px}.shop-focused-hero .acts .btn{font-size:13px}.pc2 h3{font-size:19px}.pc2 .cl{font-size:10px}.coll-img .tx>.link{font-size:12px;min-height:40px;padding:9px 12px}
 .home-membership{padding:26px 0}.membership-layout{grid-template-columns:minmax(0,1fr);gap:20px}.membership-copy h2{font-size:36px;line-height:1.08}.membership-copy>p{font-size:13px}.membership-price{border-left:0;border-top:1px solid #476d7f;padding:18px 0 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:center}.membership-price>p{margin:0}.membership-price strong{font-size:34px}.membership-price>p>span{font-size:11px}.membership-price>.btn{font-size:12px;padding:11px 13px;min-height:44px;gap:8px}.membership-price p.membership-status{grid-column:1/-1;max-width:none;margin:0;font-size:10px}
 .shophead{padding:24px 0 14px}.shophead h1{font-size:36px}.shophead p{max-width:none}.shop-membership{padding:18px 0}.shop-membership>.wrap{grid-template-columns:minmax(0,1fr);gap:12px}.shop-membership h2{font-size:30px}.shop-membership p{font-size:12px}.shop-membership-action{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px}.shop-membership-action strong{font-size:27px}.shop-membership-action .btn{font-size:12px;padding:10px 13px;min-height:44px;gap:8px}.shop-membership-action>small{font-size:9px}
 .club-page{padding:24px 0 36px}.club-hero{grid-template-columns:minmax(0,1fr);gap:22px}.club-intro h1{font-size:42px;margin:10px 0 0}.club-intro h1 br{display:none}.club-intro>p{display:none}.club-hero .club-plan{padding:22px}.club-hero .club-plan h2{font-size:44px;margin:10px 0 14px}.club-hero .club-plan .btn{min-height:48px;font-size:14px;margin-top:18px}.club-hero .club-plan>p{font-size:13px}.club-explainer{padding:34px 0 16px}.club-explainer .club-steps{grid-template-columns:minmax(0,1fr);gap:0}.club-explainer .head{margin-bottom:22px}.club-final{display:block;padding:24px 0}.club-final .btn{margin-top:20px;width:100%}.club-final h2{font-size:28px}.club-alternative{font-size:12px}.mobile-purchase .btn{font-size:12px}
}
@media(max-width:360px){.membership-price strong{font-size:29px}.membership-price>.btn{font-size:11px;gap:6px;padding:10px}.membership-copy h2{font-size:32px}.club-intro h1{font-size:36px}.club-hero .club-plan{padding:18px}.shop-membership-action strong{font-size:25px}.shop-membership-action .btn{font-size:11px;padding:10px;gap:6px}.shop-focused-hero h1{font-size:40px}}

@media(max-width:820px){.club-intro h1{font-size:clamp(32px,9.75vw,38px)}.club-page{padding-top:20px}.club-hero{gap:18px}.club-hero .club-plan .btn{margin-top:16px}}
@media(max-width:360px){.club-intro h1{font-size:32px}}
@media(max-width:820px){.club-hero .club-plan{display:flex;flex-direction:column}.club-hero .club-plan>.cap{display:none}.club-hero .club-plan>h2{order:1}.club-hero .club-plan>.btn{order:2;margin-top:0}.club-hero .club-plan>p:not(.fine):not(.club-application-note){order:3;margin-top:16px}.club-hero .club-plan>.club-application-note{order:4}.club-plan-facts{order:5}.club-hero .club-plan>p.fine{order:6}}
@media(max-width:360px) and (max-height:640px){.club-page{padding-top:16px}.club-hero{gap:14px}.club-hero .club-plan{padding:16px}}

[data-credit-option][hidden]{display:none!important}

.coform [data-paypal-buttons]{max-width:750px;margin:10px 0 18px}
