/* HEFT brand system */
:root{
  --ink:#16130F;--body:#3B362E;--muted:#7A7366;--line:#EAE3D8;--line2:#D9D1C4;
  --paper:#FFFFFF;--cream:#F7F1E8;--peach:#F3DFCF;--sand:#EFE6D9;--dark:#141210;--dark2:#1E1B18;
  --accent:#E4572E;--accent-d:#C6461F;--accent-soft:#FBE7DD;--ok:#2E7D4F;--ok-soft:#E4F2EA;--no:#D64545;--no-soft:#FBE3E3;
  --fd:"Plus Jakarta Sans","Inter","Helvetica Neue",Arial,sans-serif;--fb:"Inter","Helvetica Neue",Arial,sans-serif;--fs:"Instrument Serif",Georgia,serif;
  --r:18px;--rs:12px;--max:1240px;--pad:clamp(16px,4vw,32px);
  --ground:var(--cream);--plate:var(--sand);--fog:var(--muted);--stripe:var(--line2);--dawn:var(--accent);--neo:var(--body)
}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--body);font:400 16px/1.55 var(--fb);font-variant-numeric:tabular-nums}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--fd);color:var(--ink);margin:0;letter-spacing:-.03em;line-height:1.02;text-wrap:balance;font-weight:800}
h1{font-size:clamp(38px,5.4vw,64px)}h2{font-size:clamp(32px,4.0vw,48px)}h3{font-size:clamp(22px,2.4vw,30px);letter-spacing:-.02em}h4{font-size:20px;font-weight:700}
h2 em,h1 em{font-family:var(--fs);font-style:italic;font-weight:400;letter-spacing:-.01em;color:var(--accent)}
.dark h2 em,.dark h1 em{color:#FFB79E}
p{margin:0}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.sec{padding:clamp(56px,7vw,96px) 0}.sec.tight{padding:clamp(28px,4vw,52px) 0}.sec.cream{background:var(--cream)}.sec.sand{background:var(--sand)}
.sec.dark{background:var(--dark);color:#D8D1C6}.sec.dark h2,.sec.dark h3,.sec.dark h4{color:#fff}.sec.dark .eyebrow{color:#B8B0A4}
.eyebrow{font:700 12px/1 var(--fb);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.lead{font-size:clamp(17px,1.5vw,20px);line-height:1.5;color:var(--body);max-width:60ch}
.muted{color:var(--muted)}.mini{font-size:13px;color:var(--muted);line-height:1.45}
.center{text-align:center}.center .lead{margin:0 auto}.center .eyebrow+h2{margin-top:14px}.center .lead{margin-top:14px}
.grid2{display:grid;gap:clamp(20px,4vw,56px)}@media(min-width:900px){.grid2{grid-template-columns:1fr 1fr;align-items:center}}
/* buttons */
.btn,.cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 16px/1 var(--fb);padding:18px 28px;border-radius:999px;background:var(--ink);color:#fff;text-decoration:none;border:0;cursor:pointer;transition:transform .05s,background .15s;white-space:nowrap}
.btn:hover,.cta:hover{background:#000}.btn:active{transform:translateY(1px)}
.btn.accent,.cta.accent{background:var(--accent)}.btn.accent:hover{background:var(--accent-d)}
.btn.ghost,.cta.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line2)}.btn.ghost:hover{background:var(--cream)}
.btn.light{background:#fff;color:var(--ink)}.btn.light:hover{background:var(--cream)}
.btn.big,.cta.big{font-size:18px;padding:20px 34px}.btn.full{width:100%}.btn.sm{font-size:14px;padding:12px 18px}
/* ticker */
.ticker{background:var(--accent);color:#fff;overflow:hidden;white-space:nowrap;font:700 12px/1 var(--fb);letter-spacing:.14em;text-transform:uppercase;padding:11px 0}
.ticker span{display:inline-block;padding-right:36px}.ticker span:after{content:"•";margin-left:36px;opacity:.7}
.ticker .track{display:inline-block;animation:tick 40s linear infinite}@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ticker .track{animation:none}}
/* header */
.hdr{position:sticky;top:0;z-index:40;background:var(--peach);border-bottom:1px solid rgba(0,0,0,.05)}
.hdr .wrap{display:flex;align-items:center;gap:22px;height:66px}
.logo{font:800 26px/1 var(--fd);letter-spacing:-.05em;color:var(--accent);text-decoration:none;display:inline-flex;align-items:baseline}
.logo i{display:inline-block;width:7px;height:7px;background:var(--ink);border-radius:2px;margin-left:3px}
.nav{display:none;gap:22px;margin-left:8px}.nav a{text-decoration:none;font:700 12px var(--fb);letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
@media(min-width:900px){.nav{display:flex}}
.hdr .cta{margin-left:auto;padding:12px 18px;font-size:14px}
.menu{position:relative;margin-left:auto}.menu summary{list-style:none;cursor:pointer;font:700 12px var(--fb);letter-spacing:.1em;text-transform:uppercase;padding:11px 12px;border:1.5px solid rgba(0,0,0,.15);border-radius:999px}.menu summary::-webkit-details-marker{display:none}
.menu nav{position:absolute;right:0;top:48px;background:#fff;border:1px solid var(--line);border-radius:var(--rs);padding:10px;display:grid;min-width:230px;box-shadow:0 12px 32px rgba(0,0,0,.12)}.menu nav a{padding:10px 12px;text-decoration:none;font:600 15px var(--fb);border-radius:8px}.menu nav a:hover{background:var(--cream)}
@media(min-width:900px){.menu{display:none}}@media(max-width:899px){.hdr .cta{margin-left:0}}
/* PDP top */
.pdp{padding:clamp(18px,3vw,36px) 0 clamp(28px,4vw,48px)}
.pdp .wrap{display:grid;gap:28px}@media(min-width:900px){.pdp .wrap{grid-template-columns:1.05fr 1fr;gap:clamp(28px,4vw,56px);align-items:start}}
.gal{position:sticky;top:84px}
.gal .main{border-radius:var(--r);overflow:hidden;background:var(--cream);aspect-ratio:4/5}.gal .main img{width:100%;height:100%;object-fit:contain;object-position:center}
.gal .main img.pack{object-fit:contain;background:#fff}
.gal .thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.gal .thumbs::-webkit-scrollbar{display:none}
.gal .thumbs button{flex:0 0 76px;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:var(--cream);cursor:pointer;aspect-ratio:1}.gal .thumbs button img{width:100%;height:100%;object-fit:cover}.gal .thumbs button[aria-current="true"]{border-color:var(--accent)}
@media(max-width:899px){.gal{position:static}.gal .thumbs button{flex-basis:64px}}
/* buybox */
.buy .proof{display:inline-flex;align-items:center;gap:10px;background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:8px 14px 8px 8px;font:500 13px var(--fb);color:var(--body);margin-bottom:14px}
.buy .proof i{width:26px;height:26px;border-radius:50%;background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;flex:none}
.buy .proof b{color:var(--ink)}
.buy h1{font-size:clamp(30px,3.3vw,44px);margin-bottom:10px}
.buy .one{font-size:18px;line-height:1.45;color:var(--body);margin-bottom:14px}
.buy .pill{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;border-radius:999px;padding:9px 14px;font:700 13px var(--fb);margin-bottom:18px}.buy .pill i{width:8px;height:8px;border-radius:50%;background:#FFB79E}
.checks{display:grid;gap:10px;margin:0 0 18px}.checks div{display:flex;gap:12px;align-items:flex-start;font:500 16px/1.4 var(--fb);color:var(--ink)}.checks div:before{content:"";flex:none;width:22px;height:22px;border-radius:50%;margin-top:1px;background:var(--accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23E4572E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat}
.buy .quote{background:var(--peach);border-radius:var(--rs);padding:14px 16px;margin-bottom:18px;font:italic 500 15px/1.45 var(--fb);color:var(--ink)}.buy .quote cite{display:block;font:600 12px var(--fb);font-style:normal;color:var(--muted);margin-top:6px}
.buybox{border:1.5px solid var(--line2);border-radius:var(--r);padding:20px;background:#fff}
.buybox .lab{font:700 12px var(--fb);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:12px}
.buybox .price{display:flex;align-items:baseline;gap:12px;margin-bottom:6px}.buybox .price .p{font:800 40px/1 var(--fd);color:var(--ink);letter-spacing:-.03em}.buybox .price .badge{font:700 12px var(--fb);letter-spacing:.06em;text-transform:uppercase;background:var(--ok-soft);color:var(--ok);padding:6px 9px;border-radius:6px}
.buybox .incl{font:500 14px var(--fb);color:var(--muted);margin-bottom:16px}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px}
.tiers label{display:block;font:700 12px var(--fb);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;grid-column:1/-1}
.tier{display:block;text-align:left;border:1.5px solid var(--line2);border-radius:12px;padding:12px 12px;background:#fff;cursor:pointer;text-decoration:none;color:var(--ink);transition:border-color .12s;position:relative}
.tier b{display:block;font:800 16px/1.1 var(--fd)}.tier small{display:block;font:500 12px var(--fb);color:var(--muted);margin-top:4px}.tier .tp{display:block;font:700 15px var(--fb);margin-top:8px;color:var(--ink)}
.tier[aria-pressed="true"],.tier.on{border-color:var(--accent);box-shadow:0 0 0 1.5px var(--accent) inset;background:#FFF9F6}
.tier .tag{display:inline-block;font:700 10px/1 var(--fb);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-d);background:var(--accent-soft);padding:4px 6px;border-radius:4px;margin-bottom:6px;white-space:nowrap}
.buybox .btn.full{margin-top:4px;font-size:18px;padding:20px}
.buybox .under{font-size:13px;color:var(--muted);margin:12px 0 0;line-height:1.5;text-align:center}
.gicons{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 18px;margin-top:16px}.gicons div{display:flex;align-items:center;gap:10px;font:500 13px/1.3 var(--fb);color:var(--body)}.gicons div b{font-weight:700;color:var(--ink)}.gicons i{width:26px;height:26px;flex:none;color:var(--accent);display:block}.gicons i svg{width:100%;height:100%;display:block}.gicons span{min-width:0}@media(max-width:600px){.gicons{gap:11px 14px}.gicons div{font-size:12.5px;gap:8px}.gicons i{width:22px;height:22px}}
.xsell{margin-top:14px;font-size:14px;color:var(--ink);background:var(--cream);border-radius:var(--rs);padding:14px 16px;display:block;text-decoration:none;border:1px solid var(--line)}.xsell b{display:block;font:800 16px var(--fd);margin-bottom:4px}.xsell span{color:var(--accent-d);font-weight:700}
.acc{margin-top:18px;display:grid;gap:8px}
.acc details{border:1px solid var(--line);border-radius:12px;background:#fff}.acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:15px 16px;font:700 15px var(--fb);color:var(--ink)}.acc summary::-webkit-details-marker{display:none}.acc summary:after{content:"+";font:400 22px/1 var(--fb);color:var(--accent)}.acc details[open] summary:after{content:"–"}
.acc .body{padding:0 16px 16px;font-size:15px;line-height:1.55;color:var(--body)}.acc .body p+p{margin-top:8px}
.pairs{margin-top:18px}.pairs .lab{font:700 12px var(--fb);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:10px}
.pair{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff;margin-bottom:8px;text-decoration:none}.pair img{width:56px;height:56px;object-fit:contain;background:var(--cream);border-radius:8px}.pair b{display:block;font:700 15px var(--fd);color:var(--ink)}.pair small{display:block;font:500 13px var(--fb);color:var(--muted)}.pair .btn{margin-left:auto}
/* trust bar */
.trustbar{background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trustbar .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 36px;padding-top:16px;padding-bottom:16px}
.trustbar span{display:inline-flex;align-items:center;gap:8px;font:600 13px var(--fb);color:var(--ink)}.trustbar svg{width:22px;height:22px;color:var(--accent)}
/* dark hero-callout section */
.callouts{display:grid;gap:26px;align-items:center;margin-top:40px}@media(min-width:900px){.callouts{grid-template-columns:1fr 1.1fr 1fr}}
.callouts .prod{position:relative;border-radius:var(--r);overflow:hidden;background:radial-gradient(circle at 50% 45%,#3A342D 0,#1E1B18 45%,#141210 70%)}.callouts .prod img{width:100%;aspect-ratio:4/5;object-fit:cover;mix-blend-mode:normal}
.callouts .prod:before,.callouts .prod:after{content:"";position:absolute;left:50%;top:50%;border-radius:50%;border:1px solid rgba(255,255,255,.12);transform:translate(-50%,-50%);pointer-events:none}
.callouts .prod:before{width:78%;aspect-ratio:1}.callouts .prod:after{width:105%;aspect-ratio:1}
.callouts ul{list-style:none;margin:0;padding:0;display:grid;gap:34px}
.callouts li{font:800 20px/1.2 var(--fd);color:#fff;display:flex;align-items:center;gap:14px;min-width:0}.callouts li>div{min-width:0;overflow-wrap:anywhere}.callouts li small{display:block;font:500 14px/1.4 var(--fb);color:#B8B0A4;margin-top:4px}
.callouts .l li{justify-content:flex-end;text-align:right}.callouts .l li:after,.callouts .r li:before{content:"";flex:none;width:70px;height:2px;background:linear-gradient(90deg,rgba(255,255,255,.15),#fff);position:relative}
.callouts .r li:before{background:linear-gradient(90deg,#fff,rgba(255,255,255,.15))}
.callouts .l li:after{box-shadow:70px 0 0 -2px #fff}
@media(max-width:899px){.callouts .l li{justify-content:flex-start;text-align:left}.callouts .l li:after,.callouts .r li:before{display:none}.callouts ul{gap:18px}}
.stats{display:grid;gap:12px;margin-top:40px;grid-template-columns:repeat(2,1fr)}@media(min-width:760px){.stats.four{grid-template-columns:repeat(4,1fr)}}
@media(max-width:480px){.stat{padding:20px 16px}.stat b{font-size:40px}.stat span{font-size:11px}}
.stat{background:var(--dark2);border:1px solid rgba(255,255,255,.08);border-radius:var(--r);padding:28px 26px}.stat b{display:block;font:800 clamp(48px,6vw,84px)/1 var(--fd);letter-spacing:-.05em;color:#fff}.stat span{display:block;font:700 12px/1.4 var(--fb);letter-spacing:.1em;text-transform:uppercase;color:#B8B0A4;margin-top:12px}
.sec.cream .stat{background:#fff;border-color:var(--line)}.sec.cream .stat b{color:var(--ink)}.sec.cream .stat span{color:var(--muted)}
/* comparison */
.cmpwrap{position:relative;margin-top:36px}
.cmpgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:0;border-radius:var(--r);overflow:hidden;border:1px solid var(--line2);background:#fff}
.cmpgrid>div{padding:16px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;font:600 15px/1.3 var(--fb);color:var(--ink)}
.cmpgrid .h{background:var(--cream);font:800 16px var(--fd);flex-direction:column;align-items:center;text-align:center;padding:22px 14px;gap:10px}.cmpgrid .h img{width:64px;height:64px;object-fit:contain;border-radius:10px;background:#fff}
.cmpgrid .win{background:#FFF9F6}.cmpgrid .win.h{background:var(--accent);color:#fff}
.cmpgrid .lab{font:600 14px var(--fb);color:var(--body)}
.cmpgrid .y:before,.cmpgrid .n:before{content:"";flex:none;width:26px;height:26px;border-radius:50%}
.cmpgrid .y:before{background:var(--muted) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.cmpgrid .n:before{background:var(--no) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 4l8 8M12 4l-8 8' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center/12px no-repeat}
.cmpgrid .win.y:before{background-color:var(--accent)}
.cmpgrid .m:before{content:"—";color:var(--muted);width:26px;text-align:center}
.cmpgrid>div:nth-last-child(-n+4){border-bottom:0}
@media(max-width:600px){.cmpgrid>div{font-size:13px;padding:12px 8px;gap:6px}.cmpgrid .h{font-size:13px;padding:14px 8px}.cmpgrid .h img{width:44px;height:44px}.cmpgrid .y:before,.cmpgrid .n:before{width:20px;height:20px;background-size:11px}}
/* feature cards */
.fcards{display:grid;gap:14px;margin-top:36px}@media(min-width:900px){.fcards{grid-template-columns:repeat(3,1fr)}}
.fcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.fcard img{width:100%;aspect-ratio:4/3;object-fit:cover}
.fcard .b{padding:22px 22px 24px}.fcard h3{margin-bottom:8px}.fcard p{font-size:15px;line-height:1.5;color:var(--body)}
.fcard .kp{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.fcard .kp b{display:block;font:800 30px/1 var(--fd);letter-spacing:-.03em;color:var(--ink)}.fcard .kp span{display:block;font:700 11px var(--fb);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.sec.dark .fcard{background:var(--dark2);border-color:rgba(255,255,255,.08)}.sec.dark .fcard p{color:#B8B0A4}.sec.dark .fcard .kp{border-color:rgba(255,255,255,.08)}.sec.dark .fcard .kp b{color:#fff}
/* sizing table */
.sizing{margin-top:32px;border:1px solid var(--line2);border-radius:var(--r);overflow:hidden;background:#fff}
.sizing .row{display:grid;grid-template-columns:1.1fr 1fr 1fr;border-bottom:1px solid var(--line)}.sizing .row:last-child{border-bottom:0}
.sizing .row.h{background:var(--ink);color:#fff}.sizing .row.h>div{font:700 14px var(--fb)}.sizing .row.h small{display:block;font:500 12px var(--fb);color:#B8B0A4;margin-top:3px}
.sizing .row>div{padding:16px 16px}.sizing .row>div:first-child{font:700 16px var(--fd);color:var(--ink)}.sizing .row>div:first-child small{display:block;font:500 13px var(--fb);color:var(--muted);margin-top:2px}
.sizing .pick{display:block;background:var(--cream);border:1px solid var(--line);border-radius:10px;padding:12px 14px;text-decoration:none}.sizing .pick b{display:block;font:800 15px var(--fd);color:var(--accent-d)}.sizing .pick span{display:block;font:500 14px var(--fb);color:var(--ink);margin-top:2px}.sizing .pick small{display:block;font:500 12px var(--fb);color:var(--muted);margin-top:4px}
.sizing .row:nth-child(even):not(.h){background:#FBF8F3}
@media(max-width:600px){.sizing .row>div{padding:12px 10px}.sizing .row>div:first-child{font-size:14px}.sizing .pick{padding:10px}.sizing .pick b{font-size:13px}.sizing .pick span{font-size:12px}}
/* quotes */
.quotes{display:grid;gap:14px;margin-top:32px}@media(min-width:760px){.quotes{grid-template-columns:repeat(2,1fr)}}@media(min-width:1000px){.quotes{grid-template-columns:repeat(4,1fr)}}
.q{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;font:500 17px/1.45 var(--fd);color:var(--ink);letter-spacing:-.01em}.q cite{display:block;font:600 12px var(--fb);color:var(--muted);font-style:normal;margin-top:12px}
.honest{margin-top:22px;font-size:15px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:var(--rs);padding:16px 18px;max-width:70ch}
/* use cases */
.cases{display:grid;gap:14px;margin-top:32px}@media(min-width:760px){.cases{grid-template-columns:repeat(3,1fr)}}
.case{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;display:block;text-decoration:none;color:#fff}.case img{width:100%;height:100%;object-fit:cover}
.case .t{position:absolute;inset:auto 0 0 0;padding:24px 22px;background:linear-gradient(transparent,rgba(0,0,0,.65))}.case .t b{display:block;font:800 26px/1.05 var(--fd);letter-spacing:-.02em}.case .t span{font:600 13px var(--fb);opacity:.9}
/* faq cards */
.faq{display:grid;gap:10px;margin-top:28px}.faq details{border:1px solid var(--line);border-radius:12px;background:#fff}.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:18px 20px;font:700 16px var(--fb);color:var(--ink)}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font:400 22px/1 var(--fb);color:var(--accent);flex:none}.faq details[open] summary:after{content:"–"}.faq details p{padding:0 20px 18px;font-size:15px;line-height:1.55;max-width:70ch}
/* band */
.band{background:var(--cream)}.band .wrap>div{background:var(--peach);border-radius:28px;padding:clamp(40px,6vw,72px) clamp(20px,5vw,64px);text-align:center;display:grid;justify-items:center;gap:16px}
.band h2{font-size:clamp(34px,5vw,60px)}.band p{max-width:56ch;font-size:17px;color:var(--body)}
/* home hero */
.hero{background:var(--cream);overflow:hidden}
.hero .wrap{display:grid;gap:24px;padding-top:clamp(28px,5vw,64px);padding-bottom:clamp(28px,5vw,64px)}
@media(min-width:900px){.hero .wrap{grid-template-columns:1fr 1fr;align-items:center;gap:48px}.hero .img{grid-column:2;grid-row:1/span 2}.hero .head{grid-column:1;grid-row:1;align-self:end}.hero .body{grid-column:1;grid-row:2;align-self:start}.hero .wrap{row-gap:14px}}
.hero .img{border-radius:var(--r);overflow:hidden;background:var(--sand)}.hero .img img{width:100%;aspect-ratio:4/5;object-fit:cover}.hero.wide .img img{aspect-ratio:5/4}
.hero h1{font-size:clamp(40px,5.6vw,72px);margin:14px 0 16px}.hero .lead{margin-bottom:22px}
.hero .actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:18px}
.hero .price{font:800 30px/1 var(--fd);color:var(--ink);letter-spacing:-.02em;display:flex;align-items:baseline;gap:10px;margin-bottom:18px}.hero .price small{font:500 14px var(--fb);color:var(--muted);letter-spacing:0}
@media(max-width:899px){.hero .img{margin:0 calc(-1*var(--pad));border-radius:0}.hero .img img{aspect-ratio:1}.hero .head{order:1}.hero .img{order:2}.hero .body{order:3}}
.chips{display:flex;flex-wrap:wrap;gap:8px 18px;font:600 13px var(--fb);color:var(--ink)}
.chips span{display:inline-flex;align-items:center;gap:7px}.chips span:before{content:"";width:18px;height:18px;border-radius:50%;background:var(--ok-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%232E7D4F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;flex:none}
/* product cards */
.pcards{display:grid;gap:16px;margin-top:32px}@media(min-width:760px){.pcards{grid-template-columns:repeat(3,1fr)}}
.pcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;position:relative}
.pcard .img{background:#fff;aspect-ratio:1;position:relative;display:block}.pcard .img img{width:100%;height:100%;object-fit:contain;padding:6%}
.pcard .chip{position:absolute;right:12px;bottom:12px;font:800 14px var(--fd);background:var(--ink);color:#fff;padding:8px 12px;border-radius:999px}
.pcard .tag{position:absolute;top:12px;left:12px;z-index:1;font:700 11px/1 var(--fb);letter-spacing:.08em;text-transform:uppercase;background:var(--accent);color:#fff;padding:7px 9px;border-radius:6px}
.pcard .b{padding:18px 20px 20px;display:grid;gap:6px}.pcard h3{font-size:22px}.pcard .rg{font:500 14px var(--fb);color:var(--muted)}.pcard .pr{font:800 22px var(--fd);color:var(--ink);margin-top:4px}.pcard .bf{font-size:13px;color:var(--muted)}.pcard .btn{margin-top:12px}
/* configurator */
.cfg{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(20px,3vw,32px);margin-top:28px}
.qs{display:grid;gap:18px}.q b{display:block;font:700 15px var(--fb);color:var(--ink);margin-bottom:8px}
.opts{display:flex;flex-wrap:wrap;gap:8px}.opts button{font:600 14px var(--fb);padding:11px 16px;border-radius:999px;border:1.5px solid var(--line2);background:#fff;cursor:pointer}.opts button[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:#fff}
.res{display:none;margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}.res.on{display:block}.res .d{font:800 24px var(--fd);color:var(--ink)}.res .d span{color:var(--accent)}
/* sticky bar */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid var(--line);padding:10px var(--pad);display:none;align-items:center;gap:14px;box-shadow:0 -8px 24px rgba(0,0,0,.08)}
.sticky.on{display:flex}.sticky img{width:52px;height:52px;object-fit:cover;border-radius:10px;background:var(--cream);flex:none}.sticky .n{font:700 15px var(--fd);color:var(--ink)}.sticky .p{font:800 18px/1 var(--fd);color:var(--ink);margin-top:3px}.sticky .btn{margin-left:auto;padding:14px 22px;font-size:15px}
@media(min-width:900px){.sticky{left:24px;right:24px;bottom:16px;border:1px solid var(--line);border-radius:18px;padding:10px 12px 10px 14px;box-shadow:0 14px 40px rgba(0,0,0,.14);max-width:var(--max);margin:0 auto}}
/* footer */
.ftr{background:var(--ink);color:#B8B0A4;padding:56px 0 32px;font-size:14px}
.ftr .wrap{display:grid;gap:28px}@media(min-width:760px){.ftr .wrap{grid-template-columns:1.4fr 1fr 1fr}}
.ftr .logo{color:#fff}.ftr .logo i{background:var(--accent)}
.ftr b{display:block;font:700 12px var(--fb);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;color:#fff}.ftr a{display:block;text-decoration:none;padding:4px 0;color:#D8D1C6}.ftr a:hover{color:#fff}
.ftr p{max-width:44ch;color:#B8B0A4}
.consent[hidden]{display:none}
.consent{position:fixed;left:16px;right:16px;bottom:88px;z-index:60;background:#fff;border:1px solid var(--line);border-radius:var(--rs);padding:14px 16px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;box-shadow:0 12px 32px rgba(0,0,0,.12);font-size:14px}
@media(min-width:900px){.consent{left:auto;max-width:560px;bottom:100px}}
/* prose pages */
.prose h2{font-size:26px;margin:30px 0 10px}.prose p{margin:0 0 12px;font-size:16px;line-height:1.6;max-width:70ch}.prose ul{padding-left:20px}.prose li{margin:6px 0}.prose .notice{background:var(--cream);border-left:3px solid var(--accent);padding:12px 14px;border-radius:0 var(--rs) var(--rs) 0;font-size:14px;margin-top:22px}
.tblwrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--rs);background:#fff;margin:14px 0}
table.cmp{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}.cmp th,.cmp td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.cmp th{font:700 12px var(--fb);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--cream)}.cmp td:first-child{font-weight:600;color:var(--ink)}.cmp tr:last-child td{border-bottom:0}
.steps{display:grid;gap:14px;margin-top:32px}@media(min-width:760px){.steps{grid-template-columns:repeat(3,1fr)}}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px}.step .k{font:800 44px/1 var(--fd);color:var(--accent);letter-spacing:-.04em;margin-bottom:12px}.step b{display:block;font:800 18px var(--fd);color:var(--ink);margin-bottom:6px}.step p{font-size:15px;color:var(--body)}
dialog::backdrop{background:rgba(0,0,0,.4)}
.split{display:grid;gap:24px}@media(min-width:900px){.split{grid-template-columns:1fr 1.4fr;gap:56px}}
.cols3{display:grid;gap:20px}@media(min-width:700px){.cols3{grid-template-columns:repeat(3,1fr)}}.col b{display:block;font:800 18px var(--fd);color:var(--ink);margin-bottom:6px}.col p{font-size:15px;color:var(--body)}
.video{border-radius:var(--r);overflow:hidden;background:var(--sand)}.video img{width:100%;aspect-ratio:4/5;object-fit:cover}
.sizing .row.h>div:first-child{color:#fff}
.sec .honest{margin-left:auto;margin-right:auto;text-align:center}.center+.quotes+.honest+p{text-align:center}
.pdp .wrap>*{min-width:0}.gal{min-width:0;max-width:100%}.gal .thumbs{max-width:100%}
.ticker{position:relative}.ticker .track{position:relative}
.buybox{min-width:0}.tiers{min-width:0}.tier{min-width:0;overflow:hidden}
@media(max-width:480px){.buybox{padding:16px}.tier{padding:10px 8px}.tier .tag{font-size:9px;padding:3px 5px}.tier b{font-size:15px}.tier small{font-size:11px}}
/* Clip horizontal overflow without creating a scroll container that breaks sticky elements. */
html,body{overflow-x:clip}

.specstrip{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.specstrip span{font:600 12px var(--fb);color:var(--ink);background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:7px 11px}
.buy .proof i.dot{background:var(--accent);width:10px;height:10px;margin:0 4px 0 8px}
.fcard img,.case img,.cmpgrid .h img{background:var(--cream)}
.gal .thumbs{scroll-snap-type:x mandatory}.gal .thumbs button{scroll-snap-align:start}
@media(max-width:600px){.cmpgrid{grid-template-columns:1.6fr 1fr 1fr 1fr}.cmpgrid .lab{font-size:12px}}
@media(max-width:899px){.callouts ul{grid-template-columns:1fr 1fr;gap:16px}.callouts li{font-size:16px;display:block;border-top:2px solid var(--accent);padding-top:10px}.callouts li small{font-size:13px}}
@media(max-width:899px){.consent{bottom:calc(84px + env(safe-area-inset-bottom));top:auto;left:8px;right:8px;padding:10px 12px;font-size:12px}.consent .btn{padding:9px 12px;font-size:12px}}
@media(max-width:600px){.specstrip{display:none}.sizing .row{grid-template-columns:1fr}.sizing .row>div{padding:10px 12px}.sizing .row>div:first-child{padding-bottom:0;font-size:15px}.sizing .row.h>div:nth-child(n+2){display:none}.sizing .pick{padding:10px 12px}.sizing .pick b{font-size:14px}.sizing .pick span{font-size:13px}}
.sticky{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
/* hook section (query-specific top) */
.hook{background:var(--cream)}
.pick{margin-top:18px;border:1px solid var(--line,#E6DCCF);border-radius:14px;overflow:hidden;background:#fff}
.pick .lab{font:700 12px/1 var(--fb);letter-spacing:.08em;text-transform:uppercase;color:#6B655C;padding:12px 16px;background:var(--sand);border-bottom:1px solid #E6DCCF}
.pick a{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 16px;text-decoration:none;color:var(--ink);border-bottom:1px solid #EFE6D9}
.pick a:last-child{border-bottom:0}.pick a b{font:800 15px/1.25 var(--fd)}.pick a span{font:500 13px/1.3 var(--fb);color:#6B655C;text-align:right}
.pick a:hover{background:#FBF6EF}
/* reviews */
.stars{position:relative;display:inline-flex;letter-spacing:1px;font-size:15px;line-height:1}.stars-e{color:#E0D8CC}.stars-f{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;color:#F5A524}
.rating{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:var(--ink);font:600 14px/1 var(--fb);margin:6px 0 12px}
.rating b{font-weight:800}.rdiv{color:#C9C1B5;font-weight:300}.rating span{color:#6B655C;font-weight:500}
.rtrust{font:700 11px/1 var(--fb);letter-spacing:.06em;color:var(--accent);text-transform:uppercase}
.stars.grey{color:#C9C1B5}
.rdist{max-width:360px;margin:14px auto 0;display:grid;gap:5px}.rdist>div{display:grid;grid-template-columns:30px 1fr 36px;gap:8px;align-items:center;font:600 12px/1 var(--fb);color:#6B655C}.rdist i{display:block;height:8px;background:#EAE2D6;border-radius:999px;overflow:hidden}.rdist b{display:block;height:100%;background:#F5A524;border-radius:999px}.rdist span:last-child{text-align:right}
.rsum{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;font:600 15px/1 var(--fb)}.rsum b{font:800 18px/1 var(--fd)}.rsum span{color:#6B655C;font-weight:500}
.rgrid{display:grid;gap:14px;margin-top:28px}@media(min-width:760px){.rgrid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1000px){.rgrid{grid-template-columns:repeat(3,1fr)}}
.rv{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px}
.rv .rh{display:flex;align-items:center;justify-content:space-between;gap:10px}.rv .vb{font:700 11px/1 var(--fb);color:var(--ok);letter-spacing:.04em;text-transform:uppercase}
.rv h3{font:800 17px/1.25 var(--fd);letter-spacing:-.01em;margin:12px 0 8px}.rv p{font:500 15px/1.5 var(--fb);color:#3B362E;margin:0}
.rv .rm{font:500 12.5px/1.4 var(--fb);color:#6B655C;margin-top:14px}.rv .rm b{color:var(--ink)}
/* featured product (home) */
.feat{display:grid;gap:clamp(20px,4vw,48px);margin-top:32px;align-items:center}@media(min-width:900px){.feat{grid-template-columns:1fr 1.15fr}}
.feat .fimg{position:relative;display:block;border-radius:var(--r);overflow:hidden;background:var(--sand)}.feat .fimg img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.feat .fimg .tag{position:absolute;left:14px;top:14px;background:var(--accent);color:#fff;font:800 11px/1 var(--fd);letter-spacing:.08em;text-transform:uppercase;padding:8px 10px;border-radius:999px}
.feat .fbody h3{font:800 clamp(26px,3vw,38px)/1.05 var(--fd);letter-spacing:-.03em;margin:10px 0 12px}
.feat .fbody .checks{margin:16px 0}.feat .fbody .pr{font:800 28px/1 var(--fd);margin:8px 0 16px}
.feat .others{margin-top:26px;border-top:1px solid var(--line);padding-top:16px}.feat .others .lab{font:700 12px/1 var(--fb);letter-spacing:.06em;text-transform:uppercase;color:#6B655C;margin-bottom:10px}
.feat .others .pair{margin-top:8px}

/* ---------- offer stack ---------- */
.sec.offer{background:linear-gradient(180deg,var(--cream) 0%,var(--peach) 100%)}
.ostack{display:grid;gap:12px;margin-top:34px}
@media(min-width:760px){.ostack{grid-template-columns:repeat(2,1fr)}}
.oi{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 22px}
.oi .ok{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent-d)}
.oi .ok svg{width:19px;height:19px}
.oi.risk .ok{background:var(--ok-soft);color:var(--ok)}
.oi b{display:block;font:800 17px/1.25 var(--fd);color:var(--ink);letter-spacing:-.01em}
.oi p{margin-top:6px;font:500 14.5px/1.5 var(--fb);color:var(--body)}
.oclose{margin-top:28px;text-align:center}
.oclose p{font:600 15px/1.5 var(--fb);color:var(--ink);margin-bottom:16px}

/* ---------- press / category proof ---------- */
.sec.press{background:var(--paper)}
.pquotes{display:grid;gap:12px;margin-top:30px}
@media(min-width:760px){.pquotes{grid-template-columns:repeat(2,1fr)}}
.pq{display:block;text-decoration:none;background:var(--cream);border:1px solid var(--line);border-radius:var(--r);padding:22px;transition:border-color .15s,transform .15s}
.pq:hover{border-color:var(--line2);transform:translateY(-2px)}
.pq b{display:block;font:800 13px/1 var(--fb);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-d)}
.pq span{display:block;margin-top:10px;font:400 20px/1.35 var(--fs);font-style:italic;color:var(--ink)}
.pq small{display:block;margin-top:12px;font:600 12.5px/1 var(--fb);color:var(--muted)}

/* ---------- UGC / Instagram wall ---------- */
.sec.ugc{background:var(--cream)}
.sec.ugc.empty{background:var(--paper)}
.sec.ugc.empty .wrap{max-width:760px}
.igrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:30px}
@media(min-width:700px){.igrid{grid-template-columns:repeat(4,1fr)}}
.ig{position:relative;display:block;border-radius:var(--rs);overflow:hidden;aspect-ratio:1/1;background:var(--sand)}
.ig img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.ig:hover img{transform:scale(1.04)}
.ig .cap{position:absolute;left:0;right:0;bottom:0;padding:26px 12px 10px;font:600 12.5px/1.35 var(--fb);color:#fff;background:linear-gradient(180deg,transparent,rgba(0,0,0,.62))}
.fc{font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0}

/* ---------- review photos ---------- */
.rv .rimg{margin:-22px -22px 16px;border-radius:var(--r) var(--r) 0 0;overflow:hidden;aspect-ratio:4/3;background:var(--sand)}
.rv .rimg img{width:100%;height:100%;object-fit:cover}

/* home hero price row */
.hero .hprice{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 18px}
.hero .hprice .t{font:600 13.5px/1 var(--fb);color:var(--body);background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 13px}
.hero .hprice .t b{font-family:var(--fd);color:var(--ink);margin-left:5px}

/* ---------- sliding cart ---------- */
.cartbtn{position:relative;margin-left:10px;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:0;border-radius:999px;background:transparent;color:var(--ink);cursor:pointer;flex:none}
.cartbtn:hover{background:rgba(0,0,0,.06)}
.cartn[hidden]{display:none}
.cartn{position:absolute;top:1px;right:-1px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:#fff;font:800 11px/18px var(--fb);text-align:center}

.cartov[hidden]{display:none}
.cartov{position:fixed;inset:0;z-index:80;background:rgba(20,18,16,.45);opacity:0;transition:opacity .22s}
.cartov.on{opacity:1}

.cart[hidden]{display:none}
.cart{position:fixed;top:0;right:0;bottom:0;z-index:90;width:min(420px,100vw);background:#fff;display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(0,0,0,.16);transform:translateX(100%);transition:transform .26s cubic-bezier(.4,0,.2,1)}
.cart.on{transform:translateX(0)}
.cart-h{display:flex;align-items:center;justify-content:space-between;padding:20px var(--pad) 14px;border-bottom:1px solid var(--line);flex:none}
.cart-h b{font:800 20px var(--fd);color:var(--ink)}
.cart-x{border:0;background:transparent;color:var(--ink);cursor:pointer;padding:4px;display:inline-flex;border-radius:8px}
.cart-x:hover{background:var(--cream)}
.cart-note{flex:none;padding:10px var(--pad);background:var(--cream);font:600 12.5px var(--fb);color:var(--body);text-align:center}
.cart-body{flex:1 1 auto;overflow-y:auto;padding:6px var(--pad)}
.cart-body:empty{display:none}
.cart-empty[hidden]{display:none}
.cart-empty{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px var(--pad);text-align:center;color:var(--muted);font:500 15px var(--fb)}
.cart-li{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.cart-li:last-child{border-bottom:0}
.cart-li img{width:74px;height:74px;object-fit:cover;border-radius:10px;background:var(--cream);flex:none}
.cart-li .m{flex:1 1 auto;min-width:0}
.cart-li .n{font:700 15px var(--fd);color:var(--ink)}
.cart-li .r{font:500 13px var(--fb);color:var(--muted);margin-top:3px}
.cart-li .p{font:800 16px var(--fd);color:var(--ink);margin-top:6px}
.cart-act{display:flex;align-items:center;margin-top:10px}
.cart-q{display:inline-flex;align-items:center;border:1.5px solid var(--line2);border-radius:999px;overflow:hidden}
.cart-q button{width:30px;height:30px;border:0;background:transparent;color:var(--ink);font:700 16px/1 var(--fb);cursor:pointer}
.cart-q button:hover{background:var(--cream)}
.cart-q span{min-width:26px;text-align:center;font:700 14px var(--fb);color:var(--ink)}
.cart-rm{margin-left:12px;border:0;background:transparent;color:var(--muted);font:600 13px var(--fb);text-decoration:underline;cursor:pointer;padding:0}
.cart-rm:hover{color:var(--no)}
.cart-f[hidden]{display:none}
.cart-f{flex:none;padding:16px var(--pad) calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}
.cart-sub{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}
.cart-sub span{font:600 15px var(--fb);color:var(--body)}
.cart-sub b{font:800 24px var(--fd);color:var(--ink)}
.cart-guar{display:flex;align-items:center;justify-content:center;gap:5px;margin:12px 0 0;font:500 13px var(--fb);color:var(--muted);letter-spacing:.01em}
.cart-guar svg{flex:none;color:var(--accent)}
.cart-cont{display:block;width:100%;margin-top:12px;border:0;background:transparent;color:var(--ink);font:600 14px var(--fb);text-decoration:underline;cursor:pointer;padding:4px}
@media(max-width:520px){.cart{width:100vw}}
@media(prefers-reduced-motion:reduce){.cart,.cartov{transition:none}}
/* header fits the cart button on small screens (sticky bar carries the buy action there) */
@media(max-width:899px){.hdr .wrap{gap:14px}.cartbtn{margin-left:2px}}
@media(max-width:600px){.hdr .cta{display:none}.hdr .wrap{gap:12px}.cartbtn{margin-left:auto}}
/* nav grouping: menu + cart ride together on the right; landing pages have no menu, so the
   buy button (>=601px) or the cart (<=600px) takes the auto margin instead. */
@media(max-width:600px){.menu{margin-left:auto}.menu~.cartbtn{margin-left:0}}
@media(max-width:899px){.hdr.lp .cta{margin-left:auto}}
/* content pages carry no sticky buy bar, so the header keeps a compact shop button on phones */
.hdr .cta .ctx{margin-left:-4px}
@media(max-width:600px){.hdr .cta.keep{display:inline-flex;padding:11px 14px;font-size:13px}.hdr .cta .ctx{display:none}}
@media(max-width:360px){.hdr .cta.keep{padding:10px 12px;font-size:12px}}

/* ---------- shipping protection row ---------- */
.cart-prot[hidden]{display:none}
.cart-prot{flex:none;display:flex;align-items:center;gap:12px;margin:2px var(--pad) 12px;padding:13px 14px;border:1.5px solid var(--line2);border-radius:var(--rs);background:var(--cream);cursor:pointer}
.cart-prot:hover{border-color:var(--accent)}
.cart-prot:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.cart-prot input{flex:none;width:19px;height:19px;accent-color:var(--accent);cursor:pointer;margin:0}
.cart-prot-b{flex:1 1 auto;display:flex;align-items:center;gap:10px;min-width:0;color:var(--ok)}
.cart-prot-b>svg{flex:none}
.cart-prot-t{display:block;min-width:0}
.cart-prot-t b{display:block;font:700 14px var(--fd);color:var(--ink)}
.cart-prot-t small{display:block;font:500 12.5px/1.35 var(--fb);color:var(--muted);margin-top:2px}
.cart-prot-p{flex:none;font:800 15px var(--fd);color:var(--ink)}

/* ---------- checkout loading state ---------- */
[data-cart-checkout] .spin{display:none;width:17px;height:17px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:heftspin .7s linear infinite}
[data-cart-checkout].loading .spin{display:inline-block}
[data-cart-checkout].loading{pointer-events:none}
@keyframes heftspin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){[data-cart-checkout] .spin{animation-duration:1.8s}}

/* guarantee bar — slim credibility strip under the buy box */

/* video wall — three 9:16 cards, click to play in place */
.vwall{display:grid;grid-template-columns:repeat(var(--vn,3),minmax(0,1fr));gap:clamp(10px,1.4vw,18px);
  margin-top:clamp(26px,4vw,40px);max-width:calc(var(--vn,3) * 300px);margin-inline:auto}
@media(max-width:1040px){.vwall{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}}
@media(max-width:760px){.vwall{grid-template-columns:1fr 1fr;gap:12px}}
/* phones: swipeable rail instead of a five-storey stack */
@media(max-width:600px){
  .vwall{display:flex;grid-template-columns:none;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;padding-inline:16px;margin-inline:-16px;
    scroll-padding-left:16px}
  .vwall::-webkit-scrollbar{display:none}
  .vwall .vcard{flex:0 0 68%;scroll-snap-align:start}
  .vwall .vcard:last-child{margin-right:16px}
}
.vcard{position:relative;margin:0;border-radius:var(--r);overflow:hidden;background:var(--ink);aspect-ratio:9/16;max-width:100%}
.vcard video{width:100%;height:100%;object-fit:cover;display:block;background:var(--ink)}
.vplay{position:absolute;inset:0;display:grid;place-items:center;border:0;background:rgba(20,19,16,.18);cursor:pointer;padding:0}
.vplay svg{width:clamp(52px,7vw,66px);height:clamp(52px,7vw,66px);filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}
.vplay[hidden]{display:none!important}
.vplay:focus-visible{outline:3px solid var(--accent);outline-offset:-4px}
.vcard figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;
  background:linear-gradient(transparent,rgba(20,19,16,.82));color:#fff;font:600 14px/1.35 var(--fb);pointer-events:none}
@media(max-width:600px){.vcard figcaption{font-size:12.5px;padding:22px 10px 10px}}

/* trusted-by strip — the compact credibility pill under the video wall */
/* social-proof pill — Bioroot pattern, measured from biorootlabs.com 13.09.2026.
   Sits inside the product column under the ATC block. `.spbwrap` is the home-page-only
   full-width variant that centres the identical pill inside a section. */
.spb{display:flex;align-items:center;background:#F5F2EE;border-radius:100px;
  padding:8px 32px 8px 8px;max-width:min(100%,560px);width:fit-content;margin:20px 0}
.spb-imgs{display:flex;align-items:center;margin-right:16px;position:relative;flex:none}
.spb-img{width:52px;height:52px;border-radius:50%;border:2px solid var(--paper);overflow:hidden;
  background:var(--sand);display:block;flex:none}
.spb-img+.spb-img,.spb-last{margin-left:-12px}
.spb-img img{width:100%;height:100%;object-fit:cover;display:block}
.spb-last{position:relative;display:flex;flex:none}
.spb-ok{position:absolute;top:-4px;right:-4px;width:22px;height:22px;border-radius:50%;
  background:#58B67D;border:2px solid var(--paper);color:#fff;display:grid;place-items:center}
.spb-ok svg{width:12px;height:12px;display:block}
.spb-txt{display:block;min-width:0}
.spb-t{display:block;font:800 16px/1.1 var(--fb);color:var(--ink);letter-spacing:-.01em}
.spb-d{display:block;font:400 16px/1.2 var(--fb);color:var(--body);margin-top:2px}
.spb-press{padding:8px 28px 8px 14px}
.spb-marks{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-right:16px}
.spb-w{font:800 11.5px/1 var(--fd);letter-spacing:.08em;color:var(--ink);text-transform:uppercase;
  background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:7px 11px;white-space:nowrap}
@media(max-width:600px){
  .spb{padding:6px 20px 6px 6px;margin:16px 0}
  .spb-img{width:40px;height:40px}
  .spb-img+.spb-img,.spb-last{margin-left:-10px}
  .spb-ok{width:18px;height:18px}.spb-ok svg{width:10px;height:10px}
  .spb-t{font-size:14px}.spb-d{font-size:12px}
  .spb-press{padding:8px 18px 8px 12px}
  .spb-marks{gap:6px;margin-right:12px}
  .spb-w{font-size:10px;padding:6px 9px;letter-spacing:.06em}
}
.spbwrap{padding:0 0 clamp(30px,4vw,48px)}
.spbrow{display:flex;justify-content:center}
.spbwrap .spb{margin:0}

/* "Loved By Thousands" tiles inside the product column — Bioroot geometry */
.pvid{margin:8px 0 22px}
.pvid-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.pvid-nav{display:flex;gap:6px;flex-shrink:0}
.pvid-nav button{border:1px solid var(--line2);border-radius:50%;width:36px;height:36px;background:white;color:var(--ink);font-size:20px;cursor:pointer}
.pvid-nav button:disabled{opacity:.3;cursor:default}
.pvid-t{font:600 14px/22px var(--fd);color:var(--ink);letter-spacing:-.01em;margin:0}
.pvid-row{display:flex;gap:8px;max-width:560px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;overscroll-behavior-x:contain}.pvid-row::-webkit-scrollbar{display:none}
.pvid-c{position:relative;margin:0;border-radius:6px;overflow:hidden;background:var(--ink);aspect-ratio:150/245;flex:0 0 calc((100% - 16px)/3);scroll-snap-align:start}
.pvid-c video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:var(--ink)}
.pvid-p svg{width:clamp(34px,9%,46px);height:auto}
@media(max-width:600px){.pvid-p svg{width:34px}}

.tk-h2{font:800 clamp(22px,2.6vw,32px)/1.15 var(--fd);color:var(--ink);margin:0 0 clamp(18px,2.4vw,28px);text-align:left}
.tkwall{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.tkcard{border-radius:14px;overflow:hidden;border:none;transition:transform .15s}
.tkcard:hover{transform:scale(1.015)}
.tkcard video,.tkcard .vplay{border-radius:14px}
@media(max-width:600px){
  .tkwall{grid-template-columns:none!important;display:flex!important;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:4px}
  .tkwall::-webkit-scrollbar{display:none}
  .tkwall .tkcard{flex:0 0 72%;scroll-snap-align:start}
  .tkwall .tkcard:last-child{margin-right:16px}
  .tk-h2{font-size:20px}
}

/* Put the offer before the gallery on phones; retain the full sales argument below it. */
.quickprice{display:none}
@media(max-width:899px){
  .pdp .wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
  .pdp .buy{display:contents}
  .buy-intro{grid-row:1;min-width:0}
  .pdp-media{grid-row:2}
  .buy-details{grid-row:3;display:flex;flex-direction:column;min-width:0}
  .buy-details>.buybox{order:-1;margin-bottom:18px}
  .buy-intro h1{font-size:clamp(26px,7vw,34px);line-height:1.08;margin:8px 0}
  .buy-intro .proof{margin-bottom:0;font-size:11px;padding:7px 9px}
  .quickprice{display:flex;align-items:center;gap:12px;margin-top:10px}
  .quickprice b{font:800 28px/1 var(--fd)}
  .quickprice span{font:600 12px/1.4 var(--fb)}
  .pdp .gal .thumbs button{flex-basis:60px}
  .pdp .specstrip{display:none}
  body:has(.sticky){padding-bottom:86px}
  .sticky{padding-bottom:max(10px,env(safe-area-inset-bottom));gap:8px}
  .sticky .btn{padding:14px 16px;font-size:14px}
  .sticky .n{font-size:13px}
}

/* Sitewide purchase hierarchy — September 2026 */
.sec{padding:clamp(48px,5.5vw,76px) 0}
.center{max-width:920px;margin:0 auto 28px}
.center .lead{max-width:54ch}
.pdp .wrap{align-items:start}
.pdp-media{min-width:0;position:static}
@media(min-width:900px) and (min-height:900px){.pdp-media{position:sticky;top:84px}}
.pdp-media .gal{position:static}
/* Portrait artwork contains product details: always show the entire frame. */
.pdp .gal .main{aspect-ratio:4/5;height:auto}
.buy h1{font-size:clamp(30px,3.2vw,42px);line-height:1.08;margin:8px 0 12px}
.buy .one{font-size:16px;line-height:1.5;margin:14px 0 18px;max-width:55ch}
.buy .proof{font-size:11px;margin-bottom:0;padding:7px 10px;line-height:1.4}
.buy .checks{margin:18px 0;font-size:14px;line-height:1.5;gap:10px}
@media(min-width:900px){.buy-details{display:flex;flex-direction:column}.buy-details>.checks{order:-1;margin:0 0 18px}}
.buybox .price .p{font-size:36px}
.buybox .lab{margin-bottom:8px}
.buybox .btn.full{padding:17px 20px;font-size:17px}
.buybox .gicons{gap:12px;margin-top:16px}
.tier .tag{white-space:normal;line-height:1.25;letter-spacing:.02em}
.pdp .buybox{scroll-margin-top:84px}
.story-head{display:grid;gap:24px;align-items:center;margin-bottom:32px}
.story-head .eyebrow{margin-bottom:14px}
.intent-story .lead{color:#D8D1C6}
.reason-grid{display:grid;gap:24px}
.reason-grid>div{border-top:1px solid #4B4338;padding-top:20px}
.reason-n{color:#FFB79E;font-weight:700;font-size:12px;letter-spacing:.1em;display:block;margin-bottom:12px}
.reason-grid h3{font-size:21px;line-height:1.15;margin-bottom:10px}
.reason-grid p{font-size:15px;line-height:1.6;max-width:42ch}
.details-grid{display:grid;gap:28px;align-items:start}
.details-grid .eyebrow{margin-bottom:14px}
.details-grid .lead{margin:18px 0;font-size:17px}
.text-link{display:inline-block;color:var(--ink);font-size:14px;font-weight:700;text-underline-offset:4px}
.details-grid .acc{margin:0}
.model-choices{display:grid;gap:20px}
.model-choice{display:block;background:var(--cream);border:1px solid var(--line2);border-radius:18px;padding:20px;text-decoration:none;transition:border-color .15s}
.model-choice:hover,.model-choice.current{border-color:var(--accent)}
.model-choice>img{width:100%;height:240px;object-fit:contain;background:white;border-radius:12px;margin-bottom:20px}
.model-info h3{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:24px;margin:10px 0}
.model-info h3 span{font-size:22px}
.model-use{font-size:11px;font-weight:700;line-height:1.5;color:var(--muted)}
.model-range{font-size:18px;color:var(--ink)}
.model-info p{font-size:13px;margin:8px 0 16px}
.model-link{display:block;padding:13px 16px;background:var(--ink);color:white;border-radius:999px;text-align:center;font-size:14px;font-weight:700}
.model-choices.compact .model-choice{background:white}
.model-choices.compact .model-choice>img{height:130px}
.choice-note{margin:18px auto 0;text-align:center;max-width:65ch}
.home-range-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0}
.home-range-links a{display:flex;flex-direction:column;border:1px solid var(--line2);background:white;text-decoration:none;border-radius:10px;padding:12px;line-height:1.5}
.home-range-links span{font-size:12px}
.home-range-links strong{color:var(--ink)}
.home-hero h1{font-size:clamp(38px,4.8vw,62px)}
.home-hero .lead{max-width:43ch;font-size:18px}
.home-hero .actions{gap:20px}
.home-hero .img img{aspect-ratio:4/5}
.help-shop .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.help-shop h2{font-size:28px;margin-bottom:8px}
.help-shop p{font-size:15px}
.help-content h1{font-size:clamp(34px,4vw,48px);line-height:1.1;max-width:20ch}
.help-content .prose>h2{font-size:25px;margin-top:32px}
.help-content .prose>p{max-width:68ch}
.help-content .model-choices{margin:28px 0}
.help-content .model-choice{margin:0}
.help-facts{display:grid;gap:12px;margin:0 0 28px}
.help-facts>div{padding:16px;border:1px solid var(--line2);border-radius:12px;background:var(--cream)}
.help-facts b,.help-facts span{display:block}
.help-facts span{font-size:13px;margin-top:5px}
.guide-explain{margin:28px 0;border-top:1px solid var(--line2);padding-top:20px}
.guide-explain summary{font-size:18px;font-weight:700;cursor:pointer;color:var(--ink)}
.guide-explain p{margin-top:14px}
.sec[id],#cfg,#shop{scroll-margin-top:84px}
@media(min-width:900px){
 .story-head{grid-template-columns:1.05fr 1fr;gap:56px}
 .reason-grid,.model-choices{grid-template-columns:repeat(3,minmax(0,1fr))}
 .details-grid{grid-template-columns:1fr 1.15fr;gap:64px}
 .help-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
 .help-content:has(.model-choices) .prose{max-width:1240px!important}
 .step{padding:24px}.step .k{font-size:40px}
}
@media(max-width:899px){
 .pdp-media{position:static;grid-row:2}
 .buy-intro{display:flex;flex-direction:column}
 .buy-intro .proof{order:0}.buy-intro h1{order:1}.buy-intro .rating{order:2}
 .buy-intro .one{order:4;font-size:15px;line-height:1.5;margin:12px 0 0}
 .buy-intro .quickprice{order:3;margin-top:10px}
 .buy-details>.buybox{margin-bottom:0}
 .buy-details>.checks{margin:18px 0}
 .buy-intro h1{font-size:clamp(27px,7.3vw,34px)}
 .story-head{gap:18px;margin-bottom:26px}
 .reason-grid{gap:20px}.reason-grid h3{font-size:20px}
 .reason-grid>div{padding-top:16px}
 .model-choice{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;padding:16px;align-items:center}
 .model-choice>img,.model-choices.compact .model-choice>img{height:130px;width:100%;margin:0}
 .model-info h3{font-size:19px;margin:6px 0;gap:8px}.model-info h3 span{font-size:18px}
 .model-range{font-size:15px}.model-info p{font-size:12px;margin:6px 0 10px}
 .model-use{font-size:10px}.model-link{font-size:12px;padding:11px}
 .home-hero .img{order:3;margin:0;border-radius:18px}
 .home-hero .img img{aspect-ratio:5/3}
 .home-hero .body{order:2}
 .home-hero .head{order:1}
 .home-hero .wrap{gap:18px;padding-top:24px;padding-bottom:32px}
 .home-hero h1{margin:10px 0 0}
 .home-hero .lead{font-size:16px;margin-bottom:12px}
 .home-hero .actions{gap:14px;margin-bottom:12px}
 .home-range-links{margin:16px 0}
 .center{margin-bottom:24px}.center h2{font-size:30px}
 .step{padding:20px}.step .k{font-size:36px}
 .help-shop .wrap{flex-direction:column;align-items:flex-start}
 .help-content .model-choices{gap:12px}
 .help-content .model-choice h3{margin:6px 0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker .track{animation:none}}
.purchase-lead{display:none}
@media(max-width:899px){
 .buy-intro .one{display:none}
 .purchase-lead{display:block;font-size:16px;line-height:1.55;margin:18px 0 0}
}

/* list price (launch pricing) */
.was{font-weight:600;color:var(--muted);text-decoration:line-through;text-decoration-thickness:2px;margin-right:.35em;font-size:.6em;letter-spacing:0}
.tier .tp .was{font-size:.85em;margin-right:.3em}
.buybox .save{display:inline-block;font:700 12px var(--fb);color:var(--accent);background:rgba(228,87,46,.1);border-radius:999px;padding:5px 10px;margin:-2px 0 10px}
