/* ============================================================
   SANGAM HERBALS — clinical / minimal (The Ordinary-inspired)
   ============================================================ */
:root{
  --bg:#ffffff; --bg-alt:#f4f3ef; --bg-deep:#1f4a35;
  --ink:#1f4a35; --ink-soft:#5d7a6b; --ink-faint:#94a89c;
  --line:#e6e5e0; --line-mid:#d6d5cf; --line-ink:#1f4a35;
  --brand:#1f4a35; --brand-deep:#15331f;   /* tree-logo green is the brand ink */
  --maxw:1320px; --gutter:clamp(16px,2vw,28px);
  --hdr:60px; --r:2px;
  --ease:cubic-bezier(.4,0,.1,1);
  --font:"Inter", system-ui, -apple-system, sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font);background:var(--bg);color:var(--ink);
  font-size:15px;line-height:1.6;letter-spacing:-.006em;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
body:has(.gate:not([hidden])),body.locked{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,select{font:inherit;color:inherit}
::selection{background:var(--ink);color:#fff}
:focus-visible{outline:1.5px solid var(--ink);outline-offset:2px}
.wrap{width:min(100% - 2.6rem, var(--maxw));margin-inline:auto}
.bleed{width:100vw;margin-inline:calc(50% - 50vw)}
b{font-weight:600}

/* type system */
h1,h2,h3{font-weight:600;line-height:1.08;letter-spacing:-.02em}
.label,.mono{font-weight:600;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft)}
.mono{font-feature-settings:'tnum'}
.deva{display:none}
.arr{display:inline-block;transition:transform .3s var(--ease)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.5rem;border-radius:var(--r);font-weight:600;font-size:12px;letter-spacing:.04em;
  text-transform:uppercase;transition:background .2s,color .2s,border-color .2s}
.btn--solid{background:var(--ink);color:#fff}
.btn--solid:hover{background:var(--brand-deep)}
.btn--full{width:100%}
.btn[disabled]{opacity:.35;pointer-events:none}
.link-cta{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);
  border-bottom:1px solid var(--ink);padding-bottom:3px;transition:gap .25s var(--ease),color .2s,border-color .2s}
.link-cta:hover{gap:.7rem}
.link-cta .arr{transition:transform .25s var(--ease)}.link-cta:hover .arr{transform:translateX(3px)}
.link-ghost{font-weight:600;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);transition:color .2s}
.link-ghost:hover{color:var(--ink)}
.iconbtn{width:38px;height:38px;display:grid;place-items:center;position:relative;color:var(--ink);transition:opacity .2s}
.iconbtn:hover{opacity:.55}
.region-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .65rem;font-weight:600;font-size:11px;letter-spacing:.06em;border:1px solid var(--line-mid);transition:border-color .2s}
.region-btn:hover{border-color:var(--ink)}
.region-btn__lang{color:var(--ink-soft)}
.cart-count{position:absolute;top:0;right:0;background:var(--ink);color:#fff;font-size:9px;font-weight:600;min-width:16px;height:16px;display:grid;place-items:center;padding:0 4px;font-feature-settings:'tnum'}

/* ---------- header ---------- */
.header{position:fixed;inset:0 0 auto;z-index:60;height:var(--hdr);display:flex;align-items:center;background:var(--bg);border-bottom:1px solid transparent;transition:border-color .3s}
.header.scrolled{border-bottom-color:var(--line)}
.header__inner{display:flex;align-items:center;gap:1.6rem;width:min(100% - 2.6rem, var(--maxw));margin-inline:auto}
.brand{display:inline-block;line-height:0}
.brand__logo{height:34px;width:57px;object-fit:contain;display:block}
.brand__logo--lg{height:46px;width:78px}
.nav{display:flex;gap:1.8rem;margin-inline-start:auto;font-weight:500;font-size:13px}
.nav a{position:relative;color:var(--ink);padding-block:.4rem;opacity:.75;transition:opacity .2s}
.nav a:hover{opacity:1}
.header__actions{display:flex;align-items:center;gap:.5rem;margin-inline-start:auto}
.nav ~ .header__actions{margin-inline-start:1.4rem}
.nav-toggle{display:none}
.header__progress{position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--ink);transform:scaleX(var(--p,0));transform-origin:left}

/* ---------- gate · Tesla-style country / language selector ---------- */
.gate{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:1.4rem;background:rgba(26,26,26,.5);backdrop-filter:blur(3px)}
.gate__watermark{display:none}
.gate__card{position:relative;width:min(1120px,100%);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);border:1px solid var(--line);padding:clamp(1.5rem,3.2vw,2.6rem);animation:rise .5s var(--ease) both}
.gate__masthead{position:relative;flex:0 0 auto;display:flex;flex-direction:column;gap:.5rem}
.gate__logo{height:36px;width:60px;object-fit:contain;display:block}
.gate__sub{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}
.gate__close{position:absolute;top:-.3rem;inset-inline-end:-.4rem;width:42px;height:42px;display:grid;place-items:center;color:var(--ink-soft);border-radius:var(--r);transition:background .15s,color .15s}
.gate__close:hover{color:var(--ink);background:var(--bg-alt)}
.gate__close:focus-visible{outline:1.5px solid var(--ink);outline-offset:2px}

.gate__intro{flex:0 0 auto;padding:1.1rem 0 0}
.gate__title{font-size:clamp(1.4rem,2.6vw,1.9rem);margin:0;font-weight:600;letter-spacing:-.02em}
.gate__lede{color:var(--ink-soft);margin-top:.45rem;max-width:60ch;font-size:13.5px;line-height:1.5}
/* search — quiet underline field */
.gx__search{display:flex;align-items:center;gap:.6rem;margin-top:1.1rem;padding:.55rem .15rem;border-bottom:1px solid var(--line-mid);color:var(--ink-faint);transition:border-color .18s,color .18s}
.gx__search:focus-within{border-color:var(--ink);color:var(--ink)}
.gx__search svg{flex:none}
.gx__search-input{flex:1;border:0;background:transparent;outline:none;font:inherit;font-size:14px;color:var(--ink);min-width:0}
.gx__search-input::placeholder{color:var(--ink-faint)}
.gx__search-input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.gx__count{flex:0 0 auto;font-size:10px;letter-spacing:.1em;color:var(--ink-faint);font-weight:600}

/* scroll region holding the newspaper columns */
.gate__body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:1.5rem .8rem .4rem;scrollbar-width:thin;scrollbar-color:var(--line-mid) transparent}
.gate__body::-webkit-scrollbar{width:8px}
.gate__body::-webkit-scrollbar-thumb{background:var(--line-mid);border:2px solid var(--bg);border-radius:8px}

/* Tesla newspaper flow: regions + countries flow into balanced text columns, NO flags */
.gx__flow{columns:210px;column-gap:2.6rem}
.gx__region{break-after:avoid-column;break-inside:avoid;font-size:16px;font-weight:600;color:var(--ink);letter-spacing:-.01em;margin:0 0 1.15rem}
.gx__region:not(:first-child){margin-top:2rem}
.gx__region[hidden]{display:none}

.gx__country{break-inside:avoid;margin:0 -.55rem 1.3rem;padding:.4rem .55rem;border-radius:var(--r)}
.gx__country[hidden]{display:none}
.gx__country.is-selected{background:var(--bg-alt)}
.gx__cname{display:block;font-size:14.5px;color:var(--ink);font-weight:500;line-height:1.25;margin-bottom:.3rem}
.gx__locs{display:flex;flex-wrap:wrap;gap:.1rem .9rem}
.gx__loc{font:inherit;font-size:13px;color:var(--ink-soft);background:transparent;border:0;padding:.05rem 0;cursor:pointer;line-height:1.3;transition:color .14s}
.gx__loc:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.gx__loc[aria-selected="true"]{color:var(--ink);font-weight:600}
.gx__loc:focus-visible{outline:1.5px solid var(--ink);outline-offset:2px;border-radius:1px}
.gx__noresult{font-size:13px;color:var(--ink-soft);padding:.4rem 0}

/* clean footer summary bar */
.gate__bar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-top:1.15rem;margin-top:.4rem;border-top:1px solid var(--line)}
.gate__bar-text{min-width:0}
.gate__bar-head{font-size:14px;font-weight:600;color:var(--ink);margin:0;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gate__bar-head[data-empty]{color:var(--ink-faint);font-weight:500}
.gate__bar-sub{font-size:11px;color:var(--ink-soft);margin:.25rem 0 0;letter-spacing:.04em;text-transform:none}
.gate__bar-sub:empty{display:none}
.gate__go{flex:0 0 auto;margin:0;padding:.9rem 1.7rem;white-space:nowrap}
.gate__go[disabled]{opacity:.32}
.gate__go:not([disabled]):hover .arr{transform:translateX(3px)}

/* responsive */
@media (max-width:760px){
  .gate__card{width:100%;padding:1.4rem}
  .gate__title{font-size:1.45rem}
  .gate__lede{display:none}
  .gate__body{padding:1.2rem .6rem .4rem}
  .gx__flow{columns:150px;column-gap:1.5rem}
  .gx__region{font-size:15px}
  .gx__cname{font-size:14px}
}
@media (max-width:460px){
  .gx__flow{columns:1}
  .gate__bar{flex-direction:column;align-items:stretch;gap:.8rem}
  .gate__go{width:100%;justify-content:center}
  .gate__bar-head{white-space:normal}
}
@media (prefers-reduced-motion:reduce){
  .gate__card{animation:none}
  .gx__loc,.gate__go .arr{transition:none}
}

/* ---------- hero ---------- */
.hero{position:relative;padding:calc(var(--hdr) + clamp(2.5rem,6vh,4.5rem)) 0 clamp(3rem,7vh,5rem);border-bottom:1px solid var(--line)}
.hero__bg,.hero__panel,.hero__seam,.hero__paper,.hero__banyan,.hero__ticker{display:none}
.hero__inner{display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.hero__col{max-width:600px}
.hero__media{margin:0;aspect-ratio:1;background:var(--bg);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}
.hero__media img{width:auto;height:82%;max-width:62%;object-fit:contain}
.hero__kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}
.hero__title{font-size:clamp(1.9rem,1.2rem+2.6vw,3.4rem);font-weight:600;line-height:1.05;letter-spacing:-.03em;margin:1.3rem 0 0;max-width:16ch}
.hero__lede{font-size:clamp(1rem,.95rem+.35vw,1.18rem);color:var(--ink-soft);max-width:46ch;margin-top:1.3rem;line-height:1.5}
.hero__credential{margin-top:1.2rem;font-size:11px;letter-spacing:.05em;color:var(--ink-soft);font-weight:600;line-height:1.6;text-transform:uppercase;padding-inline-start:1.05rem;border-inline-start:2px solid var(--brand);max-width:42ch}
.hero__search--mini{margin-top:1.6rem;max-width:380px;border-color:var(--line-mid)}
.hero__search--mini input{padding:.5rem 0;font-size:13px}
.hero__search{position:relative;margin-top:2.2rem;max-width:520px;display:flex;align-items:center;gap:.6rem;border:1px solid var(--ink);padding:.4rem .4rem .4rem 1rem}
.hero__search::before{content:"";width:17px;height:17px;flex:none;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f4a35' stroke-width='1.8'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3-3'/%3E%3C/svg%3E")}
.hero__search input{flex:1;border:none;background:none;outline:none;padding:.65rem 0;font-size:14px}
.hero__search input::placeholder{color:var(--ink-faint)}
.hero__count{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-weight:600;white-space:nowrap;padding-inline-end:.7rem}
.hero__chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem}
.hero__chip{font-size:12px;font-weight:500;padding:.5rem .9rem;border:1px solid var(--line-mid);transition:.2s}
.hero__chip:hover{border-color:var(--ink)}
.hero__cta{display:flex;align-items:center;gap:1.6rem;margin-top:2rem;flex-wrap:wrap}

/* ---------- argument ---------- */
.argument{padding:clamp(3rem,6vh,4.5rem) 0;border-bottom:1px solid var(--line)}
.argument__inner{display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:baseline}
.argument__num{font-size:11px;letter-spacing:.12em;color:var(--ink-faint);font-weight:600}
.argument__line{font-size:clamp(1.3rem,1rem+1.6vw,2.2rem);font-weight:500;line-height:1.25;max-width:30ch;letter-spacing:-.02em}

/* ---------- sections ---------- */
.section{padding:clamp(3.5rem,8vh,6rem) 0}
.section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:clamp(1.6rem,3vw,2.4rem);padding-bottom:1.2rem;border-bottom:1px solid var(--line)}
.section__num{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-weight:600;display:block;margin-bottom:.6rem}
.section__title{font-size:clamp(1.5rem,1.1rem+1.6vw,2.4rem);font-weight:600;letter-spacing:-.025em}

/* ============================================================
   INFORMATION-FIRST sections (learn / doshas / about / concerns / herbs / start)
   ============================================================ */
.ihead{margin-bottom:clamp(1.7rem,3.2vw,2.6rem);padding-bottom:1.2rem;border-bottom:1px solid var(--line)}
.ihead__kicker{display:block;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft);font-weight:600;margin-bottom:.7rem}
.ihead__title{font-size:clamp(1.5rem,1.1rem+1.6vw,2.4rem);font-weight:600;letter-spacing:-.025em}
.ihead__intro{margin-top:.9rem;color:var(--ink-soft);font-size:15px;line-height:1.55;max-width:62ch}

/* learn — what is ayurveda */
.learn__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.learn__para{font-size:clamp(1rem,.97rem+.3vw,1.14rem);line-height:1.65;color:var(--ink);margin-bottom:1.1rem;max-width:48ch}
.learn__para:last-child{margin-bottom:0;color:var(--ink-soft)}
.principles{list-style:none;display:flex;flex-direction:column}
.principle{display:flex;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}
.principle:first-child{padding-top:0}
.principle:last-child{border-bottom:none;padding-bottom:0}
.principle__n{flex:0 0 auto;font-size:11px;color:var(--ink-faint);font-weight:600;letter-spacing:.1em;padding-top:.2rem}
.principle__t{font-size:1rem;font-weight:600;margin-bottom:.25rem}
.principle__d{font-size:13.5px;color:var(--ink-soft);line-height:1.5}

/* doshas */
.doshas{background:var(--bg-alt);border-block:1px solid var(--line)}
.dosha-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:var(--bg)}
.dosha{padding:clamp(1.4rem,2.5vw,2rem);border-inline-end:1px solid var(--line);display:flex;flex-direction:column}
.dosha:last-child{border-inline-end:none}
.dosha__el{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}
.dosha__name{font-size:1.5rem;font-weight:600;letter-spacing:-.02em;margin:.5rem 0 .15rem}
.dosha__essence{font-size:12.5px;color:var(--brand);font-weight:600;margin-bottom:.9rem}
.dosha__traits{font-size:14px;line-height:1.55;color:var(--ink);margin-bottom:1rem}
.dosha__care{font-size:12.5px;line-height:1.5;color:var(--ink-soft);margin-top:auto;padding-top:1rem;border-top:1px solid var(--line)}
.dosha__care .mono{display:block;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.35rem;font-weight:600}

/* about — dark trust band */
.about{background:var(--bg-deep);color:#fff;padding:clamp(4rem,9vh,7rem) 0}
.about .ihead__kicker{color:rgba(255,255,255,.5)}
.about__title{font-size:clamp(1.6rem,1.1rem+2vw,2.7rem);font-weight:600;line-height:1.12;letter-spacing:-.025em;max-width:22ch;margin-top:.3rem}
.about__body{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,4vw,3.5rem);margin-top:1.6rem}
.about__body p{color:rgba(255,255,255,.72);font-size:15px;line-height:1.65}
.about__pillars{display:grid;grid-template-columns:repeat(4,1fr);margin-top:2.6rem;border-top:1px solid rgba(255,255,255,.15)}
.apill{padding:1.4rem 1.2rem 0 0;border-inline-end:1px solid rgba(255,255,255,.15)}
.apill:last-child{border-inline-end:none;padding-inline-end:0}
.apill__n{font-size:11px;color:rgba(255,255,255,.5);font-weight:600;letter-spacing:.1em}
.apill h3{font-size:.95rem;color:#fff;margin:.6rem 0 .3rem;font-weight:600}
.apill p{color:rgba(255,255,255,.6);font-size:12.5px;line-height:1.5}

/* shop by concern */
.concern-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-inline-start:1px solid var(--line)}
.concern--all{background:var(--bg-alt)}
.concern--all .concern__t{color:var(--brand)}
.concern{text-align:start;background:var(--bg);padding:clamp(1.3rem,2.2vw,1.7rem);border-inline-end:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;display:flex;flex-direction:column;gap:.5rem;transition:background .2s}
.concern:hover{background:var(--bg-alt)}
.concern__t{font-size:1.1rem;font-weight:600;letter-spacing:-.01em}
.concern__d{font-size:13px;color:var(--ink-soft);line-height:1.5;flex:1}
.concern__go{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:.4rem;margin-top:.3rem}
.concern__go .arr{transition:transform .25s var(--ease)}
.concern:hover .concern__go .arr{transform:translateX(3px)}

/* herb glossary */
.herb-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-inline-start:1px solid var(--line)}
.herb{background:var(--bg);padding:0;border-inline-end:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}
.herb__img{aspect-ratio:3/2;background:var(--bg-alt);overflow:hidden;border-bottom:1px solid var(--line)}
.herb__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease)}
.herb__img--product{background:#fff}
.herb__img--product img{object-fit:contain;padding:5% 10%;mix-blend-mode:multiply}
.herb:hover .herb__img img{transform:scale(1.04)}
.herb__inner{padding:clamp(1.1rem,1.8vw,1.4rem);display:flex;flex-direction:column;gap:.4rem;flex:1}
.herb__name{font-size:1.05rem;font-weight:600;letter-spacing:-.01em}
.herb__sk{font-size:10.5px;letter-spacing:.02em;color:var(--ink-faint);font-style:italic;font-weight:500}
.herb__what{font-size:12.5px;color:var(--ink);line-height:1.45}
.herb__trad{font-size:12.5px;color:var(--ink-soft);line-height:1.45;flex:1}
.herb__foot{display:flex;flex-direction:column;gap:.55rem;margin-top:.6rem;padding-top:.7rem;border-top:1px solid var(--line)}
.herb__found{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}
.herb__shop{align-self:flex-start;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:2px;display:inline-flex;align-items:center;gap:.35rem;transition:gap .2s}
.herb__shop:hover{gap:.6rem}

/* getting started + faq */
.start__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.start__steps{list-style:none;display:flex;flex-direction:column}
.step{display:flex;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line)}
.step:first-child{padding-top:0}
.step:last-child{border-bottom:none;padding-bottom:0}
.step__n{flex:0 0 auto;font-size:11px;color:var(--ink-faint);font-weight:600;letter-spacing:.1em;padding-top:.2rem}
.step h3{font-size:1rem;font-weight:600;margin-bottom:.25rem}
.step p{font-size:13.5px;color:var(--ink-soft);line-height:1.5}
.start__faq{display:flex;flex-direction:column}
.faq{border-bottom:1px solid var(--line)}
.faq:first-child{border-top:1px solid var(--line)}
.faq__q{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0;font-size:14.5px;font-weight:600;color:var(--ink)}
.faq__q::-webkit-details-marker{display:none}
.faq__i{font-size:1.3rem;line-height:1;color:var(--ink-faint);font-weight:300;transition:transform .25s var(--ease)}
.faq[open] .faq__i{transform:rotate(45deg)}
.faq__a{font-size:13.5px;color:var(--ink-soft);line-height:1.6;padding:0 0 1.1rem;max-width:62ch}

@media(max-width:960px){
  .learn__grid,.start__grid,.about__body{grid-template-columns:1fr;gap:1.6rem}
  .dosha-grid{grid-template-columns:1fr}.dosha{border-inline-end:none;border-bottom:1px solid var(--line)}.dosha:last-child{border-bottom:none}
  .about__pillars{grid-template-columns:1fr 1fr}.apill{border-bottom:1px solid rgba(255,255,255,.15);padding:1.4rem 1.2rem 1.2rem 0}.apill:nth-child(2n){border-inline-end:none}
  .concern-grid,.herb-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .concern-grid,.herb-grid{grid-template-columns:1fr}
  .about__pillars{grid-template-columns:1fr}.apill{border-inline-end:none}
}

/* ============================================================
   PRODUCT PAGE (PDP) — The Ordinary-style full product page
   ============================================================ */
.pdp{padding:calc(var(--hdr) + clamp(1.2rem,3vh,2rem)) 0 0}
.pdp__back{display:inline-flex;align-items:center;gap:.5rem;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--ink-soft);margin-bottom:clamp(1.2rem,2.4vw,1.8rem);transition:color .2s}
.pdp__back:hover{color:var(--ink)}
.pdp__back .arr{transition:transform .2s var(--ease)}
.pdp__back:hover .arr{transform:translateX(-3px)}

/* ── two columns: big sticky image | compact buy+info panel ── */
.pdp__grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(2rem,4vw,4.5rem);align-items:start}
.pdp__gallery{position:sticky;top:calc(var(--hdr) + 20px)}
.pdp__stage{aspect-ratio:1;background:var(--bg-alt);display:grid;place-items:center;overflow:hidden}
.pdp__stage img{width:82%;height:82%;object-fit:contain;mix-blend-mode:multiply}
.pdp__thumbs{display:flex;gap:.55rem;margin-top:.65rem;flex-wrap:wrap}
.pdp__thumb{width:62px;height:62px;border:1px solid var(--line);background:var(--bg-alt);display:grid;place-items:center;cursor:pointer;padding:0;transition:border-color .2s}
.pdp__thumb.is-active{border-color:var(--ink)}
.pdp__thumb:hover{border-color:var(--ink-soft)}
.pdp__thumb img{width:80%;height:80%;object-fit:contain;mix-blend-mode:multiply}

/* right panel */
.pdp__panel{max-width:500px}
.pdp__brand{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}
.pdp__name{font-size:clamp(1.5rem,1.2rem+1.1vw,2rem);font-weight:600;letter-spacing:-.02em;line-height:1.12;margin:.5rem 0 0}
.pdp__subtitle{font-size:1rem;color:var(--ink-soft);margin-top:.55rem;line-height:1.45}
.pdp__pricing{display:flex;align-items:baseline;gap:.6rem;margin-top:1.3rem;flex-wrap:wrap}
.pdp__price{font-size:1.4rem;font-weight:600;font-feature-settings:'tnum'}
.pdp__price s{color:var(--ink-faint);font-weight:400;font-size:.95rem;margin-inline-start:.5rem}
.pdp__price-note{font-size:12px;color:var(--ink-soft);letter-spacing:.01em}
/* delivery + free-ship nudge */
.pdp__ship{margin-top:.85rem;display:flex;flex-direction:column;gap:.35rem}
.pdp__ship-deliver{display:flex;align-items:center;gap:.45rem;font-size:11px;letter-spacing:.02em;color:var(--ink-soft);font-weight:500;text-transform:none}
.pdp__ship-deliver .ti{width:15px;height:15px;color:var(--brand);flex:0 0 auto}
.pdp__ship-free{font-size:11px;letter-spacing:.02em;font-weight:600;color:var(--brand);text-transform:none;padding-inline-start:1.2rem}
.pdp__ship-free.is-unlocked{color:var(--brand)}
/* quantity + add row */
.pdp__buy{display:flex;align-items:stretch;gap:.7rem;margin-top:1.1rem}
.pdp__qty{display:inline-flex;align-items:center;border:1px solid var(--line-mid);border-radius:2px;flex:0 0 auto}
.pdp__qty-btn{width:44px;height:48px;display:grid;place-items:center;font-size:18px;color:var(--ink);background:none;transition:background .15s}
.pdp__qty-btn:hover{background:var(--bg-alt)}
.pdp__qty-n{min-width:38px;text-align:center;font-size:14px;font-weight:600;font-feature-settings:'tnum'}
.pdp__add{flex:1;margin-top:0;width:auto;padding-block:0;min-height:48px;font-size:12px}
.pdp__trust{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-weight:600;margin-top:.9rem;text-align:center}
/* founder authority strip near CTA */
.pdp__authority{display:flex;align-items:center;gap:.7rem;width:100%;text-align:start;margin-top:1rem;padding:.7rem .8rem;border:1px solid var(--line);border-radius:2px;background:var(--bg-alt);transition:border-color .18s}
.pdp__authority:hover{border-color:var(--brand)}
.pdp__authority-img{width:38px;height:46px;flex:0 0 auto;object-fit:cover;object-position:center top;border-radius:2px}
.pdp__authority-img--mark{width:34px;height:34px;object-fit:contain}
.pdp__authority-txt{font-size:11.5px;line-height:1.45;color:var(--ink-soft);font-weight:500}
.pdp__authority-go{color:var(--brand);font-weight:700;margin-inline-start:.2rem}

/* cross-sell — completes your routine */
.pdp__pairs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-inline-start:1px solid var(--line);margin-top:1.4rem}
.pairc{display:flex;flex-direction:column;border-inline-end:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg);transition:background .2s}
.pairc:hover{background:var(--bg-alt)}
.pairc__media{aspect-ratio:1;background:var(--bg);display:grid;place-items:center;overflow:hidden;cursor:pointer}
.pairc__media img{width:100%;height:100%;object-fit:contain;padding:14%;mix-blend-mode:multiply;transition:transform .4s var(--ease)}
.pairc:hover .pairc__media img{transform:scale(1.04)}
.pairc__body{padding:.9rem 1rem 1rem;display:flex;flex-direction:column;gap:.3rem;flex:1;border-top:1px solid var(--line)}
.pairc__cat{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}
.pairc__title{font-size:13px;font-weight:600;line-height:1.3;cursor:pointer;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pairc__foot{margin-top:auto;padding-top:.7rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.pairc__price{font-weight:600;font-size:13px;font-feature-settings:'tnum'}
.pairc__add{flex:0 0 auto;background:none;border:1px solid var(--line-mid);color:var(--ink-soft);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.4rem .75rem;border-radius:2px;transition:.18s}
.pairc__add:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.pairc__add.added{background:var(--brand)!important;border-color:var(--brand)!important;color:#fff!important}
/* honest comparison table */
.pdp__compare{margin-top:1.4rem;border:1px solid var(--line);border-radius:2px;overflow:hidden}
.pdp__compare-head,.pdp__compare-row{display:grid;grid-template-columns:1.5fr 1fr 1fr;align-items:center}
.pdp__compare-head{background:var(--bg-alt);font-size:11px;letter-spacing:.04em;text-transform:uppercase;font-weight:600}
.pdp__compare-head span,.pdp__compare-row span{padding:.85rem 1rem;border-bottom:1px solid var(--line)}
.pdp__compare-row:last-child span{border-bottom:none}
.pdp__compare-l{font-size:13px;font-weight:500;color:var(--ink)}
.pdp__compare-us{font-size:12.5px;color:var(--ink);font-weight:600;border-inline:1px solid var(--line)}
.pdp__compare-head .pdp__compare-us{color:var(--brand)}
.pdp__compare-them{font-size:12px;color:var(--ink-faint)}
.pdp__tick{color:var(--brand);font-weight:700;margin-inline-end:.4rem}
/* sticky mobile buy-bar */
.pdp__sticky{display:none}
.pdp__sticky-info{display:flex;align-items:center;gap:.6rem;min-width:0;flex:1}
.pdp__sticky-img{width:38px;height:38px;object-fit:contain;mix-blend-mode:multiply;flex:0 0 auto}
.pdp__sticky-meta{display:flex;flex-direction:column;min-width:0}
.pdp__sticky-name{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pdp__sticky-price{font-size:12px;color:var(--ink-soft);font-weight:600;font-feature-settings:'tnum'}
.pdp__sticky-add{flex:0 0 auto;margin-top:0;min-height:44px;padding:0 1.3rem;font-size:11px;white-space:nowrap}
@media(max-width:860px){
  .pdp__pairs{grid-template-columns:1fr 1fr}
  .pdp__compare-head,.pdp__compare-row{grid-template-columns:1.3fr 1fr 1fr}
  .pdp__sticky.is-visible{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;align-items:center;gap:.8rem;padding:.6rem max(12px,env(safe-area-inset-left)) calc(.6rem + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);box-shadow:0 -4px 20px rgba(0,0,0,.07)}
}
@media(max-width:480px){
  .pdp__pairs{grid-template-columns:1fr}
  .pdp__compare-head,.pdp__compare-row{grid-template-columns:1.1fr .9fr .9fr}
  .pdp__compare-head span,.pdp__compare-row span{padding:.7rem .6rem;font-size:11px}
}
.pdp__lead{font-size:15px;line-height:1.65;color:var(--ink);margin-top:1.6rem;padding-top:1.6rem;border-top:1px solid var(--line)}
.pdp__benefits{margin-top:1.4rem}
.pdp__benefits-h{display:block;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-weight:600;margin-bottom:.8rem}
.pdp__list{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.pdp__list li{font-size:14px;line-height:1.5;color:var(--ink);padding-inline-start:1.1rem;position:relative}
.pdp__list li::before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;background:var(--brand);border-radius:50%}

/* key facts: label | value rows */
.pdp__facts{margin-top:1.6rem;border-top:1px solid var(--line)}
.pdp__fact{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line);align-items:start}
.pdp__fact-k{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-weight:600;padding-top:.15rem}
.pdp__fact-v{font-size:13.5px;line-height:1.5;color:var(--ink)}
.pdp__tags{display:flex;flex-wrap:wrap;gap:.4rem}
.pdp__tag{font-size:11px;font-weight:500;padding:.3rem .65rem;border:1px solid var(--line-mid);color:var(--ink);cursor:pointer;transition:.18s}
.pdp__tag:hover{border-color:var(--brand);color:var(--brand)}

/* accordions (How to use / Details / Precautions) */
.pdp__accs{margin-top:.4rem}
.pdp__acc{border-bottom:1px solid var(--line)}
.pdp__acc-q{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.05rem 0;font-size:12.5px;letter-spacing:.04em;font-weight:600;color:var(--ink)}
.pdp__acc-q::-webkit-details-marker{display:none}
.pdp__acc-i{font-size:1.25rem;line-height:1;color:var(--ink-faint);font-weight:300;transition:transform .25s var(--ease)}
.pdp__acc[open] .pdp__acc-i{transform:rotate(45deg)}
.pdp__acc-a{padding:0 0 1.15rem}
.pdp__acc-a p{font-size:13.5px;line-height:1.65;color:var(--ink-soft)}
.pdp__dl{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--line)}
.pdp__dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line)}
.pdp__dl>div:last-child{border-bottom:none}
.pdp__dl dt{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}
.pdp__dl dd{font-size:13px;color:var(--ink);text-align:end}

/* assurances under the add button */
.pdp__assurances{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;margin-top:1rem;justify-content:center}
.pdp__assurances li{font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-weight:600;position:relative;padding-inline-start:1rem}
.pdp__assurances li::before{content:"✓";position:absolute;left:0;color:var(--brand);font-size:11px}
.pdp__acc-routine{margin-top:.7rem}
.pdp__acc-routine b{color:var(--ink)}

/* ── full-width info / trust sections below the hero ── */
.pdp__sec-block{padding:clamp(2.6rem,5vw,4rem) 0;border-top:1px solid var(--line)}
.pdp__sec-alt{background:var(--bg-alt)}
.pdp__sec-narrow{max-width:820px;margin-inline:auto}
.pdp__h2{font-size:clamp(1.3rem,1.1rem+.7vw,1.6rem);font-weight:600;letter-spacing:-.02em}
.pdp__h2--center{text-align:center}
.pdp__h2-sub{font-size:13px;color:var(--ink-soft);margin-top:.4rem;letter-spacing:.01em}

/* key ingredients — transparent list */
.pdp__ings{list-style:none;margin-top:1.4rem;border-top:1px solid var(--line)}
.pdp__ings li{display:grid;grid-template-columns:minmax(8rem,12rem) 1fr;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line);align-items:baseline}
.pdp__ing-n{font-size:14px;font-weight:600;color:var(--ink)}
.pdp__ing-d{font-size:13px;color:var(--ink-soft);line-height:1.5}

/* good to know */
.pdp__gtk{list-style:none;margin-top:1.3rem;display:flex;flex-direction:column;gap:.7rem}
.pdp__gtk li{font-size:14px;line-height:1.55;color:var(--ink);padding-inline-start:1.3rem;position:relative}
.pdp__gtk li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border:1.5px solid var(--brand);border-radius:50%}

/* WHY band (trust) */
.pdp__why{background:var(--bg-deep);color:#fff;padding:clamp(3rem,6vw,5rem) 0;margin-top:0}
.pdp__why-kicker{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:600}
.pdp__why-h{font-size:clamp(1.5rem,1.1rem+1.6vw,2.3rem);font-weight:600;letter-spacing:-.025em;margin-top:.5rem;max-width:20ch}
.pdp__why-sub{color:rgba(255,255,255,.7);font-size:15px;line-height:1.6;margin-top:1rem;max-width:60ch}
.pdp__why-founder{display:flex;align-items:center;gap:1rem;margin:2rem 0 0;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.15)}
.pdp__why-portrait{width:56px;height:70px;flex:0 0 auto;object-fit:cover;object-position:center top;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06)}
.pdp__why-portrait--mark{width:48px;height:48px;object-fit:contain;border:none;background:none;opacity:.85}
.pdp__why-cred{margin:0;font-size:11px;line-height:1.6;letter-spacing:.04em;color:rgba(255,255,255,.55);text-transform:uppercase;font-weight:600;max-width:42ch}
.pdp__pillars{display:grid;grid-template-columns:repeat(4,1fr);margin-top:2.4rem;border-top:1px solid rgba(255,255,255,.15)}
.pdp__pillar{padding:1.4rem 1.2rem 0 0;border-inline-end:1px solid rgba(255,255,255,.15)}
.pdp__pillar:last-child{border-inline-end:none;padding-inline-end:0}
.pdp__pillar-n{font-size:11px;color:rgba(255,255,255,.5);font-weight:600;letter-spacing:.1em}
.pdp__pillar h3{font-size:.95rem;color:#fff;margin:.6rem 0 .3rem;font-weight:600}
.pdp__pillar p{color:rgba(255,255,255,.6);font-size:12.5px;line-height:1.5}

/* ordering with confidence */
.pdp__assures{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:1.8rem;border:1px solid var(--line)}
.pdp__assure-item{padding:1.4rem;border-inline-end:1px solid var(--line);display:flex;flex-direction:column;gap:.5rem}
.pdp__assure-item:last-child{border-inline-end:none}
.pdp__assure-l{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);font-weight:600}
.pdp__assure-t{font-size:13px;line-height:1.5;color:var(--ink-soft)}

/* related */
.pdp__related-grid{grid-template-columns:repeat(4,1fr);margin-top:1.5rem}

/* faq + new-to */
.pdp__faqs{margin-top:1.4rem}
.pdp__faqs .pdp__acc-q{font-size:14px}
.pdp__newto{margin-top:1.8rem;font-size:14px;color:var(--ink-soft)}
.pdp__newto-cta{font-weight:600;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:1px;display:inline-flex;align-items:center;gap:.35rem;transition:gap .2s}
.pdp__newto-cta:hover{gap:.6rem}

@media(max-width:860px){
  .pdp__grid{grid-template-columns:1fr;gap:1.6rem}
  .pdp__gallery{position:static;max-width:460px}
  .pdp__panel{max-width:none}
  .pdp__related-grid{grid-template-columns:repeat(2,1fr)}
  .pdp__pillars{grid-template-columns:1fr 1fr}.pdp__pillar{border-bottom:1px solid rgba(255,255,255,.15);padding:1.3rem 1.2rem 1.2rem 0}.pdp__pillar:nth-child(2n){border-inline-end:none}
  .pdp__assures{grid-template-columns:1fr 1fr}.pdp__assure-item:nth-child(2n){border-inline-end:none}
}
@media(max-width:560px){
  .pdp__ings li{grid-template-columns:1fr;gap:.2rem}
  .pdp__pillars,.pdp__assures{grid-template-columns:1fr}
  .pdp__assure-item{border-inline-end:none;border-bottom:1px solid var(--line)}
}

/* ============================================================
   TRUST ARCHITECTURE — bar / standards / badges / guarantee / safety
   ============================================================ */
.trustbar{border-bottom:1px solid var(--line);background:var(--bg);font-feature-settings:'tnum'}
.trustbar__row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem 1.5rem;padding:.7rem 0}
.trustbar__item{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-weight:600;position:relative;padding-inline-start:1.05rem;white-space:nowrap}
.trustbar__item::before{content:"✓";position:absolute;left:0;color:var(--brand);font-size:11px;font-weight:700}

/* our standards */
.standards-sec{background:var(--bg-alt);border-block:1px solid var(--line)}
.std-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line);border-inline-start:1px solid var(--line);background:var(--bg)}
.std{display:flex;gap:1rem;padding:clamp(1.2rem,2vw,1.6rem);border-inline-end:1px solid var(--line);border-bottom:1px solid var(--line)}
.std__n{flex:0 0 auto;font-size:11px;color:var(--ink-faint);font-weight:600;letter-spacing:.08em;padding-top:.15rem}
.std__l{font-size:.98rem;font-weight:600;letter-spacing:-.01em;margin-bottom:.3rem}
.std__t{font-size:13px;color:var(--ink-soft);line-height:1.55}

/* trust badges */
.tbadges{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:1.6rem;border-top:1px solid var(--line);border-inline-start:1px solid var(--line)}
.tbadge{padding:1.2rem;border-inline-end:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg)}
.tbadge__l{display:block;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--brand);font-weight:600;margin-bottom:.45rem}
.tbadge__t{font-size:12.5px;color:var(--ink-soft);line-height:1.5}

/* guarantee band */
.guarantee{background:var(--bg-deep);color:#fff;padding:clamp(3rem,6vw,4.5rem) 0}
.guarantee__inner{max-width:none}
.guarantee .ihead__kicker,.guarantee__inner>.mono{color:rgba(255,255,255,.5)}
.guarantee__h{font-size:clamp(1.4rem,1.1rem+1.2vw,2rem);font-weight:600;letter-spacing:-.025em;margin-top:.4rem}
.guarantee__promise{color:rgba(255,255,255,.78);font-size:15px;line-height:1.55;margin-top:.8rem;max-width:62ch}
/* trust icon (shared line-icon) */
.ti{width:22px;height:22px;flex:0 0 auto;stroke:currentColor}

/* visual seals — guarantee band */
.seals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:2.2rem;border-top:1px solid rgba(255,255,255,.15)}
.seal{display:flex;gap:.9rem;align-items:flex-start;padding:1.5rem 1.4rem 1.5rem 0;border-inline-end:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}
.seal:nth-child(3n){border-inline-end:none}
.seal .ti{color:rgba(255,255,255,.85);margin-top:1px}
.seal__l{font-size:.92rem;color:#fff;font-weight:600;margin-bottom:.3rem}
.seal__t{font-size:12.5px;color:rgba(255,255,255,.6);line-height:1.5}

/* founder letter */
.founder{border-bottom:1px solid var(--line);background:var(--bg-alt);padding:clamp(3rem,6vw,5rem) 0}
.founder__grid{display:grid;grid-template-columns:200px 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start;max-width:none}
.founder__seal{display:flex;flex-direction:column;gap:1rem;position:sticky;top:calc(var(--hdr) + 24px);margin:0}
.founder__portrait{width:100%;max-width:200px;aspect-ratio:4/5;object-fit:cover;object-position:center top;border:1px solid var(--line);background:var(--bg);display:block;filter:grayscale(8%)}
.founder__portrait--mark{aspect-ratio:auto;width:96px;height:96px;object-fit:contain;border:none;background:none;opacity:.9;filter:none}
.founder__cred{font-size:10.5px;line-height:1.6;letter-spacing:.04em;color:var(--ink-soft);text-transform:uppercase;font-weight:600;max-width:24ch;margin:0}
.founder__h{font-size:clamp(1.4rem,1.05rem+1.4vw,2.1rem);font-weight:600;letter-spacing:-.025em;line-height:1.18;margin:.5rem 0 1.2rem}
.founder__body p{font-size:15.5px;line-height:1.7;color:var(--ink-soft);margin-bottom:1rem;max-width:64ch}
.founder__sign{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:1.7rem;color:var(--ink);margin-top:1.6rem;line-height:1}
.founder__signsub{display:block;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-weight:600;margin-top:.5rem}

/* credibility facts strip */
.credibility-sec{border-bottom:1px solid var(--line);padding:clamp(2.4rem,5vw,3.6rem) 0}
.cred__kicker{display:block;color:var(--ink-faint);margin-bottom:1.4rem}
.cred__list{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line);border-inline-start:1px solid var(--line)}
.cred__list li{font-size:13.5px;line-height:1.55;color:var(--ink-soft);padding:1rem 1.3rem;border-bottom:1px solid var(--line);border-inline-end:1px solid var(--line);position:relative;padding-inline-start:2.1rem}
.cred__list li::before{content:"";position:absolute;left:1.3rem;top:1.25rem;width:6px;height:6px;border-radius:50%;background:var(--brand)}

/* seals mini — PDP under add-to-cart */
.seals-mini{display:grid;grid-template-columns:1fr 1fr;gap:.55rem .9rem;margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--line)}
.seals-mini li{display:flex;align-items:center;gap:.5rem;font-size:11px;letter-spacing:.02em;color:var(--ink-soft);font-weight:500}
.seals-mini .ti{width:17px;height:17px;color:var(--brand)}

/* PDP add-to-cart reassurance */
.pdp__atc-reassure{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);font-weight:600;text-align:center;margin-top:.75rem;line-height:1.5}

/* footer safety note */
.footer__safety{font-size:11px;line-height:1.6;color:var(--ink-faint);letter-spacing:.01em;max-width:90ch;margin:0 0 1.4rem;padding-top:1.4rem;border-top:1px solid var(--line)}

@media(max-width:860px){
  .std-grid,.seals-grid{grid-template-columns:1fr}
  .std,.seal{border-inline-end:none}
  .seal:nth-child(3n){border-inline-end:none}
  .tbadges{grid-template-columns:1fr 1fr}.tbadge:nth-child(3n){border-inline-end:1px solid var(--line)}
  .founder__grid{grid-template-columns:1fr;gap:1.6rem}
  .founder__seal{position:static;flex-direction:row;align-items:center;gap:1.1rem}
  .founder__portrait{width:96px;max-width:96px;aspect-ratio:4/5;flex:0 0 auto}
  .founder__portrait--mark{width:60px;height:60px}
}
@media(max-width:560px){
  .tbadges,.cred__list,.seals-mini{grid-template-columns:1fr}
  .trustbar__row{gap:.3rem 1rem;padding:.6rem .8rem}
  .trustbar__item{font-size:9.5px}
}

/* ---------- category index ---------- */
.streams__list{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-bottom:none}
.cat-card{position:relative;display:flex;flex-direction:column;text-align:start;padding:1.4rem;border-bottom:1px solid var(--line);border-inline-end:1px solid var(--line);cursor:pointer;transition:background .2s;min-height:230px}
.cat-card:nth-child(5n){border-inline-end:none}
.cat-card:hover{background:var(--bg-alt)}
.cat-card--strip{grid-column:1/-1;flex-direction:row;align-items:center;gap:1rem;min-height:auto;padding:1rem 1.4rem;border-inline-end:none}
.cat-card__img{height:120px;display:grid;place-items:center;margin-bottom:auto}
.cat-card--strip .cat-card__img{height:48px;width:48px;margin:0}
.cat-card__img img{max-width:78%;max-height:100%;width:auto;height:auto;min-height:0;object-fit:contain;mix-blend-mode:multiply}
.cat-card--strip .cat-card__img img{max-height:90%}
.cat-card__arrow{display:none}
.cat-card__eyebrow{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}
.cat-card__name{font-size:1.05rem;font-weight:600;margin-top:.5rem;letter-spacing:-.01em}
.cat-card--strip .cat-card__name{margin-top:0}
.cat-card__count{font-size:12px;color:var(--ink-soft);margin-top:.25rem}
.cat-card--strip{justify-content:flex-start}.cat-card--strip .cat-card__count{margin-inline-start:auto}

/* ---------- shop ---------- */
.shop__layout{display:grid;grid-template-columns:208px 1fr;gap:clamp(1.6rem,3vw,3.2rem);align-items:start}
.rail{position:sticky;top:calc(var(--hdr) + 20px);align-self:start}
.rail__toggle{display:none}
.rail__search{display:flex;align-items:center;gap:.55rem;border-bottom:1px solid var(--ink);padding-bottom:.55rem;color:var(--ink-soft)}
.rail__search input{flex:1;border:none;background:none;outline:none;font-size:13px;color:var(--ink)}
.rail__filters{margin-top:1.6rem;display:flex;flex-direction:column}
.fgroup{display:flex;justify-content:space-between;gap:1rem;width:100%;text-align:start;font-weight:500;font-size:13.5px;padding:.5rem 0;color:var(--ink-soft);
  border-bottom:1px solid var(--line);transition:color .2s}
.fgroup:hover{color:var(--ink)}
.fgroup.is-active{color:var(--ink);font-weight:600}
.fgroup__c{font-size:11px;color:var(--ink-faint);font-feature-settings:'tnum'}
.fsub{display:flex;flex-direction:column;padding:.4rem 0 .6rem .2rem}
.fsubitem{display:flex;justify-content:space-between;gap:1rem;padding:.3rem 0;font-size:12.5px;color:var(--ink-soft);transition:color .2s}
.fsubitem:hover{color:var(--ink)}
.fsubitem.is-active{color:var(--brand);font-weight:600}
.fsubitem .fgroup__c{font-size:10.5px}
.rail__sort{margin-top:1.6rem;display:flex;flex-direction:column;gap:.5rem}
.rail__sort .label{font-size:10px}
.rail__sort select{border:1px solid var(--line-mid);background:var(--bg);padding:.55rem .7rem;font-size:12.5px;outline:none;cursor:pointer}

.shop__bar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem}
.shop__showing{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-weight:600;font-feature-settings:'tnum'}
.shop__tokens{display:flex;gap:.4rem;flex-wrap:wrap}
.token{font-size:11px;font-weight:600;padding:.32rem .6rem;border:1px solid var(--line-mid);display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;transition:.2s}
.token:hover{border-color:var(--ink)}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(200px,24vw,260px),1fr));gap:0;border-top:1px solid var(--line);border-inline-start:1px solid var(--line)}
.card{position:relative;background:var(--bg);display:flex;flex-direction:column;cursor:pointer;border-inline-end:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s}
.card:hover{background:var(--bg-alt)}
.card:focus-visible{outline-offset:-2px}
.card__media{position:relative;aspect-ratio:1;background:var(--bg);overflow:hidden;display:grid;place-items:center}
.card:hover .card__media{background:transparent}
.card__media img{width:100%;height:100%;object-fit:contain;padding:16%;transition:transform .5s var(--ease);mix-blend-mode:multiply}
.card:hover .card__media img{transform:scale(1.04)}
.card__code{display:none}
.card__body{padding:1rem 1.05rem 1.15rem;display:flex;flex-direction:column;gap:.3rem;flex:1;border-top:1px solid var(--line)}
.card__cat{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}
.card__title{font-size:14px;font-weight:600;line-height:1.3;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card__desc{font-size:12px;color:var(--ink-soft);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card__foot{margin-top:auto;padding-top:.7rem;display:flex;align-items:center;justify-content:space-between;gap:.8rem}
.card__price{font-weight:600;font-size:13.5px;color:var(--ink);font-feature-settings:'tnum'}
.card__add{flex:0 0 auto;background:none;border:1px solid var(--line);color:var(--ink-soft);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  padding:.45rem .8rem;border-radius:2px;transition:.18s var(--ease)}
@media (hover:hover){
  .card:hover .card__add{border-color:var(--ink);color:var(--ink)}
  .card__add:hover{background:var(--ink);border-color:var(--ink);color:#fff}
}
.card__add:active{background:var(--brand);border-color:var(--brand);color:#fff;transition:none}
.card__add.added{background:var(--brand)!important;border-color:var(--brand)!important;color:#fff!important}
.loadmore{display:flex;margin:2.6rem auto 0;padding:.85rem 2rem;border:1px solid var(--ink);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.5rem;transition:.2s}
.loadmore:hover{background:var(--ink);color:#fff}
.shop__empty{grid-column:1/-1;text-align:center;padding:3rem 0;color:var(--ink-soft);display:flex;flex-direction:column;gap:1rem;align-items:center}

/* ---------- remedy ---------- */
.remedy{border-bottom:1px solid var(--line)}
.remedy__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.remedy__media{aspect-ratio:1;background:var(--bg-alt);display:grid;place-items:center}
.remedy__media img{width:64%;height:64%;object-fit:contain;mix-blend-mode:multiply}
.remedy__title{font-size:clamp(1.5rem,1.1rem+1.6vw,2.4rem);font-weight:600;margin:.4rem 0;letter-spacing:-.025em}
.remedy__desc{color:var(--ink-soft);font-size:15px;line-height:1.6;max-width:44ch}
.remedy__foot{display:flex;align-items:center;gap:1.6rem;margin-top:1.8rem;flex-wrap:wrap}
.remedy__price{font-size:1.2rem;font-weight:600;font-feature-settings:'tnum'}

/* ---------- heritage (clean dark band) ---------- */
.heritage{background:var(--bg-deep);color:#fff;padding:clamp(4rem,9vh,7rem) 0}
.heritage__seam,.heritage__banyan,.band__deva{display:none}
.heritage__inner{max-width:760px}
.heritage .section__num{color:rgba(255,255,255,.5)}
.heritage__quote{font-size:clamp(1.6rem,1.1rem+2vw,2.8rem);font-weight:600;line-height:1.12;letter-spacing:-.025em;max-width:20ch}
.heritage__body{color:rgba(255,255,255,.7);font-size:15px;margin-top:1.4rem;max-width:54ch;line-height:1.65}
.heritage__pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:2.6rem;border-top:1px solid rgba(255,255,255,.15)}
.hpill{padding:1.4rem 1.4rem 0 0;border-inline-end:1px solid rgba(255,255,255,.15)}
.hpill:last-child{border-inline-end:none}
.hpill__n{font-size:11px;color:rgba(255,255,255,.5);font-weight:600;letter-spacing:.1em}
.hpill h3{font-size:1rem;color:#fff;margin-top:.6rem;font-weight:600}
.hpill p{color:rgba(255,255,255,.6);font-size:13px;margin-top:.3rem;line-height:1.5}

/* river band → reuse as a clean off-white statement */
.band--river{background:var(--bg-alt);color:var(--ink);padding:clamp(4rem,9vh,6rem) 0;border-block:1px solid var(--line)}
.band--obsidian{background:var(--bg-deep);color:#fff}
.band--river .section__num{color:var(--ink-soft)}
.river__inner{max-width:680px}
.river__quote{font-size:clamp(1.6rem,1.2rem+2vw,2.8rem);font-weight:600;line-height:1.1;letter-spacing:-.025em;max-width:18ch}
.river__quote em{font-style:normal}
.river__sub{color:var(--ink-soft);font-size:15px;margin-top:1.2rem;max-width:48ch;line-height:1.6}
.river__cta{margin-top:1.6rem;display:inline-flex}

/* ---------- proof / dispatch ---------- */
.proof{padding:clamp(2rem,4vh,3rem) 0;border-bottom:1px solid var(--line)}
.proof__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem 2rem;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}
.proof__row i{display:none}
.dispatch{padding:clamp(3.5rem,8vh,6rem) 0}
.dispatch__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.dispatch__sub{color:var(--ink-soft);margin-top:.9rem;max-width:40ch;font-size:15px}
.dispatch__form{display:flex;flex-direction:column;gap:.8rem;max-width:420px}
.dispatch__form input{width:100%;border:1px solid var(--ink);background:var(--bg);padding:.9rem 1.1rem;font-size:14px;outline:none}
.dispatch__form .link-cta,.dispatch__form .btn{align-self:flex-start}
.dispatch__note{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-weight:600;margin-top:.4rem}

/* ---------- footer ---------- */
.footer{background:var(--bg-deep);color:#fff;padding:clamp(3.5rem,7vh,5rem) 0 2rem}
.footer__roots{display:none}
.footer__grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:2rem}
.footer__brand .brand__logo{filter:brightness(0) invert(1);opacity:.92}
.footer__tag{color:rgba(255,255,255,.85);margin-top:1rem;font-size:15px;font-weight:500}
.footer__made{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-top:.6rem;font-weight:600}
.footer__director{font-size:11px;line-height:1.6;color:rgba(255,255,255,.5);margin-top:1rem;max-width:34ch;letter-spacing:.01em;text-transform:none;font-weight:500}
.footer__col h4{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:1.1rem;font-weight:600}
.footer__col a{display:block;color:rgba(255,255,255,.8);padding:.32rem 0;font-size:13px;transition:color .2s}
.footer__col a:hover{color:#fff}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;margin-top:3rem;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.15);
  font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.45);flex-wrap:wrap;gap:1rem;font-weight:600}
.footer__bottom .region-btn{border-color:rgba(255,255,255,.3);color:#fff}

/* ---------- modal ---------- */
.modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:1.2rem}
.modal__backdrop,.drawer__backdrop{position:absolute;inset:0;background:rgba(26,26,26,.5);animation:fade .25s}
.modal__card{position:relative;z-index:1;width:min(880px,100%);max-height:90vh;overflow:auto;background:var(--bg);border:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;animation:rise .4s var(--ease) both}
.modal__close{position:absolute;top:.8rem;right:.8rem;z-index:3;width:38px;height:38px;font-size:1.3rem;line-height:1;background:var(--bg);border:1px solid var(--line);display:grid;place-items:center;transition:.2s}
.modal__close:hover{background:var(--ink);color:#fff}
.modal__media{background:var(--bg-alt);display:grid;place-items:center;min-height:320px;border-inline-end:1px solid var(--line)}
.modal__media img{width:74%;height:74%;object-fit:contain;mix-blend-mode:multiply}
.modal__body{padding:clamp(1.6rem,3vw,2.4rem);display:flex;flex-direction:column;gap:.7rem}
.pm-cat{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}
#pm-title{font-size:clamp(1.4rem,1.1rem+1vw,1.9rem);font-weight:600;letter-spacing:-.02em}
.pm-price{font-size:1.2rem;font-weight:600;font-feature-settings:'tnum'}
.pm-price s{color:var(--ink-faint);font-weight:400;font-size:.95rem;margin-inline-start:.5rem}
.pm-desc{color:var(--ink-soft);line-height:1.6;font-size:14.5px}
.pm-meta{list-style:none;display:flex;flex-direction:column;font-size:13px;color:var(--ink-soft);margin-top:.4rem}
.pm-meta li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line)}
.pm-meta li b{color:var(--ink);font-weight:600}
#pm-add{margin-top:.8rem}
.pm-trust{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);text-align:center;font-weight:600;margin-top:.3rem}

/* ---------- drawers ---------- */
.drawer,.nav-drawer{position:fixed;inset:0;z-index:95}
.drawer__panel{position:absolute;inset-inline-end:0;top:0;height:100%;width:min(420px,100%);background:var(--bg);display:flex;flex-direction:column;border-inline-start:1px solid var(--line);animation:slideIn .35s var(--ease) both}
.drawer__head{display:flex;align-items:center;justify-content:space-between;padding:1.4rem 1.5rem 1.1rem;border-bottom:1px solid var(--line)}
.drawer__head h3{font-weight:600;font-size:1.1rem;letter-spacing:-.01em}
.drawer__ship{margin:1rem 1.5rem 0;padding:.9rem 0;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-weight:600;border-bottom:1px solid var(--line)}
.drawer__ship-bar{height:3px;background:var(--line);overflow:hidden;margin-bottom:.55rem}
.drawer__ship-bar span{display:block;height:100%;width:calc(var(--p,0) * 100%);background:var(--ink);transition:width .5s var(--ease)}
.drawer__items{flex:1;overflow:auto;padding:.4rem 1.5rem;display:flex;flex-direction:column}
.cart-item{display:flex;gap:.9rem;align-items:center;padding:.9rem 0;border-bottom:1px solid var(--line)}
.cart-item img{width:56px;height:56px;object-fit:contain;background:var(--bg-alt);padding:8%;mix-blend-mode:multiply}
.cart-item__t{font-size:13.5px;font-weight:600;line-height:1.25}
.cart-item__p{color:var(--ink-soft);font-size:12px;margin-top:.2rem;font-feature-settings:'tnum'}
.cart-item__rm{margin-inline-start:auto;color:var(--ink-faint);font-size:1.1rem;transition:.2s}
.cart-item__rm:hover{color:var(--ink)}
.drawer__empty{padding:3rem 1.5rem;color:var(--ink-soft);text-align:center}
.drawer__foot{padding:1.3rem 1.5rem;border-top:1px solid var(--line)}
.drawer__total{display:flex;justify-content:space-between;align-items:baseline;font-size:1rem;font-weight:600;margin-bottom:1rem}
.drawer__total b{font-feature-settings:'tnum'}
.nav-drawer__panel{position:absolute;inset-inline-end:0;top:0;height:100%;width:min(320px,82%);background:var(--bg);padding:4.5rem 2rem 2rem;display:flex;flex-direction:column;border-inline-start:1px solid var(--line);animation:slideIn .35s var(--ease) both}
.nav-drawer__panel a{font-size:1.3rem;font-weight:600;padding:.85rem 0;border-bottom:1px solid var(--line);letter-spacing:-.02em}

.ghost{position:fixed;z-index:120;width:54px;height:54px;background:var(--bg);border:1px solid var(--line);pointer-events:none;opacity:0;padding:6px;display:none}
.ghost.fly{display:block}

.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal.in{opacity:1;transform:none}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@keyframes rise{from{opacity:0;transform:translateY(14px)}}
@keyframes fade{from{opacity:0}}
@keyframes slideIn{from{transform:translateX(100%)}}
@view-transition{navigation:auto}

@media(max-width:1080px){
  .grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
  .streams__list{grid-template-columns:repeat(2,1fr)}
  .cat-card:nth-child(5n){border-inline-end:1px solid var(--line)}
  /* an odd number of tiles would leave the last cell empty — span it full-width as a strip */
  .cat-card:last-child:nth-child(odd){grid-column:1 / -1;flex-direction:row;align-items:center;gap:1.4rem;min-height:auto;padding:1.2rem 1.4rem}
  .cat-card:last-child:nth-child(odd) .cat-card__img{height:88px;width:88px;margin:0;flex:0 0 auto}
  .cat-card:last-child:nth-child(odd) .cat-card__name{margin-top:0}
}
@media(max-width:960px){
  .nav{display:none}.nav-toggle{display:grid}.header__actions{margin-inline-start:auto}
  .hero__inner{grid-template-columns:1fr}.hero__col{max-width:none}.hero__media{display:none}
  .hero__title{max-width:18ch}
  .shop__layout{grid-template-columns:1fr;gap:1rem}
  .rail{position:static}
  .rail__toggle{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;padding:.9rem 0;border-block:1px solid var(--line)}
  .rail__toggle[aria-expanded="true"] .arr{transform:rotate(45deg)}
  .rail__body{display:none;padding:1.2rem 0}
  .rail.open .rail__body{display:block}
  .heritage__pillars{grid-template-columns:1fr;border-top:none}
  .hpill{border-inline-end:none;border-top:1px solid rgba(255,255,255,.15);padding:1.2rem 0 0}
  .remedy__grid,.dispatch__grid,.argument__inner{grid-template-columns:1fr;gap:1.4rem}
  .modal__card{grid-template-columns:1fr}.modal__media{min-height:240px;max-height:300px}
  .footer__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .header__actions .region-btn__lang{display:none}
  .streams__list{grid-template-columns:1fr}.cat-card{min-height:auto;flex-direction:row;align-items:center;gap:1rem}.cat-card__img{height:56px;width:56px;margin:0}
  .footer__grid{grid-template-columns:1fr 1fr}.footer__brand{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}html{scroll-behavior:auto}.reveal{opacity:1;transform:none}}

/* ---------- legal pages ---------- */
.legal-body{background:var(--bg)}
.legal-header{position:static;height:auto;border-bottom:1px solid var(--line);background:var(--bg)}
.legal-header .header__inner{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}
.legal-back{font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--ink-soft);display:inline-flex;align-items:center;gap:.4rem;transition:color .18s}
.legal-back:hover{color:var(--ink)}
.legal{padding:clamp(2rem,5vw,4rem) 0 clamp(3rem,7vw,5rem)}
.legal__wrap{display:grid;grid-template-columns:230px 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.legal__nav{position:sticky;top:24px;display:flex;flex-direction:column;gap:.1rem}
.legal__nav-h{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-weight:600;margin-bottom:.8rem}
.legal__nav a{font-size:13.5px;color:var(--ink-soft);padding:.5rem 0;border-bottom:1px solid var(--line);font-weight:500;transition:color .18s}
.legal__nav a:hover{color:var(--brand)}
.legal__nav-note{font-size:10.5px;color:var(--ink-faint);margin-top:1.2rem;letter-spacing:.02em}
.legal__body{max-width:72ch;min-width:0}
.legal__draft{font-size:12px;line-height:1.6;color:#8a6d3b;background:#fdf6e3;border:1px solid #efe3c0;border-radius:3px;padding:.85rem 1rem;margin-bottom:2.4rem;letter-spacing:.01em;text-transform:none}
.legal__draft b{color:#6b5424}
.legal__sec{padding-block:1.2rem 2.4rem;border-bottom:1px solid var(--line);scroll-margin-top:24px}
.legal__sec:last-of-type{border-bottom:none}
.legal__h1{font-size:clamp(1.5rem,1.2rem+1.1vw,2rem);font-weight:600;letter-spacing:-.02em;margin-bottom:1rem}
.legal__h2{font-size:clamp(1.3rem,1.1rem+.8vw,1.7rem);font-weight:600;letter-spacing:-.02em;margin-bottom:1rem}
.legal__body h3{font-size:14px;font-weight:600;margin:1.6rem 0 .5rem;color:var(--ink)}
.legal__body p{font-size:14.5px;line-height:1.7;color:var(--ink-soft);margin-bottom:.9rem}
.legal__body ul{margin:.4rem 0 1rem;padding-inline-start:1.2rem;display:flex;flex-direction:column;gap:.5rem}
.legal__body li{font-size:14.5px;line-height:1.6;color:var(--ink-soft)}
.legal__body a{color:var(--brand);text-decoration:underline;text-underline-offset:2px}
.legal__body b{color:var(--ink);font-weight:600}
.legal__small{font-size:12.5px!important;color:var(--ink-faint)!important;line-height:1.6}
.legal__dl{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--line);margin:1rem 0 1.4rem}
.legal__dl>div{display:grid;grid-template-columns:200px 1fr;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}
.legal__dl dt{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}
.legal__dl dd{font-size:14px;color:var(--ink)}
.legal__foot-note{font-size:11px!important;line-height:1.6;color:var(--ink-faint)!important;letter-spacing:.01em;margin-top:2rem;padding-top:1.4rem;border-top:1px solid var(--line);text-transform:none}
.legal-footer{padding:1.6rem 0}
.legal-footer .footer__made{color:rgba(255,255,255,.6)}
.legal-footer a{color:rgba(255,255,255,.85);text-decoration:underline}
@media(max-width:760px){
  .legal__wrap{grid-template-columns:1fr;gap:1.4rem}
  .legal__nav{position:static;flex-direction:row;flex-wrap:wrap;gap:.4rem .9rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line)}
  .legal__nav-h,.legal__nav-note{width:100%}
  .legal__nav a{border:none;padding:.2rem 0;font-size:12.5px}
  .legal__dl>div{grid-template-columns:1fr;gap:.15rem}
}

/* ---------- checkout ---------- */
.checkout{position:fixed;inset:0;z-index:110;display:grid;place-items:center;padding:1.4rem;background:rgba(26,26,26,.5);backdrop-filter:blur(3px)}
.checkout__card{position:relative;width:min(900px,100%);max-height:92vh;overflow:auto;background:var(--bg);border:1px solid var(--line);animation:rise .4s var(--ease) both}
.checkout .modal__close{position:absolute;top:.6rem;inset-inline-end:.7rem;z-index:2}
.checkout__grid{display:grid;grid-template-columns:1.25fr .9fr}
.checkout__main{padding:clamp(1.4rem,3vw,2.4rem);min-width:0}
.checkout__side{padding:clamp(1.4rem,3vw,2.4rem);background:var(--bg-alt);border-inline-start:1px solid var(--line);display:flex;flex-direction:column}
.checkout__h{font-size:1.45rem;font-weight:600;margin:0;letter-spacing:-.02em}
.checkout__lede{color:var(--ink-soft);font-size:13px;line-height:1.5;margin:.45rem 0 1.3rem;max-width:46ch}
.checkout__form{display:flex;flex-direction:column;gap:.85rem}
.co-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.co-field{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.co-field label{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}
.co-field input,.co-field select,.co-field textarea{font:inherit;font-size:14px;color:var(--ink);background:var(--bg);border:1px solid var(--line-mid);border-radius:var(--r);padding:.6rem .7rem;outline:none;transition:border-color .15s;width:100%}
.co-field input:focus,.co-field select:focus,.co-field textarea:focus{border-color:var(--ink)}
.co-field textarea{resize:vertical;min-height:2.6rem}
.co-error{color:#c0392b;font-size:12.5px;margin:.1rem 0 0;font-weight:500}
.co-side-h{margin:0 0 .85rem}
.co-items{display:flex;flex-direction:column;gap:.55rem;margin-bottom:1rem;max-height:30vh;overflow:auto}
.co-item{display:flex;justify-content:space-between;gap:.8rem;font-size:13px;line-height:1.35}
.co-item__q{color:var(--ink-faint)}
.co-item__p{flex:none;font-weight:600}
.co-totals{margin:0 0 1.1rem;border-top:1px solid var(--line);padding-top:.85rem}
.co-line{display:flex;justify-content:space-between;font-size:13px;padding:.28rem 0}
.co-line dt,.co-line dd{margin:0}
.co-line dd{font-weight:600}
.co-grand{border-top:1px solid var(--line);margin-top:.45rem;padding-top:.65rem;font-size:15.5px}
.co-grand dt,.co-grand dd{font-weight:700}
.co-pay{display:flex;flex-direction:column;gap:.6rem;margin-top:auto}
.co-btn{justify-content:center}
.co-wa{background:var(--brand);color:#fff}
.co-wa:hover{background:var(--brand-deep)}
.btn--outline{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.btn--outline:hover{background:var(--bg)}
.co-pay-note{font-size:10.5px;line-height:1.5;color:var(--ink-soft);text-transform:none;letter-spacing:.01em;margin:.75rem 0 0}
.co-secure{font-size:9px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em;margin:.5rem 0 0}
@media (max-width:720px){
  .checkout{padding:0;place-items:stretch}
  .checkout__card{width:100%;max-height:100vh;border:0}
  .checkout__grid{grid-template-columns:1fr}
  .checkout__side{border-inline-start:0;border-top:1px solid var(--line)}
}
@media (prefers-reduced-motion:reduce){.checkout__card{animation:none}}

/* ---------- high-demand notice ---------- */
.notice{position:relative;z-index:90;display:flex;align-items:center;justify-content:center;gap:1rem;padding:.6rem 2.6rem .6rem 1.2rem;background:var(--bg-deep);color:#fff;text-align:center}
.notice__msg{font-size:12px;line-height:1.4;letter-spacing:.01em;font-weight:500;max-width:80ch}
.notice__x{position:absolute;inset-inline-end:.5rem;top:50%;transform:translateY(-50%);width:30px;height:30px;display:grid;place-items:center;color:rgba(255,255,255,.7);font-size:20px;line-height:1;border-radius:var(--r);transition:color .15s,background .15s}
.notice__x:hover{color:#fff;background:rgba(255,255,255,.12)}
@media (max-width:560px){.notice{padding:.55rem 2.4rem .55rem 1rem}.notice__msg{font-size:11px}}

/* checkout success panel */
.co-success{padding:clamp(2rem,5vw,3.6rem);text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}
.co-success .checkout__lede{margin:0;max-width:44ch}
.co-ref{font-size:12px;color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase}

/* ---------- post-purchase: confirmation peak + order tracking ---------- */
.co-done{padding:clamp(1.6rem,4vw,2.8rem);max-width:560px;margin:0 auto}
.co-done__eyebrow{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);font-weight:600;margin:0}
.co-done__title{font-size:clamp(1.4rem,3vw,1.9rem);font-weight:600;letter-spacing:-.02em;margin:.5rem 0 0;line-height:1.15}
.co-done__reassure{color:var(--ink-soft);font-size:13.5px;line-height:1.55;margin:.6rem 0 0;max-width:46ch}
.co-done__ref{margin:1rem 0 0;font-size:11px;letter-spacing:.08em;color:var(--ink-soft);text-transform:uppercase}
.co-done__ref b{color:var(--ink);letter-spacing:.12em}
.co-block{margin:1.5rem 0 0}
.co-block__h{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-weight:600;margin:0 0 .9rem}
.tl{list-style:none;display:flex;margin:0;padding:0}
.tl__step{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;gap:.5rem}
.tl__step::before{content:"";position:absolute;top:7px;inset-inline-start:-50%;width:100%;height:2px;background:var(--line)}
.tl__step:first-child::before{display:none}
.tl__dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--line);background:var(--bg);z-index:1}
.tl__label{font-size:10px;letter-spacing:.02em;color:var(--ink-faint);line-height:1.25;max-width:9ch}
.tl__step.is-done .tl__dot,.tl__step.is-current .tl__dot{border-color:var(--brand);background:var(--brand)}
.tl__step.is-done::before,.tl__step.is-current::before{background:var(--brand)}
.tl__step.is-current .tl__dot{box-shadow:0 0 0 4px rgba(31,74,53,.12)}
.tl__step.is-done .tl__label,.tl__step.is-current .tl__label{color:var(--ink);font-weight:600}
.co-ritual{margin:1.6rem 0 0;padding:1.1rem 1.2rem;background:var(--bg-alt);border-radius:var(--r);border-inline-start:2px solid var(--brand)}
.co-ritual__h{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);font-weight:600;margin:0 0 .4rem}
.co-ritual__t{font-size:13.5px;line-height:1.55;color:var(--ink);margin:0;font-style:italic}
.co-done__cta{display:flex;gap:.7rem;flex-wrap:wrap;margin:1.6rem 0 0}
.co-done__cta .btn{flex:1;justify-content:center;min-width:140px}
.co-done__founder{margin:1.3rem 0 0;font-size:10px;letter-spacing:.04em;color:var(--ink-faint);text-transform:none}

.track{position:fixed;inset:0;z-index:115;display:grid;place-items:center;padding:1.4rem;background:rgba(26,26,26,.5);backdrop-filter:blur(3px)}
.track__card{position:relative;width:min(540px,100%);max-height:92vh;overflow:auto;background:var(--bg);border:1px solid var(--line);padding:clamp(1.5rem,4vw,2.4rem);animation:rise .4s var(--ease) both}
.track__title{font-size:1.4rem;font-weight:600;margin:0;letter-spacing:-.02em}
.track__lede{color:var(--ink-soft);font-size:13px;line-height:1.5;margin:.4rem 0 1.2rem}
.track__form{display:flex;gap:.5rem;margin-bottom:1.2rem}
.track__form input{flex:1;font:inherit;font-size:14px;color:var(--ink);background:var(--bg);border:1px solid var(--line-mid);border-radius:var(--r);padding:.6rem .7rem;outline:none;min-width:0;transition:border-color .15s}
.track__form input:focus{border-color:var(--ink)}
.track__form .btn{flex:none;white-space:nowrap}
.track__result:empty{display:none}
.track__status{font-size:13px;color:var(--ink-soft)}
.track__head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:1.2rem;padding-bottom:.8rem;border-bottom:1px solid var(--line)}
.track__note,.track__on,.track__cancel{font-size:13px;line-height:1.55;color:var(--ink-soft);margin:1.2rem 0 0}
.track__on{color:var(--ink);font-weight:600}
.track__cancel{color:#c0392b}
.track__parcel{margin:1.2rem 0 0;padding:1rem 1.1rem;background:var(--bg-alt);border-radius:var(--r)}
.track__num{font-size:12px;margin:.4rem 0}
.track__help{margin:1.4rem 0 0;font-size:12px}
.track__help a{color:var(--brand);border-bottom:1px solid var(--brand);padding-bottom:1px}
@media (max-width:560px){.track__form{flex-direction:column}.tl__label{font-size:9px}.co-done__cta .btn{flex:1 1 100%}}
@media (prefers-reduced-motion:reduce){.track__card{animation:none}}

/* ---------- sold-out cards ---------- */
.card--soldout .card__media{position:relative}
.card__soldout-badge{position:absolute;top:10px;left:10px;background:#1a1a1a;color:#fff;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:3px;pointer-events:none;z-index:2}
.card--soldout .card__media img{opacity:.45;filter:grayscale(30%)}
.card__add--so{background:var(--line-mid)!important;color:var(--ink-soft)!important;cursor:not-allowed!important;opacity:.7}

/* ---------- dosha section ---------- */
.doshas { background: var(--bg-alt); }
.doshas__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 2rem; }
@media (max-width: 640px) { .doshas__grid { grid-template-columns: 1fr; gap: .7rem; } }

.dosha-card {
  display: flex; flex-direction: column; align-items: flex-start; gap: .3rem;
  background: var(--bg); border: 1.5px solid var(--line);
  border-radius: var(--r); padding: 1.6rem 1.4rem;
  cursor: pointer; text-align: left; transition: border-color .2s, box-shadow .2s;
  width: 100%;
}
.dosha-card:hover { border-color: var(--brand); box-shadow: 0 2px 12px rgba(0,0,0,.06); }
.dosha-card.is-active { border-color: var(--brand); background: var(--brand); color: #fff; }
.dosha-card.is-active .dosha-card__el,
.dosha-card.is-active .dosha-card__tag,
.dosha-card.is-active .dosha-card__count { color: rgba(255,255,255,.75); }

.dosha-card__sym { font-size: 1.6rem; line-height: 1; margin-bottom: .2rem; opacity: .45; }
.dosha-card__name { font-size: 1.15rem; font-weight: 700; letter-spacing: -.02em; }
.dosha-card__el { font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--brand); margin-top: .1rem; }
.dosha-card.is-active .dosha-card__el { color: rgba(255,255,255,.9); }
.dosha-card__tag { font-size: 12px; color: var(--ink-soft); line-height: 1.4; margin-top: .3rem; }
.dosha-card__count { font-size: 11px; color: var(--ink-soft); margin-top: .8rem; font-variant-numeric: tabular-nums; }
