/* preloader */
.pre{position:fixed;inset:0;z-index:200;background:var(--ink);display:grid;place-items:center;transition:clip-path 1s var(--ease)}
.pre.out{clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);clip-path:inset(50% 0 50% 0)}
.pre canvas{position:absolute;inset:0;width:100%;height:100%}
.pre-c{position:relative;text-align:center}
.pre-crown svg{width:64px;height:64px;margin:0 auto 14px}
.pre .cr{stroke-dasharray:140;stroke-dashoffset:140;animation:draw 1.4s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0;fill:#e3262b}}
.pre-n{font:200 clamp(70px,16vw,140px)/1 var(--fd);display:flex;align-items:flex-start;justify-content:center;gap:6px;font-variant-numeric:tabular-nums}
.pre-n small{font:600 12px/1 var(--fb);letter-spacing:.2em;margin-top:14px;color:var(--red)}
.pre p{font:600 11px/1 var(--fb);letter-spacing:.3em;text-transform:uppercase;color:var(--mute);margin-top:12px}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:110px 0 28px;isolation:isolate}
.hero-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;transform:scale(1.08);filter:saturate(.7) contrast(1.1)}
.hero-shade{position:absolute;inset:0;z-index:-2;background:radial-gradient(120% 80% at 50% 30%,transparent 0,#0a0a0bcc 60%,#0a0a0b 100%),linear-gradient(180deg,#0a0a0b99 0,transparent 30%,#0a0a0b 96%)}
.hex{position:absolute;inset:0;width:100%;height:100%;z-index:-1;touch-action:pan-y}
.hero-in{position:relative;pointer-events:none}
.hero-in a,.hero-in button{pointer-events:auto}
.hero-t{margin:18px 0 10px;line-height:.8}
.ht-sm{display:block;font:300 clamp(28px,5vw,64px)/1 var(--fd);letter-spacing:.42em;text-transform:uppercase;color:var(--chrome);padding-left:.1em}
.ht-big{display:flex;font:100 clamp(150px,34vw,460px)/.78 var(--fd);letter-spacing:-.02em;margin-left:-.04em}
.ht-big i{font-style:normal;display:inline-block;font-variation-settings:"wght" 900;color:var(--bone);animation:wg 1.7s var(--ease) backwards;animation-delay:calc(var(--k) * .1s + .15s)}
.ht-big i:nth-child(1){--k:0}.ht-big i:nth-child(2){--k:1}.ht-big i:nth-child(3){--k:2}.ht-big i:nth-child(4){--k:3}
@keyframes wg{0%{font-variation-settings:"wght" 100;transform:translateY(105%)}45%{transform:none;font-variation-settings:"wght" 100}100%{font-variation-settings:"wght" 900}}
body:has(#pre) .ht-big i{animation-play-state:paused}
.ht-big i:nth-child(4){color:var(--red)}
.hero-sub{max-width:460px;color:#cfcfd4;font-size:clamp(15px,1.4vw,18px)}
.hero-sub em{font-size:1.25em}
.hero-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.hero-hint{display:flex;align-items:center;gap:10px;margin-top:22px;font:600 10px/1 var(--fb);letter-spacing:.28em;text-transform:uppercase;color:var(--mute)}
.hero-hint span{width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 #e3262b;animation:ping 1.8s infinite}
@keyframes ping{70%{box-shadow:0 0 0 14px #e3262b00}100%{box-shadow:0 0 0 0 #e3262b00}}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:40px;border-top:1px solid #ffffff22;padding-top:20px}
.hero-stats b{display:block;font:800 clamp(30px,4vw,52px)/1 var(--fd)}
.hero-stats small{color:var(--mute);font-size:12px}
@media (max-width:700px){
  .hero{padding-bottom:20px}
  .ht-big{font-size:44vw}
  .ht-sm{letter-spacing:.3em}
  .hero-stats{grid-template-columns:1fr 1fr;row-gap:16px}
  .hero-cta .btn{flex:1;justify-content:center;padding:0 16px}
}

/* brands marquee */
.brands{border-block:1px solid var(--line);overflow:hidden;background:var(--red);color:#fff}
.brands-t{display:flex;gap:40px;padding:20px 0;white-space:nowrap;width:max-content;animation:mq 26s linear infinite;font:800 clamp(28px,4vw,52px)/1 var(--fd);text-transform:uppercase;align-items:center}
.brands-t i{font-style:normal;font-size:.5em;opacity:.7}
@keyframes mq{to{transform:translateX(-50%)}}

/* manifesto */
.mani-t{font:600 clamp(28px,4.4vw,64px)/1.08 var(--fd);text-transform:uppercase;margin-top:26px;max-width:1150px}
.mani-t .wd{color:#2c2c32;transition:color .3s}
.mani-t .wd.on{color:var(--bone)}
.mani-t .wd.k{font-family:var(--fi);font-style:italic;text-transform:none;font-weight:400}
.mani-t .wd.k.on{color:var(--red)}

/* armour */
.arm-hd{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:44px;flex-wrap:wrap}
.arm-lede{color:var(--mute);max-width:280px}
.arm{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:stretch}
.arm-stage{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:4/5;background:#000;clip-path:polygon(0 0,100% 0,100% 88%,88% 100%,0 100%)}
.arm-stage video{width:100%;height:100%;object-fit:cover}
.arm-wipe{position:absolute;inset:0;background:var(--red);transform:scaleY(0);transform-origin:bottom}
.arm-cap{position:absolute;left:18px;bottom:18px;right:70px;background:#000a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:16px;padding:14px 16px}
.arm-cap b{display:block;font:800 26px/1 var(--fd);text-transform:uppercase}
.arm-cap span{font-size:12px;color:#cfcfd4}
.arm-side{display:flex;flex-direction:column;gap:26px}
.arm-tabs{display:grid;gap:8px}
.arm-tab{display:flex;justify-content:space-between;align-items:center;height:64px;padding:0 20px;border-radius:16px;border:1px solid var(--line);font:800 24px/1 var(--fd);text-transform:uppercase;transition:.4s var(--ease);position:relative;overflow:hidden}
.arm-tab small{font:600 11px/1 var(--fb);letter-spacing:.14em;color:var(--mute)}
.arm-tab.on{background:var(--bone);color:var(--ink);border-color:var(--bone);padding-left:30px}
.arm-tab.on small{color:#555}
.meters{display:grid;gap:14px}
.mt{display:grid;grid-template-columns:120px 1fr 34px;gap:12px;align-items:center;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.mt .tr{height:6px;border-radius:3px;background:var(--ink3);overflow:hidden;display:grid;grid-template-columns:repeat(10,1fr);gap:2px}
.mt .tr i{background:var(--line);transition:background .4s}
.mt .tr i.on{background:var(--red)}
.mt b{color:var(--bone);text-align:right;font-family:var(--fd);font-size:18px}
.arm-pr{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:22px;border-top:1px solid var(--line)}
.arm-pr small{color:var(--mute);font-size:12px}
.arm-pr b{font:800 40px/1 var(--fd)}
@media (max-width:860px){
  .arm{grid-template-columns:1fr}
  .arm-stage{aspect-ratio:4/4.4}
  .arm-tabs{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-16px;padding-inline:16px;scrollbar-width:none}
  .arm-tabs::-webkit-scrollbar{display:none}
  .arm-tab{height:50px;font-size:19px;scroll-snap-align:start;gap:14px}
  .arm-tab.on{padding-left:20px}
  .mt{grid-template-columns:96px 1fr 30px}
  .arm-pr .btn{padding:0 20px}
}

/* heal */
.heal-g{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.heal-p{color:var(--mute);margin:22px 0;max-width:420px}
.heal-temp{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;max-width:360px;align-items:end}
.heal-temp span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.heal-temp b{font:800 40px/1 var(--fd);text-align:right}
.heal-temp .bar{grid-column:1/-1;height:4px;background:var(--ink3);border-radius:2px;overflow:hidden}
.heal-temp .bar i{display:block;height:100%;width:10%;background:linear-gradient(90deg,#3b82f6,var(--red));transition:width .3s}
.heal-box{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:900/990;cursor:crosshair;touch-action:none;border:1px solid var(--line)}
.heal-box img,.heal-box canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.heal-tip{position:absolute;left:50%;top:44%;translate:-50% 0;background:var(--bone);color:var(--ink);padding:10px 16px;border-radius:99px;font:700 12px/1 var(--fb);letter-spacing:.12em;text-transform:uppercase;pointer-events:none;transition:opacity .4s;animation:bob 2s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-8px)}}
@media (max-width:860px){.heal-g{grid-template-columns:1fr;gap:28px}.heal-box{order:-1}}

/* layers */
.layers{position:relative;height:260vh}
.lay-pin{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center;overflow:hidden}
.lay-g{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center}
.lay-p{color:var(--mute);margin-top:20px;max-width:400px;min-height:4.6em}
.stack{position:relative;height:440px;perspective:1400px}
.ly{position:absolute;left:8%;right:8%;top:50%;height:120px;margin-top:-60px;border-radius:18px;padding:16px 20px;display:flex;flex-direction:column;justify-content:flex-end;
  transform:rotateX(62deg) rotateZ(-28deg) translateZ(calc(var(--i) * 8px));transform-style:preserve-3d;
  background:linear-gradient(135deg,#2b2b30,#151518);border:1px solid #ffffff1c;box-shadow:0 30px 50px -20px #000;transition:transform .2s linear}
.ly:nth-child(1){background:linear-gradient(135deg,#6b6f75,#3a3d42)}
.ly:nth-child(2){background:linear-gradient(135deg,#8a8f86,#4f544c)}
.ly:nth-child(3){background:linear-gradient(135deg,#1b1b1f,#050506)}
.ly:nth-child(4){background:linear-gradient(135deg,#ffffff30,#ffffff08);backdrop-filter:blur(2px)}
.ly-r{background:linear-gradient(135deg,#e3262bcc,#8a0f13cc)!important}
.ly-c{background:linear-gradient(135deg,#f3f0ea,#c9cdd2)!important;color:var(--ink)}
.ly b{font:800 22px/1 var(--fd);text-transform:uppercase}
.ly small{font-size:11px;opacity:.75}
@media (max-width:860px){
  .layers{height:220vh}
  .lay-g{grid-template-columns:1fr;gap:10px}
  .stack{height:52svh}
  .ly{height:76px;margin-top:-38px;left:6%;right:6%;padding:10px 14px}
  .ly b{font-size:17px}
}

/* day */
.day{position:relative;padding:clamp(72px,11vw,150px) 0 60px;overflow:hidden}
.day-hd{margin-bottom:40px}
.day-track{display:flex;gap:18px;padding-inline:max(16px,calc((100% - 1240px)/2));overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.day-track::-webkit-scrollbar{display:none}
.dc{flex:0 0 min(380px,78vw);scroll-snap-align:center;position:relative;border-radius:24px;overflow:hidden;aspect-ratio:3/4.4;background:#000}
.dc video,.dc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dc::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0008 0,transparent 30%,transparent 50%,#000d)}
.dc-t{position:absolute;top:18px;left:18px;right:18px;z-index:2;display:flex;justify-content:space-between;align-items:flex-start}
.dc-t b{font:200 58px/1 var(--fd);font-variant-numeric:tabular-nums}
.dc-t span{font:600 10px/1 var(--fb);letter-spacing:.2em;text-transform:uppercase;background:var(--red);padding:6px 8px;border-radius:6px}
.dc-b{position:absolute;bottom:20px;left:20px;right:20px;z-index:2}
.dc-b h3{font:800 30px/1 var(--fd);text-transform:uppercase}
.dc-b p{font-size:13px;color:#d4d4d8;margin-top:6px}
.day-bar{height:2px;background:var(--line);margin-top:28px;border-radius:2px;overflow:hidden}
.day-bar i{display:block;height:100%;width:0;background:var(--red)}
@media (min-width:861px){.day-track{overflow:visible;scroll-snap-type:none}}

/* index */
.idx-l{list-style:none;border-top:1px solid var(--line)}
.idx-l li a{display:grid;grid-template-columns:60px 1fr auto 40px;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.idx-l li a::before{content:"";position:absolute;inset:0;background:var(--red);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease);z-index:-1}
.idx-l li a:hover::before{transform:scaleY(1)}
.idx-l li{position:relative;isolation:isolate}
.idx-l .no{font:600 12px/1 var(--fb);color:var(--mute);letter-spacing:.1em}
.idx-l h3{font:800 clamp(26px,4vw,56px)/1 var(--fd);text-transform:uppercase;transition:transform .5s var(--ease),font-variation-settings .5s}
.idx-l a:hover h3{transform:translateX(14px)}
.idx-l .ip{font:700 15px/1 var(--fb);color:var(--chrome)}
.idx-l .ar{font-size:22px;transition:transform .4s var(--ease)}
.idx-l a:hover .ar{transform:rotate(-45deg)}
.idx-l a:hover .no,.idx-l a:hover .ip{color:#fff}
.idx-l .th{display:none}
.idx-peek{position:fixed;left:0;top:0;width:240px;aspect-ratio:3/4;border-radius:18px;overflow:hidden;pointer-events:none;z-index:40;opacity:0;scale:.6;transition:opacity .3s,scale .4s var(--ease);box-shadow:0 30px 60px #000a}
.idx-peek.on{opacity:1;scale:1}
.idx-peek video{width:100%;height:100%;object-fit:cover}
@media (max-width:760px){
  .idx-l li a{grid-template-columns:52px 1fr auto;gap:14px;padding:12px 0}
  .idx-l .th{display:block;width:52px;height:64px;border-radius:10px;object-fit:cover}
  .idx-l .no,.idx-l .ar{display:none}
  .idx-l h3{font-size:24px}
  .idx-peek{display:none}
}

/* reel wall */
.wall-g{display:flex;gap:12px;padding-inline:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.wall-g::-webkit-scrollbar{display:none}
.rl{flex:0 0 clamp(170px,22vw,280px);aspect-ratio:9/16;border-radius:20px;overflow:hidden;position:relative;scroll-snap-align:start;background:#111;transition:transform .5s var(--ease)}
.rl:nth-child(even){margin-top:50px}
.rl img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.rl:hover img{transform:scale(1.06)}
.rl::after{content:"▶";position:absolute;right:12px;top:12px;width:34px;height:34px;border-radius:50%;background:#000a;display:grid;place-items:center;font-size:11px}
.rl span{position:absolute;left:12px;right:12px;bottom:12px;font:600 12px/1.3 var(--fb);text-shadow:0 1px 8px #000;z-index:2}
.rl::before{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#000c);z-index:1}

/* club */
.club-g{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
.pl{border-radius:26px;padding:28px;border:1px solid var(--line);background:var(--ink2);display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden;transition:transform .5s var(--ease)}
.pl:hover{transform:translateY(-8px)}
.pl.hot{background:var(--red);border-color:var(--red)}
.pl.hot .pl-p small,.pl.hot li::before{color:#fff}
.pl::before{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;background:conic-gradient(currentColor 25%,transparent 0 50%,currentColor 0 75%,transparent 0) 0 0/30px 30px;opacity:.06;border-radius:50%}
.pl h3{font:800 34px/1 var(--fd);text-transform:uppercase}
.pl-p b{font:800 54px/1 var(--fd)}
.pl-p small{color:var(--mute)}
.pl ul{list-style:none;display:grid;gap:9px;font-size:14px}
.pl li::before{content:"✦ ";color:var(--red)}
.pl .btn{margin-top:auto;justify-content:center}
.pl.hot .btn{background:var(--ink);color:#fff}
@media (max-width:860px){.club-g{grid-template-columns:1fr;gap:12px}.pl{padding:22px}}

/* feedback */
.fb-g{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:44px}
.fbc{border-radius:20px;overflow:hidden;aspect-ratio:9/14;position:relative;background:#000}
.fbc video{width:100%;height:100%;object-fit:cover}
.fbc p{position:absolute;left:12px;right:12px;bottom:12px;font:italic 400 20px/1.1 var(--fi);text-shadow:0 2px 10px #000}
.fbc .snd{position:absolute;top:10px;right:10px;width:38px;height:38px;border-radius:50%;background:#000a;font-size:15px}
.g-score{display:flex;gap:18px;align-items:center;margin-top:40px}
.g-score b{font:800 90px/1 var(--fd)}
.stars{color:#f5b400;font-size:22px;letter-spacing:4px}
.g-score small{display:block;color:var(--mute)}
@media (max-width:860px){.fb-g{grid-template-columns:repeat(4,64vw);overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-16px;padding-inline:16px;scrollbar-width:none}.fbc{scroll-snap-align:start}}

/* visit */
.visit{background:var(--bone);color:var(--ink);padding-bottom:110px}
.visit .checker{margin-bottom:80px}
.visit-g{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:end}
.visit .it{color:var(--red)}
.visit .eyebrow{color:#555}
.visit-c p{font-size:18px}
.visit-ph{display:block;font:800 clamp(40px,5vw,64px)/1 var(--fd);margin:18px 0}
.visit .btn-ghost{border-color:#0003}
@media (max-width:860px){.visit-g{grid-template-columns:1fr}}

.ht-sm{margin-bottom:.35em}
.hero-cta .btn{white-space:nowrap}
.arm-stage video{object-position:50% 65%}
@media (max-width:700px){.hero-eb{font-size:9px;letter-spacing:.22em}.hero-t{margin-top:12px}}
.arm>*,.heal-g>*,.lay-g>*,.visit-g>*{min-width:0}

/* minimal hero (client brief 21 Oct: professional, no flash) */
.hero{justify-content:flex-end;padding:120px 0 56px}
.hero-shade{background:linear-gradient(180deg,#0a0a0bb3 0,#0a0a0b55 35%,#0a0a0be6 80%,#0a0a0b 100%)}
.hero-v{filter:saturate(.75);transform:none}
.hero-in{pointer-events:auto;max-width:760px;margin-left:max(16px,calc((100% - 1240px)/2))}
.hero-h{font:800 clamp(46px,8vw,104px)/.92 var(--fd);text-transform:uppercase;margin:18px 0 18px;letter-spacing:-.005em}
.hero-h .it{color:var(--bone)}
.hero-sub{max-width:520px;font-size:clamp(15px,1.3vw,18px);color:#d4d4d9}
.hero-in>*{opacity:0;transform:translateY(14px);animation:hin .9s var(--ease) forwards}
.hero-in>*:nth-child(2){animation-delay:.08s}.hero-in>*:nth-child(3){animation-delay:.16s}.hero-in>*:nth-child(4){animation-delay:.24s}.hero-in>*:nth-child(5){animation-delay:.32s}
@keyframes hin{to{opacity:1;transform:none}}
.hero-proof{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:30px;padding-top:18px;border-top:1px solid #ffffff22;font-size:13px;color:#bdbdc4}
.hero-proof b{color:#fff;font-weight:700}.hero-proof i{font-style:normal;color:#f5b400;letter-spacing:1px}
@media (max-width:700px){.hero{padding-bottom:40px}.hero-proof{gap:6px 16px;font-size:12px}}
/* rewards teaser */
.rwh-g{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center}
.rwh-g>*{min-width:0}
.rwh-p{color:var(--mute);margin:20px 0 12px;max-width:460px}
.rwh-r{margin-bottom:6px}.rwh-r b{color:var(--bone)}
.rwh-card{border-radius:26px;padding:24px;background:linear-gradient(150deg,#1d1d21,#0c0c0e);border:1px solid #ffffff22;box-shadow:0 40px 80px -40px #e3262b55;transform:rotate(-3deg)}
.rwh-top,.rwh-bot{display:flex;justify-content:space-between;align-items:center}
.rwh-top span{font:900 20px/1 var(--fd);text-transform:uppercase}.rwh-top b{color:var(--red);font-style:italic}
.rwh-top small,.rwh-bot small{color:var(--mute);font-size:12px;letter-spacing:.1em}
.rwh-bot b{font:800 18px/1 var(--fd);text-transform:uppercase}
.rwh-boxes{display:grid;grid-template-columns:repeat(var(--n,5),1fr);gap:8px;margin:24px 0}
.rwh-boxes i{aspect-ratio:1;border-radius:12px;border:1.5px dashed #ffffff33}
.rwh-boxes i.g{border-color:var(--red)}
.rwh-boxes i.on{border:0;background:var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M6 29 4 12l9 7 7-11 7 11 9-7-2 17z' fill='%23fff'/%3E%3C/svg%3E") center/55% no-repeat}
.rwh-card.in .rwh-boxes i.on{animation:stampIn .6s cubic-bezier(.3,1.6,.5,1) backwards;animation-delay:calc(var(--d) + .3s)}
@keyframes stampIn{0%{transform:scale(1.8) rotate(-18deg);opacity:0}}
@media (max-width:860px){.rwh-g{grid-template-columns:1fr;gap:34px}.rwh-card{transform:rotate(-2deg);margin:0 6px}}
