/* Sunbelt Peptides — site stylesheet */
:root{
  --text-xs:clamp(.75rem,.7rem + .25vw,.875rem);
  --text-sm:clamp(.875rem,.8rem + .35vw,1rem);
  --text-base:clamp(1rem,.95rem + .25vw,1.125rem);
  --text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);
  --text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);
  --text-2xl:clamp(2.25rem,1.1rem + 3.6vw,4.25rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;
  --bg:#F5F0E6;--surface:#FBF8F2;--surface-2:#EDE6D8;--surface-3:#E4DBCA;
  --ink:#0F1D2E;--ink-2:#22344A;--muted:#55606D;--faint:#7C8590;
  --line:rgba(15,29,46,.12);--line-2:rgba(15,29,46,.2);
  --sun:#E0602A;--sun-ink:#A93F14;--sun-soft:#F6D9C8;
  --ok:#2F7A4A;--err:#B23A48;
  --radius-sm:4px;--radius-md:8px;--radius-lg:14px;--radius-xl:22px;
  --shadow-sm:0 1px 2px rgba(15,29,46,.06);--shadow-md:0 8px 24px -10px rgba(15,29,46,.22);--shadow-lg:0 24px 60px -20px rgba(15,29,46,.35);
  --font-display:'Cabinet Grotesk','Helvetica Neue',Arial,sans-serif;
  --font-body:'General Sans','Helvetica Neue',Arial,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  --transition-interactive:180ms cubic-bezier(.2,.7,.2,1);
  --wrap:1240px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;scroll-padding-top:6rem}
body{min-height:100dvh;line-height:1.6;font-family:var(--font-body);font-size:var(--text-base);color:var(--ink);background:var(--bg)}
img,picture,svg,video,canvas{display:block;max-width:100%;height:auto}
input,button,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:none}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{line-height:1.08;text-wrap:balance;font-family:var(--font-display);font-weight:800;letter-spacing:-.015em}
p,li{text-wrap:pretty}
ul[role=list]{list-style:none}
table{border-collapse:collapse;width:100%}
::selection{background:var(--sun-soft);color:var(--ink)}
:focus-visible{outline:2px solid var(--sun);outline-offset:3px;border-radius:var(--radius-sm)}
a,button,input,select,textarea{transition:color var(--transition-interactive),background var(--transition-interactive),border-color var(--transition-interactive),box-shadow var(--transition-interactive),transform var(--transition-interactive)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--bg);padding:.75rem 1rem;z-index:100}
.skip:focus{left:1rem;top:1rem}
.wrap{width:min(var(--wrap),100% - 2.5rem);margin-inline:auto}
.mono{font-family:var(--font-mono);letter-spacing:.02em}
.eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--sun-ink);font-weight:600}
.muted{color:var(--muted)}

/* Announcement */
.announce{background:var(--ink);color:var(--bg);font-size:var(--text-xs);font-family:var(--font-mono);letter-spacing:.06em}
.announce .wrap{display:flex;gap:var(--space-8);justify-content:center;align-items:center;min-height:36px;flex-wrap:wrap;text-align:center}
.announce b{color:#F39A6B;font-weight:600}
.announce span+span::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--sun);margin-right:var(--space-8);vertical-align:middle}
@media (max-width:720px){.announce span:not(:first-child){display:none}}

/* Header */
.site-header{position:sticky;top:0;z-index:40;background:rgba(245,240,230,.88);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;gap:var(--space-6);min-height:68px}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--ink);flex-shrink:0}
.brand svg{width:34px;height:34px;color:var(--sun)}
.brand .wm{display:flex;flex-direction:column;line-height:1}
.brand .wm b{font-family:var(--font-display);font-weight:800;font-size:1.28rem;letter-spacing:.06em}
.brand .wm small{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.32em;color:var(--sun-ink);font-weight:600;margin-top:3px}
.nav{display:flex;gap:var(--space-1);margin-left:var(--space-4)}
.nav a{font-size:var(--text-sm);font-weight:500;padding:.55rem .8rem;border-radius:var(--radius-md);color:var(--ink-2)}
.nav a:hover,.nav a[aria-current=page]{background:var(--surface-2);color:var(--ink)}
.hdr-actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-2)}
.icon-btn{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--radius-md);position:relative;color:var(--ink)}
.icon-btn:hover{background:var(--surface-2)}
.icon-btn svg{width:21px;height:21px}
.search-trigger{display:flex;align-items:center;gap:.6rem;height:44px;padding:0 .9rem;border:1px solid var(--line-2);border-radius:var(--radius-md);color:var(--muted);font-size:var(--text-sm);min-width:220px;background:var(--surface)}
.search-trigger:hover{border-color:var(--ink);color:var(--ink)}
.search-trigger kbd{margin-left:auto;font-family:var(--font-mono);font-size:.7rem;border:1px solid var(--line-2);border-radius:4px;padding:1px 5px}
.search-trigger svg{width:17px;height:17px}
.cart-count{position:absolute;top:4px;right:3px;min-width:18px;height:18px;border-radius:9px;background:var(--sun);color:var(--ink);font-size:.68rem;font-weight:700;display:grid;place-items:center;padding:0 4px;font-family:var(--font-mono)}
.cart-count[data-n="0"]{display:none}
.menu-btn{display:none}
@media (max-width:1020px){.nav{display:none}.menu-btn{display:grid}.search-trigger{min-width:0}.search-trigger span,.search-trigger kbd{display:none}.search-trigger{width:44px;padding:0;justify-content:center;border:none;background:none}}
.mobile-nav{display:none;border-top:1px solid var(--line);background:var(--bg)}
.mobile-nav.open{display:block}
.mobile-nav a{display:block;padding:1rem 1.25rem;border-bottom:1px solid var(--line);font-weight:500}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px;padding:0 1.35rem;border-radius:var(--radius-md);font-weight:600;font-size:var(--text-sm);letter-spacing:.01em;white-space:nowrap;border:1px solid transparent}
.btn svg{width:18px;height:18px}
.btn-sun{background:var(--sun);color:var(--ink)}
.btn-sun:hover{background:#ec7240;transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn-ink{background:var(--ink);color:var(--bg)}
.btn-ink:hover{background:var(--ink-2);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn-line{border-color:var(--line-2);color:var(--ink);background:transparent}
.btn-line:hover{border-color:var(--ink);background:var(--surface)}
.btn-ghost-light{border-color:rgba(245,240,230,.35);color:var(--bg)}
.btn-ghost-light:hover{border-color:var(--bg);background:rgba(245,240,230,.08)}
.btn-block{width:100%}
.btn[disabled]{opacity:.5;pointer-events:none}

/* Hero */
.hero{position:relative;overflow:hidden;background:#d8c3a3;color:var(--ink);isolation:isolate}
.hero picture,.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%;z-index:-2}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(245,240,230,.96) 0%,rgba(245,240,230,.86) 34%,rgba(245,240,230,.25) 58%,rgba(245,240,230,0) 75%)}
.hero .wrap{min-height:min(78vh,720px);display:flex;flex-direction:column;justify-content:center;padding-block:var(--space-20)}
.hero h1{font-size:var(--text-2xl);max-width:11.5ch;letter-spacing:-.025em;line-height:.98}
.hero h1 em{font-style:normal;color:var(--sun-ink)}
.hero p.lede{font-size:var(--text-lg);max-width:34ch;margin-top:var(--space-5);color:var(--ink-2);line-height:1.45}
.hero .cta{display:flex;gap:var(--space-3);margin-top:var(--space-8);flex-wrap:wrap}
.hero-proof{display:flex;gap:var(--space-8);margin-top:var(--space-12);flex-wrap:wrap}
.hero-proof div{display:flex;flex-direction:column}
.hero-proof b{font-family:var(--font-display);font-size:var(--text-xl);line-height:1}
.hero-proof span{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:.35rem}
@media (max-width:760px){.hero::before{background:linear-gradient(180deg,rgba(245,240,230,.94) 0%,rgba(245,240,230,.88) 55%,rgba(245,240,230,.55) 100%)}.hero .wrap{min-height:auto;padding-block:var(--space-16)}.hero picture img{object-position:70% 50%}}

/* Trust rail */
.rail{border-block:1px solid var(--line);background:var(--surface)}
.rail .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.rail div{padding:var(--space-6) var(--space-5);display:flex;gap:.85rem;align-items:flex-start}
.rail div+div{border-left:1px solid var(--line)}
.rail svg{width:22px;height:22px;color:var(--sun-ink);flex-shrink:0;margin-top:2px}
.rail b{display:block;font-size:var(--text-sm);font-weight:600}
.rail span{font-size:var(--text-xs);color:var(--muted)}
@media (max-width:900px){.rail .wrap{grid-template-columns:1fr 1fr}.rail div:nth-child(3){border-left:none}.rail div:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:520px){.rail .wrap{grid-template-columns:1fr}.rail div+div{border-left:none;border-top:1px solid var(--line)}}

/* Sections */
section{position:relative}
.sec{padding-block:clamp(3.5rem,2rem + 5vw,6.5rem)}
.sec-tight{padding-block:clamp(2.5rem,1.5rem + 3vw,4rem)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-6);margin-bottom:var(--space-10);flex-wrap:wrap}
.sec-head h2{font-size:var(--text-xl);max-width:20ch;margin-top:.5rem}
.sec-head p{max-width:46ch;color:var(--muted)}
.link-arrow{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;font-size:var(--text-sm);border-bottom:1.5px solid var(--sun);padding-bottom:2px}
.link-arrow:hover{color:var(--sun-ink)}
.link-arrow svg{width:16px;height:16px}

/* Category mosaic */
.cats{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-4)}
.cat{position:relative;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-6);min-height:220px}
.cat:hover{border-color:var(--line-2);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.cat h3{font-size:var(--text-lg);font-family:var(--font-display)}
.cat .n{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted);letter-spacing:.06em}
.cat .dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:.5rem}
.cat img{position:absolute;right:-10px;bottom:-26px;width:46%;max-width:190px;filter:drop-shadow(0 10px 14px rgba(15,29,46,.12))}
.cat p{font-size:var(--text-sm);color:var(--muted);max-width:24ch;margin-top:.4rem}
.cat.lg{grid-column:span 6;min-height:300px;background:var(--ink);color:var(--bg);border-color:var(--ink)}
.cat.lg p,.cat.lg .n{color:rgba(245,240,230,.7)}
.cat.lg img{width:40%;max-width:230px;bottom:-30px}
.cat.md{grid-column:span 3}
.cat.sm{grid-column:span 3}
@media (max-width:1000px){.cat.lg{grid-column:span 12}.cat.md,.cat.sm{grid-column:span 6}}
@media (max-width:560px){.cat.md,.cat.sm{grid-column:span 12}}

/* Product grid & cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-5)}
.card{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}
.card:hover{border-color:var(--line-2);box-shadow:var(--shadow-md)}
.card .media{position:relative;aspect-ratio:1/1;background:radial-gradient(120% 90% at 50% 0%,#fff 0%,var(--surface-2) 100%);display:grid;place-items:center;overflow:hidden}
.card .media img{width:76%;transition:transform 400ms cubic-bezier(.2,.7,.2,1)}
.card:hover .media img{transform:translateY(-4px) scale(1.03)}
.card .tag,.pdp-media .tag{position:absolute;top:12px;left:12px;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:4px 9px;display:flex;align-items:center;gap:6px}
.card .tag i,.pdp-media .tag i{width:7px;height:7px;border-radius:50%;display:block}
.card .body{padding:var(--space-4) var(--space-5) var(--space-5);display:flex;flex-direction:column;gap:.3rem;flex:1}
.card h3{font-size:1.2rem;font-family:var(--font-display);font-weight:800;letter-spacing:-.01em}
.card h3 a::after{content:"";position:absolute;inset:0;z-index:1}
.card .sub{font-size:var(--text-xs);color:var(--muted);line-height:1.4;min-height:2.8em}
.card .foot{display:flex;align-items:flex-end;justify-content:space-between;margin-top:auto;padding-top:var(--space-3);gap:.5rem}
.price{font-family:var(--font-display);font-weight:800;font-size:1.35rem;letter-spacing:-.01em}
.price small{font-family:var(--font-body);font-weight:500;font-size:var(--text-xs);color:var(--muted);letter-spacing:0;margin-right:.25rem}
.permg{font-family:var(--font-mono);font-size:.7rem;color:var(--muted);letter-spacing:.02em}
.sizes{display:flex;gap:4px;flex-wrap:wrap;margin-top:.35rem}
.sizes span{font-family:var(--font-mono);font-size:.68rem;border:1px solid var(--line);border-radius:4px;padding:2px 6px;color:var(--ink-2)}
.quick{position:relative;z-index:2;width:44px;height:44px;border-radius:var(--radius-md);background:var(--ink);color:var(--bg);display:grid;place-items:center;flex-shrink:0}
.quick:hover{background:var(--sun);color:var(--ink)}
.quick svg{width:18px;height:18px}

/* Dark band */
.band{background:var(--ink);color:var(--bg)}
.band .eyebrow{color:#F39A6B}
.band .muted{color:rgba(245,240,230,.68)}

/* Split feature */
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.split.rev{grid-template-columns:1fr 1.05fr}
.split.rev .split-media{order:2}
.split-media{border-radius:var(--radius-xl);overflow:hidden;position:relative}
.split-media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.split h2{font-size:var(--text-xl);margin:.6rem 0 var(--space-5)}
.split p{color:var(--muted);max-width:52ch}
.band .split p{color:rgba(245,240,230,.72)}
.checks{display:grid;gap:var(--space-4);margin-top:var(--space-8)}
.checks li{display:grid;grid-template-columns:28px 1fr;gap:.75rem;align-items:start}
.checks svg{width:22px;height:22px;color:var(--sun);margin-top:2px}
.checks b{display:block;font-weight:600}
.checks span{font-size:var(--text-sm);color:var(--muted)}
.band .checks span{color:rgba(245,240,230,.66)}
@media (max-width:900px){.split,.split.rev{grid-template-columns:1fr}.split.rev .split-media{order:0}}

/* COA mock */
.coa{position:absolute;right:5%;bottom:-8%;width:min(58%,330px);background:#fff;color:var(--ink);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:1.1rem 1.2rem;font-size:.72rem;font-family:var(--font-mono)}
.coa .row{display:flex;justify-content:space-between;padding:.32rem 0;border-bottom:1px dashed var(--line)}
.coa .hd{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-weight:800;font-size:.95rem;margin-bottom:.4rem}
.coa .hd svg{width:20px;height:20px;color:var(--sun)}
.coa .pass{color:var(--ok);font-weight:600}
.coa .peak{height:46px;margin:.5rem 0 .3rem}
@media (max-width:900px){.coa{position:relative;right:auto;bottom:auto;width:auto;margin:-2.5rem 1rem 0}}

/* Pricing ladder */
.ladder{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface)}
.ladder div{padding:var(--space-8) var(--space-6)}
.ladder div+div{border-left:1px solid var(--line)}
.ladder b{font-family:var(--font-display);font-size:var(--text-xl);display:block;line-height:1}
.ladder .hot{background:var(--ink);color:var(--bg)}
.ladder .hot span{color:rgba(245,240,230,.7)}
.ladder span{font-size:var(--text-sm);color:var(--muted);display:block;margin-top:.5rem}
.ladder .mono{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.8rem;display:block;color:var(--sun-ink)}
.ladder .hot .mono{color:#F39A6B}
@media (max-width:760px){.ladder{grid-template-columns:1fr}.ladder div+div{border-left:none;border-top:1px solid var(--line)}}

/* FAQ */
.faq{max-width:860px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:var(--space-5) 0;font-weight:600;font-size:var(--text-base);display:flex;justify-content:space-between;gap:1rem;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--font-mono);font-size:1.4rem;color:var(--sun-ink);transition:transform var(--transition-interactive)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding-bottom:var(--space-5);color:var(--muted);max-width:70ch}

/* Footer */
.site-footer{background:var(--ink);color:rgba(245,240,230,.75);padding-top:var(--space-16);font-size:var(--text-sm)}
.foot-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:var(--space-10)}
.foot-grid h4{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--bg);margin-bottom:var(--space-4);font-weight:600}
.foot-grid ul{list-style:none;display:grid;gap:.55rem}
.foot-grid a:hover{color:var(--bg)}
.site-footer .brand{color:var(--bg)}
.site-footer .brand .wm small{color:#F39A6B}
.foot-ruo{margin-top:var(--space-12);border-top:1px solid rgba(245,240,230,.14);padding-block:var(--space-8);font-size:var(--text-xs);line-height:1.7;color:rgba(245,240,230,.6)}
.foot-ruo b{color:var(--bg)}
.foot-base{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-bottom:var(--space-8);font-size:var(--text-xs);color:rgba(245,240,230,.5)}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>div:first-child{grid-column:1/-1}}

/* Page head */
.page-head{padding-block:var(--space-12) var(--space-8);border-bottom:1px solid var(--line)}
.page-head h1{font-size:var(--text-xl);margin-top:.5rem}
.page-head p{color:var(--muted);margin-top:.6rem;max-width:62ch}
.crumbs{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted);display:flex;gap:.5rem;flex-wrap:wrap}
.crumbs a:hover{color:var(--ink)}

/* Shop toolbar */
.shop-layout{display:grid;grid-template-columns:230px 1fr;gap:var(--space-10);padding-block:var(--space-8) var(--space-20)}
.filters{position:sticky;top:96px;align-self:start;display:grid;gap:var(--space-6)}
.filters h2{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:.6rem}
.filters .opts{display:grid;gap:2px}
.filters button{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:.55rem .7rem;border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--ink-2);min-height:40px}
.filters button:hover{background:var(--surface-2)}
.filters button[aria-pressed=true]{background:var(--ink);color:var(--bg)}
.filters button .c{font-family:var(--font-mono);font-size:.7rem;opacity:.7}
.filters button i{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:.55rem}
.toolbar{display:flex;gap:var(--space-3);align-items:center;margin-bottom:var(--space-6);flex-wrap:wrap}
.toolbar .field{flex:1;min-width:200px;position:relative}
.toolbar input{width:100%;height:46px;border:1px solid var(--line-2);border-radius:var(--radius-md);background:var(--surface);padding:0 1rem 0 2.6rem;font-size:var(--text-sm)}
.toolbar input:focus{outline:none;border-color:var(--ink)}
.toolbar .field svg{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--muted)}
.toolbar select{height:46px;border:1px solid var(--line-2);border-radius:var(--radius-md);background:var(--surface);padding:0 2.2rem 0 .9rem;font-size:var(--text-sm);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230F1D2E' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center}
.result-n{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted)}
.chips{display:none;gap:.4rem;overflow-x:auto;padding-bottom:.4rem;margin-bottom:var(--space-4);scrollbar-width:none}
.chips button{flex-shrink:0;border:1px solid var(--line-2);border-radius:999px;padding:.45rem .9rem;font-size:var(--text-xs);min-height:38px}
.chips button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.empty{padding:var(--space-16) var(--space-6);text-align:center;border:1px dashed var(--line-2);border-radius:var(--radius-lg);color:var(--muted)}
@media (max-width:900px){.shop-layout{grid-template-columns:1fr}.filters{display:none}.chips{display:flex}}

/* Product page */
.pdp{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,5vw,4.5rem);padding-block:var(--space-8) var(--space-16)}
.pdp-media{position:sticky;top:92px;align-self:start;border-radius:var(--radius-xl);background:radial-gradient(110% 80% at 50% 10%,#fff 0%,var(--surface-2) 100%);border:1px solid var(--line);aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden}
.pdp-media img{width:70%}
.pdp-media .tag{position:absolute;top:18px;left:18px}
.pdp h1{font-size:var(--text-xl);margin-top:.6rem}
.pdp .sub{color:var(--muted);margin-top:.35rem}
.pdp .pricebox{display:flex;align-items:baseline;gap:.9rem;margin:var(--space-6) 0 var(--space-2)}
.pdp .pricebox .price{font-size:var(--text-xl)}
.opt-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:var(--space-6) 0 .6rem;font-weight:600}
.size-opts{display:flex;gap:.5rem;flex-wrap:wrap}
.size-opts button{min-width:84px;min-height:48px;border:1.5px solid var(--line-2);border-radius:var(--radius-md);padding:.4rem .9rem;display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;background:var(--surface)}
.size-opts button b{font-weight:600;font-size:var(--text-sm)}
.size-opts button span{font-family:var(--font-mono);font-size:.68rem;color:var(--muted)}
.size-opts button:hover{border-color:var(--ink)}
.size-opts button[aria-checked=true]{border-color:var(--ink);background:var(--ink);color:var(--bg)}
.size-opts button[aria-checked=true] span{color:rgba(245,240,230,.7)}
.buy-row{display:flex;gap:.6rem;margin-top:var(--space-6)}
.qty{display:flex;align-items:center;border:1.5px solid var(--line-2);border-radius:var(--radius-md);height:52px;background:var(--surface)}
.qty button{width:44px;height:100%;font-size:1.2rem;color:var(--ink-2)}
.qty button:hover{color:var(--sun-ink)}
.qty input{width:42px;text-align:center;border:none;background:none;font-family:var(--font-mono);font-weight:600;-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.buy-row .btn{flex:1;min-height:52px;font-size:var(--text-base)}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:var(--space-4)}
.tiers div{border:1px dashed var(--line-2);border-radius:var(--radius-md);padding:.6rem .7rem;font-size:var(--text-xs);color:var(--muted)}
.tiers div.on{border-style:solid;border-color:var(--sun);background:#fbe9de;color:var(--ink)}
.tiers b{display:block;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink)}
.pdp-assure{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--line)}
.pdp-assure div{display:flex;gap:.6rem;font-size:var(--text-xs);color:var(--muted);align-items:flex-start}
.pdp-assure svg{width:18px;height:18px;color:var(--sun-ink);flex-shrink:0}
.pdp-assure b{color:var(--ink);display:block;font-size:var(--text-sm);font-weight:600}
.acc{margin-top:var(--space-8);border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;cursor:pointer;padding:1.05rem 0;font-weight:600;display:flex;justify-content:space-between}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-family:var(--font-mono);color:var(--sun-ink);font-size:1.2rem}
.acc details[open] summary::after{content:"–"}
.acc .in{padding-bottom:1.2rem;color:var(--muted);font-size:var(--text-sm)}
.spec{width:100%;font-size:var(--text-sm)}
.spec th,.spec td{text-align:left;padding:.55rem 0;border-bottom:1px solid var(--line);vertical-align:top}
.spec th{font-weight:500;color:var(--muted);width:42%;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;padding-top:.7rem}
.spec td{color:var(--ink)}
.ruo-note{margin-top:var(--space-6);font-size:var(--text-xs);color:var(--muted);background:var(--surface-2);border-radius:var(--radius-md);padding:.85rem 1rem;line-height:1.55}
.ruo-note b{color:var(--ink)}
@media (max-width:900px){.pdp{grid-template-columns:1fr}.pdp-media{position:relative;top:0}}
.sticky-buy{display:none}
@media (max-width:900px){.sticky-buy{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--bg);border-top:1px solid var(--line);padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom));gap:.75rem;align-items:center;transform:translateY(110%);transition:transform 240ms ease}.sticky-buy.show{transform:none}.sticky-buy .btn{flex:1}.sticky-buy .price{font-size:1.15rem}}

/* Drawer */
.scrim{position:fixed;inset:0;background:rgba(15,29,46,.45);z-index:60;opacity:0;pointer-events:none;transition:opacity 220ms ease}
.scrim.open{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--bg);z-index:61;display:flex;flex-direction:column;transform:translateX(102%);transition:transform 300ms cubic-bezier(.2,.7,.2,1);box-shadow:var(--shadow-lg)}
.drawer.open{transform:none}
.drawer-hd{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.25rem;border-bottom:1px solid var(--line)}
.drawer-hd h2{font-size:var(--text-lg)}
.ship-meter{padding:1rem 1.25rem;border-bottom:1px solid var(--line);font-size:var(--text-xs)}
.ship-meter .bar{height:6px;border-radius:3px;background:var(--surface-3);margin-top:.5rem;overflow:hidden}
.ship-meter .bar i{display:block;height:100%;background:var(--sun);border-radius:3px;transition:width 400ms ease}
.drawer-body{flex:1;overflow-y:auto;padding:.5rem 1.25rem}
.line{display:grid;grid-template-columns:64px 1fr auto;gap:.85rem;padding:1rem 0;border-bottom:1px solid var(--line);align-items:center}
.line img{width:64px;height:64px;object-fit:contain;background:var(--surface-2);border-radius:var(--radius-md);padding:4px}
.line .nm{font-weight:600;font-size:var(--text-sm);line-height:1.25}
.line .sz{font-family:var(--font-mono);font-size:.7rem;color:var(--muted)}
.line .mini-qty{display:flex;align-items:center;gap:.25rem;margin-top:.35rem}
.line .mini-qty button{width:30px;height:30px;border:1px solid var(--line-2);border-radius:6px;font-size:.95rem}
.line .mini-qty span{font-family:var(--font-mono);font-size:.8rem;min-width:22px;text-align:center}
.line .rm{font-size:.7rem;color:var(--muted);text-decoration:underline;margin-left:.5rem}
.line .lp{font-weight:700;font-family:var(--font-display);text-align:right}
.drawer-ft{border-top:1px solid var(--line);padding:1.1rem 1.25rem calc(1.1rem + env(safe-area-inset-bottom));display:grid;gap:.5rem;background:var(--surface)}
.sumrow{display:flex;justify-content:space-between;font-size:var(--text-sm)}
.sumrow.total{font-weight:700;font-size:var(--text-base);padding-top:.4rem;border-top:1px solid var(--line);margin-top:.2rem}
.sumrow .save{color:var(--ok)}
.drawer-empty{text-align:center;padding:3rem 1rem;color:var(--muted)}
.drawer-empty svg{width:42px;height:42px;margin:0 auto 1rem;color:var(--faint)}

/* Search overlay */
.search-ov{position:fixed;inset:0;z-index:70;background:rgba(15,29,46,.5);display:none;padding:10vh 1rem 1rem}
.search-ov.open{display:block}
.search-box{max-width:640px;margin:0 auto;background:var(--bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}
.search-box .inp{display:flex;align-items:center;gap:.7rem;padding:0 1.1rem;border-bottom:1px solid var(--line)}
.search-box .inp svg{width:20px;height:20px;color:var(--muted)}
.search-box input{flex:1;height:62px;border:none;background:none;font-size:var(--text-lg);outline:none}
.search-box .res{max-height:55vh;overflow-y:auto;padding:.4rem}
.search-box .res a{display:grid;grid-template-columns:44px 1fr auto;gap:.8rem;align-items:center;padding:.55rem .7rem;border-radius:var(--radius-md)}
.search-box .res a:hover,.search-box .res a.act{background:var(--surface-2)}
.search-box .res img{width:44px;height:44px;object-fit:contain}
.search-box .res b{font-size:var(--text-sm);display:block}
.search-box .res small{font-size:var(--text-xs);color:var(--muted)}
.search-box .res .p{font-family:var(--font-mono);font-size:var(--text-xs)}
.search-box .hint{padding:.7rem 1.1rem;font-size:var(--text-xs);color:var(--muted);border-top:1px solid var(--line);font-family:var(--font-mono)}

/* Gate */
.gate{position:fixed;inset:0;z-index:90;background:rgba(15,29,46,.72);display:none;align-items:center;justify-content:center;padding:1rem;backdrop-filter:blur(6px)}
.gate.open{display:flex}
.gate-card{background:var(--bg);border-radius:var(--radius-xl);max-width:500px;width:100%;padding:2rem;box-shadow:var(--shadow-lg)}
.gate-card svg.mk{width:44px;height:44px;color:var(--sun);margin-bottom:1rem}
.gate-card h2{font-size:var(--text-lg);margin-bottom:.6rem}
.gate-card p{font-size:var(--text-sm);color:var(--muted)}
.gate-card label{display:flex;gap:.7rem;align-items:flex-start;margin-top:1rem;font-size:var(--text-sm);cursor:pointer}
.gate-card input[type=checkbox]{width:20px;height:20px;accent-color:var(--ink);margin-top:2px;flex-shrink:0}
.gate-card .btns{display:flex;gap:.6rem;margin-top:1.5rem}
.gate-card .btns .btn{flex:1}

/* Toast */
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,140%);background:var(--ink);color:var(--bg);padding:.8rem 1.1rem;border-radius:var(--radius-md);z-index:80;font-size:var(--text-sm);box-shadow:var(--shadow-lg);display:flex;gap:.6rem;align-items:center;transition:transform 300ms cubic-bezier(.2,.7,.2,1)}
.toast.show{transform:translate(-50%,0)}
.toast svg{width:18px;height:18px;color:#F39A6B}

/* Forms (checkout, calculator, contact) */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.form-grid .full{grid-column:1/-1}
.fld label{display:block;font-size:var(--text-xs);font-weight:600;margin-bottom:.4rem;letter-spacing:.02em}
.fld input,.fld select,.fld textarea{width:100%;min-height:48px;border:1.5px solid var(--line-2);border-radius:var(--radius-md);background:var(--surface);padding:.6rem .9rem;font-size:var(--text-sm)}
.fld textarea{min-height:120px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(224,96,42,.18)}
.fld .err{font-size:var(--text-xs);color:var(--err);margin-top:.3rem;display:none}
.fld.invalid input,.fld.invalid select{border-color:var(--err)}
.fld.invalid .err{display:block}
.chk{display:flex;gap:.7rem;align-items:flex-start;font-size:var(--text-sm);cursor:pointer;padding:.4rem 0}
.chk input{width:20px;height:20px;accent-color:var(--ink);margin-top:2px;flex-shrink:0}
@media (max-width:600px){.form-grid{grid-template-columns:1fr}}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(1.25rem,1rem + 1.5vw,2rem)}
.panel h2{font-size:var(--text-lg);margin-bottom:var(--space-5);display:flex;align-items:center;gap:.6rem}
.panel h2 .stepn{font-family:var(--font-mono);font-size:.75rem;width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--bg);display:grid;place-items:center}
.checkout{display:grid;grid-template-columns:1fr 400px;gap:var(--space-8);padding-block:var(--space-8) var(--space-20);align-items:start}
.checkout .stack{display:grid;gap:var(--space-5)}
.summary{position:sticky;top:92px}
.notice{border-radius:var(--radius-md);padding:.9rem 1rem;font-size:var(--text-sm);display:flex;gap:.7rem;align-items:flex-start}
.notice svg{width:20px;height:20px;flex-shrink:0;margin-top:1px}
.notice.info{background:#E9EEF4;color:var(--ink)}
.notice.ok{background:#E3F0E7;color:#1F4D30}
.notice.err{background:#F6E3E5;color:#6E1F29}
.pay-opts{display:grid;gap:.6rem}
.pay-opt{display:flex;gap:.8rem;align-items:center;border:1.5px solid var(--line-2);border-radius:var(--radius-md);padding:.9rem 1rem;cursor:pointer;font-size:var(--text-sm)}
.pay-opt:has(input:checked){border-color:var(--ink);background:var(--bg)}
.pay-opt input{accent-color:var(--ink);width:18px;height:18px}
.pay-opt small{display:block;color:var(--muted);font-size:var(--text-xs)}
@media (max-width:980px){.checkout{grid-template-columns:1fr}.summary{position:relative;top:0;order:-1}}

/* Calculator */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:start}
.calc-out{background:var(--ink);color:var(--bg);border-radius:var(--radius-xl);padding:2rem;position:sticky;top:92px}
.calc-out .big{font-family:var(--font-display);font-weight:800;font-size:var(--text-2xl);line-height:1;letter-spacing:-.02em;margin:.3rem 0}
.calc-out .lbl{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:#F39A6B}
.calc-out dl{display:grid;grid-template-columns:1fr auto;gap:.6rem 1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(245,240,230,.15);font-size:var(--text-sm)}
.calc-out dt{color:rgba(245,240,230,.7)}
.calc-out dd{font-family:var(--font-mono);text-align:right}
.seg{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}
.seg button{border:1px solid var(--line-2);border-radius:999px;padding:.35rem .8rem;font-size:var(--text-xs);font-family:var(--font-mono);min-height:36px}
.seg button:hover{border-color:var(--ink)}
@media (max-width:860px){.calc{grid-template-columns:1fr}.calc-out{position:relative;top:0}}

/* Prose */
.prose{max-width:760px;padding-block:var(--space-10) var(--space-20)}
.prose h2{font-size:var(--text-lg);margin:var(--space-10) 0 var(--space-3)}
.prose p,.prose li{color:var(--ink-2);margin-bottom:var(--space-4)}
.prose ul{padding-left:1.2rem}
.prose a{border-bottom:1.5px solid var(--sun)}

/* Stacks */
.stacks{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}
.stack-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-6);display:grid;grid-template-columns:1fr auto;gap:var(--space-5)}
.stack-card h3{font-size:var(--text-lg)}
.stack-card p{color:var(--muted);font-size:var(--text-sm);margin-top:.4rem}
.stack-card ul{list-style:none;margin-top:var(--space-4);display:grid;gap:.35rem}
.stack-card li{display:flex;justify-content:space-between;font-size:var(--text-sm);border-bottom:1px dashed var(--line);padding-bottom:.35rem;gap:1rem}
.stack-card li span:last-child{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted)}
.stack-vials{display:flex;align-items:flex-end}
.stack-vials img{width:76px;margin-left:-26px;filter:drop-shadow(0 8px 10px rgba(15,29,46,.15))}
.stack-vials img:first-child{margin-left:0}
.stack-foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:var(--space-4);border-top:1px solid var(--line);flex-wrap:wrap}
.stack-foot s{color:var(--faint);font-size:var(--text-sm);margin-right:.4rem}
@media (max-width:900px){.stacks{grid-template-columns:1fr}}
@media (max-width:520px){.stack-card{grid-template-columns:1fr}.stack-vials{order:-1}}

.reveal{opacity:1}
@media (prefers-reduced-motion:no-preference){.js .reveal{opacity:0;transform:translateY(14px);transition:opacity 600ms ease,transform 600ms cubic-bezier(.2,.7,.2,1)}.js .reveal.in{opacity:1;transform:none}}
.shop-layout>*{min-width:0}
.cat img{width:62%;max-width:260px;right:-30px;bottom:-30px}
.cat.lg img{width:52%;max-width:340px;bottom:-40px;right:-20px}
.cat>div,.cat .link-arrow{position:relative;z-index:1}
.stack-vials img{width:120px;margin-left:-70px}
@media (max-width:520px){.stack-vials{justify-content:center}}
.cat.sm img,.cat.md img{width:48%;right:-34px;bottom:-34px}
.cat.sm p,.cat.md p{max-width:62%}
.cat.lg p{max-width:28ch}
@media (max-width:760px){.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:var(--space-10)}.hero-proof b{font-size:var(--text-lg)}.hero-proof span{font-size:.62rem}}
[hidden]{display:none!important}

/* ==========================================================
   PREMIUM LAYER v4 — clinical-luxury refresh
   ========================================================== */
:root{
  --bg:#F5F4F1;--surface:#FFFFFF;--surface-2:#EFEDE8;--surface-3:#E6E3DC;
  --ink:#0E1A2A;--ink-2:#1E2C3E;--muted:#5B6573;--faint:#8A929C;
  --line:rgba(14,26,42,.08);--line-2:rgba(14,26,42,.16);
  --sun-ink:#B5481C;
  --radius-lg:18px;--radius-xl:28px;
  --shadow-md:0 18px 40px -24px rgba(14,26,42,.28);--shadow-lg:0 40px 80px -40px rgba(14,26,42,.38);
  --font-display:'General Sans','Helvetica Neue',Arial,sans-serif;
  --font-serif:'Instrument Serif',Georgia,'Times New Roman',serif;
  --text-2xl:clamp(2.6rem,1.2rem + 4.4vw,5.4rem);
  --text-xl:clamp(1.7rem,1.2rem + 1.6vw,2.7rem);
  --wrap:1280px;
}
body{background:var(--bg);letter-spacing:-.003em}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;letter-spacing:-.035em}
h1 em,h2 em{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.01em;color:inherit}
.eyebrow{color:var(--ink);opacity:.62;font-weight:500;letter-spacing:.18em;display:inline-flex;align-items:center;gap:.6rem}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sun);opacity:1;flex:none}
.announce{background:var(--ink);letter-spacing:.12em;font-size:.7rem;text-transform:uppercase}
.announce b{color:#fff}
.site-header{background:rgba(245,244,241,.82);border-bottom:1px solid var(--line)}
.brand .wm b{font-family:'Cabinet Grotesk',sans-serif;font-weight:700;letter-spacing:.2em}
.brand .wm small{letter-spacing:.42em}
.nav a{font-weight:500;letter-spacing:-.005em}
.btn{border-radius:999px;font-weight:500;letter-spacing:-.005em;padding-inline:1.5rem;min-height:50px}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:#000;box-shadow:0 12px 24px -12px rgba(14,26,42,.6);transform:translateY(-1px)}
.btn-line{border:1px solid var(--line-2);background:transparent}
.btn-line:hover{border-color:var(--ink);background:#fff}
.btn-sun{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-sun:hover{background:#000}

/* Hero */
.hero2{position:relative;overflow:hidden;background:radial-gradient(90% 120% at 78% 40%,#FFFFFF 0%,#F7F6F3 42%,var(--bg) 70%)}
.hero2 .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:3rem;align-items:center;min-height:min(84vh,780px);padding-block:5rem 4rem}
.hero2 h1{font-size:var(--text-2xl);line-height:.98;max-width:12ch;margin-top:1.4rem}
.hero2 h1 em{display:block}
.hero2 .lede{font-size:var(--text-lg);color:var(--muted);max-width:40ch;margin-top:1.6rem;line-height:1.5}
.hero2 .cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2.2rem}
.hero2 .hero-proof{display:flex;gap:2.6rem;margin-top:3.4rem;padding-top:1.6rem;border-top:1px solid var(--line);flex-wrap:wrap}
.hero2 .hero-proof b{font-family:var(--font-display);font-weight:500;font-size:var(--text-xl);letter-spacing:-.03em;line-height:1;display:block}
.hero2 .hero-proof span{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:.55rem;display:block}
.h-stage{position:relative;aspect-ratio:1/1;max-width:640px;width:100%;justify-self:center}
.h-glow{position:absolute;inset:8% 6% 14%;border-radius:50%;background:radial-gradient(closest-side,#fff 0%,rgba(255,255,255,0) 100%)}
.hv{position:absolute;mix-blend-mode:multiply;width:56%;bottom:13%}
.hv1{left:-2%;width:46%;bottom:15%;opacity:.98}
.hv3{right:-2%;width:46%;bottom:15%;opacity:.98}
.hv2{left:50%;transform:translateX(-50%);width:62%;bottom:11%;z-index:2}
.h-plinth{position:absolute;left:4%;right:4%;bottom:9%;height:12%;border-radius:50%;background:radial-gradient(closest-side,rgba(14,26,42,.14),rgba(14,26,42,0));filter:blur(8px)}
.h-chip{position:absolute;right:2%;top:12%;z-index:3;display:flex;gap:.7rem;align-items:center;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:16px;padding:.8rem 1rem;box-shadow:var(--shadow-md)}
.h-chip .ok{width:9px;height:9px;border-radius:50%;background:#2F7A4A;box-shadow:0 0 0 5px rgba(47,122,74,.14)}
.h-chip b{display:block;font-size:.86rem;font-weight:600;letter-spacing:-.01em}
.h-chip small{display:block;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:.15rem}
@media (max-width:900px){.hero2 .wrap{grid-template-columns:1fr;min-height:auto;padding-block:3rem 2rem;gap:1rem}.h-stage{max-width:460px;order:-1}.hero2 .hero-proof{gap:1.6rem}}

/* Rail */
.rail{background:var(--surface);border-block:1px solid var(--line)}
.rail b{font-weight:600;letter-spacing:-.01em}

/* Sections */
.sec{padding-block:clamp(4.5rem,3rem + 5vw,8rem)}
.sec-head h2{font-size:var(--text-xl);line-height:1.02}

/* Category tiles */
.cat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl)}
.cat h3{font-family:var(--font-display);font-weight:500;letter-spacing:-.03em}
.cat img{mix-blend-mode:multiply;filter:none}
.cat.lg{background:linear-gradient(135deg,#FFFFFF 0%,#F2F0EB 100%);color:var(--ink);border-color:var(--line)}
.cat.lg p,.cat.lg .n{color:var(--muted)}
.cat.lg h3{font-size:var(--text-xl)}

/* Product cards */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);transition:box-shadow 300ms,transform 300ms,border-color 300ms}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:transparent}
.card .media{background:#fff;border-bottom:1px solid var(--line)}
.card .media img{width:88%;mix-blend-mode:multiply}
.card .tag,.pdp-media .tag{background:rgba(255,255,255,.9);border-color:var(--line);font-size:.62rem;z-index:2}
.card h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;font-size:1.15rem}
.price{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em}
.sizes span{border-radius:999px}
.quick{border-radius:999px;background:var(--ink)}

/* Dark bands */
.band{background:#0B1522}
.band h2 em{color:#F3B08F}
.coa{border-radius:var(--radius-lg)}

/* Ladder / stacks / panels */
.ladder{border-radius:var(--radius-xl);overflow:hidden}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}
.split-media img{border-radius:var(--radius-xl)}

/* PDP */
.pdp-media{background:#fff;border:1px solid var(--line);border-radius:var(--radius-xl)}
.pdp-media img{mix-blend-mode:multiply}
.pdp h1{font-weight:500;letter-spacing:-.04em}
.size-opts button{border-radius:14px;background:#fff}
.size-opts button[aria-checked=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.tiers div{border-radius:12px}
.qty{border-radius:999px;overflow:hidden}
.line img,.search-box .res img{mix-blend-mode:multiply;background:#fff;border-radius:10px}

/* Page heads + footer */
.page-head h1{font-weight:500;letter-spacing:-.04em}
.site-footer{background:#0B1522}
.faq summary{font-weight:500;letter-spacing:-.01em}
.filters button[aria-pressed=true]{background:var(--ink);color:#fff}
.gate-card{border-radius:var(--radius-xl)}
.grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.25rem}
.hv1,.hv3{width:52%;bottom:14%}
.hv1{left:-6%}.hv3{right:-6%}
.hv2{width:70%;bottom:10%}
.stack-vials img{filter:none;mix-blend-mode:multiply;width:110px;margin-left:-58px}
.stack-vials img:first-child{margin-left:0}
.stack-card{border-radius:var(--radius-xl);padding:1.75rem}
.stack-card h3{font-weight:500;letter-spacing:-.03em}
.pdp-media img{width:96%;max-width:620px}
.tiers div{background:#fff;border:1px solid var(--line);border-style:solid}
.tiers div.on{background:#fff;border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.cat.lg h3{font-size:clamp(1.6rem,1.2rem + 1.2vw,2.4rem)}
@media (max-width:900px){
 .h-chip{top:auto;bottom:0;right:50%;transform:translateX(50%);white-space:nowrap;padding:.6rem .85rem}
 .h-stage{margin-bottom:1.5rem}
 .hero2 .hero-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
 .hero2 .hero-proof b{font-size:1.6rem}
 .hero2 .hero-proof span{font-size:.56rem;letter-spacing:.08em}
}
