:root{
  --bg:#050505;
  --bg-2:#0B0B0C;
  --panel:#121212;
  --ink:#FAFAFA;
  --ink-soft:#ECECEE;
  --mauve:#9A9AA2;
  --violet:#C9C9C9;
  --violet-2:#DDDDDD;
  --violet-3:#EFEFEF;
  --line:rgba(255,255,255,0.12);
  --line-soft:rgba(255,255,255,0.06);
  --green:#7FB093;
  --green-2:#96C4A8;
  --sale:#AEB4BF;
  --sale-2:#CDD2DA;
  --ease:cubic-bezier(.16,.84,.44,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{background:var(--bg);color:var(--ink-soft);font-family:'Inter',sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body{position:relative}
a{color:inherit}
::selection{background:rgba(255,255,255,0.4);color:#fff}
/* visible keyboard focus for all interactive elements */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.tier:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--violet-3);outline-offset:3px;border-radius:2px}
:focus:not(:focus-visible){outline:none}

/* Ambient page glow */
.ambient{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.ambient::before,.ambient::after{content:"";position:absolute;border-radius:50%;filter:blur(120px);opacity:0.5}
.ambient::before{width:620px;height:620px;top:-180px;left:-120px;background:radial-gradient(circle,rgba(255,255,255,0.32),transparent 70%);animation:drift1 24s ease-in-out infinite}
.ambient::after{width:520px;height:520px;top:30%;right:-160px;background:radial-gradient(circle,rgba(235,235,240,0.18),transparent 70%);animation:drift2 30s ease-in-out infinite}
@keyframes drift1{0%,100%{transform:translate(0,0)}50%{transform:translate(60px,80px)}}
@keyframes drift2{0%,100%{transform:translate(0,0)}50%{transform:translate(-70px,-50px)}}

main,nav,footer,.cp{position:relative;z-index:1}

/* ===== NAV ===== */
.nav{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 2.5rem;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100;background:rgba(7,6,13,0.72);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);transition:padding .4s var(--ease),background .4s var(--ease),border-color .4s var(--ease)}
.nav.shrink{padding:0.7rem 2.5rem;background:rgba(7,6,13,0.9);border-color:rgba(255,255,255,0.3)}
.nb{display:flex;align-items:center;gap:11px;text-decoration:none}
.nb svg{transition:transform .5s var(--ease)}
.nb:hover svg{transform:rotate(-4deg) scale(1.06)}
.logo-mark{display:block;width:auto;mix-blend-mode:screen;transition:transform .5s var(--ease)}
.nb:hover .logo-mark{transform:scale(1.07)}
.wordmark{display:block;width:auto;mix-blend-mode:screen}
.brand-stack{display:flex;flex-direction:column;line-height:1;gap:1px}
.brand-w{font-family:'Space Grotesk',sans-serif;font-size:1.75rem;color:var(--ink);letter-spacing:0.06em;line-height:1}
.brand-r{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.46rem;color:var(--violet-3);letter-spacing:0.38em;text-transform:uppercase}
.nl{display:flex;gap:2rem;list-style:none}
.nl a{font-size:0.75rem;letter-spacing:0.08em;color:rgba(154,154,162,0.7);text-decoration:none;text-transform:uppercase;position:relative;padding:0.2rem 0;transition:color .2s}
.nl a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:var(--violet-3);transition:right .3s var(--ease)}
.nl a:hover{color:var(--ink)}
.nl a:hover::after{right:0}
.cart-btn{display:flex;align-items:center;gap:8px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink);background:transparent;border:1px solid rgba(255,255,255,0.35);padding:0.5rem 1.1rem;cursor:pointer;transition:all 0.2s var(--ease)}
.cart-btn:hover{border-color:var(--violet);background:rgba(255,255,255,0.12);transform:translateY(-1px)}
.cc{background:var(--violet);color:#fff;font-size:0.58rem;font-weight:700;padding:2px 7px;border-radius:99px;min-width:20px;text-align:center;display:none}
.cc.on{display:inline-block;animation:pop .35s var(--ease)}
@keyframes pop{0%{transform:scale(0)}60%{transform:scale(1.35)}100%{transform:scale(1)}}

/* ===== CART PANEL ===== */
.cp{background:var(--panel);border-bottom:2px solid rgba(255,255,255,0.25);overflow:hidden;max-height:0;transition:max-height 0.4s var(--ease);position:sticky;top:0;z-index:99}
.cp.open{max-height:760px}
.ci{padding:1.5rem 2.5rem}
.cempty{font-family:'IBM Plex Mono',monospace;font-size:0.72rem;color:rgba(154,154,162,0.35);letter-spacing:0.08em;padding:0.5rem 0}
.citems{margin-bottom:1.25rem}
.citem{display:flex;align-items:center;justify-content:space-between;padding:0.7rem 0;border-bottom:1px solid var(--line-soft);animation:slideIn .35s var(--ease)}
@keyframes slideIn{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}
.citem:last-child{border:none}
.cin{font-weight:500;font-size:0.88rem;color:var(--ink);margin-bottom:0.15rem}
.cim{font-family:'IBM Plex Mono',monospace;font-size:0.58rem;color:rgba(154,154,162,0.45);letter-spacing:0.06em}
.cir{display:flex;align-items:center;gap:1rem}
.cip{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1rem;color:var(--ink-soft);min-width:52px;text-align:right}
.crm{background:none;border:none;color:rgba(154,154,162,0.3);cursor:pointer;font-size:1.1rem;line-height:1;padding:0 4px;transition:color 0.15s}
.crm:hover{color:#E24B4A}
.cfoot{display:flex;align-items:center;justify-content:space-between;padding-top:1.1rem;border-top:1px solid var(--line)}
.ctot{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.25rem;color:var(--ink)}
.ctot span{font-family:'IBM Plex Mono',monospace;font-size:0.6rem;font-weight:400;color:rgba(154,154,162,0.45);letter-spacing:0.12em;margin-right:0.5rem}
.obtn{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--bg);background:var(--green);border:none;padding:0.7rem 1.75rem;cursor:pointer;transition:all 0.2s var(--ease)}
.obtn:hover{background:var(--green-2);transform:translateY(-1px);box-shadow:0 8px 24px -8px rgba(127,176,147,0.5)}

/* ===== HERO (premium cinematic) ===== */
.hero{position:relative;width:100%;min-height:clamp(840px,100vh,1000px);display:flex;align-items:center;padding:7.5rem 1.5rem 4rem;overflow:hidden;border-bottom:1px solid var(--line-soft);background:#040308}
/* black stone texture + atmospheric purple lighting */
.hero-atmos{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero-stone{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E");opacity:0.05;mix-blend-mode:overlay}
.hero-glow{position:absolute;border-radius:50%;filter:blur(60px)}
.hero-glow.a{width:780px;height:780px;left:-14%;top:-22%;background:radial-gradient(circle,rgba(255,255,255,0.30),transparent 62%)}
.hero-glow.b{width:920px;height:920px;right:-12%;top:8%;background:radial-gradient(circle,rgba(123,58,237,0.26),transparent 60%)}
.hero-glow.c{width:680px;height:680px;left:38%;bottom:-30%;background:radial-gradient(circle,rgba(80,40,170,0.22),transparent 65%)}
.hero-vignette{position:absolute;inset:0;background:radial-gradient(ellipse 90% 80% at 50% 45%,transparent 35%,rgba(4,3,8,0.55) 100%),linear-gradient(180deg,transparent 72%,var(--bg) 100%)}
#hero-particles{position:absolute;inset:0;z-index:2;pointer-events:none}
.hero-fog{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.hero-fog span{position:absolute;width:60%;height:55%;border-radius:50%;filter:blur(70px);opacity:0.5;background:radial-gradient(circle,rgba(255,255,255,0.18),transparent 70%)}
.hero-fog .f1{left:-10%;top:20%;animation:fog1 26s ease-in-out infinite}
.hero-fog .f2{right:-8%;bottom:10%;animation:fog2 32s ease-in-out infinite}
.hero-fog .f3{left:30%;top:-10%;background:radial-gradient(circle,rgba(60,30,140,0.16),transparent 70%);animation:fog1 38s ease-in-out infinite reverse}
@keyframes fog1{0%,100%{transform:translate(0,0)}50%{transform:translate(8%,5%)}}
@keyframes fog2{0%,100%{transform:translate(0,0)}50%{transform:translate(-7%,-6%)}}

.hero-grid{position:relative;z-index:3;width:100%;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center}

.hero-copy{max-width:600px;opacity:0;animation:heroIn .9s var(--ease) .15s forwards}
.hero-eyebrow{display:inline-flex;align-items:center;gap:0.55rem;font-family:'IBM Plex Mono',monospace;font-size:0.6rem;letter-spacing:0.22em;color:var(--violet-3);text-transform:uppercase;margin-bottom:1.6rem;padding:0.42rem 0.9rem;border:1px solid var(--line);border-radius:99px;background:rgba(255,255,255,0.07)}
.hero-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(127,176,147,0.6);animation:pulse 2.2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(127,176,147,0.5)}70%{box-shadow:0 0 0 7px rgba(127,176,147,0)}100%{box-shadow:0 0 0 0 rgba(127,176,147,0)}}
.hero-copy h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(3.4rem,7.5vw,6.4rem);line-height:0.92;color:#fff;letter-spacing:0.02em;margin-bottom:1.4rem;text-shadow:0 2px 40px rgba(0,0,0,0.6)}
.hero-copy h1 .accent{background:linear-gradient(120deg,#F0F0F4,#C9C9D1 55%,#C9AEFF);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hsub{font-size:1.04rem;color:#A39DB2;max-width:480px;line-height:1.8;margin-bottom:2.4rem}
.hero-cta{display:flex;gap:0.9rem;flex-wrap:wrap;margin-bottom:2.6rem}
.btn-primary{position:relative;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.74rem;letter-spacing:0.1em;text-transform:uppercase;color:#fff;background:#C9C9D1;border:none;padding:1rem 2.1rem;cursor:pointer;overflow:hidden;transition:transform .2s var(--ease),box-shadow .3s var(--ease);box-shadow:0 8px 30px -10px rgba(255,255,255,0.7)}
.btn-primary::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,#7b4ff7,#F0F0F4);opacity:0;transition:opacity .3s}
.btn-primary span{position:relative;z-index:1}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px -10px rgba(255,255,255,0.85)}
.btn-primary:hover::before{opacity:1}
.btn-ghost{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.74rem;letter-spacing:0.1em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,0.02);border:1px solid var(--line);padding:1rem 2.1rem;cursor:pointer;transition:all .2s var(--ease)}
.btn-ghost:hover{border-color:#C9C9D1;background:rgba(255,255,255,0.12);transform:translateY(-2px)}
.hero-trust{display:flex;flex-wrap:wrap;gap:1.3rem 1.8rem}
.hero-trust .ti{display:flex;align-items:center;gap:0.5rem;font-family:'IBM Plex Mono',monospace;font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:#8E879E}
.hero-trust .ti svg{flex-shrink:0;color:#C9C9D1}
.hero-trust .ti strong{color:#EDE9F6;font-weight:500}

.hero-product{position:relative;display:flex;justify-content:center;align-items:center;min-height:340px;opacity:0;animation:heroProd 1.1s var(--ease) .35s forwards}
.hero-product .vglow{position:absolute;width:min(440px,80%);height:78%;left:50%;top:46%;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,rgba(255,255,255,0.22),rgba(255,255,255,0.07) 45%,transparent 70%);filter:blur(34px);z-index:0;animation:glowPulse 6s ease-in-out infinite}
@keyframes glowPulse{0%,100%{opacity:0.85;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}}
.hero-product img{position:relative;z-index:1;height:auto;width:auto;max-height:min(680px,76vh);max-width:100%;-webkit-mask-image:radial-gradient(ellipse 88% 94% at 50% 50%,#000 70%,transparent 96%);mask-image:radial-gradient(ellipse 88% 94% at 50% 50%,#000 70%,transparent 96%);filter:drop-shadow(0 30px 55px rgba(0,0,0,0.65))}
@keyframes vialFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes heroIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes heroProd{from{opacity:0;transform:translateY(28px) scale(0.97)}to{opacity:1;transform:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:900px){
  .hero-grid{grid-template-columns:1.04fr 0.96fr;gap:2rem}
  .hero-product{min-height:560px}
}

/* ===== MARQUEE TRUST BAR ===== */
.marquee{border-bottom:1px solid var(--line-soft);background:var(--bg-2);overflow:hidden;padding:1.1rem 0;position:relative}
.marquee::before,.marquee::after{content:"";position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}
.marquee::before{left:0;background:linear-gradient(90deg,var(--bg-2),transparent)}
.marquee::after{right:0;background:linear-gradient(270deg,var(--bg-2),transparent)}
.marquee-track{display:flex;gap:3.5rem;width:max-content;animation:scroll 32s linear infinite}
.marquee-track span{font-family:'IBM Plex Mono',monospace;font-size:0.7rem;letter-spacing:0.16em;text-transform:uppercase;color:rgba(154,154,162,0.4);display:flex;align-items:center;gap:0.6rem;white-space:nowrap}
.marquee-track span::before{content:"";width:5px;height:5px;background:var(--violet);transform:rotate(45deg)}
@keyframes scroll{to{transform:translateX(-50%)}}

/* ===== SECTION SHELL ===== */
.section{padding:6rem 2.5rem;max-width:1240px;margin:0 auto}
.sec-head{margin-bottom:3.5rem;max-width:620px}
.sec-lbl{font-family:'IBM Plex Mono',monospace;font-size:0.6rem;letter-spacing:0.2em;color:var(--violet-3);text-transform:uppercase;margin-bottom:1rem;display:flex;align-items:center;gap:0.6rem}
.sec-lbl::before{content:"";width:24px;height:1px;background:var(--violet)}
.sec-h{font-family:'Space Grotesk',sans-serif;font-size:clamp(2.4rem,5vw,3.6rem);color:var(--ink);letter-spacing:0.03em;line-height:1.02;margin-bottom:1rem}
.sec-h em{font-style:normal;color:var(--violet-3)}
.sec-sub{font-size:0.98rem;color:var(--mauve);line-height:1.8}

/* reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.08s}
.reveal[data-d="2"]{transition-delay:.16s}
.reveal[data-d="3"]{transition-delay:.24s}
.reveal[data-d="4"]{transition-delay:.32s}

/* ===== SCIENCE BENTO ===== */
.bento{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft)}
.bcell{background:var(--bg);padding:2rem;display:flex;flex-direction:column;min-height:230px;position:relative;overflow:hidden;transition:background .3s var(--ease)}
.bcell:hover{background:var(--bg-2)}
.bcell.wide{grid-column:span 2}
.bcell.tall{grid-row:span 2}
.bicon{width:42px;height:42px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--violet-3);margin-bottom:1.4rem;background:rgba(255,255,255,0.06);transition:all .3s var(--ease)}
.bcell:hover .bicon{border-color:var(--violet);background:rgba(255,255,255,0.14);transform:translateY(-2px)}
.bcell h3{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.05rem;color:var(--ink);margin-bottom:0.55rem;letter-spacing:0.01em}
.bcell p{font-size:0.85rem;color:var(--mauve);line-height:1.7}
.bcell .big{font-family:'Space Grotesk',sans-serif;font-size:4.2rem;color:var(--ink);letter-spacing:0.03em;line-height:1;margin-top:auto}
.bcell .big em{font-style:normal;color:var(--violet-3)}
.bcell .big-sub{font-family:'IBM Plex Mono',monospace;font-size:0.6rem;letter-spacing:0.12em;color:rgba(154,154,162,0.45);text-transform:uppercase;margin-top:0.5rem}
.hplc-graph{position:absolute;bottom:0;left:0;right:0;height:90px;opacity:0.5}

/* ===== CATALOGUE ===== */
.cat{padding:6rem 2.5rem 0;max-width:1240px;margin:0 auto}
.cath{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1.5rem}
.cattl{font-family:'Space Grotesk',sans-serif;font-size:2rem;color:var(--ink);letter-spacing:0.03em}
.tabs{display:flex;gap:0.4rem;flex-wrap:wrap}
.tab{font-family:'IBM Plex Mono',monospace;font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.45rem 0.9rem;border:1px solid var(--line);color:rgba(154,154,162,0.65);background:transparent;cursor:pointer;transition:all 0.2s var(--ease)}
.tab:hover{border-color:rgba(255,255,255,0.5);color:var(--ink-soft)}
.tab.active{background:rgba(255,255,255,0.18);border-color:var(--violet);color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1px;background:var(--line-soft);border:1px solid var(--line-soft)}
.card{background:var(--bg);padding:1.6rem;display:flex;flex-direction:column;transition:background 0.25s var(--ease),transform 0.25s var(--ease);position:relative;cursor:pointer}
.card::after{content:"";position:absolute;inset:0;border:1px solid transparent;transition:border-color .25s;pointer-events:none}
.card:hover{background:#161618}
.card:hover::after{border-color:rgba(255,255,255,0.3)}
.cmedia{margin:-1.6rem -1.6rem 1.2rem;height:200px;background:radial-gradient(ellipse at 50% 40%,rgba(255,255,255,0.16),transparent 70%),var(--bg-2);border-bottom:1px solid var(--line-soft);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.cmedia img{width:100%;height:100%;object-fit:contain;padding:0.6rem;transition:transform .5s var(--ease)}
.card:hover .cmedia img{transform:scale(1.05)}
.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:0.5rem}
.ccat{font-family:'IBM Plex Mono',monospace;font-size:0.52rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(235,235,240,0.55);margin-bottom:0.5rem}
.cname{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.18rem;color:var(--ink);line-height:1.18;margin-bottom:0.25rem}
.csku{font-family:'IBM Plex Mono',monospace;font-size:0.58rem;color:rgba(235,235,240,0.55);letter-spacing:0.1em;margin-bottom:1.3rem}
.cinfo{flex-shrink:0;width:24px;height:24px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(154,154,162,0.5);font-family:'IBM Plex Mono',monospace;font-size:0.7rem;transition:all .2s var(--ease)}
.card:hover .cinfo{border-color:var(--violet);color:var(--violet-3)}
.tsel{display:grid;grid-template-columns:1fr 1fr 1fr;gap:3px;margin-bottom:1.1rem}
.tier{background:rgba(255,255,255,0.06);border:1px solid var(--line);padding:0.55rem 0.2rem;cursor:pointer;text-align:center;transition:all 0.2s var(--ease);user-select:none}
.tier:hover{border-color:rgba(255,255,255,0.45);background:rgba(255,255,255,0.13)}
.tier.active{background:rgba(255,255,255,0.22);border-color:var(--violet);box-shadow:inset 0 0 0 1px rgba(255,255,255,0.3)}
.tier .tlbl{font-family:'IBM Plex Mono',monospace;font-size:0.48rem;letter-spacing:0.08em;color:rgba(154,154,162,0.45);text-transform:uppercase;display:block;margin-bottom:0.3rem;pointer-events:none}
.tier .tp{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.94rem;color:var(--ink-soft);pointer-events:none;display:block}
.tier.kit .tp{color:var(--green)}
.tier .sv{font-family:'IBM Plex Mono',monospace;font-size:0.43rem;color:var(--green);display:block;margin-top:2px;pointer-events:none}
/* ===== SALE UI (cards, drawer, tiers) ===== */
.card.on-sale{animation:saleGlow 3.4s var(--ease) infinite}
.card.on-sale::after{border-color:rgba(174,180,191,0.28)}
.card.on-sale:hover::after{border-color:rgba(174,180,191,0.55)}
@keyframes saleGlow{0%,100%{box-shadow:0 0 0 0 rgba(174,180,191,0)}50%{box-shadow:0 0 26px -10px rgba(174,180,191,0.5)}}
.sale-ribbon{position:absolute;top:0;left:0;width:86px;height:86px;overflow:hidden;z-index:4;pointer-events:none}
.sale-ribbon span{position:absolute;top:15px;left:-28px;width:120px;transform:rotate(-45deg);background:linear-gradient(90deg,var(--sale),var(--sale-2));color:#fff;text-align:center;font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:0.52rem;letter-spacing:0.2em;padding:4px 0;box-shadow:0 5px 14px -4px rgba(174,180,191,0.65)}
.sale-badge{position:absolute;top:0.7rem;right:0.7rem;z-index:4;font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:0.66rem;letter-spacing:0.03em;color:#fff;background:linear-gradient(135deg,var(--sale),var(--sale-2));padding:0.26rem 0.52rem;border-radius:99px;box-shadow:0 6px 16px -5px rgba(174,180,191,0.7);animation:salePulse 1.9s ease-in-out infinite}
@keyframes salePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
.card.on-sale:hover .sale-badge{animation-duration:0.85s}
.tp-was{font-family:'IBM Plex Mono',monospace;font-size:0.58rem;color:rgba(154,154,162,0.5);text-decoration:line-through;display:block;margin-top:1px;pointer-events:none}
.tier.on-sale .tp{color:var(--sale-2)}
.vwas{font-family:'IBM Plex Mono',monospace;font-size:0.72rem;color:rgba(154,154,162,0.5);text-decoration:line-through;margin-right:5px}
.vfrom .vnow-sale{color:var(--sale-2)}
.dr-sale-tag{display:inline-flex;align-items:center;gap:5px;margin-top:7px;font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:0.58rem;letter-spacing:0.06em;color:#fff;background:linear-gradient(135deg,var(--sale),var(--sale-2));padding:0.22rem 0.62rem;border-radius:99px;animation:salePulse 1.9s ease-in-out infinite}
.dr-spec strong.sale-now{color:var(--sale-2)}
.dr-spec .was{text-decoration:line-through;color:rgba(154,154,162,0.5);font-weight:500;margin-left:6px;font-size:0.85em}
/* ===== HOMEPAGE FEATURED-SALE BANNER ===== */
.sale-banner{position:relative;z-index:2;border-top:1px solid rgba(174,180,191,0.22);border-bottom:1px solid rgba(174,180,191,0.22);background:linear-gradient(90deg,rgba(174,180,191,0.1),rgba(255,255,255,0.1));overflow:hidden}
.sale-banner[hidden]{display:none}
.sale-banner::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(174,180,191,0.16),transparent);background-size:220% 100%;animation:sbSheen 4.5s linear infinite;pointer-events:none}
@keyframes sbSheen{0%{background-position:220% 0}100%{background-position:-220% 0}}
.sb-inner{position:relative;z-index:1;max-width:1240px;margin:0 auto;display:flex;align-items:center;gap:1rem;padding:0.85rem 2.5rem;flex-wrap:wrap}
.sb-pulse{width:9px;height:9px;border-radius:50%;background:var(--sale);flex-shrink:0;animation:sbDot 1.7s ease-out infinite}
@keyframes sbDot{0%{box-shadow:0 0 0 0 rgba(174,180,191,0.55)}70%{box-shadow:0 0 0 13px rgba(174,180,191,0)}100%{box-shadow:0 0 0 0 rgba(174,180,191,0)}}
.sb-label{font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--sale-2);white-space:nowrap}
.sb-text{font-family:'Inter',sans-serif;font-size:0.85rem;color:var(--mauve);flex:1;min-width:160px}
.sb-text strong{color:#fff;font-weight:600}
.sb-count{font-family:'IBM Plex Mono',monospace;font-size:0.68rem;color:var(--mauve);letter-spacing:0.08em}
.sb-count[hidden]{display:none}
.sb-cta{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.58rem;letter-spacing:0.12em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,var(--sale),var(--sale-2));border:none;padding:0.5rem 1rem;border-radius:99px;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease);white-space:nowrap}
.sb-cta:hover{transform:translateY(-1px);box-shadow:0 8px 20px -6px rgba(174,180,191,0.7)}
@media (max-width:640px){.sb-inner{padding:0.75rem 1.25rem;gap:0.6rem}.sb-text{min-width:120px;font-size:0.78rem}}
@media (prefers-reduced-motion:reduce){.card.on-sale,.sale-badge,.dr-sale-tag,.sale-banner::before,.sb-pulse{animation:none}}
/* ===== PRE-ORDER UI ===== */
.cbadges{display:flex;flex-wrap:wrap;gap:0.4rem;margin:0.1rem 0 0.7rem}
.po-badge{display:inline-flex;align-items:center;font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:0.52rem;letter-spacing:0.12em;color:#fff;background:linear-gradient(135deg,var(--violet),var(--violet-3));padding:0.24rem 0.55rem;border-radius:99px;box-shadow:0 3px 10px -3px rgba(255,255,255,0.6)}
.oos-badge{display:inline-flex;align-items:center;font-family:'IBM Plex Mono',monospace;font-size:0.52rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(154,154,162,0.7);background:rgba(154,154,162,0.08);border:1px solid var(--line);padding:0.22rem 0.5rem;border-radius:99px}
.po-note{margin:0 0 0.9rem;font-size:0.72rem;line-height:1.5}
.po-msg{color:var(--mauve);font-style:italic;margin-bottom:0.25rem}
.po-ship{display:flex;align-items:center;gap:5px;font-family:'IBM Plex Mono',monospace;font-size:0.62rem;letter-spacing:0.04em;color:var(--violet-3)}
.card.preorder-card::after{border-color:rgba(235,235,240,0.3)}
.card.preorder-card:hover::after{border-color:rgba(235,235,240,0.5)}
.abtn.preorder,.dr-add.preorder{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,0.32),rgba(235,235,240,0.22));border:1px solid var(--violet-2);color:#fff;animation:poPulse 2.6s var(--ease) infinite}
.abtn.preorder:hover,.dr-add.preorder:hover{background:linear-gradient(135deg,rgba(255,255,255,0.5),rgba(235,235,240,0.34));transform:translateY(-1px);box-shadow:0 10px 26px -8px rgba(235,235,240,0.6)}
@keyframes poPulse{0%,100%{box-shadow:0 0 0 0 rgba(235,235,240,0)}50%{box-shadow:0 0 16px -3px rgba(235,235,240,0.45)}}
.abtn.preorder::after,.dr-add.preorder::after{content:"";position:absolute;top:0;left:-65%;width:42%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,0.18),transparent);transform:skewX(-18deg);animation:poShimmer 3.4s ease-in-out infinite}
@keyframes poShimmer{0%{left:-65%}55%,100%{left:150%}}
.dr-preorder{background:linear-gradient(135deg,rgba(255,255,255,0.1),rgba(235,235,240,0.06));border:1px solid rgba(235,235,240,0.3);border-radius:12px;padding:0.9rem 1rem;margin:1.1rem 0}
.dr-po-head{display:flex;align-items:center;gap:0.55rem;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.78rem;color:var(--ink);margin-bottom:0.5rem}
.dr-preorder p{font-size:0.78rem;color:var(--mauve);line-height:1.55;margin-bottom:0.5rem}
.dr-po-ship{display:flex;justify-content:space-between;align-items:center;padding-top:0.55rem;border-top:1px solid var(--line-soft)}
.dr-po-ship span{font-family:'IBM Plex Mono',monospace;font-size:0.6rem;letter-spacing:0.08em;text-transform:uppercase;color:rgba(154,154,162,0.55)}
.dr-po-ship strong{font-family:'Space Grotesk',sans-serif;font-size:0.84rem;color:var(--violet-3)}
.dr-po-msg{margin-top:0.5rem;font-size:0.72rem;font-style:italic;color:var(--mauve)}
.citem-po{display:flex;flex-wrap:wrap;align-items:center;gap:0.45rem;margin-top:0.35rem}
.citem-po-tag{font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:0.46rem;letter-spacing:0.1em;color:#fff;background:linear-gradient(135deg,var(--violet),var(--violet-3));padding:0.16rem 0.4rem;border-radius:99px}
.citem-po-ship{font-family:'IBM Plex Mono',monospace;font-size:0.56rem;color:var(--violet-3);letter-spacing:0.03em}
.mi-po{font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:0.46rem;letter-spacing:0.08em;color:var(--violet-3);border:1px solid rgba(235,235,240,0.4);padding:0.06rem 0.3rem;border-radius:99px;vertical-align:middle}
.modal-preorder{background:linear-gradient(135deg,rgba(255,255,255,0.1),rgba(235,235,240,0.05));border:1px solid rgba(235,235,240,0.3);border-radius:12px;padding:1rem;margin-bottom:1.3rem}
.mp-head{display:flex;align-items:center;gap:0.55rem;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.8rem;color:var(--ink);margin-bottom:0.5rem}
.modal-preorder p{font-size:0.78rem;color:var(--mauve);line-height:1.55;margin-bottom:0.6rem}
.mp-ship{display:flex;justify-content:space-between;align-items:center;padding:0.5rem 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);margin-bottom:0.7rem}
.mp-ship span{font-family:'IBM Plex Mono',monospace;font-size:0.6rem;letter-spacing:0.08em;text-transform:uppercase;color:rgba(154,154,162,0.55)}
.mp-ship strong{font-family:'Space Grotesk',sans-serif;font-size:0.86rem;color:var(--violet-3)}
.mp-ack{display:flex;align-items:flex-start;gap:0.55rem;font-size:0.76rem;color:var(--ink-soft);cursor:pointer;line-height:1.45}
.mp-ack input{margin-top:0.15rem;accent-color:var(--violet);width:15px;height:15px;flex-shrink:0;cursor:pointer}
@media (prefers-reduced-motion:reduce){.abtn.preorder,.dr-add.preorder,.abtn.preorder::after,.dr-add.preorder::after{animation:none}}
.cact{display:flex;align-items:center;gap:7px;margin-top:auto}
.qty{display:flex;align-items:center;border:1px solid var(--line)}
.qb{background:transparent;border:none;color:var(--mauve);padding:0.42rem 0.6rem;cursor:pointer;font-size:1rem;transition:color 0.15s;line-height:1}
.qb:hover{color:var(--ink)}
.qn{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:0.85rem;color:var(--ink);min-width:22px;text-align:center}
.abtn{flex:1;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink);background:var(--violet);border:none;padding:0.56rem 0.6rem;cursor:pointer;transition:all 0.2s var(--ease)}
.abtn:hover{background:var(--violet-2)}
.abtn.ok{background:var(--green)}
.abtn:disabled{opacity:0.35;cursor:not-allowed;background:#3D1F6E}
.abtn.selopt{flex:1;background:transparent;border:1px solid var(--violet);color:var(--ink);padding:0.66rem 0.6rem}
.abtn.selopt:hover{background:rgba(255,255,255,0.16)}
.vmeta{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.1rem}
.vfrom{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.15rem;color:var(--ink)}
.vcount{font-family:'IBM Plex Mono',monospace;font-size:0.55rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(235,235,240,0.7);border:1px solid var(--line);padding:0.2rem 0.5rem}
.dsel{display:flex;gap:3px;margin-bottom:1.3rem;flex-wrap:wrap}
.dsel .tier.dose{flex:1;min-width:74px;padding:0.6rem 0.3rem}
.dsel .tier.dose .tp{font-size:0.95rem}
.dsel .tier.dose .sv{color:rgba(154,154,162,0.5)}
.dsel .tier.dose.active .sv{color:var(--green)}
.dsel .tier.dose.off{opacity:0.5}
.dsel .tier.dose.off .sv{color:rgba(154,154,162,0.4)}

/* ===== PROCESS ===== */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.step{position:relative;padding-top:1.5rem;border-top:1px solid var(--line)}
.step-n{font-family:'IBM Plex Mono',monospace;font-size:0.6rem;color:var(--violet-3);letter-spacing:0.14em;margin-bottom:1rem}
.step h4{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1rem;color:var(--ink);margin-bottom:0.5rem}
.step p{font-size:0.85rem;color:var(--mauve);line-height:1.7}

/* ===== CONTACT ===== */
.contact-sec{padding:6rem 2.5rem;max-width:1240px;margin:0 auto;border-top:1px solid var(--line-soft)}
.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:4rem}
.contact-links{display:flex;flex-direction:column;gap:0.8rem;margin-top:2rem}
.contact-link{display:flex;align-items:center;gap:0.75rem;font-family:'IBM Plex Mono',monospace;font-size:0.72rem;color:rgba(154,154,162,0.6);letter-spacing:0.06em;text-decoration:none;transition:color 0.15s}
.contact-link svg{flex-shrink:0;opacity:0.5;transition:opacity .15s}
.contact-link:hover{color:var(--ink)}
.contact-link:hover svg{opacity:1}
.cform{display:flex;flex-direction:column;gap:0.9rem}
.cform label,.mform label{font-family:'IBM Plex Mono',monospace;font-size:0.52rem;letter-spacing:0.14em;color:rgba(235,235,240,0.8);text-transform:uppercase;display:block;margin-bottom:0.32rem}
.cform input,.cform select,.cform textarea,.mform input,.mform select,.mform textarea{width:100%;background:rgba(255,255,255,0.05);border:1px solid var(--line);color:var(--ink);font-family:'Inter',sans-serif;font-size:0.9rem;padding:0.7rem 0.9rem;outline:none;transition:border-color 0.2s,background 0.2s;resize:none}
.cform input::placeholder,.cform textarea::placeholder,.mform input::placeholder,.mform textarea::placeholder{color:rgba(154,154,162,0.28)}
.cform input:focus,.cform select:focus,.cform textarea:focus,.mform input:focus,.mform select:focus,.mform textarea:focus{border-color:var(--violet);background-color:rgba(255,255,255,0.09)}
.cform select,.mform select{appearance:none;-webkit-appearance:none;color:var(--mauve);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='rgba(235,235,240,0.7)'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.9rem center;padding-right:2rem;cursor:pointer}
.cform select option,.mform select option{background:var(--panel);color:var(--ink)}
/* conditional "Please specify" reveal under Research Affiliation */
.affil-other{overflow:hidden;max-height:0;opacity:0;transition:max-height .3s var(--ease),opacity .25s var(--ease)}
.affil-other.show{max-height:130px;opacity:1}
.cform-row{display:grid;grid-template-columns:1fr 1fr;gap:0.85rem}
.sbtn{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;color:#fff;background:var(--violet);border:none;padding:0.85rem 2rem;cursor:pointer;transition:all 0.2s var(--ease);align-self:flex-start}
.sbtn:hover{background:var(--violet-2);transform:translateY(-1px);box-shadow:0 10px 28px -10px rgba(255,255,255,0.6)}
.sbtn.sent{background:var(--green);cursor:default;transform:none;box-shadow:none}
.form-note{font-family:'IBM Plex Mono',monospace;font-size:0.52rem;color:rgba(154,154,162,0.28);letter-spacing:0.04em;line-height:1.6}
.form-err{font-family:'IBM Plex Mono',monospace;font-size:0.62rem;color:#E76A6A;letter-spacing:0.03em;line-height:1.6;padding:0.6rem 0.8rem;border:1px solid rgba(231,106,106,0.3);background:rgba(231,106,106,0.07)}

/* ===== DRAWER ===== */
.drawer-overlay{position:fixed;inset:0;background:rgba(7,6,13,0.7);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:900;opacity:0;pointer-events:none;transition:opacity .35s var(--ease)}
.drawer-overlay.open{opacity:1;pointer-events:all}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,92vw);background:var(--panel);border-left:1px solid var(--line);z-index:901;transform:translateX(100%);transition:transform .42s var(--ease);overflow-y:auto;display:flex;flex-direction:column}
.drawer.open{transform:translateX(0)}
.dr-head{display:flex;align-items:flex-start;justify-content:space-between;padding:1.6rem;border-bottom:1px solid var(--line-soft);position:sticky;top:0;background:var(--panel);z-index:2}
.dr-cat{font-family:'IBM Plex Mono',monospace;font-size:0.52rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(235,235,240,0.6);margin-bottom:0.5rem}
.dr-name{font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:1.5rem;color:var(--ink);line-height:1.1;margin-bottom:0.3rem}
.dr-sku{font-family:'IBM Plex Mono',monospace;font-size:0.6rem;color:rgba(235,235,240,0.55);letter-spacing:0.1em}
.dr-close{background:none;border:1px solid var(--line);color:var(--mauve);width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:1.2rem;line-height:1;flex-shrink:0;transition:all .2s var(--ease)}
.dr-close:hover{border-color:var(--violet);color:var(--ink);background:rgba(255,255,255,0.12)}
.dr-media{height:280px;background:radial-gradient(ellipse at 50% 40%,rgba(255,255,255,0.18),transparent 70%),var(--bg-2);border-bottom:1px solid var(--line-soft);display:flex;align-items:center;justify-content:center;overflow:hidden}
.dr-media img{width:100%;height:100%;object-fit:contain;padding:0.8rem}
.dr-body{padding:1.6rem;flex:1}
.dr-desc{font-size:0.92rem;color:var(--mauve);line-height:1.8;margin-bottom:1.8rem}
.dr-specs{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);margin-bottom:1.8rem}
.dr-spec{background:var(--bg);padding:0.95rem 1rem}
.dr-spec label{font-family:'IBM Plex Mono',monospace;font-size:0.5rem;letter-spacing:0.12em;color:rgba(154,154,162,0.4);text-transform:uppercase;display:block;margin-bottom:0.35rem}
.dr-spec strong{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.92rem;color:var(--ink)}
.dr-spec strong.g{color:var(--green)}
.dr-tier-h{font-family:'IBM Plex Mono',monospace;font-size:0.55rem;letter-spacing:0.14em;color:rgba(235,235,240,0.7);text-transform:uppercase;margin-bottom:0.8rem}
.dr-foot{padding:1.4rem 1.6rem;border-top:1px solid var(--line-soft);position:sticky;bottom:0;background:var(--panel)}
.dr-add{width:100%;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.74rem;letter-spacing:0.1em;text-transform:uppercase;color:#fff;background:var(--violet);border:none;padding:0.9rem;cursor:pointer;transition:all .2s var(--ease)}
.dr-add:hover{background:var(--violet-2)}
.dr-add.ok{background:var(--green)}

/* ===== ORDER MODAL ===== */
.modal-overlay{position:fixed;inset:0;background:rgba(7,6,13,0.85);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;pointer-events:none;transition:opacity 0.3s var(--ease)}
.modal-overlay.open{opacity:1;pointer-events:all}
.modal{background:var(--panel);border:1px solid rgba(255,255,255,0.3);max-width:520px;width:100%;max-height:90vh;overflow-y:auto;position:relative;transform:translateY(18px) scale(.98);transition:transform .35s var(--ease)}
.modal-overlay.open .modal{transform:none}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--line)}
.modal-title{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.9rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink)}
.modal-close{background:none;border:none;color:rgba(154,154,162,0.4);font-size:1.35rem;cursor:pointer;line-height:1;padding:0 4px;transition:color 0.15s}
.modal-close:hover{color:var(--ink)}
.modal-body{padding:1.5rem}
.modal-summary{background:rgba(255,255,255,0.06);border:1px solid var(--line-soft);padding:1rem;margin-bottom:1.5rem}
.modal-summary-title{font-family:'IBM Plex Mono',monospace;font-size:0.52rem;letter-spacing:0.14em;color:rgba(235,235,240,0.7);text-transform:uppercase;margin-bottom:0.65rem}
.modal-items{display:flex;flex-direction:column;gap:0.4rem;margin-bottom:0.75rem}
.modal-item{display:flex;justify-content:space-between;font-size:0.8rem;color:var(--mauve)}
.modal-item span:last-child{color:var(--ink);font-family:'IBM Plex Mono',monospace;font-size:0.75rem}
.modal-total{display:flex;justify-content:space-between;padding-top:0.65rem;border-top:1px solid var(--line-soft);font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1rem;color:var(--ink)}
.modal-total span:last-child{color:var(--violet-3)}
/* discount code */
.modal-discount{margin:0.75rem 0 0.25rem}
.md-input-row{display:flex;gap:0.5rem}
.md-input-row input{flex:1;background:var(--bg-2);border:1px solid var(--line);color:var(--ink);padding:0.55rem 0.7rem;font-family:'IBM Plex Mono',monospace;font-size:0.78rem;letter-spacing:0.06em;text-transform:uppercase;transition:border-color .2s var(--ease),background .2s var(--ease)}
.md-input-row input::placeholder{text-transform:none;letter-spacing:0;color:rgba(154,154,162,0.4)}
.md-input-row input:focus{outline:none;border-color:var(--violet);background:rgba(255,255,255,0.09)}
.md-apply{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink);background:transparent;border:1px solid var(--violet);padding:0 1rem;cursor:pointer;transition:all .2s var(--ease)}
.md-apply:hover{background:rgba(255,255,255,0.18)}
.md-apply:disabled{opacity:0.55;cursor:wait}
.md-apply.applied{border-color:var(--green);color:var(--green)}
.md-msg{font-size:0.72rem;margin-top:0.45rem;min-height:0;display:none}
.md-msg.show{display:block}
.md-msg.ok{color:var(--green-2)}
.md-msg.err{color:var(--sale-2)}
.modal-subtotal,.modal-discount-line{display:flex;justify-content:space-between;font-size:0.8rem;padding-top:0.6rem;margin-top:0.2rem}
.modal-subtotal{color:var(--mauve);border-top:1px solid var(--line-soft)}
.modal-subtotal span:last-child,.modal-discount-line span:last-child{font-family:'IBM Plex Mono',monospace;font-size:0.78rem}
.modal-discount-line{color:var(--sale-2);padding-top:0.35rem}
.modal-subtotal[hidden],.modal-discount-line[hidden]{display:none}
.mform{display:flex;flex-direction:column;gap:0.85rem}
.mform-row{display:grid;grid-template-columns:1fr 1fr;gap:0.85rem}
.msbtn{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--bg);background:var(--green);border:none;padding:0.8rem 2rem;cursor:pointer;transition:all .2s var(--ease);width:100%;margin-top:0.4rem}
.msbtn:hover{background:var(--green-2)}
.msbtn:disabled{opacity:0.5;cursor:wait}
.modal-success{text-align:center;padding:1.5rem 0}
.modal-success-icon{width:56px;height:56px;margin:0 auto 1.2rem;border:1.5px solid var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--green);font-size:1.6rem}
.modal-success h3{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.1rem;color:var(--green);margin-bottom:0.5rem}
.modal-success p{font-size:0.85rem;color:var(--mauve);line-height:1.7;max-width:340px;margin:0 auto}

/* ===== FOOTER ===== */
footer{padding:3rem 2.5rem;border-top:1px solid var(--line-soft);display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:2rem;max-width:1240px;margin:0 auto}
.fdi{font-family:'IBM Plex Mono',monospace;font-size:0.55rem;letter-spacing:0.04em;color:rgba(154,154,162,0.25);max-width:420px;line-height:1.8}

/* ===== RESPONSIVE ===== */
@media(max-width:980px){
  .bento{grid-template-columns:repeat(2,1fr)}
  .bcell.wide{grid-column:span 2}
  .bcell.tall{grid-row:auto}
  .steps{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
  .nav{padding:1rem 1.25rem}
  .nav.shrink{padding:0.7rem 1.25rem}
  .nl{display:none}
  .hero{padding:6rem 1.25rem 3rem;min-height:auto;text-align:center}
  .hero-copy{margin:0 auto}
  .hero-eyebrow{margin-left:auto;margin-right:auto}
  .hsub{font-size:1rem;margin-left:auto;margin-right:auto}
  .hero-cta{justify-content:center}
  .hero-trust{justify-content:center}
  .hero-product{order:-1;min-height:300px}
  .hsub{font-size:1rem}
  /* a11y: enlarge tap targets to ~44px min on touch screens */
  .tab{padding:0.85rem 1.1rem}
  .qb{padding:0.95rem 1rem}
  .qn{min-width:30px}
  .cinfo{width:40px;height:40px}
  .dr-close{width:44px;height:44px}
  .crm{padding:0.55rem 0.6rem;font-size:1.4rem}
  .cart-btn{padding:0.8rem 1.15rem}
  .nl a{padding:0.6rem 0}
  .section{padding:4rem 1.25rem}
  .cat{padding:4rem 1.25rem 0}
  .contact-sec{padding:4rem 1.25rem}
  .ci{padding:1.25rem}
  .hst{gap:1.8rem}
  .contact-inner{grid-template-columns:1fr;gap:2.5rem}
  .cform-row,.mform-row{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .bento{grid-template-columns:1fr}
  .bcell.wide{grid-column:auto}
  footer{padding:2.5rem 1.25rem;flex-direction:column;align-items:flex-start}
}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
  .reveal{opacity:1;transform:none}
  .hero-copy,.hero-product,.hsub{opacity:1;animation:none}
  .hero-product img,.hero-product .vglow{animation:none}
  #hero-particles{display:none}
  .hero-fog span{animation:none}
  .marquee-track{animation:none}
  .ambient::before,.ambient::after{animation:none}
}

/* =====================================================================
   MULTI-PAGE ADDITIONS — inner page headers, featured, products toolbar,
   FAQ accordion, about, account. Reuses existing tokens & components.
   ===================================================================== */

/* nav active link */
.nl a.active{color:var(--ink)}
.nl a.active::after{right:0}

/* inner-page header */
.page-hero{position:relative;padding:9rem 2.5rem 2.5rem;max-width:1240px;margin:0 auto;text-align:center}
.page-hero .sec-lbl{justify-content:center}
.page-hero h1{font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.03;letter-spacing:-0.02em;color:var(--ink)}
.page-hero h1 em{font-style:normal;color:var(--violet-3)}
.page-hero p.lede{max-width:640px;margin:1.2rem auto 0;color:var(--mauve);font-size:1.02rem;line-height:1.6}

/* ===== FEATURED PRODUCTS (home) ===== */
.featured-sec{max-width:1240px;margin:0 auto;padding:5rem 2.5rem}
.featured-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:2.4rem;flex-wrap:wrap}
.featured-head .fh-l{max-width:560px}
.featured-head h2{font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:clamp(1.6rem,3vw,2.3rem);letter-spacing:-0.01em;color:var(--ink)}
.featured-head p{color:var(--mauve);margin-top:0.6rem;font-size:0.95rem}
.view-all{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--violet-3);white-space:nowrap;display:inline-flex;align-items:center;gap:0.4rem;transition:gap .2s var(--ease),color .2s}
.view-all:hover{gap:0.7rem;color:var(--ink)}
.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.fcard{position:relative;background:var(--bg);border:1px solid var(--line-soft);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .35s var(--ease),border-color .35s,box-shadow .35s}
.fcard:hover{transform:translateY(-6px);border-color:rgba(255,255,255,0.4);box-shadow:0 24px 50px -22px rgba(255,255,255,0.5)}
.fcard.on-sale:hover{border-color:rgba(174,180,191,0.45);box-shadow:0 24px 50px -22px rgba(174,180,191,0.45)}
.fcard-media{position:relative;height:240px;background:radial-gradient(ellipse at 50% 35%,rgba(255,255,255,0.18),transparent 70%),var(--bg-2);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line-soft);overflow:hidden}
.fcard-media img{width:100%;height:100%;object-fit:contain;padding:1rem;transition:transform .5s var(--ease)}
.fcard:hover .fcard-media img{transform:scale(1.06)}
.fcard-media.noimg::after{content:"STRATA";font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:1.4rem;letter-spacing:0.2em;color:rgba(235,235,240,0.25)}
.fcard-badges{position:absolute;top:0.8rem;left:0.8rem;display:flex;flex-direction:column;gap:0.4rem;z-index:2}
.fbadge{font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:0.56rem;letter-spacing:0.08em;padding:0.26rem 0.55rem;border-radius:99px;color:#fff;width:fit-content}
.fbadge.sale{background:linear-gradient(135deg,var(--sale),var(--sale-2));animation:salePulse 1.9s ease-in-out infinite}
.fbadge.po{background:linear-gradient(135deg,var(--violet),var(--violet-3))}
.fcard-body{padding:1.4rem;display:flex;flex-direction:column;flex:1}
.fcat{font-family:'IBM Plex Mono',monospace;font-size:0.54rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(235,235,240,0.6);margin-bottom:0.5rem}
.fname{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.15rem;color:var(--ink);margin-bottom:0.9rem}
.fmeta{display:flex;align-items:center;justify-content:space-between;gap:0.6rem;margin-bottom:1.2rem;margin-top:auto}
.fstock{font-family:'IBM Plex Mono',monospace;font-size:0.58rem;letter-spacing:0.06em;text-transform:uppercase;display:inline-flex;align-items:center;gap:5px}
.fstock::before{content:"";width:6px;height:6px;border-radius:50%}
.fstock.in{color:var(--green)}.fstock.in::before{background:var(--green)}
.fstock.out{color:rgba(154,154,162,0.5)}.fstock.out::before{background:rgba(154,154,162,0.5)}
.fstock.po{color:var(--violet-3)}.fstock.po::before{background:var(--violet-3)}
.fprice{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1rem;color:var(--ink)}
.fp-was{text-decoration:line-through;color:rgba(154,154,162,0.5);font-size:0.8rem;font-weight:500;margin-right:4px}
.fp-now.sale{color:var(--sale-2)}
.fcard-actions{display:grid;grid-template-columns:1fr 1fr;gap:0.6rem}
.fbtn{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.7rem 0.6rem;border-radius:8px;text-align:center;cursor:pointer;transition:all .2s var(--ease);border:1px solid var(--violet);display:block}
.fbtn.ghost{background:transparent;color:var(--ink)}
.fbtn.ghost:hover{background:rgba(255,255,255,0.15)}
.fbtn.solid{background:var(--violet);color:#fff;border-color:var(--violet)}
.fbtn.solid:hover{background:var(--violet-2)}

/* ===== PRODUCTS PAGE ===== */
.prod-toolbar{max-width:1240px;margin:0 auto 1.5rem;padding:0 2.5rem;display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.prod-search{position:relative;flex:1;min-width:220px}
.prod-search input{width:100%;background:var(--bg-2);border:1px solid var(--line);color:var(--ink);padding:0.7rem 0.9rem 0.7rem 2.4rem;border-radius:10px;font-family:'Inter',sans-serif;font-size:0.9rem;outline:none;transition:border-color .2s}
.prod-search input:focus{border-color:var(--violet)}
.prod-search svg{position:absolute;left:0.85rem;top:50%;transform:translateY(-50%);color:rgba(154,154,162,0.5)}
.prod-sort{display:flex;align-items:center;gap:0.5rem}
.prod-sort label{font-family:'IBM Plex Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(154,154,162,0.55)}
.prod-sort select{background:var(--bg-2);border:1px solid var(--line);color:var(--ink);padding:0.6rem 0.8rem;border-radius:10px;font-family:'Inter',sans-serif;font-size:0.85rem;outline:none;cursor:pointer}
.prod-sort select:focus{border-color:var(--violet)}
.empty-grid{grid-column:1/-1;text-align:center;color:rgba(154,154,162,0.55);padding:4rem 1rem;font-size:0.95rem}

/* ===== FAQ accordion ===== */
.faq-wrap{max-width:820px;margin:0 auto;padding:1rem 2.5rem 5rem}
.faq-item{border:1px solid var(--line-soft);border-radius:12px;margin-bottom:0.9rem;overflow:hidden;background:var(--bg);transition:border-color .25s}
.faq-item.open{border-color:rgba(255,255,255,0.4)}
.faq-q{width:100%;text-align:left;background:transparent;border:none;color:var(--ink);font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:1rem;padding:1.3rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer}
.faq-q .faq-ic{flex-shrink:0;width:22px;height:22px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--violet-3);transition:transform .3s var(--ease),background .25s;font-size:1rem;line-height:1}
.faq-item.open .faq-ic{transform:rotate(45deg);background:rgba(255,255,255,0.18)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
.faq-a-in{padding:0 1.5rem 1.4rem;color:var(--mauve);font-size:0.92rem;line-height:1.65}

/* ===== ABOUT & QUALITY ===== */
.about-block{max-width:1240px;margin:0 auto;padding:2.5rem 2.5rem}
.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.4rem;margin-top:1.5rem}
.about-card{background:var(--bg);border:1px solid var(--line-soft);border-radius:14px;padding:1.8rem}
.about-card h3{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.05rem;color:var(--ink);margin-bottom:0.7rem}
.about-card p{color:var(--mauve);font-size:0.9rem;line-height:1.62}

/* ===== ACCOUNT (scaffold) ===== */
.account-wrap{max-width:920px;margin:0 auto;padding:1rem 2.5rem 5rem}
.account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-top:1.5rem}
.account-tile{background:var(--bg);border:1px solid var(--line-soft);border-radius:14px;padding:1.6rem;display:flex;flex-direction:column;gap:0.5rem;min-height:140px}
.account-tile h3{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1rem;color:var(--ink)}
.account-tile p{color:var(--mauve);font-size:0.82rem;line-height:1.5}
.account-tile .soon{font-family:'IBM Plex Mono',monospace;font-size:0.54rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--violet-3);margin-top:auto}
.account-auth{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.8rem}

/* CTA strip */
.cta-strip{max-width:1100px;margin:4rem auto;padding:3.2rem 2.5rem;text-align:center;border:1px solid var(--line);border-radius:18px;background:radial-gradient(700px 300px at 50% 0%,rgba(255,255,255,0.12),transparent 70%),var(--bg)}
.cta-strip h2{font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:clamp(1.5rem,3vw,2.2rem);color:var(--ink);margin-bottom:0.8rem}
.cta-strip p{color:var(--mauve);max-width:520px;margin:0 auto 1.8rem;font-size:0.98rem;line-height:1.6}
.cta-strip .hero-cta{justify-content:center}

@media(max-width:1024px){.featured-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){
  .featured-grid{grid-template-columns:1fr}
  .featured-sec{padding:3.5rem 1.25rem}
  .prod-toolbar{padding:0 1.25rem}
  .page-hero{padding:7rem 1.25rem 2rem}
  .about-block,.faq-wrap,.account-wrap{padding-left:1.25rem;padding-right:1.25rem}
}

/* ===== RESEARCH ACCESS GATE ===== */
.gate-overlay{position:fixed;inset:0;z-index:400;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:rgba(5,4,10,0.8);backdrop-filter:blur(9px) saturate(120%);-webkit-backdrop-filter:blur(9px) saturate(120%);opacity:0;transition:opacity .3s var(--ease)}
.gate-overlay.open{opacity:1}
.gate-overlay[hidden]{display:none}
.gate-modal{width:100%;max-width:480px;background:var(--panel);border:1px solid rgba(255,255,255,0.35);padding:2rem;box-shadow:0 30px 80px -20px rgba(0,0,0,0.75),0 0 0 1px rgba(255,255,255,0.08);transform:translateY(16px) scale(0.985);transition:transform .35s var(--ease);max-height:92vh;overflow:auto}
.gate-overlay.open .gate-modal{transform:none}
.gate-eyebrow{display:inline-flex;align-items:center;gap:0.5rem;font-family:'IBM Plex Mono',monospace;font-size:0.56rem;letter-spacing:0.24em;text-transform:uppercase;color:var(--violet-3);margin-bottom:1rem}
.gate-dot{width:6px;height:6px;border-radius:50%;background:var(--violet-3);box-shadow:0 0 8px var(--violet-3);animation:gateDot 2s ease-in-out infinite}
@keyframes gateDot{0%,100%{opacity:1}50%{opacity:0.4}}
.gate-modal h2{font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:1.5rem;color:var(--ink);margin-bottom:0.7rem;letter-spacing:-0.01em}
.gate-desc{font-size:0.88rem;color:var(--mauve);line-height:1.55;margin-bottom:1.4rem}
.gate-check{display:flex;gap:0.7rem;align-items:flex-start;padding:0.85rem;margin-bottom:0.65rem;background:rgba(255,255,255,0.05);border:1px solid var(--line);cursor:pointer;transition:border-color .2s,background .2s}
.gate-check:hover{border-color:rgba(255,255,255,0.45);background:rgba(255,255,255,0.1)}
.gate-check input{margin-top:0.15rem;width:17px;height:17px;flex-shrink:0;accent-color:var(--violet);cursor:pointer}
.gate-check span{font-size:0.8rem;color:var(--ink-soft);line-height:1.5}
.gate-check a{color:var(--violet-3);text-decoration:underline;text-underline-offset:2px}
.gate-foot{display:flex;gap:0.75rem;margin-top:1.4rem}
.gate-cancel{flex:0 0 auto;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.66rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--mauve);background:transparent;border:1px solid var(--line);padding:0.85rem 1.2rem;cursor:pointer;transition:all .2s var(--ease)}
.gate-cancel:hover{color:var(--ink);border-color:rgba(255,255,255,0.5)}
.gate-continue{flex:1;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:#fff;background:var(--violet);border:none;padding:0.85rem 1.2rem;cursor:pointer;transition:all .2s var(--ease)}
.gate-continue:hover:not(:disabled){background:var(--violet-2);box-shadow:0 10px 28px -10px rgba(255,255,255,0.6)}
.gate-continue:disabled{opacity:0.4;cursor:not-allowed}
@media(max-width:520px){.gate-modal{padding:1.5rem}.gate-foot{flex-direction:column-reverse}.gate-cancel,.gate-continue{width:100%}}
@media(prefers-reduced-motion:reduce){.gate-overlay,.gate-modal,.gate-dot{transition:none;animation:none}}

/* homepage announcement bar (admin-managed) */
.announce{position:relative;z-index:2;background:linear-gradient(90deg,rgba(255,255,255,0.14),rgba(235,235,240,0.1));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.announce[hidden]{display:none}
.announce-in{max-width:1240px;margin:0 auto;padding:0.7rem 2.5rem;text-align:center;font-family:'IBM Plex Mono',monospace;font-size:0.72rem;letter-spacing:0.05em;color:var(--mauve)}
.announce-in a{color:var(--violet-3);text-decoration:underline}

/* product subname (e.g. "Wolverine Stack") */
.csub{font-family:'IBM Plex Mono',monospace;font-size:0.56rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--violet-3);margin:1px 0 4px}
.dr-sub{font-family:'IBM Plex Mono',monospace;font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--violet-3)}

/* ===== MOBILE NAV — hamburger + slide-in sidebar ===== */
.navburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:38px;background:transparent;border:1px solid rgba(255,255,255,0.35);border-radius:9px;cursor:pointer;padding:0 9px;transition:border-color .2s var(--ease),background .2s var(--ease);margin-left:0.6rem}
.navburger span{display:block;height:2px;width:100%;background:var(--ink);border-radius:2px;transition:transform .3s var(--ease),opacity .2s var(--ease)}
.navburger:hover{border-color:var(--violet);background:rgba(255,255,255,0.12)}
.navburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.navburger.open span:nth-child(2){opacity:0}
.navburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mnav-scrim{position:fixed;inset:0;background:rgba(5,4,10,0.6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:200;opacity:0;pointer-events:none;transition:opacity .3s var(--ease)}
.mnav-scrim.open{opacity:1;pointer-events:auto}
.mnav{position:fixed;top:0;right:0;height:100%;width:min(80vw,330px);background:rgba(9,7,18,0.98);-webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%);border-left:1px solid var(--line);z-index:201;transform:translateX(100%);transition:transform .38s var(--ease);display:flex;flex-direction:column;padding:1.4rem 1.25rem;box-shadow:-24px 0 60px -30px rgba(0,0,0,0.8)}
.mnav.open{transform:none}
.mnav-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.4rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line-soft)}
.mnav-title{font-family:'IBM Plex Mono',monospace;font-size:0.62rem;letter-spacing:0.24em;text-transform:uppercase;color:var(--violet-3)}
.mnav-close{background:transparent;border:none;color:var(--mauve);font-size:1.9rem;line-height:1;cursor:pointer;width:38px;height:38px;border-radius:8px;transition:color .2s,background .2s}
.mnav-close:hover{color:var(--ink);background:rgba(255,255,255,0.12)}
.mnav-links{display:flex;flex-direction:column;gap:0.25rem}
.mnav-links a{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:1.05rem;color:var(--mauve);text-decoration:none;padding:0.9rem 0.7rem;border-radius:10px;transition:background .2s var(--ease),color .2s,padding-left .2s var(--ease);display:flex;align-items:center;justify-content:space-between}
.mnav-links a:hover{background:rgba(255,255,255,0.1);color:var(--ink);padding-left:1rem}
.mnav-links a.active{color:var(--ink);background:rgba(255,255,255,0.16)}
.mnav-links a.active::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--violet-3);flex-shrink:0}
.mnav-foot{margin-top:auto;padding-top:1.2rem;border-top:1px solid var(--line-soft);font-family:'IBM Plex Mono',monospace;font-size:0.58rem;letter-spacing:0.06em;color:rgba(154,154,162,0.45)}
@media(max-width:680px){.navburger{display:flex}}
@media(prefers-reduced-motion:reduce){.mnav,.mnav-scrim,.navburger span,.mnav-links a{transition:none}}

/* ===== RESEARCH USE ACKNOWLEDGMENT (checkout) ===== */
.research-ack{background:rgba(255,255,255,0.05);border:1px solid var(--line-soft);padding:1.05rem 1.1rem;margin:0.3rem 0 0.1rem;animation:raIn .4s var(--ease)}
@keyframes raIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ra-head{display:flex;align-items:center;gap:0.5rem;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink);margin-bottom:0.8rem}
.ra-dot{width:7px;height:7px;border-radius:50%;background:var(--violet-3);box-shadow:0 0 0 3px rgba(235,235,240,0.16);flex-shrink:0}
/* scoped under .research-ack so .mform label (block, uppercase, mono) can't override */
.research-ack .ra-item{display:flex;gap:0.65rem;align-items:flex-start;font-family:'Inter',sans-serif;font-size:0.78rem;font-weight:400;letter-spacing:normal;text-transform:none;line-height:1.45;color:var(--mauve);cursor:pointer;padding:0.4rem 0;margin:0;transition:color .2s var(--ease)}
.research-ack .ra-item:hover{color:var(--ink-soft)}
.research-ack .ra-item span{flex:1}
.research-ack .ra-item input{appearance:none;-webkit-appearance:none;flex-shrink:0;width:17px;height:17px;margin:1px 0 0;border:1px solid rgba(255,255,255,0.5);border-radius:4px;background:var(--bg-2);cursor:pointer;position:relative;transition:all .2s var(--ease)}
.research-ack .ra-item input:checked{background:var(--violet);border-color:var(--violet)}
.research-ack .ra-item input:checked::after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.research-ack .ra-item input:focus-visible{outline:2px solid var(--violet-3);outline-offset:2px}
.research-ack .ra-item strong{color:var(--ink);font-weight:700}
.ra-note{font-size:0.68rem;line-height:1.5;color:rgba(154,154,162,0.55);margin-top:0.65rem;padding-top:0.65rem;border-top:1px solid var(--line-soft)}
.ra-note a{color:var(--violet-3);text-decoration:underline}
.msbtn:disabled{opacity:0.45;cursor:not-allowed;transform:none;box-shadow:none}

/* ===== LEGAL / POLICY PAGES + FOOTER LINKS ===== */
.foot-links{display:flex;flex-wrap:wrap;gap:1.4rem;justify-content:center;margin:0.4rem 0 0.9rem}
.foot-links a{font-family:'IBM Plex Mono',monospace;font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(154,154,162,0.55);text-decoration:none;transition:color .2s}
.foot-links a:hover{color:var(--violet-3)}
.legal{max-width:880px;margin:0 auto;padding:1rem 2.5rem 5rem}
.legal h2{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.15rem;color:var(--ink);margin:2.4rem 0 0.8rem;letter-spacing:-0.01em}
.legal h2:first-of-type{margin-top:0.5rem}
.legal p,.legal li{font-size:0.92rem;line-height:1.7;color:var(--mauve);margin-bottom:0.9rem}
.legal ul{padding-left:1.2rem;margin-bottom:0.9rem}
.legal li{margin-bottom:0.5rem}
.legal strong{color:var(--ink-soft)}
.legal .updated{font-family:'IBM Plex Mono',monospace;font-size:0.68rem;letter-spacing:0.08em;color:rgba(154,154,162,0.45);text-transform:uppercase;margin-bottom:2rem}
.legal-disclaimer{background:rgba(255,255,255,0.06);border:1px solid var(--line-soft);padding:1.1rem 1.25rem;margin:1.6rem 0;font-size:0.84rem;line-height:1.6;color:var(--mauve)}
@media(max-width:680px){.legal{padding:1rem 1.25rem 4rem}.foot-links{gap:1rem}}

/* ===== ABOUT PAGE — quality cards, why-choose, commitment ===== */
.about-q-grid,.about-why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;max-width:1240px;margin:0 auto;padding:0 2.5rem}
.about-q{background:var(--bg);border:1px solid var(--line-soft);padding:1.6rem;transition:transform .35s var(--ease),border-color .35s var(--ease),background .35s}
.about-q:hover{transform:translateY(-4px);border-color:rgba(255,255,255,0.35);background:#161618}
.about-q .bicon{margin-bottom:1.15rem}
.about-q h3{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.96rem;color:var(--ink);margin-bottom:0.55rem;letter-spacing:-0.01em}
.about-q p{font-size:0.82rem;line-height:1.55;color:var(--mauve)}
.about-why{background:rgba(255,255,255,0.05);border:1px solid var(--line-soft);padding:1.7rem 1.3rem;text-align:center;transition:transform .35s var(--ease),border-color .35s var(--ease)}
.about-why:hover{transform:translateY(-4px);border-color:rgba(127,176,147,0.35)}
.about-why .wcheck{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 0.95rem;background:rgba(127,176,147,0.12);color:var(--green-2);transition:transform .35s var(--ease)}
.about-why:hover .wcheck{transform:scale(1.08)}
.about-why h4{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.9rem;color:var(--ink);line-height:1.3}
.commit{padding:5rem 2.5rem 6rem;margin-top:1rem;border-top:1px solid var(--line-soft);background:radial-gradient(900px 400px at 50% 0%,rgba(255,255,255,0.1),transparent 70%)}
.commit-in{max-width:760px;margin:0 auto;text-align:center}
.commit-in h2{font-family:'Space Grotesk',sans-serif;font-weight:800;font-size:clamp(1.5rem,3.4vw,2.2rem);color:var(--ink);margin:0.6rem 0 1rem;letter-spacing:-0.02em}
.commit-in p{font-size:0.96rem;line-height:1.7;color:var(--mauve);margin-bottom:1.8rem}
@media(max-width:980px){.about-q-grid,.about-why-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.about-q-grid,.about-why-grid{grid-template-columns:1fr;padding:0 1.25rem}.commit{padding:3.5rem 1.25rem 4.5rem}}

/* ===== STRATA wordmark + luxury polish ===== */
.strata-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(255,255,255,0.28);border-radius:3px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.05rem;color:var(--ink);flex-shrink:0}
.strata-word{display:flex;flex-direction:column;line-height:1;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:1rem;letter-spacing:0.34em;color:var(--ink);text-transform:uppercase}
.strata-word small{font-size:0.4rem;letter-spacing:0.44em;color:var(--mauve);margin-top:5px;font-weight:400}
.nb{align-items:center;gap:12px}
h1,.sec-h{letter-spacing:-0.012em}
.card:hover{transform:translateY(-3px)}

/* ===== STRATA monochrome overrides — no gradients, no glow, contrast only ===== */
.card.on-sale{animation:none}
.card.on-sale::after{border-color:rgba(201,201,201,0.35)}
.sale-badge,.dr-sale-tag{background:#C9C9C9;color:#050505;animation:none;box-shadow:none}
.sale-ribbon span{background:#C9C9C9;color:#050505;box-shadow:none}
.sale-banner{background:#121212;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sale-banner::before{display:none}
.sb-pulse{animation:none;background:#C9C9C9}
.sb-cta{background:#1C1C1C;color:#FAFAFA;border:1px solid rgba(255,255,255,0.2)}
.sb-cta:hover{background:#26262A;box-shadow:none;transform:translateY(-1px)}
.hero-glow,.vglow,.hero-fog{opacity:0.25}
.abtn.preorder,.dr-add.preorder{animation:none}
.abtn.preorder::after,.dr-add.preorder::after{display:none}
/* rounded matte-black buttons, graphite hover */
.btn-primary,.btn-ghost,.abtn,.abtn.selopt,.dr-add,.sbtn,.obtn,.sb-cta{border-radius:10px}
.btn-primary,.abtn,.dr-add,.sbtn{background:#1C1C1C;color:#FAFAFA;border:1px solid rgba(255,255,255,0.18)}
.btn-primary:hover,.abtn:hover,.dr-add:hover,.sbtn:hover{background:#26262A;box-shadow:none}
.msbtn,.obtn{background:#FAFAFA;color:#050505;border-radius:10px}
.msbtn:hover,.obtn:hover{background:#C9C9C9}
/* product cards: floating graphite, thin silver border, lift+scale */
.card{background:#0B0B0C;border-radius:14px}
.card::after{border:1px solid rgba(201,201,201,0.14);border-radius:14px}
.card:hover{background:#121212;transform:translateY(-4px) scale(1.008);box-shadow:0 24px 48px -24px rgba(0,0,0,0.85)}
.card:hover::after{border-color:rgba(201,201,201,0.32)}
.cmedia{border-radius:14px 14px 0 0;background:#0E0E0F}
.grid{gap:14px;background:transparent}
/* breathing room + nav */
.section{padding:7rem 2.5rem}
.nav{backdrop-filter:blur(20px) saturate(110%);background:rgba(5,5,5,0.78)}
.tier{border-radius:8px}
.tier.active{box-shadow:none}
@media(max-width:680px){.section{padding:4.5rem 1.25rem}}

/* kit tier + savings: silver, not green (strict monochrome) */
.tier.kit .tp{color:#DDDDDD}
.tier .sv{color:#9A9AA2}
.dsel .tier.dose.active .sv{color:#C9C9C9}
.dr-spec strong.g{color:#DDDDDD}

/* =====================================================================
   STRATA REFINEMENT v2 — evolution pass: depth, glass, tone bands,
   micro-interactions. Nothing structural; cascade-level overrides only.
   ===================================================================== */
:root{--s-ease:cubic-bezier(.2,.7,.2,1);--s-smoke:rgba(255,255,255,.08);
  --s-e1:inset 0 1px 0 rgba(255,255,255,.05),0 10px 30px -12px rgba(0,0,0,.7);
  --s-e2:inset 0 1px 0 rgba(255,255,255,.07),0 30px 70px -30px rgba(0,0,0,.9)}
::selection{background:#F4F4F2;color:#050505}
html{scrollbar-color:#2A2A2E #050505}
::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#050505}
::-webkit-scrollbar-thumb{background:#242428;border-radius:99px;border:2px solid #050505}

/* --- atmosphere restored (monochrome, not purple) --- */
.hero-glow{opacity:.5}.vglow{opacity:.55}.hero-fog{opacity:.4}
.hero-stone{opacity:.85}

/* --- alternating tone bands --- */
.marquee{background:#0C0C0E;border-top:1px solid var(--s-smoke);border-bottom:1px solid var(--s-smoke)}
.section#science{background:#0C0C0E;border-top:1px solid var(--s-smoke);border-bottom:1px solid var(--s-smoke)}
.section#science .bcell{background:#121214;border-radius:14px;box-shadow:var(--s-e1);transition:transform .2s var(--s-ease),box-shadow .2s var(--s-ease)}
.section#science .bcell:hover{transform:translateY(-2px);box-shadow:var(--s-e2)}

/* --- signature: inverted bone CTA band --- */
.cta-strip{background:#F4F4F2;color:#050505;border:none;padding:6.5rem 2.5rem}
.cta-strip h2{color:#050505;letter-spacing:-0.02em}
.cta-strip p{color:#4A4A4E}
.cta-strip .btn-primary{background:#050505;color:#FAFAFA;border:1px solid #050505}
.cta-strip .btn-primary:hover{background:#1C1C1C;transform:translateY(-1px)}
.cta-strip .btn-ghost{border:1px solid rgba(5,5,5,.3);color:#050505;background:transparent}
.cta-strip .btn-ghost:hover{background:rgba(5,5,5,.06);border-color:rgba(5,5,5,.5)}

/* --- cards: layered light + shadow --- */
.card{box-shadow:var(--s-e1);transition:transform .22s var(--s-ease),box-shadow .22s var(--s-ease),background .22s var(--s-ease)}
.card:hover{box-shadow:var(--s-e2)}
.fcard{border-radius:14px;box-shadow:var(--s-e1);transition:transform .22s var(--s-ease),box-shadow .22s var(--s-ease)}
.fcard:hover{transform:translateY(-4px);box-shadow:var(--s-e2)}

/* --- buttons: handcrafted feel --- */
.btn-primary,.abtn,.dr-add,.sbtn,.msbtn,.obtn,.sb-cta,.btn-ghost{border-radius:12px;transition:background .18s var(--s-ease),transform .18s var(--s-ease),border-color .18s var(--s-ease),box-shadow .18s var(--s-ease)}
.btn-primary,.abtn,.dr-add,.sbtn{box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.btn-primary:hover,.abtn:hover,.dr-add:hover,.sbtn:hover{transform:translateY(-1px)}
.btn-primary:active,.abtn:active,.dr-add:active{transform:translateY(0)}
.qb{border-radius:9px;transition:all .15s var(--s-ease)}

/* --- nav: thinner glass --- */
.nav{backdrop-filter:blur(24px) saturate(130%);-webkit-backdrop-filter:blur(24px) saturate(130%);background:rgba(5,5,5,.72);border-bottom:1px solid var(--s-smoke)}
.nav.shrink{background:rgba(5,5,5,.86)}
.nl a{letter-spacing:.12em;transition:color .18s var(--s-ease)}

/* --- glass surfaces: cart, drawer, modal --- */
.cp{background:rgba(10,10,12,.88);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--s-smoke)}
.drawer{background:rgba(10,10,12,.92);backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);border-left:1px solid var(--s-smoke);box-shadow:-40px 0 80px -40px rgba(0,0,0,.9)}
.modal{background:rgba(12,12,14,.94);backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);border:1px solid var(--s-smoke);border-radius:18px;box-shadow:0 60px 120px -40px rgba(0,0,0,.95)}

/* --- forms: inputs, checkboxes, dropdowns --- */
.cform input,.cform select,.cform textarea,.mform input,.mform textarea,.md-input-row input{border-radius:10px;transition:border-color .18s var(--s-ease),background .18s var(--s-ease),box-shadow .18s var(--s-ease)}
.cform input:focus,.cform select:focus,.cform textarea:focus,.mform input:focus,.mform textarea:focus,.md-input-row input:focus{box-shadow:0 0 0 3px rgba(255,255,255,.07);border-color:rgba(255,255,255,.4)}
input[type=checkbox]{accent-color:#C9C9C9}
.md-apply{border-radius:10px}

/* --- typography rhythm --- */
.sec-lbl{letter-spacing:.3em;color:#8A8A92}
.sec-h{letter-spacing:-0.02em}
.hsub{color:#A6A6AC}
.ccat{letter-spacing:.18em}

/* --- tier chips --- */
.tier{transition:border-color .18s var(--s-ease),background .18s var(--s-ease)}
.tier.active{background:#17171A;border-color:rgba(201,201,201,.5)}
.tier:hover{border-color:rgba(201,201,201,.35)}

/* --- empty states + spinner --- */
.empty-grid{color:#6A6A72;font-family:'IBM Plex Mono',monospace;letter-spacing:.08em;padding:4rem 1rem}

@media (prefers-reduced-motion:reduce){.card,.fcard,.bcell,.btn-primary,.abtn{transition:none}}

/* v2.1 corrections: atmosphere as whisper not wash; footer legibility */
.hero-glow{opacity:.22}.hero-fog{opacity:.16}.vglow{opacity:.38}.hero-stone{opacity:.5}
.fdi{color:#7A7A82}
footer .nl a,footer a{color:#8A8A92}

/* STRATA logo lockup (black bg blends away via screen) */
.logo-img{height:58px;width:auto;display:block;mix-blend-mode:screen;transition:transform .2s var(--s-ease)}
.nb:hover .logo-img{transform:scale(1.04)}
footer .logo-img{height:48px}
@media(max-width:680px){.logo-img{height:46px}}

/* larger logo lockups */
.logo-img{height:78px}
.nav.shrink .logo-img{height:64px}
footer .logo-img{height:66px}
@media(max-width:680px){.logo-img{height:60px}.nav.shrink .logo-img{height:54px}}

/* ===== light-media product cards (white-background product photography) ===== */
.card.light-media .cmedia{background:linear-gradient(180deg,#FCFCFC 0%,#EDEDEF 100%);border-bottom:1px solid rgba(0,0,0,.06)}
.card.light-media .cmedia img{padding:1rem;mix-blend-mode:multiply}
.card.light-media:hover .cmedia{background:linear-gradient(180deg,#FFFFFF 0%,#F0F0F2 100%)}

/* enlarge white-bg vial to match dark cards (crop baked-in white margin) */
.card.light-media .cmedia{overflow:hidden}
.card.light-media .cmedia img{padding:0;transform:scale(1.34);transition:transform .5s var(--s-ease)}
.card.light-media:hover .cmedia img{transform:scale(1.4)}

/* correction: reduce zoom so full vial fits (was over-cropped) */
.card.light-media .cmedia img{transform:scale(1.12)}
.card.light-media:hover .cmedia img{transform:scale(1.16)}

/* ============================================================
   BRUSHED PLATINUM ACCENT (#BFC5CB) — steel detail, ~5% of UI.
   Only: active nav, button hover, thin dividers, small icons,
   links, form focus, subtle highlights. Never fills/bg/body text.
   ============================================================ */
:root{ --platinum:#BFC5CB; --violet-3:#BFC5CB; }

/* active navigation */
.nl a.active{color:var(--platinum)}
.nl a.active::after,.nl a:hover::after{background:var(--platinum)}
.mnav-links a.active{color:var(--platinum)}
.mnav-links a.active::after{background:var(--platinum)}

/* button hover — steel edge + faint glow, no fill change */
.btn-primary:hover,.abtn:hover,.dr-add:hover,.sbtn:hover,.msbtn:hover,.md-apply:hover{
  border-color:var(--platinum) !important;
  box-shadow:0 0 0 1px rgba(191,197,203,.35),0 12px 34px -16px rgba(191,197,203,.55)}
.btn-ghost:hover{border-color:var(--platinum);color:var(--platinum)}
.cart-btn:hover,.sb-cta:hover{border-color:var(--platinum)}

/* thin divider lines */
.sec-lbl::before{background:var(--platinum)}
.marquee-track span::before{background:var(--platinum)}

/* small icons */
.bicon{color:var(--platinum);border-color:rgba(191,197,203,.32)}
.hero-trust .ti svg{color:var(--platinum)}
.contact-link:hover svg{color:var(--platinum);opacity:1}

/* links (content links + hovers, never body text) */
.contact-link:hover,.announce-in a{color:var(--platinum)}
footer a:hover{color:var(--platinum)}

/* form focus states */
.cform input:focus,.cform select:focus,.cform textarea:focus,
.mform input:focus,.mform select:focus,.mform textarea:focus,
.md-input-row input:focus,.prod-search input:focus{
  border-color:var(--platinum) !important;
  box-shadow:0 0 0 3px rgba(191,197,203,.15) !important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.tier:focus-visible,[tabindex]:focus-visible{outline-color:var(--platinum)}

/* subtle highlights */
.hero-copy h1 .accent{background:linear-gradient(120deg,#F4F5F6,#C9C9D1 45%,#BFC5CB);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.tier.active{border-color:rgba(191,197,203,.55)}
.hero-eyebrow .dot{background:var(--platinum)}

/* ============================================================
   WRATH PURPLE — ambient accent only (~atmosphere layer).
   Pairs with platinum: steel = crisp edges, purple = soft light.
   Low-alpha glows/gradients only. Never fills sections or text.
   ============================================================ */
:root{ --wp:126,78,214; }

/* very subtle background gradients */
.ambient{background:
  radial-gradient(58% 46% at 12% -4%, rgba(var(--wp),0.06), transparent 60%),
  radial-gradient(50% 42% at 104% 108%, rgba(90,50,170,0.05), transparent 62%)}

/* soft ambient glow behind the hero product */
.hero-product .vglow{background:radial-gradient(ellipse at center,
  rgba(var(--wp),0.30), rgba(var(--wp),0.10) 46%, transparent 72%)}
.hero-glow.b{background:radial-gradient(circle,rgba(var(--wp),0.24),transparent 60%)}
.hero-glow.c{background:radial-gradient(circle,rgba(90,50,170,0.20),transparent 65%)}

/* announcement / release + sale banners */
.announce{background:linear-gradient(90deg,rgba(var(--wp),0.13),rgba(255,255,255,0.04));border-color:rgba(var(--wp),0.22)}
.sale-banner{background:linear-gradient(90deg,rgba(var(--wp),0.15),rgba(90,50,170,0.05))!important;border-top:1px solid rgba(var(--wp),0.30);border-bottom:1px solid rgba(var(--wp),0.30)}

/* button hover — platinum edge + warm purple glow */
.btn-primary:hover,.abtn:hover,.dr-add:hover,.sbtn:hover,.msbtn:hover,.md-apply:hover{
  box-shadow:0 0 0 1px rgba(191,197,203,.30),0 14px 40px -16px rgba(var(--wp),.55)!important}

/* active navigation — platinum underline with a purple halo */
.nl a.active::after,.nl a:hover::after{box-shadow:0 0 10px rgba(var(--wp),.7)}
.mnav-links a.active{box-shadow:inset 2px 0 0 rgba(var(--wp),.6)}

/* thin divider lines — steel fading into purple */
.sec-lbl::before{background:linear-gradient(90deg,rgba(191,197,203,.9),rgba(var(--wp),.55))}

/* card hover glow */
.card:not(.light-media):hover{box-shadow:0 24px 48px -26px rgba(0,0,0,.85),0 0 42px -12px rgba(var(--wp),.28)}
.card:hover::after{border-color:rgba(var(--wp),.38)}
.card:hover .cinfo{border-color:rgba(var(--wp),.6);color:#CDB4EC}

/* small icon highlights (resting steel -> purple glow on hover) */
.bcell:hover .bicon{border-color:rgba(var(--wp),.5);background:rgba(var(--wp),.12);color:#CDB4EC;box-shadow:0 0 22px -6px rgba(var(--wp),.42)}

/* product-section lighting reflection (dark tiles only) */
.card:not(.light-media) .cmedia{background:radial-gradient(ellipse at 50% 30%,rgba(var(--wp),0.12),transparent 66%),#0E0E0F}

/* form focus — platinum border + purple halo */
.cform input:focus,.cform select:focus,.cform textarea:focus,
.mform input:focus,.mform select:focus,.mform textarea:focus,
.md-input-row input:focus,.prod-search input:focus{
  border-color:var(--platinum)!important;
  box-shadow:0 0 0 3px rgba(var(--wp),.18)!important}

/* ============================================================
   PRONOUNCED PURPLE — sale banners + product sale UI
   (stronger than ambient, still not neon / not full sections)
   ============================================================ */
/* sale / announcement banner */
.sale-banner{background:linear-gradient(90deg,rgba(var(--wp),0.28),rgba(90,50,170,0.12))!important;
  border-top:1px solid rgba(var(--wp),0.55);border-bottom:1px solid rgba(var(--wp),0.55);
  box-shadow:inset 0 0 46px -16px rgba(var(--wp),0.65)}
.sale-banner::before{background:linear-gradient(90deg,transparent,rgba(var(--wp),0.30),transparent)}
.sb-label{color:#CDB4EC}
.sb-pulse{background:rgb(var(--wp))}
.sb-cta{background:rgba(var(--wp),0.92)!important;border-color:transparent!important;color:#fff!important}
.sb-cta:hover{background:rgb(var(--wp))!important;box-shadow:0 8px 24px -8px rgba(var(--wp),.75)!important}
.announce{background:linear-gradient(90deg,rgba(var(--wp),0.22),rgba(255,255,255,0.04))!important;border-color:rgba(var(--wp),0.4)}

/* on-card sale UI: ribbon, %-badge, sale price, drawer tag */
.sale-ribbon span{background:linear-gradient(90deg,rgb(var(--wp)),#9A66E0)!important;box-shadow:0 4px 14px -4px rgba(var(--wp),.7)}
.sale-badge{background:linear-gradient(135deg,rgb(var(--wp)),#9A66E0)!important;box-shadow:0 6px 18px -6px rgba(var(--wp),.75)!important;color:#fff}
.dr-sale-tag{background:linear-gradient(135deg,rgb(var(--wp)),#9A66E0)!important;color:#fff}
.tier.on-sale .tp,.vnow-sale{color:#C6A9EE!important}

/* stronger product-tile lighting + hover bloom (dark cards only) */
.card:not(.light-media) .cmedia{background:radial-gradient(ellipse at 50% 32%,rgba(var(--wp),0.22),transparent 68%),#0E0E0F}
.card:not(.light-media):hover .cmedia{background:radial-gradient(ellipse at 50% 32%,rgba(var(--wp),0.32),transparent 66%),#0E0E0F}
.card:not(.light-media):hover{box-shadow:0 24px 48px -26px rgba(0,0,0,.85),0 0 54px -10px rgba(var(--wp),.44)}
.card:hover::after{border-color:rgba(var(--wp),.55)}

/* featured 'Most requested compounds' cards: sale badge -> pronounced purple (match catalogue) */
.fbadge.sale{background:linear-gradient(135deg,rgb(var(--wp)),#9A66E0)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 6px 18px -6px rgba(var(--wp),.7)!important}
.fcard .fprice .fnow.on-sale,.fcard .fnow-sale{color:#C6A9EE!important}
.fcard:hover{box-shadow:0 24px 48px -26px rgba(0,0,0,.85),0 0 48px -12px rgba(var(--wp),.4)}


/* ============================================================
   WRATH — WARM-WHITE REFINED THEME (light Apple-product page +
   dark premium product components + restrained WRATH purple)
   ============================================================ */
:root{
  --bg:#F7F4EF; --bg-2:#EFEAE2; --panel:#FFFFFF;
  --ink:#18161C; --ink-soft:#2C2A32; --mauve:#6C6873;
  --line:rgba(24,22,28,0.12); --line-soft:rgba(24,22,28,0.06);
  --violet:#6E3AD6; --violet-2:#7C4DE0; --violet-3:#6E3AD6; --platinum:#6E3AD6;
  --wp:126,78,214; --green:#2E8F63; --green-2:#37A574; --sale:#6E3AD6; --sale-2:#8A5CE6;
}
html,body{background:var(--bg);color:var(--ink)}
::selection{background:rgba(110,58,214,.22);color:#111}
.ambient{background:radial-gradient(60% 45% at 12% -5%,rgba(var(--wp),0.05),transparent 60%),radial-gradient(50% 40% at 104% 108%,rgba(var(--wp),0.04),transparent 62%)}

/* NAV (light, blurred) */
.nav{background:rgba(247,244,239,0.82);border-bottom:1px solid var(--line)}
.nav.shrink{background:rgba(247,244,239,0.94)}
.nl a{color:#59555F}.nl a:hover{color:var(--ink)}.nl a.active{color:var(--violet)}
.cart-btn{color:var(--ink);background:transparent;border:1px solid rgba(24,22,28,.28)}
.cart-btn:hover{border-color:var(--violet);background:rgba(110,58,214,.06)}
.cc{background:var(--violet);color:#fff}
.navburger{border:1px solid rgba(24,22,28,.28)}.navburger span{background:var(--ink)}
.mnav{background:rgba(250,248,244,0.98);border-left:1px solid var(--line)}
.mnav-title{color:var(--violet)}.mnav-close{color:var(--mauve)}
.mnav-links a{color:#4A4750}.mnav-links a:hover{background:rgba(110,58,214,.08);color:var(--ink)}
.mnav-links a.active{color:var(--violet);background:rgba(110,58,214,.1)}

/* WRATH text wordmark */
.wr-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(24,22,28,.32);border-radius:4px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.15rem;color:var(--ink);flex-shrink:0}
.wr-word{display:flex;flex-direction:column;line-height:1;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.05rem;letter-spacing:0.3em;color:var(--ink);text-transform:uppercase}
.wr-word small{font-size:0.4rem;letter-spacing:0.42em;color:var(--violet);margin-top:5px;font-weight:600}
.nb{align-items:center;gap:12px}
footer .wr-word{font-size:0.9rem}

/* HERO (light) */
.hero{background:linear-gradient(180deg,#FCFAF6 0%,#F1ECE4 100%);border-bottom:1px solid var(--line-soft)}
.hero-stone{opacity:.028}
.hero-glow.a{background:radial-gradient(circle,rgba(0,0,0,0.04),transparent 62%)}
.hero-glow.b{background:radial-gradient(circle,rgba(var(--wp),0.10),transparent 60%)}
.hero-glow.c{background:radial-gradient(circle,rgba(var(--wp),0.07),transparent 65%)}
.hero-eyebrow{color:var(--violet);border:1px solid rgba(110,58,214,.26);background:rgba(110,58,214,.05)}
.hero-eyebrow .dot{background:var(--violet)}
.hero-copy h1{color:var(--ink)}
.hero-copy h1 .accent{background:linear-gradient(120deg,#7C4DE0,#6E3AD6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hsub{color:var(--mauve)}
.hero-trust .ti{color:var(--mauve)}.hero-trust .ti strong{color:var(--ink)}.hero-trust .ti svg{color:var(--violet)}
.hero-product .vglow{background:radial-gradient(ellipse at center,rgba(var(--wp),0.15),transparent 70%)}

/* MARQUEE (light) */
.marquee{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.marquee-track span{color:var(--mauve)}.marquee-track span::before{background:var(--violet)}

/* SECTION LABELS / HEADINGS */
.sec-lbl{color:var(--violet)}.sec-lbl::before{background:var(--violet)}
.sec-h{color:var(--ink)}.sec-h em{color:var(--violet)}.sec-sub{color:var(--mauve)}
.cattl,.cath{color:var(--ink)}

/* BENTO standards -> light cards */
.bcell{background:#fff;border:1px solid var(--line);color:var(--ink);box-shadow:0 1px 3px rgba(24,22,28,.04)}
.bcell h3{color:var(--ink)}.bcell p{color:var(--mauve)}.bcell .big{color:var(--ink)}.bcell .big em{color:var(--violet)}
.bicon{background:rgba(110,58,214,.06);border:1px solid rgba(110,58,214,.2);color:var(--violet)}
.bcell:hover .bicon{background:rgba(110,58,214,.12);border-color:var(--violet);color:var(--violet)}
.hplc-graph polyline{stroke:var(--violet)}

/* STEPS */
.step-n{color:var(--violet)}.step h4{color:var(--ink)}.step p{color:var(--mauve)}
.step{border-color:var(--line)}

/* FOOTER (light) */
footer{background:var(--bg-2);border-top:1px solid var(--line)}
.fdi,footer p{color:var(--mauve)}footer a{color:var(--ink)}footer a:hover{color:var(--violet)}

/* FORMS on light page */
.cform label,.mform label{color:var(--violet)}
.cform input,.cform select,.cform textarea,.mform input,.mform select,.mform textarea,.prod-search input{background:#fff;border:1px solid var(--line);color:var(--ink)}
.cform input::placeholder,.mform input::placeholder,.mform textarea::placeholder,.prod-search input::placeholder{color:#A8A4AE}
.cform input:focus,.cform select:focus,.cform textarea:focus,.mform input:focus,.mform select:focus,.mform textarea:focus,.prod-search input:focus{border-color:var(--violet) !important;background:#fff;box-shadow:0 0 0 3px rgba(var(--wp),.14) !important}
.prod-search svg{color:var(--mauve)}
.prod-toolbar,.prod-sort label{color:var(--mauve)}
.prod-sort select{background:#fff;border:1px solid var(--line);color:var(--ink)}
.tab{color:var(--mauve);border:1px solid var(--line);background:#fff}
.tab.active{background:rgba(110,58,214,.1);border-color:var(--violet);color:var(--violet)}

/* ---- DARK PREMIUM PRODUCT COMPONENTS (kept dark on light page) ---- */
.card,.fcard{background:#141318 !important;color:#F4F3F6;border-radius:14px;box-shadow:0 10px 30px -18px rgba(24,22,28,.35)}
.card::after,.fcard::after{border:1px solid rgba(24,22,28,.06);border-radius:14px}
.card:hover,.fcard:not(.light-media):hover{background:#191821 !important}
.card:hover::after{border-color:rgba(var(--wp),.35)}
.card:not(.light-media) .cmedia{background:radial-gradient(ellipse at 50% 30%,rgba(var(--wp),0.14),transparent 66%),#0E0D12}
.cname,.fname{color:#F6F5F8}
.ccat,.fcat{color:rgba(201,190,228,0.62)}
.csku,.vcount,.fsku{color:rgba(190,185,205,0.5)}
.tier{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.12)}
.tier .tp{color:#EFEDF4}.tier .tlbl{color:rgba(200,195,215,0.5)}
.tier.active{background:rgba(110,58,214,0.28);border-color:var(--violet-2)}
.tier.kit .tp{color:#8FE0B6}
.vfrom,.fprice,.fnow,.fcard .fnow{color:#F4F3F6}
.vmeta{border-color:rgba(255,255,255,.08)}
.cinfo{border-color:rgba(255,255,255,0.22);color:#CFC9E0}
.card:hover .cinfo{border-color:var(--violet-2);color:#D9CFF0}
.qb{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#EDEBF2}.qn{color:#F4F3F6}
.abtn{background:#211F2A;color:#F5F4F8;border:none}.abtn:hover{background:#2A2836}
.abtn.selopt{background:transparent;border:1px solid rgba(255,255,255,.3);color:#EFEDF4}
.fcta,.fcard .fbtn,.view-product{color:#F4F3F6}

/* featured card ghost/solid buttons */
.fbtn.ghost{border:1px solid rgba(255,255,255,.28);color:#EFEDF4;background:transparent}
.fbtn.solid{background:#EDEBF2;color:#141318}

/* drawer / cart / order modal stay dark */
.drawer{background:#141318;color:#F2F1F5;border-left:1px solid rgba(255,255,255,.08)}
.dr-name{color:#F6F5F8}.dr-cat{color:var(--violet-2)}.dr-sku{color:rgba(190,185,205,.6)}
.dr-desc{color:rgba(214,210,224,.8)}.dr-spec label{color:rgba(190,185,205,.55)}.dr-spec strong{color:#EFEDF4}
.dr-tier-h{color:rgba(200,195,215,.6)}
.cp{background:#141318;border-bottom:1px solid rgba(255,255,255,.08)}
.cin{color:#F4F3F6}.cim{color:rgba(190,185,205,.6)}.cip{color:#F4F3F6}.ctot{color:#F4F3F6}
.cempty{color:rgba(190,185,205,.5)}
.modal{background:#141318;color:#F2F1F5}
.modal-title{color:#F6F5F8}.modal-summary-title{color:var(--violet-2)}
.modal-item{color:rgba(210,205,222,.85)}.modal-item span:last-child{color:#F4F3F6}
.modal-total{color:#F6F5F8}.modal-total span:last-child{color:var(--violet-2)}

/* buttons (primary CTA on light page -> deep near-black, purple glow on hover) */
.btn-primary{background:#1A181F !important;color:#FAFAFA;box-shadow:0 10px 30px -14px rgba(24,22,28,.5)}
.btn-ghost{background:transparent;border:1px solid rgba(24,22,28,.3);color:var(--ink)}
.btn-ghost:hover{border-color:var(--violet);color:var(--violet)}

/* release / sale banners: warm-white with purple accent */
.announce{background:linear-gradient(90deg,rgba(var(--wp),0.1),rgba(255,255,255,0)) ,#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.announce-in{color:var(--ink)}.announce-in a{color:var(--violet)}
.sale-banner{background:linear-gradient(90deg,rgba(var(--wp),0.12),rgba(var(--wp),0.03)) !important;border-top:1px solid rgba(var(--wp),.28);border-bottom:1px solid rgba(var(--wp),.28)}
.sb-label{color:var(--violet)}.sb-text{color:var(--ink)}.sb-text strong{color:var(--violet)}
.sb-cta{background:var(--violet);color:#fff}

/* about/faq/policy page text -> dark on light */
.about-hero h1,.page-hero h1,.faq-q,.policy h1,.policy h2,.ra-title{color:var(--ink)}
.about-hero p,.page-hero p,.faq-a,.policy p,.policy li{color:var(--mauve)}
.faq-item{background:#fff;border:1px solid var(--line)}
.faq-q{color:var(--ink)}.faq-ic{color:var(--violet)}
.acct-card,.account-tile{background:#fff;border:1px solid var(--line);color:var(--ink)}

/* keep drop-shadows readable on light */
.hero-product img{filter:drop-shadow(0 24px 44px rgba(24,22,28,0.22))}

/* fix: standards section + its cards to light (was dark from polish) */
.section#science{background:var(--bg-2) !important;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section#science .bcell{background:#fff !important;box-shadow:0 1px 3px rgba(24,22,28,.05)}
.section#science .bcell h3{color:var(--ink)}.section#science .bcell p{color:var(--mauve)}
.section#science .big{color:var(--ink)}.section#science .big em{color:var(--violet)}.big-sub{color:var(--mauve)}
/* CTA strip: crisp white plate on warm page */
.cta-strip{background:#fff !important;border:1px solid var(--line) !important;box-shadow:0 20px 50px -30px rgba(24,22,28,.3);color:var(--ink)}
.cta-strip h2{color:var(--ink)}.cta-strip p{color:var(--mauve)}

/* About page custom cards -> light cards on warm page */
.about-q{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.8rem;box-shadow:0 1px 3px rgba(24,22,28,.04)}
.about-q h3{color:var(--ink)}.about-q p{color:var(--mauve)}
.about-why{background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--ink)}
.about-why h4{color:var(--ink)}
.wcheck{color:var(--violet)}
.about-why .wcheck{background:rgba(110,58,214,.08);border:1px solid rgba(110,58,214,.2)}

/* ===== STRATA: purple accent on warm-white (match homepage concept) ===== */
:root{
  --violet:#6E3AD6; --violet-2:#7C4DE0; --violet-3:#6E3AD6; --platinum:#6E3AD6;
  --wp:126,78,214; --sale:#6E3AD6; --sale-2:#8A5CE6;
}
.hero-copy h1 .accent{background:linear-gradient(120deg,#7C4DE0,#6E3AD6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.nl a.active{color:var(--violet)}
.sec-lbl,.sec-h em{color:var(--violet)}
.sec-lbl::before{background:var(--violet)}
.hero-eyebrow{color:var(--violet);border-color:rgba(110,58,214,.26);background:rgba(110,58,214,.05)}
.hero-eyebrow .dot{background:var(--violet)}
.hero-trust .ti svg{color:var(--violet)}
.bicon{color:var(--violet);background:rgba(110,58,214,.06);border-color:rgba(110,58,214,.2)}
.bcell:hover .bicon{color:var(--violet);border-color:var(--violet);background:rgba(110,58,214,.12)}
.tab.active{color:var(--violet);background:rgba(110,58,214,.1);border-color:var(--violet)}
.fbadge.sale,.sale-badge{background:linear-gradient(135deg,#7C4DE0,#6E3AD6) !important;box-shadow:0 6px 18px -8px rgba(110,58,214,.5) !important}
.btn-ghost:hover{border-color:var(--violet);color:var(--violet)}
/* STRATA logo (white-on-black png) -> dark rounded badge on the light nav */
.logo-img{height:52px;width:auto;display:block;border-radius:9px}
.nav{padding-top:0.85rem;padding-bottom:0.85rem}
footer .logo-img{height:44px}

/* STRATA: purple accents on the DARK product components (match concept) */
.tier.active{background:rgba(110,58,214,0.28) !important;border-color:var(--violet-2) !important}
.tier.active .tp{color:#fff}
.fbadge.sale,.sale-badge,.dr-sale-tag{background:linear-gradient(135deg,#7C4DE0,#6E3AD6) !important;color:#fff !important;border-color:transparent !important;box-shadow:0 6px 16px -8px rgba(110,58,214,.5) !important}
.sale-ribbon span{background:linear-gradient(90deg,#7C4DE0,#6E3AD6) !important;color:#fff !important}
.tp-was,.fwas,.price-was,.fcard .fwas{color:rgba(201,190,228,.55)}
.card:hover::after{border-color:rgba(var(--wp),.35) !important}
.card:hover .cinfo,.cinfo{border-color:rgba(201,190,228,.4);color:#D9D2EA}
.card:hover .cinfo{border-color:var(--violet-2);color:#E7DFF6}
.fnow-sale,.fcard .fnow.on-sale{color:#EDE7FA !important}
.fcard:hover{box-shadow:0 24px 48px -26px rgba(0,0,0,.85),0 0 40px -14px rgba(126,78,214,.35)}
/* light-page component accents -> purple */
.cart-btn:hover{border-color:var(--violet);background:rgba(110,58,214,.06)}
.about-why .wcheck{background:rgba(110,58,214,.08);border-color:rgba(110,58,214,.2)}
.wcheck{color:var(--violet)}
.sb-label{color:var(--violet)}.sb-text strong{color:var(--violet)}.sb-cta{background:var(--violet);color:#fff}
.sale-banner{background:linear-gradient(90deg,rgba(var(--wp),0.12),rgba(var(--wp),0.03)) !important;border-color:rgba(var(--wp),.28)}

/* STRATA logo: solid black plate + white lettering (match the source image) on light nav/footer */
.logo-img{height:48px;width:auto;display:block;background:#000;padding:9px 18px;border-radius:9px;box-shadow:0 4px 14px -6px rgba(0,0,0,.4)}
.nav{padding-top:0.75rem;padding-bottom:0.75rem}
footer .logo-img{height:44px;padding:8px 16px}
footer{padding-top:2.4rem}

/* logo: show the source image faithfully (its own black bg), larger + legible */
.logo-img{height:60px;width:auto;display:block;background:#000;padding:0;border-radius:8px;box-shadow:0 4px 14px -6px rgba(0,0,0,.35)}
.nav{padding-top:0.55rem;padding-bottom:0.55rem}
footer .logo-img{height:52px;padding:0}

/* =====================================================================
   STRATA HOMEPAGE — reference recreation (warm-white luxury lab)
   Bright, minimal, Apple-clean. Purple used only as a 2% accent.
   ===================================================================== */
:root{ --bg:#FAFAF8; --bg-2:#F3F1EC; }
html,body{background:#FAFAF8}

/* soft, near-invisible gradients behind the hero */
.hero{background:
  radial-gradient(680px 460px at 82% 30%, rgba(126,78,214,0.05), transparent 70%),
  radial-gradient(720px 520px at 8% 12%, rgba(24,22,28,0.028), transparent 72%),
  linear-gradient(180deg,#FDFCFA 0%,#F6F3EE 100%)}

/* ---- HERO HEADING: large, bold, 3-line, tight leading ---- */
.hero-copy h1{font-size:clamp(3.2rem,6.4vw,5.6rem);line-height:0.98;letter-spacing:-0.02em;margin-bottom:1.5rem}
.hsub{font-size:1.06rem;line-height:1.75;max-width:430px;margin-bottom:2.4rem}

/* ---- CTA BUTTONS: rounded, smooth hover ---- */
.btn-primary,.btn-ghost{border-radius:14px;padding:1.05rem 2.2rem;transition:transform .25s var(--ease),box-shadow .3s var(--ease),background .25s,border-color .25s,color .2s}
.btn-primary{background:#1A181F !important;color:#FAFAFA;box-shadow:0 12px 30px -14px rgba(24,22,28,.55)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 40px -14px rgba(24,22,28,.6)}
.btn-ghost{background:#fff;border:1px solid rgba(24,22,28,.16);color:var(--ink);box-shadow:0 1px 2px rgba(24,22,28,.04)}
.btn-ghost:hover{border-color:var(--violet);color:var(--violet);background:rgba(110,58,214,.04);transform:translateY(-2px)}

/* ---- CIRCULAR TRUST BADGES ---- */
.hero-trust{display:flex;flex-wrap:wrap;gap:1.4rem 2.2rem;margin-top:0.4rem}
.hero-trust .ti{display:flex;align-items:center;gap:0.7rem}
.hero-trust .ti-ic{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;flex-shrink:0;color:var(--violet);background:rgba(110,58,214,.06);border:1px solid rgba(110,58,214,.2)}
.hero-trust .ti-ic svg{color:var(--violet)}
.hero-trust .ti-lb{display:flex;flex-direction:column;line-height:1.28;font-family:'IBM Plex Mono',monospace;font-size:0.56rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--mauve)}
.hero-trust .ti-lb strong{color:var(--ink);font-weight:600;font-size:0.68rem;letter-spacing:0.05em}

/* ---- RIGHT HERO: large product image, subtle float, overlaps naturally ---- */
.hero-product img{max-height:min(720px,80vh)}
@media(min-width:981px){
  .hero-product{margin-top:-2.5rem;margin-bottom:-2.5rem}
  .hero-product img{animation:heroFloat 6.5s ease-in-out infinite}
}
@keyframes heroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}

/* ---- ANNOUNCEMENT BAR: rounded card, thin border, 4 even columns ---- */
.release-bar{position:relative;z-index:2;max-width:1240px;margin:0 auto;padding:2.4rem 2.5rem 0;background:none;border:none}
.release-in{display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:0;background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.5rem 2.2rem;box-shadow:0 1px 3px rgba(24,22,28,.05),0 18px 40px -34px rgba(24,22,28,.3)}
.rb-col{display:flex;flex-direction:column;gap:0.32rem;padding:0.2rem 1.8rem;position:relative}
.rb-col + .rb-col::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);height:60%;width:1px;background:var(--line)}
.rb-label{font-family:'IBM Plex Mono',monospace;font-size:0.55rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--violet)}
.rb-title{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.35rem;color:var(--ink);letter-spacing:0.01em}
.rb-metric{flex-direction:row;align-items:center;gap:0.7rem}
.rb-num{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:2.15rem;line-height:1;color:var(--violet)}
.rb-sub{font-family:'IBM Plex Mono',monospace;font-size:0.58rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--mauve);max-width:118px;line-height:1.5}
.rb-date{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:1.2rem;color:var(--ink)}
.rb-ctacol{align-items:flex-end;justify-content:center}
.rb-cta{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink);border:1px solid rgba(24,22,28,.28);border-radius:12px;padding:0.72rem 1.35rem;text-decoration:none;transition:all .22s var(--ease);white-space:nowrap}
.rb-cta:hover{border-color:var(--violet);color:var(--violet);background:rgba(110,58,214,.05);transform:translateY(-1px)}
@media(max-width:860px){
  .release-in{grid-template-columns:repeat(2,1fr);gap:1.4rem 0}
  .rb-col{padding:0.2rem 1.2rem}
  .rb-col:nth-child(2n+1)::before{display:none}
  .rb-ctacol{align-items:flex-start}
}
@media(max-width:520px){
  .release-in{grid-template-columns:1fr;gap:1.2rem}
  .rb-col{padding:0 0 1.1rem;border-bottom:1px solid var(--line-soft)}
  .rb-col::before{display:none}
  .rb-col:last-child{padding-bottom:0;border-bottom:none}
}

/* ---- FEATURED COMPOUNDS: 4 white Apple-style cards ---- */
.featured-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem}
.fcard{background:#fff !important;border:1px solid var(--line-soft);border-radius:18px;cursor:pointer;box-shadow:0 1px 3px rgba(24,22,28,.05);transition:transform .35s var(--ease),border-color .3s,box-shadow .35s}
/* keep the card WHITE on hover (an older rule flipped it dark, hiding the black text) */
.fcard:hover,.fcard.on-sale:hover,.fcard:not(.light-media):hover{background:#fff !important;transform:translateY(-6px);border-color:rgba(110,58,214,.5) !important;box-shadow:0 26px 50px -26px rgba(24,22,28,.28) !important}
.fcard-media{height:230px;background:radial-gradient(ellipse at 50% 34%,rgba(110,58,214,0.05),transparent 68%),#FBFAF8;border-bottom:1px solid var(--line-soft)}
.fcard-media img{padding:1.6rem}
/* RETA render is tighter-cropped now; give every featured vial a touch more room */
.fcard-media img{padding:1.35rem}
.fcard-body{padding:1.4rem 1.5rem 1.6rem;align-items:flex-start;gap:0.35rem}
.fname{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.12rem;color:var(--ink) !important;margin:0}
.fstrength{font-family:'IBM Plex Mono',monospace;font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--mauve)}
.fcard .fprice{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1rem;color:var(--ink) !important;margin-top:0.55rem}
.fcard .fp-was{font-weight:500;font-size:0.82rem;color:var(--mauve);text-decoration:line-through;margin-right:0.15rem}
.fcard .fp-now.sale{color:var(--violet) !important}
@media(max-width:1024px){.featured-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.featured-grid{grid-template-columns:1fr}}

/* ---- refined section heading spacing ---- */
.featured-head{margin-bottom:2.6rem}

/* ---- Products page dark cards: brighten the dim grey text so it reads on black ---- */
.card .ccat{color:rgba(224,220,236,0.9)}
.card .csku{color:rgba(222,218,234,0.82)}
.card .csub{color:rgba(210,204,226,0.8)}
.card .vcount{color:rgba(232,229,242,0.92);border-color:rgba(255,255,255,0.22)}
.card .cinfo{color:rgba(224,220,236,0.75)}

/* ---- New STRATA logo (black-on-warm-white) — drop the old black plate AND the
   mix-blend-mode:screen from the old white-on-black logo (screen was erasing the
   black lettering and leaving a light box). ---- */
.logo-img{background:none !important;box-shadow:none !important;border-radius:0 !important;padding:0 !important;mix-blend-mode:normal !important}
.nav .logo-img{height:56px}
footer .logo-img{height:50px}

/* =====================================================================
   STRATA product drawer -> light theme (dark graphite text, readable).
   Scoped to .drawer only, so the dark product-page cards are untouched.
   ===================================================================== */
.drawer{background:#fff !important;color:var(--ink)}
.drawer .dr-cat{color:var(--violet)}
.drawer .dr-name{color:var(--ink) !important}
.drawer .dr-sku{color:var(--mauve)}
.drawer .dr-desc{color:#4A4750}
.drawer .dr-close{border:1px solid var(--line);color:var(--mauve)}
.drawer .dr-close:hover{background:rgba(24,22,28,.05);color:var(--ink)}
/* spec grid: white cells, graphite text */
.drawer .dr-specs{background:var(--line);border-color:var(--line)}
.drawer .dr-spec{background:#fff}
.drawer .dr-spec label{color:var(--mauve)}
.drawer .dr-spec strong{color:var(--ink) !important}
.drawer .dr-spec strong.g{color:var(--violet) !important}
.drawer .dr-spec .was{color:var(--mauve)}
/* package / dose selector */
.drawer .dr-tier-h{color:var(--mauve)}
.drawer .tier{background:#fff;border:1px solid var(--line)}
.drawer .tier:hover{border-color:rgba(24,22,28,.3);background:rgba(24,22,28,.02)}
.drawer .tier .tlbl{color:var(--mauve)}
.drawer .tier .tp{color:var(--ink)}
.drawer .tier .sv{color:var(--violet)}
.drawer .tier.active{background:rgba(110,58,214,.09) !important;border-color:var(--violet) !important;box-shadow:inset 0 0 0 1px var(--violet)}
.drawer .tier.active .tp{color:var(--violet) !important}
.drawer .tier.on-sale .tp{color:var(--violet)}
.drawer .tier.kit .tp{color:var(--ink)}
.drawer .tp-was{color:var(--mauve)}
/* quantity stepper */
.drawer .qb{background:#fff;border:1px solid var(--line);color:var(--ink)}
.drawer .qb:hover{border-color:var(--violet);color:var(--violet)}
.drawer .qn{color:var(--ink)}

/* =====================================================================
   MOBILE REFINEMENTS (≤680px) — desktop layout is unaffected
   ===================================================================== */
@media(max-width:680px){
  /* Hero: stop the product image from eating the whole first screen */
  .hero{padding-top:5rem;padding-bottom:2.5rem}
  .hero-product{min-height:auto;margin:0 auto 0.4rem;max-width:420px}
  .hero-product img{max-height:min(340px,44vh)}
  .hero-product .vglow{width:min(300px,72%);height:58%}
  /* Heading: tuned for phone width (still the 3-line lockup) */
  .hero-copy h1{font-size:clamp(2.5rem,11vw,3.1rem);line-height:1.03;margin-bottom:1.1rem}
  .hsub{margin-bottom:1.8rem;line-height:1.65}
  /* CTAs: full-width, equal, comfortable tap height */
  .hero-cta{flex-direction:column;align-items:stretch;gap:0.7rem;width:100%;max-width:360px;margin-left:auto;margin-right:auto}
  .hero-cta a{width:100%;display:block}
  .hero-cta .btn-primary,.hero-cta .btn-ghost{width:100%;padding:1.05rem 1.5rem}
  .hero-trust{gap:1.1rem 1.4rem;justify-content:center}
  /* Featured / release headings a touch tighter */
  .featured-head h2{font-size:clamp(1.5rem,7vw,2rem)}
  /* Perf: trim the most expensive GPU work on phones (barely visible, smoother scroll) */
  .nav{backdrop-filter:blur(12px) saturate(130%);-webkit-backdrop-filter:blur(12px) saturate(130%)}
  #hero-particles{display:none}
  .hero-glow{filter:blur(42px)}
  .ambient::before,.ambient::after{filter:blur(80px)}
}
@media(max-width:380px){
  .hero-copy h1{font-size:2.25rem}
  .hero-trust{gap:0.85rem 1rem}
  .hero-trust .ti-ic{width:36px;height:36px}
}
