@font-face{font-family:"Anton";src:url(/fonts/anton.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Oswald";src:url(/fonts/oswald.woff2) format("woff2");font-weight:200 700;font-display:swap}
@font-face{font-family:"Inter";src:url(/fonts/inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Space Mono";src:url(/fonts/space-mono.woff2) format("woff2");font-display:swap}

:root{
  --night:#0b1316; --night-2:#101c20; --night-3:#16262b; --line:rgba(160,255,210,.14);
  --neon:#3dffa2; --neon-dim:#1fd38a; --red:#ff3a2e;
  --paper:#f2ece2; --wood:#c9a07a; --wood-2:#b5703a; --apple:#8cc63f; --ink:#141414;
  --txt:#e9f2ef; --muted:#9fb3ae;
  --display:"Anton","Oswald",Impact,sans-serif; --cond:"Oswald","Anton",sans-serif;
  --body:"Inter",system-ui,sans-serif; --mono:"Space Mono",ui-monospace,monospace;
  --pad:clamp(20px,5vw,72px); --max:1240px;
  --ease:cubic-bezier(.2,.7,.1,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--night);color:var(--txt);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:2px solid var(--neon);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;z-index:100;background:var(--neon);color:#002;padding:10px 14px;font-weight:700}
.skip:focus{top:12px}
main:focus{outline:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.ico{width:1.1em;height:1.1em;flex:none}

/* ---------- Segment digits ---------- */
.seg{height:1em;width:auto;display:inline-block;vertical-align:-.1em;overflow:visible}
.seg rect{fill:currentColor}
.seg rect.off{opacity:.08}
.seg-red{color:var(--red);filter:drop-shadow(0 0 6px rgba(255,58,46,.75))}
.seg-stat{height:clamp(54px,7vw,92px);color:var(--neon);filter:drop-shadow(0 0 10px rgba(61,255,162,.45))}
.seg-idx{height:14px;color:var(--neon);margin-right:12px}
.seg-tiny{height:13px;color:var(--red)}
.seg-cat{height:34px;color:var(--neon)}
.seg-card{height:clamp(46px,9vw,64px);color:var(--neon);filter:drop-shadow(0 0 8px rgba(61,255,162,.5))}
.seg-how{height:40px;color:var(--wood-2)}

/* ---------- Header + menu ---------- */
.top{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px var(--pad);transition:background .35s,backdrop-filter .35s,padding .35s}
.top.scrolled{background:rgba(9,16,18,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding-top:10px;padding-bottom:10px;box-shadow:0 1px 0 var(--line)}
.brand{display:flex;flex-direction:column;text-decoration:none;line-height:.9}
.brand-j{font:400 26px/1 var(--display);letter-spacing:.02em}
.brand-s{font:500 10px/1.4 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--neon)}
.top-actions{display:flex;align-items:center;gap:10px}
.lang{font:700 12px var(--mono);letter-spacing:.1em;text-decoration:none;padding:10px 8px;color:var(--muted)}
.lang:hover{color:var(--txt)}
.top-cta{display:inline-flex;align-items:center;gap:9px;font:500 14px var(--cond);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:10px 16px;border:1px solid rgba(61,255,162,.5);border-radius:2px;color:var(--txt);background:rgba(10,20,22,.5)}
.top-cta:hover{background:var(--neon);color:#04140c}
.burger{width:48px;height:44px;border:1px solid rgba(255,255,255,.18);background:rgba(10,20,22,.5);border-radius:2px;color:var(--txt);cursor:pointer;display:grid;place-items:center;position:relative;z-index:60}
.burger-lines{display:grid;gap:5px;width:20px}
.burger-lines i{display:block;height:2px;background:currentColor;transition:transform .35s var(--ease),opacity .2s}
.burger-lines i:nth-child(2){width:70%;justify-self:end;background:var(--neon)}
.burger[aria-expanded=true] .burger-lines i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded=true] .burger-lines i:nth-child(2){opacity:0}
.burger[aria-expanded=true] .burger-lines i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:45;background:radial-gradient(120% 70% at 85% 0%,rgba(61,255,162,.12),transparent 60%),rgba(7,12,14,.97);display:flex;flex-direction:column;justify-content:space-between;padding:110px var(--pad) 40px;opacity:0;transition:opacity .35s}
.menu.open{opacity:1}
.menu[hidden]{display:none}
.menu-links{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.menu-links a{display:flex;align-items:center;text-decoration:none;font:400 clamp(44px,9vw,96px)/1.05 var(--display);text-transform:uppercase;letter-spacing:.01em;padding:4px 0;transform:translateY(16px);opacity:0;transition:transform .5s var(--ease),opacity .5s,color .2s}
.menu.open .menu-links a{transform:none;opacity:1}
.menu.open .menu-links li:nth-child(2) a{transition-delay:.05s}.menu.open .menu-links li:nth-child(3) a{transition-delay:.1s}.menu.open .menu-links li:nth-child(4) a{transition-delay:.15s}
.menu-links a:hover,.menu-links a[aria-current]{color:var(--neon)}
.menu-links .seg-idx{height:18px}
.menu-foot{display:flex;flex-wrap:wrap;gap:10px 28px;color:var(--muted);font-size:15px;border-top:1px solid var(--line);padding-top:20px}
.menu-foot p{margin:0}.menu-foot a,.menu-addr{display:inline-flex;gap:8px;align-items:center;text-decoration:none}
body.menu-on{overflow:hidden}

/* ---------- CTA, drawn like the studio timer ---------- */
.cta{--h:58px;position:relative;display:inline-flex;align-items:center;gap:14px;min-height:var(--h);padding:0 10px 0 20px;text-decoration:none;color:var(--txt);font:500 17px/1 var(--cond);letter-spacing:.14em;text-transform:uppercase;background:linear-gradient(180deg,#132227,#0c1517);border:1px solid rgba(61,255,162,.55);border-radius:3px;box-shadow:inset 0 0 0 3px #0a1214,inset 0 0 0 4px rgba(61,255,162,.18),0 0 24px rgba(61,255,162,.18);overflow:hidden;cursor:pointer;isolation:isolate;transition:color .3s,box-shadow .3s}
.cta::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--neon);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.cta:hover::before,.cta:focus-visible::before{transform:scaleX(1)}
.cta:hover,.cta:focus-visible{color:#04140c;box-shadow:0 0 34px rgba(61,255,162,.45)}
.cta-led{width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 10px var(--red);flex:none;animation:blink 1.2s steps(2,start) infinite}
.cta-go{display:grid;place-items:center;width:40px;height:40px;border-left:1px solid rgba(61,255,162,.3);margin-left:4px}
.cta:hover .cta-go{border-color:rgba(0,0,0,.25)}
.cta:hover .cta-led{background:#04140c;box-shadow:none}
.cta[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}
.cta[disabled]::before{display:none}
.cta[disabled]:hover{color:var(--txt)}
@keyframes blink{to{visibility:hidden}}
.ghost{display:inline-flex;align-items:center;min-height:58px;padding:0 6px;font:500 15px var(--cond);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--txt);border-bottom:1px solid rgba(255,255,255,.3)}
.ghost:hover{color:var(--neon);border-color:var(--neon)}

/* ---------- Hero: the black floor becomes the page ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;background:var(--night)}
.hero-photo{position:absolute;inset:0 0 auto 0;height:min(100%,56.25vw + 12vh);overflow:hidden}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 52%,rgba(0,0,0,.55) 74%,transparent 98%);mask-image:linear-gradient(180deg,#000 0,#000 52%,rgba(0,0,0,.55) 74%,transparent 98%)}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(70% 50% at 50% 100%,rgba(11,19,22,.9),transparent 70%)}
.hero-text{position:relative;z-index:2;width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--pad) clamp(36px,6vh,72px);display:grid;grid-template-columns:1fr auto;align-items:end;gap:18px 40px}
.hero-kicker{grid-column:1/-1;margin:0;display:flex;align-items:center;gap:10px;font:400 12px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--neon);text-shadow:0 1px 8px #000,0 0 2px #000}
.rec{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 10px var(--red)}
h1,.display{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.005em;line-height:.98;margin:0}
.hero h1{grid-column:1;font-size:clamp(64px,11.5vw,184px);line-height:.84}
.h1-a{display:block;color:var(--txt);text-shadow:0 0 40px rgba(61,255,162,.15)}
.h1-b{display:block;font-size:.42em;letter-spacing:.06em;color:var(--neon);margin-top:.18em;line-height:1}
.hero-lead{grid-column:1;max-width:36em;margin:6px 0 0;color:#c8d7d3;font-size:clamp(16px,1.4vw,19px)}
.hero-actions{grid-column:1;display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;margin-top:10px}
.hero-clock{grid-column:2;grid-row:2/5;align-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:10px;padding:16px 18px;border:1px solid rgba(255,58,46,.25);background:rgba(8,12,13,.6);border-radius:3px}
.hero-clock .seg-red{height:46px}
.hero-clock-label{font:400 11px var(--mono);letter-spacing:.22em;text-transform:uppercase;color:#ff8c84}

/* ---------- Sections ---------- */
section{position:relative}
.night{background:var(--night);color:var(--txt);padding:clamp(80px,12vw,160px) 0}
.day{background:var(--paper);color:var(--ink);padding:clamp(80px,11vw,150px) 0}
.day::before{content:"";position:absolute;inset:0 0 auto 0;height:clamp(14px,2vw,22px);background:repeating-linear-gradient(90deg,var(--wood) 0 9px,#a77b55 9px 12px);opacity:.85}
.eyebrow{font:400 12px var(--mono);letter-spacing:.22em;text-transform:uppercase;margin:0 0 20px;color:var(--neon);display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:28px;height:2px;background:currentColor;box-shadow:0 0 8px currentColor}
.day .eyebrow{color:#4f7d17}
.day .eyebrow::before{box-shadow:none;background:var(--apple)}
.display{font-size:clamp(44px,6.6vw,96px)}
.display.xl{font-size:clamp(56px,10vw,150px)}
.day .display{color:var(--ink)}
.lead{font-size:clamp(17px,1.6vw,21px);max-width:38em;color:#c8d7d3}
.text-link{display:inline-flex;gap:10px;align-items:center;font:500 15px var(--cond);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-bottom:2px solid var(--apple);padding-bottom:6px;margin-top:10px}
.text-link:hover{color:#4f7d17}

.intro .display{max-width:12em;margin-bottom:clamp(50px,7vw,90px)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,4vw,60px);border-top:1px solid var(--line);padding-top:40px}
.stat p{margin:16px 0 0;color:var(--muted);max-width:18em}

.day-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}
.day-photo{margin:0;border-radius:3px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(60,40,20,.45)}
.day-photo img{aspect-ratio:16/10;object-fit:cover}
.day-text .display{margin-bottom:24px}

.sec-head{display:grid;gap:14px;margin-bottom:clamp(36px,5vw,60px)}
.price-note{margin:0;font:400 13px/1.5 var(--mono);color:var(--muted);max-width:52em;padding-left:14px;border-left:2px solid var(--red)}
.day .price-note{color:#5b5248}

/* ---------- Service cards ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}
.svc{position:relative;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--night-2),#0c1618);border:1px solid var(--line);border-radius:3px;overflow:hidden;transition:border-color .3s,transform .4s var(--ease)}
.svc:hover{border-color:rgba(61,255,162,.5);transform:translateY(-3px)}
.svc-media{aspect-ratio:4/3;overflow:hidden;background:#0a1113}
.svc-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.svc:hover .svc-media img{transform:scale(1.04)}
.svc-type{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px;padding:24px;background:radial-gradient(90% 80% at 20% 30%,rgba(61,255,162,.10),transparent 60%),repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 2px,transparent 2px 14px),#0a1214}
.svc-type-cat{font:400 11px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.svc-body{display:flex;flex-direction:column;gap:10px;padding:20px 20px 18px;flex:1}
.svc-idx{margin:0;font:400 11px var(--mono);letter-spacing:.18em;color:var(--neon);text-transform:uppercase}
.svc-idx span{color:var(--muted);margin-left:8px}
.svc h3{margin:0;font:400 30px/1 var(--display);text-transform:uppercase}
.svc-desc{margin:0;color:var(--muted);font-size:15px;flex:1}
.svc-meta{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:12px;font:400 13px var(--mono);color:var(--muted)}
.svc-price{font:400 24px var(--display);color:var(--txt)}
.svc-link{display:inline-flex;justify-content:space-between;align-items:center;gap:10px;margin-top:4px;padding:12px 14px;border:1px solid rgba(61,255,162,.4);border-radius:2px;text-decoration:none;font:500 14px var(--cond);letter-spacing:.14em;text-transform:uppercase}
.svc-link::after{content:"";position:absolute;inset:0}
.svc-link:hover,.svc:hover .svc-link{background:var(--neon);color:#04140c}

/* ---------- Reviews ---------- */
.voices .display{margin-bottom:40px;max-width:14em}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}
.review{margin:0;background:#fffaf2;border:1px solid #e3d6c3;border-radius:3px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;gap:20px;color:var(--ink)}
.review blockquote{margin:0}.review p{margin:0;font-size:16px;line-height:1.6}
.review figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font:400 12px var(--mono);letter-spacing:.06em}
.review figcaption span:first-of-type{font-weight:700}
.review-src{color:#7b6d5c}
.review.big p{font-size:clamp(18px,1.8vw,22px)}

/* ---------- Final / hours ---------- */
.final-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(30px,6vw,90px);align-items:end}
.final .display,.visit .display{margin-bottom:24px}
.final-side{display:grid;gap:30px}
.links-row{display:flex;flex-wrap:wrap;gap:12px 28px}
.links-row a{display:inline-flex;gap:8px;align-items:center;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
.hours{margin:0;display:grid;gap:0}
.hours div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line)}
.day .hours div{border-color:#dccfbd}
.hours dt{color:var(--muted)}.day .hours dt{color:#5b5248}
.hours dd{margin:0;font-family:var(--mono);font-size:15px}
.hours-big dd{font:400 22px var(--display);letter-spacing:.03em}

/* ---------- Inner pages ---------- */
.page-hero{padding-top:clamp(140px,18vw,220px);padding-bottom:clamp(50px,7vw,90px);background:radial-gradient(80% 60% at 80% 0%,rgba(61,255,162,.09),transparent 60%),var(--night)}
.page-hero .display{margin-bottom:26px}
.page-hero .price-note{margin-top:26px}
.wide-photo{margin:clamp(40px,6vw,70px) auto 0;max-width:var(--max);padding:0 var(--pad)}
.wide-photo img{border-radius:3px;width:100%}
.cats{padding-top:0}
.cat+.cat{margin-top:clamp(60px,8vw,100px)}
.cat-head{display:flex;align-items:center;gap:18px;margin-bottom:24px;border-bottom:1px solid var(--line);padding-bottom:18px}
.cat-head h2{margin:0;font:400 clamp(30px,4vw,48px)/1 var(--display);text-transform:uppercase}
.how-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(30px,6vw,90px)}
.how-list{list-style:none;margin:0;padding:0;display:grid;gap:26px}
.how-list li{display:flex;gap:22px;align-items:flex-start;padding-bottom:22px;border-bottom:1px solid #dccfbd}
.how-list h3{margin:0 0 6px;font:400 26px var(--display);text-transform:uppercase}
.how-list p{margin:0;color:#4a4239}
.coach-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}
.coach .display{margin-bottom:24px}
.kit .display{margin-bottom:40px}
.kit-list{list-style:none;margin:0 0 50px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 30px}
.kit-list li{display:flex;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font:400 22px var(--cond);text-transform:uppercase;letter-spacing:.04em}
.kit-photos{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px;align-items:end}
.kit-photos figure{margin:0}.kit-photos img{border-radius:3px;width:100%}
.all-svc{border-top:1px solid var(--line)}

/* ---------- Footer ---------- */
.foot{background:#070d0f;border-top:1px solid var(--line);padding:70px var(--pad) 30px;color:var(--muted);font-size:15px}
.foot-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr .7fr;gap:40px}
.foot h2{font:400 11px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--neon);margin:0 0 16px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot a{text-decoration:none}.foot a:hover{color:var(--txt)}
.foot p{margin:0 0 10px}
.foot-brand{font:400 46px/1 var(--display);color:var(--txt);margin-bottom:22px!important}
.foot-brand span{display:block;font:400 11px var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--neon);margin-top:6px}
.sep{display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--muted);vertical-align:middle;margin:0 8px}
.foot-small{max-width:var(--max);margin:50px auto 0!important;font-size:12px}
.credit{max-width:var(--max);margin:14px auto 0;font:400 11px/1.5 var(--mono);letter-spacing:.06em;color:#6f8580;padding-top:14px;border-top:1px solid rgba(255,255,255,.06)}

/* ---------- Reveal motion ---------- */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .reveal.in{opacity:1;transform:none}
.js .hero-text>*{animation:rise 1s var(--ease) both}
.js .hero-text>*:nth-child(2){animation-delay:.08s}.js .hero-text>*:nth-child(3){animation-delay:.16s}.js .hero-text>*:nth-child(4){animation-delay:.24s}
.js .hero-photo img{animation:lights 1.6s ease-out both}
@keyframes rise{from{opacity:0;transform:translateY(30px)}}
@keyframes lights{from{filter:brightness(.15) saturate(.4)}}

/* ---------- Booking ---------- */
.is-book{background:var(--night)}
.is-book .top{background:rgba(9,16,18,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line);padding-top:8px;padding-bottom:8px}
.is-book .top-cta{display:none}
.bk{max-width:880px;margin:0 auto;padding:78px var(--pad) 0;min-height:100svh;display:flex;flex-direction:column}
.bk-head{display:flex;flex-direction:column;gap:12px;padding:14px 0 12px}
.bk-title{font-size:clamp(30px,5vw,56px);line-height:.95}
.bk-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.bk-steps li{font:400 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:8px;border-top:3px solid var(--night-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bk-steps li span{color:inherit}
.bk-steps li.on{color:var(--txt);border-color:var(--neon);box-shadow:0 -6px 12px -8px var(--neon)}
.bk-steps li.done{color:var(--neon);border-color:var(--neon-dim)}
.bk-body{flex:1;padding-bottom:150px}
.bk-h{font:400 26px/1 var(--display);text-transform:uppercase;margin:6px 0 12px}
.bk-h2{font:400 12px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:22px 0 10px}
.bk-step .price-note{margin-bottom:14px;font-size:12px}
.bk-services{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.bk-svc{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;padding:14px 16px;min-height:56px;background:var(--night-2);border:1px solid var(--line);border-radius:3px;color:var(--txt);font:inherit;cursor:pointer;transition:border-color .2s,background .2s}
.bk-svc:hover{border-color:rgba(61,255,162,.6)}
.bk-svc[aria-pressed=true]{border-color:var(--neon);background:#0f2a22;box-shadow:inset 3px 0 0 var(--neon)}
.bk-svc-name{font:400 20px/1.05 var(--display);text-transform:uppercase}
.bk-svc-meta{display:flex;flex-direction:column;align-items:flex-end;font:400 12px var(--mono);color:var(--muted);white-space:nowrap}
.bk-svc-meta b{font:400 18px var(--display);color:var(--txt)}
.bk-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.bk-day{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;background:var(--night-2);border:1px solid var(--line);border-radius:3px;color:var(--txt);font:inherit;cursor:pointer;min-height:58px}
.bk-day small{font:400 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.bk-day b{font:400 22px/1 var(--display)}
.bk-day[aria-pressed=true]{border-color:var(--neon);background:#0f2a22;box-shadow:0 0 14px rgba(61,255,162,.2)}
.bk-day[disabled]{opacity:.3;cursor:not-allowed;text-decoration:line-through}
.bk-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;min-height:52px}
.bk-slot{padding:12px 4px;background:transparent;border:1px solid rgba(61,255,162,.3);border-radius:3px;color:var(--txt);font:400 15px var(--mono);cursor:pointer}
.bk-slot:hover{border-color:var(--neon)}
.bk-slot[aria-pressed=true]{background:var(--neon);color:#04140c;border-color:var(--neon)}
.bk-slot[disabled]{opacity:.3;cursor:not-allowed}
.bk-empty{grid-column:1/-1;margin:0;padding:14px;border:1px dashed var(--line);border-radius:3px;color:var(--muted);font-size:15px}
.bk-loading{grid-column:1/-1;height:46px;border-radius:3px;background:linear-gradient(90deg,var(--night-2),var(--night-3),var(--night-2));background-size:200% 100%;animation:shimmer 1.2s linear infinite}
@keyframes shimmer{to{background-position:-200% 0}}
.bk-pager{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font:400 12px var(--mono);color:var(--muted)}
.bk-pager[hidden]{display:none}
.bk-page{background:none;border:1px solid var(--line);color:var(--txt);padding:8px 12px;border-radius:3px;font:400 12px var(--mono);cursor:pointer}
.bk-page[disabled]{opacity:.3;cursor:not-allowed}
.bk-form{display:grid;gap:12px}
.field{display:grid;gap:4px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field label{font:400 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.field input{width:100%;padding:12px 14px;background:var(--night-2);border:1px solid rgba(255,255,255,.16);border-radius:3px;color:var(--txt);font:400 16px var(--body)}
.field input:focus{border-color:var(--neon);outline:none;box-shadow:0 0 0 3px rgba(61,255,162,.18)}
.field input[aria-invalid=true]{border-color:var(--red)}
.pay{border:0;margin:4px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pay legend{font:400 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;padding:0}
.pay-opt{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:3px;cursor:pointer}
.pay-opt:has(input:checked){border-color:var(--neon);background:#0f2a22}
.pay-opt input{accent-color:var(--neon);margin-top:4px}
.pay-opt b{display:block;font-weight:600;font-size:14px}
.pay-opt small{display:block;color:var(--muted);font-size:12px;line-height:1.35}
.bk-alert{margin:0 0 14px;padding:12px 14px;border:1px solid var(--red);border-radius:3px;background:rgba(255,58,46,.08);color:#ffd0cc;font-size:15px}
.bk-alert[hidden]{display:none}
.bk-alert button{margin-left:8px;background:none;border:1px solid currentColor;color:inherit;padding:4px 10px;border-radius:2px;cursor:pointer;font:inherit;font-size:13px}
.bk-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(8,14,16,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:10px var(--pad) calc(10px + env(safe-area-inset-bottom))}
.bk-bar>*{max-width:880px;margin:0 auto}
.bk-sum{font:400 12px var(--mono);color:var(--muted);min-height:18px;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bk-sum b{color:var(--txt);font-weight:400}
.bk-btns{display:flex;gap:10px}
.bk-btns .cta{flex:1;justify-content:space-between;--h:52px}
.bk-btns [hidden]{display:none}
.bk-back{background:none;border:1px solid rgba(255,255,255,.2);color:var(--txt);padding:0 16px;border-radius:3px;font:500 14px var(--cond);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.bk-done{text-align:left;padding:10px 0 20px}
.bk-done .seg{height:44px;color:var(--neon);filter:drop-shadow(0 0 10px rgba(61,255,162,.6));margin-bottom:16px}
.bk-done h2{font:400 clamp(36px,6vw,64px)/.95 var(--display);text-transform:uppercase;margin:0 0 14px}
.bk-done dl{display:grid;gap:0;margin:20px 0}
.bk-done dl div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}
.bk-done dt{color:var(--muted)}.bk-done dd{margin:0;text-align:right}
.bk-done p{color:var(--muted)}
.bk-credit{margin-top:30px}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .foot-grid{grid-template-columns:1fr 1fr}
  .reviews{grid-template-columns:1fr}
  .kit-list{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  body{font-size:16px}
  .top-cta{display:none}
  .hero{min-height:100svh}
  .hero-photo{height:78%}
  .hero-photo img{object-position:50% 40%;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 50%,rgba(0,0,0,.5) 75%,transparent 100%);mask-image:linear-gradient(180deg,#000 0,#000 50%,rgba(0,0,0,.5) 75%,transparent 100%)}
  .hero-text{grid-template-columns:1fr;gap:12px;padding-bottom:28px}
  .hero h1{font-size:clamp(60px,19vw,92px)}
  .hero-lead{font-size:15px}
  .hero-clock{display:none}
  .hero-actions{gap:10px 18px}
  .hero-actions .cta{width:100%;justify-content:space-between}
  .hero-actions .ghost{min-height:44px}
  .stats{grid-template-columns:1fr;gap:34px}
  .day-grid,.final-grid,.how-grid,.coach-grid{grid-template-columns:1fr}
  .kit-list{grid-template-columns:1fr}
  .kit-photos{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .bk{padding-top:64px}
  .bk-head{padding:8px 0}
  .bk-title{font-size:30px}
  .bk-steps li{white-space:normal;font-size:10px;letter-spacing:.04em;line-height:1.3}
  .bk-body{padding-bottom:140px}
  .field-row{grid-template-columns:1fr 1fr;gap:8px}
  .pay{grid-template-columns:1fr 1fr}
  .bk-h{font-size:22px;margin-bottom:8px}
  .bk-form{gap:8px}
  .field input{padding:10px 12px}
  .bk-slots{grid-template-columns:repeat(4,1fr)}
  .bk-day b{font-size:19px}
  .bk-svc{min-height:50px;padding:10px 14px}
}
@media (max-width:380px){.field-row{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .reveal{opacity:1;transform:none}
}
