/* =====================================================================
   ION home. The colours, the sunburst and the proportions all come from the packaging itself:
   flat mint #3CCB92 and orange #FF8A1E rays, deep green / deep brown ink panels, cream paper.
   Products are always shown at their real relative size (box 60 x 90 x 21 mm, pouch 50 x 79 mm) and are never
   stretched or faked in 3D. Motion is limited to a quick fade-in and two honest things: a box you can turn with your
   hand, and a pouch that peels open as you scroll.
   ===================================================================== */
:root{--mint-deep:#143D2E;--mint-pale:#D5F6E7;--amber-deep:#3A1D17;--amber-pale:#FFE6C7;--sun:#FFD23F}

/* ---------- buttons ---------- */
.btn--line{border-color:rgba(255,248,236,.6);color:#fff;background:transparent}
@media(hover:hover){.btn--line:hover{background:#fff;color:var(--ink);border-color:#fff}.btn--primary:hover{transform:translateY(-2px)}}
.btn--primary.is-added{background:var(--mint);border-color:var(--mint);color:var(--ink)}

/* ---------- shared section pieces ---------- */
.sec3{position:relative;padding-block:clamp(60px,8.5vw,120px)}
.sec3--paper{background:var(--paper);color:var(--ink)}.sec3--bone{background:var(--bone);color:var(--ink)}.sec3--ink{background:var(--ink);color:var(--paper)}
.head3{display:grid;gap:14px;margin-bottom:clamp(26px,4.5vw,56px)}
.head3--row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px}
.kick3{display:flex;align-items:center;gap:12px;margin:0;font:600 .72rem/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--yellow)}
.kick3::before{content:"";width:30px;height:2px;background:currentColor}
.kick3--dk,.sec3--paper .kick3,.sec3--bone .kick3{color:var(--orange-dk)}
.h3{margin:0;font:800 clamp(2.9rem,8vw,6.2rem)/.88 var(--display);text-transform:uppercase;letter-spacing:.004em}.h3--dk{color:var(--ink)}
.lede3{margin:0;max-width:52ch;font-size:clamp(1rem,2.3vw,1.18rem);color:rgba(255,248,236,.78)}.lede3--dk{color:var(--ink-2)}
.fine3{margin:24px 0 0;max-width:110ch;font-size:.76rem;line-height:1.65;color:var(--muted)}
.sec3--ink .fine3{color:rgba(255,248,236,.6)}

/* ---------- 1 · hero ---------- */
.hero4{background:var(--paper);color:var(--ink);padding-block:clamp(26px,4.5vw,60px) clamp(36px,6vw,84px);overflow:hidden}
.hero4__grid{display:grid;gap:clamp(26px,4vw,56px);align-items:center}
@media(min-width:960px){.hero4__grid{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)}}
.hero4__copy{display:grid;gap:clamp(14px,2vw,22px);justify-items:start}
.hero4__eyebrow{margin:0;font:600 .7rem/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--orange-dk)}
.hero4__h1{margin:0;font:800 clamp(3.3rem,6.4vw,5.7rem)/.86 var(--display);text-transform:uppercase;letter-spacing:.003em;color:var(--ink)}
.hero4__h1 span{display:block}.hero4__h1 em{font-style:normal;color:var(--orange)}
.hero4__lede{margin:0;max-width:44ch;font-size:clamp(1rem,2.2vw,1.16rem);line-height:1.6;color:var(--ink-2)}
.hero4__buy{display:grid;gap:16px;justify-items:start}
.hero4__price{display:flex;align-items:baseline;gap:14px}
.hero4__price b{font:800 clamp(2.6rem,7vw,3.8rem)/1 var(--display)}
.hero4__price>span{font:600 .74rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.hero4__cta{display:flex;flex-wrap:wrap;gap:12px}
.hero4__facts{display:flex;flex-wrap:wrap;gap:6px 22px;margin:0;padding:0;list-style:none;font:600 .7rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.hero4__facts li{display:flex;align-items:center;gap:8px}.hero4__facts li::before{content:"";width:7px;height:7px;background:var(--orange);transform:skewX(-12deg)}

/* the stage: one panel per flavour, a real 3D box and a pouch at the same scale (1 unit = 1 mm) */
.hero4__stage{display:grid;grid-template-columns:1fr 1fr;gap:clamp(10px,1.6vw,18px)}
.hero4__hint{grid-column:1/-1;margin:2px 0 0;font:500 .74rem/1.4 var(--sans);color:var(--muted)}
.pack{position:relative;margin:0;container-type:inline-size;aspect-ratio:100/100;border-radius:18px;overflow:hidden;isolation:isolate;--u:calc(100cqw / 124)}
@supports not (width:1cqw){.pack{--u:clamp(1.3px,.9vw,3.2px)}}
.pack--mint{--r1:#3CCB92;--r2:#34BD86;--deep:var(--mint-deep)}.pack--orange{--r1:#FF8A1E;--r2:#F77E10;--deep:var(--amber-deep)}
.pack__rays{position:absolute;inset:0;z-index:-1;background:repeating-conic-gradient(from -90deg at 50% 78%,var(--r1) 0 4.5deg,var(--r2) 4.5deg 9deg)}
.pack__rays::after{content:"";position:absolute;inset:0;background:radial-gradient(68% 40% at 50% 100%,rgba(0,0,0,.2),transparent 72%)}
.pack figcaption{position:absolute;left:5%;top:4.5%;padding:.3em .8em;border-radius:99px;background:var(--deep);color:#fff;font:700 clamp(.62rem,3.4cqw,.84rem)/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase}
.bx{position:absolute;left:5%;bottom:10%;width:calc(60 * var(--u));height:calc(90 * var(--u));perspective:1100px;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;outline-offset:6px}
.bx.is-drag{cursor:grabbing}
.bx::before{content:"";position:absolute;left:-12%;right:-22%;bottom:calc(-5 * var(--u));height:calc(14 * var(--u));background:radial-gradient(closest-side,rgba(0,0,0,.4),transparent);filter:blur(3px)}
.bx__b{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(-7deg) rotateY(-30deg)}
.bx__f{position:absolute;left:50%;top:50%;background-size:100% 100%;background-repeat:no-repeat;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.bx__f--front,.bx__f--back{width:calc(60 * var(--u));height:calc(90 * var(--u));margin:calc(-45 * var(--u)) 0 0 calc(-30 * var(--u))}
.bx__f--front{transform:translateZ(calc(10.5 * var(--u)))}.bx__f--back{transform:rotateY(180deg) translateZ(calc(10.5 * var(--u)));filter:brightness(.9)}
.bx__f--left,.bx__f--right{width:calc(21 * var(--u));height:calc(90 * var(--u));margin:calc(-45 * var(--u)) 0 0 calc(-10.5 * var(--u))}
.bx__f--right{transform:rotateY(90deg) translateZ(calc(30 * var(--u)));filter:brightness(.8)}.bx__f--left{transform:rotateY(-90deg) translateZ(calc(30 * var(--u)));filter:brightness(.86)}
.bx__f--top,.bx__f--bottom{width:calc(60 * var(--u));height:calc(21 * var(--u));margin:calc(-10.5 * var(--u)) 0 0 calc(-30 * var(--u))}
.bx__f--top{transform:rotateX(90deg) translateZ(calc(45 * var(--u)));filter:brightness(1.08)}.bx__f--bottom{transform:rotateX(-90deg) translateZ(calc(45 * var(--u)))}
.pack__pouch{position:absolute;right:4%;bottom:8%;width:calc(50 * var(--u));height:auto;aspect-ratio:1200/1920;border-radius:3.5% / 2.2%;transform:rotate(4deg);transform-origin:50% 100%;filter:drop-shadow(0 calc(5 * var(--u)) calc(7 * var(--u)) rgba(0,0,0,.32))}

/* ---------- 2 · choose your ION ---------- */
.pick{display:grid;gap:18px}
@media(min-width:760px){.pick{grid-template-columns:1fr 1fr;gap:24px}}
.pickc{display:grid;align-content:start;overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 1px 0 var(--line),0 28px 50px -32px rgba(42,19,16,.4);transition:transform .25s var(--ease),box-shadow .25s}
.pickc--mint{--r1:#3CCB92;--r2:#34BD86;--deep:var(--mint-deep);--pale:var(--mint-pale)}.pickc--orange{--r1:#FF8A1E;--r2:#F77E10;--deep:var(--amber-deep);--pale:var(--amber-pale)}
@media(hover:hover){.pickc:hover{transform:translateY(-4px);box-shadow:0 1px 0 var(--line),0 36px 56px -30px rgba(42,19,16,.5)}}
.pickc__art{--art-h:clamp(280px,40vw,400px);position:relative;display:grid;place-items:end center;height:var(--art-h);overflow:hidden;background:repeating-conic-gradient(from -90deg at 50% 104%,var(--r1) 0 4deg,var(--r2) 4deg 8deg)}
.pickc__art::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 30% at 50% 100%,rgba(0,0,0,.22),transparent 75%);pointer-events:none}
.pickc__art img{position:relative;z-index:1;height:calc(var(--art-h) * .9);width:auto;max-width:none;margin-bottom:calc(var(--art-h) * .03);filter:drop-shadow(0 16px 18px rgba(0,0,0,.28))}
.pickc__body{display:grid;gap:12px;padding:clamp(20px,3vw,30px)}
.pickc__body h3{margin:0;font:800 clamp(2.3rem,5.6vw,3.2rem)/.9 var(--display);text-transform:uppercase;color:var(--deep)}
.pickc__tag{margin:-4px 0 0;color:var(--ink-2)}
.pickc__price{display:flex;align-items:baseline;gap:12px;margin:2px 0}.pickc__price b{font:800 2.4rem/1 var(--display)}.pickc__price>span{font:600 .72rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pickc__facts{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.pickc__facts li{padding:6px 12px;border-radius:99px;background:var(--pale);color:var(--deep);font:600 .72rem/1.3 var(--sans)}
.pickc__more{justify-self:center;margin-top:2px;padding:10px;font:600 .8rem var(--sans);color:var(--muted)}.pickc__more:hover{color:var(--ink)}

/* ---------- 3 · what you get ---------- */
.ben{display:grid;gap:14px}
@media(min-width:820px){.ben{grid-template-columns:repeat(3,1fr);gap:18px}}
.ben__c{display:grid;align-content:start;gap:8px;padding:clamp(22px,3vw,34px);border-radius:20px;color:var(--ink);min-height:clamp(220px,26vw,300px)}
.ben__c--energy{background:#FF8A1E}.ben__c--focus{background:#3CCB92}.ben__c--b12{background:#FFD23F}
.ben__n{display:flex;align-items:baseline;gap:.12em;font:800 clamp(5rem,12vw,7.6rem)/.8 var(--display);letter-spacing:-.01em}.ben__n small{font-size:.28em;letter-spacing:.02em;text-transform:none}
.ben__c h3{margin:10px 0 0;font:800 clamp(1.9rem,3.6vw,2.5rem)/.95 var(--display);text-transform:uppercase}
.ben__c p{margin:0;max-width:30ch;font-weight:500;line-height:1.5}
.specs{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:clamp(26px,4vw,44px) 0 0;border-top:2px solid var(--ink)}
@media(min-width:760px){.specs{grid-template-columns:repeat(3,1fr)}}@media(min-width:1100px){.specs{grid-template-columns:repeat(6,1fr)}}
.specs div{padding:16px 12px 16px 0;border-bottom:1px solid var(--line-2)}
.specs dt{font:600 .66rem/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.specs dd{margin:4px 0 0;font:800 1.5rem/1.05 var(--display);text-transform:uppercase}
.nutri{margin-top:18px}.nutri summary{cursor:pointer;font-weight:600}

/* ---------- 4 · how it opens: a peel-apart pouch, drawn as it really opens ---------- */
.open{--ray:60,203,146;position:relative;height:190svh;background:var(--ink);color:#fff;transition:background-color .4s}
.open--orange{--ray:255,106,20}
.open::before{content:"";position:absolute;inset:0;background:repeating-conic-gradient(from -90deg at 28% 56%,rgba(var(--ray),.12) 0 4.5deg,transparent 4.5deg 9deg);pointer-events:none}
.open__pin{position:sticky;top:0;height:100svh;display:grid;align-items:center;overflow:hidden;padding-top:calc(var(--hdr) + 18px)}
.open__grid{position:relative;display:grid;gap:clamp(8px,3vw,64px);align-items:center;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.open__stage{display:grid;place-items:center}
.open__canvas,.open__still{height:min(64svh,620px);width:auto;max-width:100%;aspect-ratio:66/98;filter:drop-shadow(0 22px 26px rgba(0,0,0,.4))}
.open__still{aspect-ratio:1200/1920;border-radius:3.5%/2.2%;padding:0}
.open__copy{display:grid;gap:clamp(10px,2vw,18px);justify-items:start}
.open__copy .h3{font-size:clamp(2.6rem,7.4vw,5.6rem)}
.open__steps{list-style:none;margin:2px 0 0;padding:0;display:grid;gap:12px;max-width:44ch}
.open__steps li{display:grid;grid-template-columns:auto 1fr;gap:14px;opacity:.38;transition:opacity .3s}
.open__steps li.is-on{opacity:1}
.open__steps b{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;background:rgba(255,255,255,.14);font:800 1.1rem/1 var(--display);transition:background-color .3s,color .3s}
.open__steps li.is-on b{background:var(--sun);color:var(--ink)}
.open__steps h3{margin:0;font:800 1.4rem/1 var(--display);text-transform:uppercase}
.open__steps p{margin:2px 0 0;color:rgba(255,248,236,.82);font-size:.95rem;line-height:1.5}
.open__flav{display:flex;gap:8px;flex-wrap:wrap}
.open__flav button{min-height:40px;padding:0 16px;border:2px solid rgba(255,255,255,.4);border-radius:99px;color:#fff;font:700 .7rem var(--sans);letter-spacing:.1em;text-transform:uppercase;background:transparent;transition:background-color .15s,color .15s,border-color .15s}
.open__flav button.on{background:#fff;color:var(--ink);border-color:#fff}
@media(max-width:820px){
  .open__grid{grid-template-columns:1fr;gap:6px}
  .open__canvas,.open__still{height:min(40svh,380px)}
  .open__copy .h3{font-size:clamp(2.2rem,10vw,3.4rem);line-height:.9}.open__copy .h3 br{display:none}
  .open__steps{gap:7px}.open__steps p{display:none}.open__steps li.is-on p{display:block}
  .open__cta{display:none}
}

/* ---------- coffee vs ION ---------- */
.vs{border-top:2px solid var(--ink)}
.vs__h,.vs__r{display:grid;grid-template-columns:.78fr 1fr 1fr;gap:clamp(10px,2vw,28px);align-items:center}
.vs__h{padding:14px 0;font:800 clamp(1.6rem,4vw,2.4rem)/1 var(--display);text-transform:uppercase}
.vs__h b{font:inherit}
.vs__r{padding:clamp(14px,2vw,20px) 0;border-top:1px solid var(--line-2)}
.vs__r span{font:600 .66rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.vs__r p{margin:0;font-weight:500;font-size:clamp(.86rem,2vw,1.05rem);line-height:1.35;color:var(--ink-2)}
.vs__ion{color:var(--ink)!important;font-weight:700}
.vs__r .vs__ion{position:relative;padding-left:clamp(10px,1.6vw,18px)}
.vs__r .vs__ion::before,.vs__h .vs__ion::before{content:"";position:absolute;left:0;top:-4px;bottom:-4px;width:3px;background:var(--orange)}
.vs__h .vs__ion{position:relative;padding-left:clamp(10px,1.6vw,18px);color:var(--orange-dk)}
.vs__note{margin:14px 0 0;font:500 .74rem/1.5 var(--sans);color:var(--muted);max-width:60ch}

/* ---------- instagram ---------- */
.igrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:900px){.igrid{grid-template-columns:repeat(4,1fr);gap:14px}.igrid__t--1{grid-column:span 2;grid-row:span 2}}
.igrid__t{position:relative;display:block;overflow:hidden;aspect-ratio:1;background:#EFE3CF;border-radius:12px}
.igrid__t--1{grid-column:span 2;aspect-ratio:auto;min-height:100%}
.igrid__t img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.igrid__t::after{content:"↗";position:absolute;right:10px;top:8px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(42,19,16,.72);color:#fff;font:700 1rem var(--sans);opacity:0;transition:opacity .25s}
@media(hover:hover){.igrid__t:hover img{transform:scale(1.05)}.igrid__t:hover::after{opacity:1}}

/* ---------- quiet launch list ---------- */
.launch{display:grid;gap:clamp(24px,5vw,56px);align-items:start}
@media(min-width:900px){.launch{grid-template-columns:1fr 1fr}}
.launch__card{background:#fff;color:var(--ink);padding:clamp(18px,3vw,32px);border-radius:16px}

/* ---------- final call ---------- */
.final{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding-block:clamp(56px,8vw,110px)}
.final::before{content:"";position:absolute;inset:0;background:repeating-conic-gradient(from -90deg at 76% 112%,rgba(255,255,255,.06) 0 4deg,transparent 4deg 8deg);pointer-events:none}
.final__in{position:relative;z-index:1;display:grid;gap:30px;align-items:center}
@media(min-width:900px){.final__in{grid-template-columns:1fr 1fr}}
.final__t{display:grid;gap:18px;justify-items:start}
.final__img{display:flex;align-items:flex-end;justify-content:center}
.final__img img{width:min(46%,300px);height:auto;filter:drop-shadow(0 22px 26px rgba(0,0,0,.4))}.final__img img+img{margin-left:-4%}

/* ---------- reduced motion / no JS ---------- */
@media(prefers-reduced-motion:reduce){
  .open{height:auto}.open__pin{position:static;height:auto;padding-block:clamp(56px,8vw,96px)}.open__steps li{opacity:1}
  .pickc,.pickc:hover{transition:none;transform:none}
}
.lite .open{height:auto}.lite .open__pin{position:static;height:auto;padding-block:clamp(56px,8vw,96px)}.lite .open__steps li{opacity:1}

/* ---- hero: ships-on countdown, shorter facts */
.hero4__ships{margin:0 0 14px;font:600 .95rem/1.3 var(--sans);color:var(--ink)}
.hero4__ships b{background:var(--yellow);padding:3px 9px;border-radius:99px;margin-right:4px}
.pickc__one{margin:6px 0 14px;font:600 .9rem var(--sans);color:var(--muted)}
.faq__more{border-top:1px solid var(--line-2)}.faq__more>summary{font-weight:700;cursor:pointer;padding:14px 0}

/* ---- Beat the bolt */
.game{margin-top:8px;display:grid;gap:10px}
.game__hud{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between}
.game__hud span{flex:1 1 0;min-width:72px;background:rgba(255,255,255,.08);border-radius:12px;padding:8px 12px;font:600 .72rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#CFE5DA}
.game__hud b{display:block;font:800 1.5rem/1.1 var(--display,var(--sans));color:#fff;letter-spacing:0}
.game__stage{position:relative;aspect-ratio:16/9;min-height:300px;border-radius:20px;overflow:hidden;touch-action:manipulation;user-select:none;-webkit-user-select:none;
  background:repeating-conic-gradient(from 0deg at 50% 60%,#4A2316 0 7.5deg,#3A1B12 7.5deg 15deg);box-shadow:inset 0 0 0 3px rgba(255,255,255,.12)}
.game__stage.is-bad{box-shadow:inset 0 0 0 4px #FF5A14}
.game__overlay{position:absolute;inset:0;display:grid;place-items:center;text-align:center;background:rgba(42,20,16,.84);color:#fff;padding:20px;z-index:3}
.game__overlay[hidden]{display:none}
.game__overlay h3{font:800 clamp(2rem,6vw,3rem)/1 var(--display,var(--sans));margin:0 0 6px;text-transform:uppercase}
.game__overlay p{margin:0 0 16px;color:#CFE5DA}
.game__rank{display:inline-block;background:var(--yellow);color:var(--ink);font:800 .8rem var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:4px 12px;border-radius:99px;margin-bottom:8px}
.game__btns{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.gt{position:absolute;padding:0;border:0;background:none;cursor:pointer;z-index:2;animation:gtpop 1s ease-out forwards;transform-origin:center;-webkit-tap-highlight-color:transparent}
.gt svg{display:block;filter:drop-shadow(0 4px 6px rgba(0,0,0,.35))}
@keyframes gtpop{0%{transform:scale(.2);opacity:0}12%{transform:scale(1.12);opacity:1}22%{transform:scale(1)}85%{opacity:1}100%{transform:scale(.85);opacity:.2}}
.gpop{position:absolute;z-index:4;pointer-events:none;font:800 1.4rem var(--sans);color:#FFD24A;text-shadow:0 2px 0 #3A1B12;animation:gpop .7s ease-out forwards}
.gpop--bad{color:#FF8A5C}
@keyframes gpop{from{transform:translate(-50%,-20%);opacity:1}to{transform:translate(-50%,-160%);opacity:0}}
@media (min-width:1000px){.game__stage{aspect-ratio:auto;height:400px}}
@media (max-width:700px){.game__stage{aspect-ratio:4/5}.game__hud span{min-width:60px;padding:6px 8px}}
@media (prefers-reduced-motion:reduce){.gt{animation:none}}

/* ---- hero: "I'm into" chips and the trust line */
.hero4__for{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px}
.hero4__for span{font:700 .72rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-right:2px}
.hero4__for button{font:700 .85rem var(--sans);padding:8px 14px;border-radius:99px;border:2px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;min-height:40px}
.hero4__for button.on{background:var(--ink);color:#fff}
.hero4__trust{margin:12px 0 0;font:600 .85rem/1.4 var(--sans);color:var(--ink)}
.hero4__trust b{color:var(--orange-dk,#C2410C)}
.pickc .btn--ghost{margin-top:8px}

/* ---- the hook: the first thing a visitor sees. No price, no product. */
.hook{position:relative;display:grid;align-items:center;min-height:clamp(540px,calc(100svh - 100px),880px);overflow:hidden;color:#fff;
  background:repeating-conic-gradient(from 0deg at 72% 58%,#3B1D13 0 7deg,#2A1410 7deg 14deg)}
.hook::after{content:"";position:absolute;inset:auto -10% -30% 40%;height:70%;background:radial-gradient(closest-side,rgba(255,90,20,.35),transparent);pointer-events:none}
.hook__in{position:relative;z-index:1;display:grid;gap:clamp(10px,1.8vw,18px);justify-items:start;padding-block:clamp(36px,7vw,90px)}
.hook__k{margin:0;font:700 .75rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#FFD23F}
.hook__h1{margin:0;font:800 clamp(5.6rem,24vw,17rem)/.8 var(--display);text-transform:uppercase;letter-spacing:.005em;color:#fff;text-shadow:.045em .045em 0 var(--orange)}
.hook__sub{margin:0;font:800 clamp(1.8rem,6vw,3.6rem)/1 var(--display);text-transform:uppercase;color:#FFD23F}
.hook__lede{max-width:34ch;color:#F3E6D8 !important;font-size:clamp(1rem,2.2vw,1.2rem)}
.hook .hero4__for{margin:4px 0 0}.hook .hero4__for span{color:#CDB9A6}
.hook .hero4__for button{border-color:#fff;color:#fff}.hook .hero4__for button.on{background:#fff;color:#2A1410}
.hook__cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.hook .btn--line{border-color:#fff;color:#fff}
.hook .hero4__ships{color:#fff}
.meet{scroll-margin-top:60px}
.hook .hook__in{width:100%}

/* the hook's quiet Instagram link, and a smaller game block */
.hook__ig{display:inline-flex;align-items:center;gap:7px;color:#fff;font:700 .95rem var(--sans);text-decoration:none;opacity:.9;padding:10px 4px}.hook__ig:hover{opacity:1;text-decoration:underline}
#play .head3{margin-bottom:14px}.game__h{font-size:clamp(2rem,5vw,3.2rem) !important}
#play{padding-block:clamp(40px,6vw,72px)}

/* readable badge on the dark hook: dark text on the yellow pill (white on yellow is hard to read) */
.hero4__ships b{color:#2A1410 !important}
/* what each strip costs: the number people compare */
.perstrip{margin:2px 0 0;font:700 1.15rem var(--sans);color:var(--ink)}.perstrip b{font:800 2.2rem/1 var(--display);color:var(--orange-dk);margin:0 2px}
.tiers{display:flex;gap:8px;flex-wrap:wrap}
.tiers span{display:flex;flex-direction:column;gap:2px;background:#fff;border:2px solid var(--ink);border-radius:12px;padding:8px 14px;font:700 .95rem var(--sans);color:var(--ink)}
.tiers span b{font:700 .72rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pickc__per{display:inline-block;margin-left:8px;font:800 .85rem var(--sans);color:var(--orange-dk)}

/* ---- Bolt Test (the reaction game) */
.bt{background:repeating-conic-gradient(from 0deg at 50% 38%,#3B1D13 0 6deg,#2A1410 6deg 12deg);color:#fff;min-height:calc(100svh - 100px);padding-block:clamp(28px,5vw,60px)}
.bt__in{display:grid;gap:12px;justify-items:center;text-align:center}
.bt__tag{margin:0;font:700 .85rem var(--sans);letter-spacing:.24em;color:#FFD23F}
.bt__h{margin:0;font:800 clamp(3.2rem,13vw,7.5rem)/.84 var(--display);text-transform:uppercase;text-shadow:.04em .04em 0 var(--orange)}
.bt__sub{margin:0;color:#F3E6D8;font-size:1.05rem}
.bt__banner{background:#FFD23F;color:#2A1410;padding:8px 18px;border-radius:99px;font:700 .95rem var(--sans)}
.bt__app{width:min(100%,640px);display:grid;gap:12px;margin-top:6px;min-height:calc(min(62vh,420px) + 40px);align-content:start}
.bt__dots{display:flex;gap:8px;justify-content:center}.bt__dots i{width:34px;height:8px;border-radius:8px;background:rgba(255,255,255,.2)}.bt__dots i.on{background:#FFD23F}.bt__dots i.now{background:#fff}
.bt__stage{display:grid;place-content:center;gap:6px;min-height:min(62vh,420px);border-radius:28px;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:manipulation;text-align:center;padding:24px;border:3px solid rgba(255,255,255,.18);outline:none}
.bt__stage b{font:800 clamp(2.2rem,8vw,3.6rem)/1 var(--display);text-transform:uppercase}.bt__stage span{color:#F3E6D8}.bt__stage em{font-style:normal;color:#FFD23F;font-weight:600;margin-top:6px}
.bt__stage--idle{background:rgba(255,255,255,.06)}.bt__stage--wait{background:#7A1C1C;animation:btpulse 1.1s ease-in-out infinite}.bt__stage--early{background:#9B2A1F}
.bt__stage--go{background:#FF5A14;border-color:#FFD23F}.bt__stage--got{background:rgba(255,255,255,.08)}
@keyframes btpulse{50%{background:#8E2323}}
.bt__bolt{width:clamp(110px,28vw,170px);margin-inline:auto}.bt__bolt svg{display:block;width:100%;height:auto;filter:drop-shadow(0 6px 0 rgba(0,0,0,.25))}.bt__bolt--ghost{opacity:.35}
.bt__stage--go .bt__bolt{width:clamp(150px,40vw,240px);animation:btpop .12s ease-out}@keyframes btpop{from{transform:scale(.4)}to{transform:scale(1)}}
.bt__ms{font:800 clamp(5rem,22vw,9rem)/.85 var(--display);text-shadow:.045em .045em 0 var(--orange)}.bt__ms small{font:700 1rem var(--sans);margin-left:6px;text-shadow:none;color:#F3E6D8}
.bt__ms--big{font-size:clamp(5.5rem,24vw,10rem)}.bt__ms--big small{display:block;margin:6px 0 0;letter-spacing:.2em;text-transform:uppercase}
.bt__result{display:grid;gap:12px;justify-items:center;padding:24px 8px}
.bt__rank{background:#FFD23F;color:#2A1410;padding:8px 24px;border-radius:99px;font:800 1.5rem var(--display);text-transform:uppercase;letter-spacing:.06em}
.bt__meta{margin:0;color:#F3E6D8}.bt__vs{margin:0;font-weight:700;color:#FFD23F}
.bt__bars{display:flex;gap:12px;align-items:flex-end;height:120px}.bt__bars div{display:grid;justify-items:center;gap:4px;font:600 .8rem var(--sans);color:#F3E6D8}
.bt__bars i{display:block;width:44px;border-radius:10px;background:rgba(255,255,255,.3)}.bt__bars i.top{background:#FFD23F}
.bt__btns{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:6px}
.bt .btn--line{border-color:#fff;color:#fff}
.bt__hint{margin:0;font-size:.82rem;color:#CDB9A6;max-width:46ch}.bt__shop{color:#fff;font-weight:700;opacity:.85;text-decoration:underline}
.bt__fine{margin:4px 0 0;font-size:.78rem;color:#CDB9A6}
@media(prefers-reduced-motion:reduce){.bt__stage--wait{animation:none}.bt__stage--go .bt__bolt{animation:none}}

/* ===== hero v5: an athlete, the real boxes, and what is in every strip ===== */
.hook__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(8px,3vw,28px);align-items:center;width:100%}
.hook__grid>.hook__in{padding-block:clamp(26px,5vw,64px)}
.hook__h1{font-size:clamp(4.6rem,22vw,8.8rem)}
@media(min-width:960px){
  .hook__grid{grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:clamp(28px,4.5vw,72px)}
  .hook__h1{font-size:clamp(6.4rem,11.2vw,11rem)}
}
.hv{position:relative;z-index:1;min-width:0;margin-bottom:clamp(8px,2vw,24px)}
.hv__stage{position:relative}
.hv__photo{position:relative;aspect-ratio:5/4;overflow:hidden;background:#3B1D13;clip-path:polygon(9% 0,100% 0,100% 100%,0 100%);box-shadow:inset 0 0 0 3px rgba(255,210,63,.0)}
@media(min-width:960px){.hv__photo{aspect-ratio:4/4.7;max-height:min(74svh,680px);width:100%}}
.hv__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,20,16,0) 48%,rgba(42,20,16,.82))}
.hv__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s ease}
.hv__img.is-on{opacity:1}
.hv__img[data-sport=cricket]{object-position:50% 36%}.hv__img[data-sport=gym]{object-position:80% 38%}
.hv__img[data-sport=run]{object-position:64% 50%}.hv__img[data-sport=football]{object-position:64% 56%}
.hv__box{position:absolute;left:-7%;bottom:-7%;width:70%;height:auto;filter:drop-shadow(0 16px 20px rgba(0,0,0,.5));pointer-events:none;z-index:2}
.hv__tags{position:absolute;right:-2%;top:7%;z-index:3;display:grid;gap:10px;width:min(54%,262px);margin:0;padding:0;list-style:none}
.hv__t{display:flex;align-items:center;gap:12px;padding:10px 20px 10px 18px;color:#2A1410;clip-path:polygon(11px 0,100% 0,calc(100% - 11px) 100%,0 100%)}
.hv__t b{font:800 clamp(2.2rem,3.4vw,2.9rem)/.82 var(--display);letter-spacing:-.005em}.hv__t b small{font-size:.42em;margin-left:2px;letter-spacing:.02em}
.hv__t span{display:grid;gap:2px;font:700 .68rem/1.1 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.hv__t em{font:800 1.2rem/1 var(--display);font-style:normal;letter-spacing:.03em}
.hv__t--energy{background:#FF8A1E}.hv__t--focus{background:#3CCB92}.hv__t--b12{background:#FFD23F}
@media(max-width:959px){
  .hv{margin-bottom:0;padding-bottom:30px}
  .hv__box{width:60%;left:-3%;bottom:-9%}
  .hv__tags{position:static;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:44px}
  .hv__t{flex-direction:column;align-items:flex-start;gap:3px;padding:9px 12px 10px 14px}
  .hv__t b{font-size:2rem}.hv__t span{font-size:.56rem;letter-spacing:.08em}.hv__t em{font-size:.95rem}
}
/* the practical benefits, one calm band under the hero */
.bstrip{background:#FFD23F;color:#2A1410;border-block:4px solid #2A1410}
.bstrip__in{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:860px){.bstrip__in{grid-template-columns:repeat(4,minmax(0,1fr))}}
.bstrip__i{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;align-items:center;padding:16px 14px;border-left:2px solid rgba(42,20,16,.22)}
.bstrip__i:nth-child(odd){border-left:0}@media(min-width:860px){.bstrip__i:nth-child(odd){border-left:2px solid rgba(42,20,16,.22)}.bstrip__i:first-child{border-left:0}}
.bstrip__i:nth-child(n+3){border-top:2px solid rgba(42,20,16,.22)}@media(min-width:860px){.bstrip__i:nth-child(n+3){border-top:0}}
.bstrip__i svg{width:34px;height:34px;grid-row:span 2}
.bstrip__i b{font:800 clamp(1.05rem,2.6vw,1.45rem)/1 var(--display);text-transform:uppercase;letter-spacing:.025em}
.bstrip__i span{font:600 clamp(.7rem,1.8vw,.82rem)/1.3 var(--sans)}
/* what you get: each benefit with its sport */
.ben__c{position:relative;overflow:hidden}
.ben__c--energy{--tint:#FF8A1E}.ben__c--focus{--tint:#3CCB92}.ben__c--b12{--tint:#FFD23F}
.ben__ph{margin:calc(-1 * clamp(22px,3vw,34px)) calc(-1 * clamp(22px,3vw,34px)) 8px;height:clamp(120px,14vw,168px);background-size:cover;background-repeat:no-repeat;position:relative}
.ben__ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,var(--tint) 100%)}
.ben__c{min-height:0}
/* meet section: less dead space under the boxes, and the heading clears the sticky header when jumped to */
.hero4.meet{padding-block:clamp(34px,4.5vw,64px) clamp(14px,2.4vw,30px)}
.meet{scroll-margin-top:84px}
/* the "ships on" line appears once the config loads: keep its space so the hero never jumps */
.hook #hero-ships{min-height:30px;display:block}.hook #hero-ships[hidden]{visibility:hidden}
@media(min-width:960px) and (max-width:1399px){.hook .hero4__for{min-height:88px;align-content:flex-start}}
.hook #hero-ships{min-height:30px;display:block !important}.hook #hero-ships[hidden]{visibility:hidden}

/* ===== v6 aesthetic: cinematic photos, grain, sporty cuts ===== */
.hook::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.20;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .7 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.hook__sub{display:inline-block;background:#FFD23F;color:#2A1410;padding:.1em .42em .04em .34em;font-size:clamp(1.5rem,4.4vw,2.7rem);clip-path:polygon(.3em 0,100% 0,calc(100% - .3em) 100%,0 100%)}
.hook .btn--primary,.final .btn--primary{border-radius:0;padding-inline:36px;clip-path:polygon(14px 0,100% 0,calc(100% - 14px) 100%,0 100%)}
.hv__stage::before{content:"";position:absolute;inset:0;transform:translate(14px,14px);background:#FF5A14;clip-path:polygon(9% 0,100% 0,100% 100%,0 100%)}
.hv__photo{position:relative;z-index:1}
.hv__box{z-index:3}.hv__tags{z-index:4}
@media(max-width:959px){.hv__stage::before{transform:translate(9px,9px)}.hv__photo{aspect-ratio:5/5.5}}
.hv__img[data-sport=cricket]{object-position:50% 40%}.hv__img[data-sport=gym]{object-position:50% 40%}
.hv__img[data-sport=run]{object-position:56% 55%}.hv__img[data-sport=football]{object-position:60% 55%}
/* the athletes band and the closing call to action use the graded photos */
.athl__img{filter:saturate(1.05)}
.final.has-bg{background:linear-gradient(90deg,rgba(26,11,8,.92) 0%,rgba(26,11,8,.7) 46%,rgba(26,11,8,.35) 100%),url(/assets/photos/band-night.webp?v=129) center/cover,var(--ink)}
.igrid__t{border-radius:4px}

/* ===== v7 premium pass: one accent, calm surfaces, hairlines, editorial photography ===== */
/* hero: refined spec panels instead of loud stickers, a thin gold edge instead of an orange block */
.hv__stage::before{transform:translate(9px,9px);background:#FFD23F;opacity:.9}
.hv__t{clip-path:none;background:rgba(18,8,5,.80);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border-left:3px solid var(--c);padding:10px 18px 10px 16px}
.hv__t--energy{--c:#FF8A1E;background:rgba(18,8,5,.80)}.hv__t--focus{--c:#3CCB92;background:rgba(18,8,5,.80)}.hv__t--b12{--c:#FFD23F;background:rgba(18,8,5,.80)}
.hv__t b{color:#fff}.hv__t span{color:rgba(255,248,236,.66)}.hv__t em{color:var(--c)}
@media(max-width:959px){.hv__stage::before{transform:translate(7px,7px)}.hv__t{padding:9px 10px 10px 12px}}
.hook__k{letter-spacing:.3em;font-weight:600;color:rgba(255,210,63,.92)}
.hook .hero4__ships b{background:transparent;border:1px solid rgba(255,210,63,.75);color:#FFD23F !important;font-weight:600;letter-spacing:.04em}
/* the benefit band: ink, hairlines, thin gold icons */
.bstrip{background:#140906;color:#FFF8EC;border-block:1px solid rgba(255,210,63,.35)}
.bstrip__i{border-color:rgba(255,255,255,.12) !important}.bstrip__i svg{color:#FFD23F;width:30px;height:30px}
.bstrip__i b{color:#FFF8EC;letter-spacing:.06em}.bstrip__i span{color:rgba(255,248,236,.62);font-weight:500}
/* what you get: dark cards, one accent line each */
#why.sec3--ink{background:#140906}
.ben__c{background:#1F0F0B !important;color:#FFF8EC;border:1px solid rgba(255,255,255,.08);border-radius:4px;gap:10px}
.ben__c--energy{--ac:#FF8A1E}.ben__c--focus{--ac:#3CCB92}.ben__c--b12{--ac:#FFD23F}
.ben__c::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--ac);z-index:2}
.ben__ph::after{background:linear-gradient(180deg,rgba(31,15,11,0) 30%,#1F0F0B 100%)}
.ben__n{color:var(--ac)}.ben__c h3{color:#FFF8EC;letter-spacing:.02em}.ben__c p{color:rgba(255,248,236,.72);font-weight:400}
.sec3--ink .specs{border-top:1px solid rgba(255,255,255,.22)}.sec3--ink .specs div{border-color:rgba(255,255,255,.1)}
.sec3--ink .specs dt{color:rgba(255,248,236,.5)}.sec3--ink .specs dd{color:#FFF8EC}
.sec3--ink .nutri summary{color:#FFF8EC}
/* every hour of the day: a quiet editorial triptych */
.allday{background:#140906;color:#fff;padding-block:clamp(46px,7vw,100px) clamp(34px,5vw,64px);border-top:1px solid rgba(255,255,255,.08)}
.allday__head{margin-bottom:clamp(22px,3.5vw,44px)}
.allday__head .h3{font-size:clamp(2.2rem,6vw,4.6rem)}
.allday__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(5px,.9vw,12px);padding-inline:clamp(5px,.9vw,12px)}
.allday__f{position:relative;margin:0;aspect-ratio:3/4;overflow:hidden;background:#1F0F0B}
.allday__f img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.allday__f::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,9,6,0) 55%,rgba(20,9,6,.82))}
.allday__f figcaption{position:absolute;left:clamp(10px,2vw,24px);bottom:clamp(10px,2vw,22px);z-index:1;display:grid;gap:3px}
.allday__f b{font:800 clamp(1.2rem,4vw,3rem)/.9 var(--display);letter-spacing:.03em;text-transform:uppercase}
.allday__f span{font:600 clamp(.52rem,1.3vw,.76rem)/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#FFD23F}
@media(hover:hover){.allday__f:hover img{transform:scale(1.04)}}
/* price: confident, not shouty */
.perstrip{font-weight:600;font-size:1rem;letter-spacing:.02em;color:var(--ink-2,#5a4a43)}.perstrip b{font-size:1.5rem;color:var(--ink);margin:0 3px 0 0}
