/* ================= DESIGN SYSTEM ================= */
:root{
  --ink:#15110E; --cream:#F3ECE1; --cream-2:#ECE3D5; --card:#FBF7F0;
  --line:#E4DACB;
  --tx:#1A1613; --tx-soft:#6F665B; --tx-inv:#F4EDE3; --tx-inv-soft:#A99F92;
  --star:#C8973F;
  --glass-fill:rgba(255,255,255,.06); --glass-fill-2:rgba(255,255,255,.10);
  --glass-border:1px solid rgba(255,255,255,.12);
  --glass-blur:saturate(125%) blur(26px);
  --r-card:28px; --r-glass:20px; --r-img:18px; --pill:999px;
  --inset:clamp(10px,1.2vw,16px); --gut:clamp(20px,4vw,56px); --maxw:1240px;
  --sec:clamp(64px,8vw,116px);
  --shadow:0 30px 70px -34px rgba(20,16,12,.55);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"General Sans",system-ui,sans-serif;background:var(--cream);color:var(--tx);
  -webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden}
h1,h2,h3,h4{font-family:"Satoshi","General Sans",sans-serif;font-weight:700;letter-spacing:-.022em;line-height:1.03}
h1{font-size:clamp(40px,6vw,80px)}h2{font-size:clamp(30px,4.4vw,56px)}h3{font-size:clamp(19px,2.2vw,28px)}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}
.inner{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut)}
.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--tx-soft)}
.dark .eyebrow,.card-dark .eyebrow{color:var(--tx-inv-soft)}
.lede{font-size:clamp(15px,1.2vw,17.5px);color:var(--tx-soft);max-width:58ch;line-height:1.55}
.card-dark .lede,.dark .lede{color:#C7BDB0}
.card-dark{position:relative;background:var(--ink);color:var(--tx-inv);margin:14px var(--inset);border-radius:var(--r-card);overflow:hidden}
.card-dark h2,.card-dark h3{color:var(--tx-inv)}
.band{position:relative}
.pad{padding-block:var(--sec)}
.pad-card{padding-block:clamp(56px,7vw,104px)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-family:"Satoshi";font-weight:600;
  font-size:15px;padding:16px 24px;border-radius:var(--pill);border:1.5px solid transparent;cursor:pointer;white-space:nowrap;
  transition:transform .2s,background .2s,box-shadow .2s,border-color .2s,color .2s}
.btn:hover{transform:translateY(-2px)}
.btn--primary{background:var(--cream);color:var(--ink);box-shadow:0 10px 24px -12px rgba(0,0,0,.5)}
.btn--dark{background:var(--ink);color:var(--cream)}.btn--dark:hover{background:#000}
.btn--glass{background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);
  border:var(--glass-border);color:var(--tx-inv);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 8px 22px -12px rgba(0,0,0,.5)}
.btn--glass:hover{background:var(--glass-fill-2)}
.btn--block{width:100%}
.glass{background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);
  border:var(--glass-border);border-radius:var(--r-glass);box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}

/* announce */
.announce{text-align:center;font-size:13.5px;color:var(--tx);padding:16px}
.announce a{font-weight:600;margin-left:8px;opacity:.7}.announce a::after{content:"  ›"}

/* ===== NAV (fieldy-style glass pill; stays a pill on scroll) ===== */
.nav{position:absolute;top:22px;left:0;right:0;z-index:40}
.nav__bar{display:flex;align-items:center;justify-content:space-between;gap:18px;
  background:rgba(255,255,255,.05);-webkit-backdrop-filter:saturate(120%) blur(8px);backdrop-filter:saturate(120%) blur(8px);
  border:var(--glass-border);border-radius:var(--pill);padding:9px 9px 9px 26px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);transition:background .3s,box-shadow .3s}
.nav.is-stuck{position:fixed;top:12px}
.nav.is-stuck .nav__bar{background:rgba(20,16,13,.6);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 14px 40px -18px rgba(0,0,0,.6)}
.brand{font-family:"Satoshi";font-weight:900;letter-spacing:.06em;font-size:20px;color:#fff}
.nav__links{display:flex;gap:24px;list-style:none;font-size:14.5px;color:#EDE6DC;font-weight:500}
.nav__links a{opacity:.74;transition:opacity .2s}.nav__links a:hover{opacity:1}
.nav__links .caret::after{content:" ⌄";opacity:.55}
.nav__right{display:flex;align-items:center;gap:14px}
.nav__lang{color:#EDE6DC;font-size:14px;font-weight:600;opacity:.85}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.burger span{width:24px;height:2px;background:#fff;border-radius:2px}

/* ===== HERO ===== */
.hero{min-height:min(880px,90vh);display:flex;align-items:flex-end;background:#0b0807}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:right center}
.hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,6,5,.94) 10%,rgba(8,6,5,.55) 46%,rgba(8,6,5,.05) 78%,transparent)}
.hero__in{position:relative;z-index:2;width:100%}
.hero__copy{padding-top:clamp(140px,20vh,200px);max-width:620px}
.rating{display:flex;align-items:center;gap:13px;font-size:13px;color:#D9D0C5;margin-bottom:22px;flex-wrap:wrap}
.stars{color:var(--star);letter-spacing:2px}.rating .d{width:1px;height:12px;background:rgba(255,255,255,.25)}
.hero h1{margin-bottom:20px}
.hero__sub{font-size:clamp(15px,1.2vw,17px);color:#D9D0C5;max-width:44ch;margin-bottom:32px}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:clamp(40px,6vh,84px)}
.hero__trust{display:flex;gap:clamp(24px,4vw,52px);flex-wrap:wrap;padding:24px 0 32px;border-top:1px solid rgba(255,255,255,.13)}
.hero__trust h4{font-size:14.5px;font-weight:600;margin-bottom:3px}.hero__trust p{font-size:12.5px;color:#A89E92}

/* ===== AWARDS ===== */
.awards{padding:30px 0}
.awards__lead{display:flex;align-items:center;justify-content:center;gap:12px;font-size:14px;font-weight:600;margin-bottom:18px}
.avatars{display:flex}.avatars span{width:30px;height:30px;border-radius:50%;border:2px solid var(--cream);margin-left:-9px;background:#cfc4b4 center/cover}
.awards__row{display:flex;align-items:center;justify-content:center;gap:clamp(20px,4vw,56px);flex-wrap:wrap}
.award{display:flex;align-items:center;gap:7px}
.award .lf{font-size:24px;color:#9a9083;opacity:.65}
.award b{font-family:"Satoshi";font-size:14px;display:block;line-height:1}
.award small{font-size:9px;letter-spacing:.1em;color:var(--tx-soft);text-transform:uppercase;display:block;margin-top:3px}

/* ===== section heads + sliders ===== */
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:40px;flex-wrap:wrap}
.head .eyebrow{margin-bottom:12px}.head h2{max-width:18ch}.head .lede{margin-top:14px}
.slider{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;
  margin-right:calc(-1 * var(--gut));padding-right:var(--gut);scrollbar-width:none}
.slider::-webkit-scrollbar{display:none}

/* famous people */
.fp{flex:0 0 clamp(300px,30vw,384px);scroll-snap-align:start;background:var(--card);
  border-radius:var(--r-card);overflow:hidden;border:1px solid var(--line);box-shadow:0 20px 46px -36px rgba(20,16,12,.2)}
.fp__ph{aspect-ratio:1/1.05;background:#ddd5c8 center/cover}
.fp__ph.ph{display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;color:#8a8073;font-size:13px;background:linear-gradient(135deg,#e7dfd1,#d6cbba)}
.fp__b{padding:26px}
.fp__q{font-size:15.5px;line-height:1.5;margin-bottom:22px}
.fp__m{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.fp__n{font-family:"Satoshi";font-weight:700;font-size:16px}
.fp__r{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-soft);margin-top:3px}
.fp__lg{font-family:"Satoshi";font-weight:800;font-size:15px;opacity:.8}

/* problem */
.problem__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,4vw,64px);align-items:center}
.problem__img{aspect-ratio:5/4;border-radius:var(--r-card);background:#1a1714 center/cover;box-shadow:var(--shadow)}
.problem h2{margin:14px 0 18px;max-width:14ch}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.chip{font-size:13px;padding:9px 16px;border:1px solid var(--line);border-radius:var(--pill);color:var(--tx-soft);background:var(--card)}

/* ===== WHAT, bacteria + 4 USP tiles ===== */
.what__bg{position:absolute;inset:0;z-index:0}
.what__bg img{width:100%;height:100%;object-fit:cover;opacity:.6}
.what__bg::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 38%,rgba(21,17,14,.4),rgba(21,17,14,.9))}
.what__in{position:relative;z-index:2;text-align:center}
.what h2{margin:14px auto 16px;max-width:16ch}
.what .lede{margin:0 auto 50px;text-align:center}
.what__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);align-items:center;text-align:left}
.what__vis{border-radius:var(--r-card);overflow:hidden;aspect-ratio:1/1;background:#0a0807;border:var(--glass-border)}
.what__vis img{width:100%;height:100%;object-fit:cover;animation:breathe 10s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:scale(1.02)}50%{transform:scale(1.1)}}
.what__tiles{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.utile{padding:24px}
.utile h4{font-family:"Satoshi";font-size:18px;margin-bottom:8px}
.utile p{font-size:13px;color:#C2B8AB;line-height:1.5}

/* ===== PERSONAS, grid of 4 (all visible) ===== */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pcard__img{aspect-ratio:3/4;border-radius:var(--r-img);background:#ddd5c8 center/cover;margin-bottom:16px}
.pcard h3{font-size:21px;margin-bottom:8px}.pcard p{font-size:13.5px;color:var(--tx-soft)}

/* ===== WHY / comparison (bg + glass button + even table) ===== */
.why__bg{position:absolute;inset:0;z-index:0}
.why__bg img{width:100%;height:100%;object-fit:cover;opacity:.5}
.why__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,11,9,.96),rgba(15,11,9,.6))}
.why__grid{position:relative;z-index:2;display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,4vw,56px);align-items:center}
.why h2{margin:14px 0 26px}
.table{padding:8px}
.trow{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;align-items:stretch;border-bottom:1px solid rgba(255,255,255,.08);font-size:14px}
.trow:last-child{border-bottom:none}
.trow>span{display:flex;align-items:center;justify-content:center;min-height:58px;padding:0 8px}
.trow>span:first-child{justify-content:flex-start;padding-left:18px}
.trow.h>span{min-height:60px;font-size:12px;color:#C2B8AB;font-weight:600}
.trow.h .g{font-family:"Satoshi";font-weight:800;color:#fff;font-size:14px}
.trow .g{background:rgba(255,255,255,.07)}
.trow:first-child .g{border-radius:10px 10px 0 0}.trow:last-child .g{border-radius:0 0 10px 10px}
.dot{width:11px;height:11px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4)}
.dot.on{background:#fff;border-color:#fff}

/* ===== HOW, full-width dark card, TWO parts (science + timeline) ===== */
.how__bg{position:absolute;inset:0;z-index:0}
.how__bg img{width:100%;height:100%;object-fit:cover;opacity:.62}
.how__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,10,18,.66),rgba(8,10,18,.9))}
.how__in{position:relative;z-index:2;text-align:center}
.how__in>.eyebrow{display:block}
.how__in h2{margin:14px auto 14px;max-width:16ch}
.how__in .lede{margin:0 auto 46px;text-align:center}
.how__sci{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,52px);align-items:center;text-align:left;margin-bottom:48px}
.how__vis{border-radius:var(--r-card);overflow:hidden;aspect-ratio:4/3;background:#0a0807;border:var(--glass-border)}
.how__vis img{width:100%;height:100%;object-fit:cover}
.how__pts{display:flex;flex-direction:column;gap:14px}
.spt{padding:20px 24px}
.spt b{font-family:"Satoshi";display:block;margin-bottom:4px;font-size:17px;color:#fff}
.spt span{font-size:13.5px;color:#C9C2D2}
.how__tl h3{text-align:center;margin-bottom:22px;color:#fff}
.tlrow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;text-align:left}
.tlc{padding:24px}
.tlc.key{border-color:rgba(255,255,255,.32);background:rgba(255,255,255,.10)}
.tlc .d{font-family:"Satoshi";font-weight:700;font-size:15px;letter-spacing:.04em;margin-bottom:10px;color:#fff}
.tlc p{font-size:12.5px;color:#C9C2D2;line-height:1.5}

/* ===== PRODUCTS ===== */
.toggle{display:inline-flex;background:var(--cream-2);border:1px solid var(--line);border-radius:var(--pill);padding:5px}
.toggle button{border:0;background:none;font-family:"Satoshi";font-weight:600;font-size:14px;color:var(--tx-soft);padding:9px 22px;border-radius:var(--pill);cursor:pointer;transition:.2s}
.toggle button.on{background:var(--ink);color:var(--cream)}
.prod__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.prod{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:22px;text-align:left}
.prod__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.prod .stars{font-size:12px}.prod h3{font-size:20px}.prod__price{font-family:"Satoshi";font-weight:700;font-size:18px}
.prod__img{aspect-ratio:1/1;background:center/contain no-repeat;margin:6px 0 18px;mix-blend-mode:multiply}

/* ===== BUY ===== */
.buy h2{text-align:center;margin-bottom:40px}
.buy__card{display:grid;grid-template-columns:1fr 1fr;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow)}
.buy__img{background:center/cover;min-height:440px}
.buy__b{padding:clamp(28px,3vw,48px)}
.buy__b .stars{font-size:13px;display:inline-flex;gap:8px;align-items:center;margin-bottom:14px}
.buy__b .ey{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--tx-soft)}
.buy__b h3{font-size:30px;margin:4px 0 14px}.buy__b .lede{font-size:14px;margin-bottom:22px}
.bul{list-style:none;border-top:1px solid var(--line);margin-bottom:26px}
.bul li{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;display:flex;gap:10px;align-items:center}
.bul li::before{content:"–";color:var(--tx-soft)}
.buy__act{display:flex;gap:14px;align-items:center}.buy__act .btn{flex:1}
.qty{display:flex;align-items:center;gap:16px;border:1px solid var(--line);border-radius:var(--pill);padding:11px 18px}
.qty button{border:0;background:none;font-size:18px;cursor:pointer}.qty span{font-family:"Satoshi";font-weight:600;min-width:14px;text-align:center}

/* ===== UGC ===== */
.ugc h2{max-width:18ch;margin-bottom:38px}
.ucard{flex:0 0 clamp(238px,23vw,296px);scroll-snap-align:start;aspect-ratio:3/4;border-radius:var(--r-img);background:#cfc4b4 center/cover;position:relative;overflow:hidden}
.ucard .tag{position:absolute;left:14px;right:14px;bottom:14px;color:#fff;font-size:12.5px;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.play{position:absolute;inset:0;margin:auto;width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center}
.play::after{content:"";border-left:14px solid var(--ink);border-top:9px solid transparent;border-bottom:9px solid transparent;margin-left:3px}

/* ===== FAQ ===== */
.faq h2{max-width:18ch;margin:14px 0 16px}.faq .lede{margin-bottom:44px}
.faq__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.vthumb{position:relative;aspect-ratio:4/3;border-radius:var(--r-glass);overflow:hidden;background:linear-gradient(160deg,#2a2420,#181410);border:var(--glass-border)}
.vthumb .play{width:56px;height:56px}
.vq{margin-top:14px;font-family:"Satoshi";font-weight:600;font-size:16px;color:var(--tx-inv)}

/* ===== FOOTER ===== */
.foot{padding-top:var(--sec)}
.foot__grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;padding-bottom:46px;border-bottom:1px solid var(--line)}
.foot .brand{color:var(--ink);font-size:26px;margin-bottom:22px}
.foot h5{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--tx-soft);margin-bottom:16px}
.foot nav a{display:inline-block;margin:0 18px 10px 0;font-size:15px}
.news{display:flex;border:1px solid var(--line);border-radius:var(--pill);overflow:hidden;max-width:340px;background:#fff}
.news input{flex:1;border:0;padding:14px 18px;font-size:14px;background:none;outline:none;font-family:inherit}
.news button{border:0;background:var(--ink);color:#fff;padding:0 20px;cursor:pointer;font-size:18px}
.foot__meta{display:grid;grid-template-columns:1fr 1fr;gap:18px;font-size:14px}
.foot__meta b{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-soft);font-weight:600;display:block;margin-bottom:6px}
.marquee{overflow:hidden;white-space:nowrap;padding:28px 0 16px}
.marquee div{display:inline-block;animation:scroll 24s linear infinite;font-family:"Satoshi";font-weight:900;font-size:clamp(56px,11vw,140px);color:var(--ink)}
.marquee span{margin:0 26px;opacity:.92}
@keyframes scroll{to{transform:translateX(-50%)}}

/* ===== RESPONSIVE ===== */
.mnav{display:none}
@media(max-width:980px){
  .what__grid,.how__sci{grid-template-columns:1fr}
  .pgrid,.tlrow{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:920px){
  .nav__links,.nav__lang{display:none}.burger{display:flex}
  .problem__grid,.why__grid,.buy__card{grid-template-columns:1fr}
  .prod__grid,.faq__grid{grid-template-columns:1fr}.what__tiles{grid-template-columns:1fr}
  .foot__grid{grid-template-columns:1fr}
  .hero__bg::after{background:linear-gradient(180deg,rgba(8,6,5,.35),rgba(8,6,5,.7) 55%,rgba(8,6,5,.94))}
  .buy__img{min-height:280px}
  .mnav{display:flex;position:fixed;inset:0;z-index:60;background:var(--ink);transform:translateX(100%);transition:transform .3s;flex-direction:column;padding:92px 32px 32px;gap:6px}
  .mnav.open{transform:translateX(0)}
  .mnav a{color:#fff;font-family:"Satoshi";font-weight:600;font-size:22px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1)}
  .mnav .btn{margin-top:18px}.mclose{position:absolute;top:26px;right:26px;background:none;border:0;color:#fff;font-size:30px;cursor:pointer}
}
@media(max-width:600px){.pgrid,.tlrow,.what__tiles{grid-template-columns:1fr}
  .trow{grid-template-columns:1.5fr .8fr .8fr .8fr;font-size:12px}.trow>span{min-height:50px}}

/* source/citation line (science/product) */
.src{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#9b948a;text-align:center;margin-top:26px;line-height:1.7}
.foot__legal{font-size:12px;color:var(--tx-soft);padding:22px 0 4px;line-height:1.6}
/* light comparison table variant (homepage Why) */
.why--light .why__grid{align-items:center}
.why--light .table.glass{background:var(--card);border:1px solid var(--line);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.why--light .trow{border-bottom-color:var(--line)}
.why--light .trow.h>span{color:var(--tx-soft)}
.why--light .trow.h .g{color:var(--ink)}
.why--light .trow .g{background:#fff}
.why--light .dot{border-color:rgba(20,16,12,.28)}
.why--light .dot.on{background:var(--ink);border-color:var(--ink)}
