:root{
  --sky:#0b5fd0; --sky2:#0a4fb4; --sky-hi:#3f8dff;
  --night:#06132e; --night2:#0a1d44; --ink:#03091a;
  --ice:#f3f8ff; --frost:#9cc8ff; --steel:#8ea3c4;
  --line:rgba(156,200,255,.16);
  --display:"Josefin Sans","Futura","Century Gothic",system-ui,sans-serif;
  --body:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --rune:"Noto Sans Runic","Segoe UI Historic",serif;
  --r:18px;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--night);color:var(--ice);font:16px/1.65 var(--body);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
[hidden]{display:none!important}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
.h2{font:700 clamp(2rem,5vw,3.6rem)/1.02 var(--display);letter-spacing:-.01em;margin:0 0 .5em;text-wrap:balance;text-transform:uppercase}
.center{text-align:center}
.lead{font-size:1.12rem;color:#d6e4fb;max-width:58ch}
.muted{color:var(--steel);margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;border-radius:999px;padding:.8em 1.4em;font:700 .95rem/1 var(--display);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s}
.btn-lg{padding:1.05em 1.8em;font-size:1rem}
.btn-block{width:100%}
.btn-ice{background:var(--ice);color:var(--sky2);box-shadow:0 10px 30px -10px rgba(160,210,255,.7)}
.btn-ice:hover{transform:translateY(-2px);box-shadow:0 16px 40px -10px rgba(160,210,255,.95)}
.btn-ghost{border-color:rgba(243,248,255,.45);color:var(--ice);background:rgba(255,255,255,.04);backdrop-filter:blur(6px)}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn:focus-visible,.chip:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--frost);outline-offset:3px}

/* NAV */
.nav{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:calc(12px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 12px max(20px,env(safe-area-inset-left));transition:background .35s,backdrop-filter .35s,transform .35s}
.nav.solid{background:rgba(6,19,46,.72);backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 1px 0 var(--line)}
.nav-brand{display:flex;align-items:center;gap:10px}
.nav-brand img:first-child{width:36px;height:36px;border-radius:9px}
.nav-word{height:18px;width:auto}
.nav-links{display:flex;gap:26px}
.nav-links a{text-decoration:none;font:600 .82rem var(--display);letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.nav-links a:hover{opacity:1}
.nav-right{display:flex;align-items:center;gap:12px}
.lang{display:flex;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:3px}
.lang button{background:none;border:0;color:var(--ice);font:700 .72rem var(--display);letter-spacing:.06em;padding:.45em .6em;border-radius:999px;cursor:pointer;opacity:.7}
.lang button.on{background:var(--ice);color:var(--sky2);opacity:1}
.nav-cta{padding:.7em 1.1em;font-size:.82rem}
@media (max-width:900px){.nav-links{display:none}}
@media (max-width:520px){.nav-word{display:none}.nav-cta{display:none}}

/* HERO */
.hero{position:relative;min-height:100svh;overflow:hidden;display:grid;place-items:center;
  background:radial-gradient(120% 80% at 50% 30%,var(--sky-hi) 0%,var(--sky) 45%,var(--sky2) 100%);isolation:isolate}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(to bottom,transparent,var(--night));z-index:3;pointer-events:none}
.runes,.bolt{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.runes{z-index:0}
.bolt{z-index:2;mix-blend-mode:screen}
.cloud{position:absolute;z-index:1;pointer-events:none;will-change:transform;filter:drop-shadow(0 20px 40px rgba(0,30,90,.25))}
.cloud-r{right:-4vw;top:6vh;width:min(42vw,620px);animation:drift 16s ease-in-out infinite alternate}
.cloud-l{left:-3vw;bottom:2vh;width:min(40vw,580px);animation:drift 19s ease-in-out infinite alternate-reverse}
@keyframes drift{to{translate:-3vw 1.5vh}}
.hero-art{position:absolute;inset:0;z-index:2;pointer-events:none}
.hammer{position:absolute;left:clamp(-40px,8vw,160px);top:22%;width:clamp(150px,22vw,330px);will-change:transform;animation:hover1 6s ease-in-out infinite;filter:drop-shadow(0 30px 40px rgba(0,20,70,.45))}
.raven{position:absolute;right:clamp(-30px,5vw,120px);top:58%;width:clamp(150px,22vw,320px);will-change:transform;animation:hover2 4.5s ease-in-out infinite;filter:drop-shadow(0 30px 40px rgba(0,20,70,.45))}
@keyframes hover1{0%,100%{translate:0 0;rotate:-4deg}50%{translate:0 -18px;rotate:3deg}}
@keyframes hover2{0%,100%{translate:0 0;rotate:2deg}50%{translate:-10px -22px;rotate:-5deg}}
.hero-core{position:relative;z-index:4;text-align:center;display:flex;flex-direction:column;align-items:center;padding:110px 20px 90px;max-width:900px}
.icon-wrap{position:relative;margin-bottom:28px}
.icon-wrap::before{content:"";position:absolute;inset:-30%;border-radius:50%;background:radial-gradient(circle,rgba(200,230,255,.55),transparent 65%);opacity:0;transition:opacity .2s}
.icon-wrap.charged::before{opacity:1}
.hero-icon{width:clamp(96px,13vw,150px);height:auto;border-radius:24%;box-shadow:0 25px 60px -10px rgba(0,25,80,.6);opacity:0;transform:translateY(-40px) scale(.6) rotate(-12deg)}
.hero-word{margin:0;width:min(86vw,780px);clip-path:inset(0 100% 0 0)}
.hero-word img{width:100%;height:auto;filter:drop-shadow(0 8px 24px rgba(0,25,80,.45))}
.hero-sub{margin:.9em 0 0;font:600 clamp(.8rem,1.7vw,1.15rem) var(--display);letter-spacing:.55em;padding-left:.55em;opacity:0}
.hero-lead{margin:1.4em auto 0;max-width:52ch;font-size:clamp(1rem,1.6vw,1.15rem);color:#e3eeff;opacity:0}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:2em;opacity:0}
.go .hero-icon{animation:iconIn 1s cubic-bezier(.2,1.4,.4,1) .25s forwards}
.go .hero-word{animation:wipe 1.1s cubic-bezier(.7,0,.2,1) 1.05s forwards}
.go .hero-sub{animation:fadeUp .9s ease 1.8s forwards}
.go .hero-lead{animation:fadeUp .9s ease 2.05s forwards}
.go .hero-ctas{animation:fadeUp .9s ease 2.3s forwards}
@keyframes iconIn{to{opacity:1;transform:none}}
@keyframes wipe{to{clip-path:inset(0 0 0 0)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.scroll-hint{position:absolute;bottom:calc(26px + env(safe-area-inset-bottom));left:50%;translate:-50% 0;z-index:5;width:26px;height:42px;border:2px solid rgba(255,255,255,.6);border-radius:14px}
.scroll-hint span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:#fff;animation:sh 1.8s infinite}
@keyframes sh{0%{opacity:0;transform:none}30%{opacity:1}100%{opacity:0;transform:translateY(14px)}}
.flash{position:fixed;inset:0;background:#dff0ff;opacity:0;pointer-events:none;z-index:60;mix-blend-mode:soft-light}
@media (max-width:700px){
  .hammer{top:9%;left:-34px;width:150px;opacity:.95}
  .raven{top:auto;bottom:16%;right:-30px;width:150px}
  .cloud-r{width:70vw;top:2vh}.cloud-l{width:72vw}
}

/* TICKER */
.ticker{overflow:hidden;border-block:1px solid var(--line);background:var(--night2);padding:16px 0}
.ticker-track{display:flex;gap:42px;width:max-content;animation:tick 38s linear infinite;font:700 clamp(1rem,2vw,1.35rem) var(--display);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.ticker-track span{display:flex;align-items:center;gap:42px}
.ticker-track i{font:400 1.2em var(--rune);color:var(--frost);font-style:normal}
@keyframes tick{to{transform:translateX(-50%)}}

/* WORK */
.work{padding:110px 0 40px;position:relative}
.work-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:34px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--ice);border-radius:999px;padding:.6em 1.1em;font:600 .8rem var(--display);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:.25s}
.chip.on{background:var(--ice);color:var(--sky2);border-color:var(--ice)}
.reel-pin{position:relative}
.reel-sticky{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.reel{display:flex;gap:22px;padding:0 max(20px,calc((100vw - 1200px)/2 + 20px));will-change:transform}
.shot{flex:0 0 auto;width:clamp(240px,27vw,360px);aspect-ratio:3/4;position:relative;border-radius:var(--r);overflow:hidden;cursor:zoom-in;background:var(--night2);transform:perspective(900px) rotateY(var(--ry,0deg)) translateY(var(--ty,0px));transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .4s,width .4s;margin:0;border:0;padding:0;color:inherit;text-align:left}
.shot img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s;filter:saturate(.95) contrast(1.05)}
.shot:hover img{transform:scale(1.07);filter:saturate(1.1) contrast(1.08)}
.shot::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(156,200,255,.12);pointer-events:none}
.shot figcaption,.shot .cap{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;font:700 1.05rem/1.2 var(--display);text-transform:uppercase;letter-spacing:.06em}
.shot .cap small{display:block;font:500 .78rem var(--body);letter-spacing:0;text-transform:none;color:var(--frost);margin-top:4px}
.shot.out{display:none}
.reel-bar{margin:34px auto 0;width:min(320px,60vw);height:3px;border-radius:3px;background:var(--line);overflow:hidden}
.reel-bar span{display:block;height:100%;width:0;background:var(--frost)}
.ig-row{display:flex;justify-content:center;margin-top:10px}
@media (max-width:899px){
  .reel-pin{height:auto!important}
  .reel-sticky{position:static;height:auto;overflow:visible}
  .reel{overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;transform:none!important;scrollbar-width:none}
  .reel::-webkit-scrollbar{display:none}
  .shot{scroll-snap-align:center;width:72vw;max-width:340px}
  .reel-bar{display:none}
}

/* MANIFESTO */
.manifesto{padding:120px 0;position:relative}
.manifesto::before{content:"ᚾ";position:absolute;right:4vw;top:40px;font:400 clamp(14rem,32vw,30rem)/1 var(--rune);color:rgba(156,200,255,.05);pointer-events:none}
.mani-kicker{font:700 clamp(1rem,1.8vw,1.2rem) var(--display);letter-spacing:.3em;text-transform:uppercase;color:var(--frost);margin:0 0 24px}
.mani-text{font:600 clamp(1.6rem,3.6vw,3rem)/1.22 var(--display);margin:0;max-width:24ch*2;text-wrap:pretty}
.mani-text .w{opacity:.14;transition:opacity .35s}
.mani-text .w.lit{opacity:1}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:80px;border-top:1px solid var(--line);padding-top:36px}
.stat b{display:block;font:700 clamp(2.6rem,5vw,4.2rem)/1 var(--display);color:var(--ice)}
.stat span{color:var(--steel);font-size:.95rem}
@media (max-width:760px){.stats{grid-template-columns:1fr 1fr;gap:30px 18px}}

/* DESIGN */
.design{padding:110px 0;background:linear-gradient(180deg,var(--night) 0%,#08204f 100%);overflow:hidden}
.design-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.design-copy{min-width:0}
.ticks{list-style:none;padding:0;margin:26px 0 32px;display:grid;gap:12px}
.ticks li{position:relative;padding-left:34px}
.ticks li::before{content:"";position:absolute;left:0;top:.25em;width:20px;height:20px;border-radius:50%;background:var(--sky) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center/100%}
.design-stack{position:relative;height:clamp(420px,46vw,600px)}
.card{position:absolute;margin:0;width:54%;aspect-ratio:3/4;border-radius:22px;overflow:hidden;border:6px solid #dfe7f2;box-shadow:0 40px 80px -30px rgba(0,0,0,.8);transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.card img{width:100%;height:100%;object-fit:cover}
.card.c1{left:23%;top:6%;z-index:3}
.card.c2{left:0;top:14%;z-index:2;transform:rotate(-9deg) translateX(var(--sx,0))}
.card.c3{right:0;top:14%;z-index:1;transform:rotate(9deg) translateX(var(--sx2,0))}
@media (max-width:860px){.design-grid{grid-template-columns:1fr}.design-stack{height:120vw;max-height:560px}}

/* WHY */
.why{padding:110px 0}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:30px}
.why-item{background:var(--night);padding:34px 26px;transition:background .4s}
.why-item:hover{background:var(--night2)}
.why-item svg{width:44px;height:44px;color:var(--frost);margin-bottom:18px}
.why-item h3{font:700 1.15rem var(--display);text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px}
.why-item p{margin:0;color:var(--steel);font-size:.95rem}
@media (max-width:980px){.why-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.why-grid{grid-template-columns:1fr}}

/* PROCESS */
.process{padding:40px 0 110px}
.steps{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative}
.steps::before{content:"";position:absolute;left:0;right:0;top:26px;height:2px;background:linear-gradient(90deg,var(--frost),var(--sky));transform-origin:left;transform:scaleX(var(--p,0));transition:transform .2s linear}
.steps li{position:relative}
.step-n{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--night);border:2px solid var(--frost);font:700 1.3rem var(--display);margin-bottom:18px;position:relative;z-index:1}
.steps h3{font:700 1.15rem var(--display);text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px}
.steps p{margin:0;color:var(--steel)}
@media (max-width:860px){.steps{grid-template-columns:1fr;gap:26px}.steps::before{left:26px;right:auto;top:0;bottom:0;width:2px;height:auto;transform-origin:top;transform:scaleY(var(--p,0))}.steps li{padding-left:76px}.step-n{position:absolute;left:0;top:-6px}}

/* RIDE (transfer) */
.ride{position:relative;height:330vh}
.ride-sticky{position:sticky;top:0;height:100svh;overflow:hidden;background:var(--ink)}
.ride-map{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}
.ride-map svg{display:block;width:100%;height:100%}
#car{transition:opacity .4s}
.pin{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:#fff;box-shadow:0 0 20px #8fd0ff}
.pin::before,.pin::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #fff;animation:ping 2s infinite}
.pin::after{animation-delay:1s}
@keyframes ping{to{transform:scale(4);opacity:0}}
.ride-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,9,26,.92) 0%,rgba(3,9,26,.55) 38%,transparent 62%),linear-gradient(to bottom,var(--night),transparent 18%,transparent 82%,var(--night));pointer-events:none}
.ride-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;pointer-events:none}
.ride-copy>*{pointer-events:auto;max-width:460px;width:100%}
.ride-copy>.btn{width:auto}
.ride-steps{position:relative;min-height:9.5em;margin:6px 0 26px;width:100%}
.rs{position:absolute;inset:0 0 auto 0;margin:0;font-size:1.2rem;line-height:1.55;color:#e3eeff;opacity:0;transform:translateY(16px);transition:opacity .6s,transform .6s}
.rs.on{opacity:1;transform:none}
@media (max-width:760px){
  .ride-shade{background:linear-gradient(to top,rgba(3,9,26,.95) 0%,rgba(3,9,26,.7) 40%,transparent 70%),linear-gradient(to bottom,var(--night),transparent 15%)}
  .ride-copy{justify-content:flex-end;padding-bottom:calc(60px + env(safe-area-inset-bottom))}
  .ride-steps{min-height:7.5em}.rs{font-size:1.05rem}
}

/* STYLES / ARTISTS */
.styles{padding:120px 0}
.st-wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:50px;align-items:center;margin-top:40px}
.st-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 22px;min-width:0}
.st-list li{font:700 clamp(1.5rem,3.4vw,2.8rem)/1.15 var(--display);text-transform:uppercase;color:rgba(243,248,255,.22);cursor:default;transition:color .35s,transform .35s;-webkit-text-stroke:0}
.st-list li.on{color:var(--ice);transform:translateX(6px)}
.st-list li:not(:last-child)::after{content:"᛫";font-family:var(--rune);color:var(--frost);opacity:.5;margin-left:22px}
.st-peek{margin:0;aspect-ratio:3/4;border-radius:24px;overflow:hidden;position:relative;box-shadow:0 40px 90px -30px rgba(0,0,0,.9),0 0 0 1px var(--line);max-width:100%}
.st-peek img{width:100%;height:100%;object-fit:cover;transition:opacity .35s,transform .9s cubic-bezier(.2,.8,.2,1)}
.st-peek.swap img{opacity:0;transform:scale(1.06)}
@media (max-width:860px){.st-wrap{grid-template-columns:1fr}.st-peek{width:min(100%,380px);margin:0 auto;order:-1}}

/* PIERCE */
.pierce{position:relative;padding:150px 0;overflow:hidden}
.pierce-bg{position:absolute;inset:-10% 0;background-size:cover;background-position:center;filter:grayscale(1) brightness(.45);will-change:transform}
.pierce::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--night) 10%,rgba(6,19,46,.4) 70%,rgba(6,19,46,.7))}
.pierce-in{position:relative;z-index:1}
.pierce-word{font:700 clamp(3.4rem,11vw,9rem)/.9 var(--display);margin:0 0 20px;letter-spacing:-.01em;-webkit-text-stroke:2px var(--ice);color:transparent;background:linear-gradient(90deg,var(--ice) 50%,transparent 50%) 0 0/200% 100% no-repeat;-webkit-background-clip:text;background-clip:text;background-position:var(--fill,100%) 0}

/* BOOK */
.book{padding:110px 0 130px;background:linear-gradient(180deg,var(--night),#071c46)}
.book-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:start}
.book-grid>*{min-width:0}
.contact{display:grid;gap:12px;margin-top:30px;scroll-margin-top:90px}
.c-row{display:flex;gap:14px;align-items:center;text-decoration:none;padding:14px 16px;border:1px solid var(--line);border-radius:16px;transition:background .25s,border-color .25s}
.c-row:hover{background:rgba(255,255,255,.04);border-color:rgba(156,200,255,.4)}
.c-row b{display:block;font-weight:700}
.c-row small{color:var(--steel)}
.c-ic{flex:0 0 44px;height:44px;display:grid;place-items:center;border-radius:12px;background:var(--sky)}
.c-ic svg{width:22px;height:22px}
.c-ic.wa{background:#1fae5a}
.form{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:24px;padding:28px;display:grid;gap:16px;backdrop-filter:blur(8px)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form label>span{display:block;font:600 .78rem var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--frost);margin-bottom:6px}
.form input:not([type=radio]),.form textarea{width:100%;background:rgba(3,9,26,.5);border:1px solid var(--line);border-radius:12px;color:var(--ice);font:inherit;padding:.8em .95em;transition:border-color .2s,box-shadow .2s}
.form input:focus,.form textarea:focus{outline:0;border-color:var(--frost);box-shadow:0 0 0 3px rgba(156,200,255,.18)}
.form ::placeholder{color:#5f7398}
.kind{display:flex;gap:8px;flex-wrap:wrap}
.kind label{cursor:pointer}
.kind input{position:absolute;opacity:0}
.kind span{display:inline-block;padding:.6em 1.1em;border:1px solid var(--line);border-radius:999px;font:600 .82rem var(--display);letter-spacing:.06em;text-transform:uppercase}
.kind input:checked+span{background:var(--ice);color:var(--sky2);border-color:var(--ice)}
.kind input:focus-visible+span{outline:2px solid var(--frost);outline-offset:2px}
.form-err{margin:0;color:#ffb4b4;font-size:.92rem}
@media (max-width:900px){.book-grid{grid-template-columns:1fr}}
@media (max-width:520px){.row2{grid-template-columns:1fr}.form{padding:20px}}

/* FOOT */
.foot{background:var(--ink);padding:70px 0 calc(30px + env(safe-area-inset-bottom));overflow:hidden}
.foot-word{padding:0 4vw 40px;opacity:.95}
.foot-word img{width:100%}
.foot-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:var(--steel);font-size:.88rem;border-top:1px solid var(--line);padding-top:24px}
.foot-row p{margin:0}
.runes-line{font-family:var(--rune);letter-spacing:.3em;color:var(--frost)}

/* WA FLOAT */
.wa-float{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));z-index:45;width:58px;height:58px;border-radius:50%;background:#1fae5a;color:#fff;display:grid;place-items:center;box-shadow:0 12px 30px -8px rgba(0,0,0,.6);transition:transform .25s;animation:waIn .6s 3s both}
.wa-float svg{width:30px;height:30px}
.wa-float:hover{transform:scale(1.08)}
.wa-float::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #1fae5a;animation:waPing 2.4s 4s infinite}
@keyframes waPing{to{transform:scale(1.6);opacity:0}}
@keyframes waIn{from{transform:scale(0)}}

/* LIGHTBOX */
.lb{position:fixed;inset:0;z-index:80;background:rgba(3,9,26,.94);display:flex;align-items:center;justify-content:center;padding:max(20px,env(safe-area-inset-top)) 60px;animation:fadeUp .3s}
.lb figure{margin:0;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:12px}
.lb img{max-height:82svh;width:auto;border-radius:14px}
.lb figcaption{font:700 1rem var(--display);letter-spacing:.08em;text-transform:uppercase}
.lb button{background:rgba(255,255,255,.08);border:0;color:#fff;border-radius:50%;width:48px;height:48px;font-size:28px;cursor:pointer;line-height:1}
.lb-x{position:absolute;top:calc(14px + env(safe-area-inset-top));right:14px}
.lb-nav{position:absolute;top:50%;translate:0 -50%}
.lb-prev{left:8px}.lb-next{right:8px}

/* REVEAL */
.rv{opacity:0;transform:translateY(40px);transition:opacity 1s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0s)}
.rv.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .hero-icon,.hero-sub,.hero-lead,.hero-ctas{opacity:1;transform:none}
  .hero-word{clip-path:none}
  .rv{opacity:1;transform:none}
  .mani-text .w{opacity:1}
}

/* BOOKING */
.book-side{min-width:0}
.form fieldset{border:0;margin:0;padding:0;min-width:0;display:grid;gap:14px}
.form legend{display:flex;align-items:center;gap:10px;font:700 1rem var(--display);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;padding:0}
.fs-n{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--sky);font-size:.85rem}
.form select{width:100%;background:rgba(3,9,26,.5);border:1px solid var(--line);border-radius:12px;color:var(--ice);font:inherit;padding:.8em .95em}
.row2.tight{gap:10px}
.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity;scrollbar-width:thin}
.day{flex:0 0 auto;scroll-snap-align:start;width:64px;padding:10px 0;border-radius:14px;border:1px solid var(--line);background:rgba(3,9,26,.35);color:var(--ice);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;transition:.2s}
.day small{font:600 .68rem var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--steel)}
.day b{font:700 1.35rem/1 var(--display)}
.day:hover{border-color:rgba(156,200,255,.5)}
.day[aria-checked=true]{background:var(--ice);border-color:var(--ice);color:var(--sky2)}
.day[aria-checked=true] small{color:var(--sky2)}
.times{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:8px}
.slot{padding:.65em 0;border-radius:10px;border:1px solid var(--line);background:rgba(3,9,26,.35);color:var(--ice);font:600 .92rem var(--body);cursor:pointer;transition:.2s}
.slot:hover:not(:disabled){border-color:rgba(156,200,255,.5)}
.slot[aria-checked=true]{background:var(--ice);color:var(--sky2);border-color:var(--ice)}
.slot:disabled{opacity:.25;cursor:not-allowed;text-decoration:line-through}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.fine{margin:0;text-align:center;color:var(--steel);font-size:.85rem}
.form{gap:28px}
.done{animation:fadeUp .6s}
.ticket{background:linear-gradient(160deg,#0f3a86,#0a2357);border-radius:24px;padding:28px;display:grid;gap:18px;border:1px solid rgba(156,200,255,.3);box-shadow:0 40px 90px -30px rgba(0,0,0,.9);position:relative;overflow:hidden}
.ticket::before{content:"ᚾ";position:absolute;right:-10px;bottom:-60px;font:400 14rem/1 var(--rune);color:rgba(255,255,255,.05)}
.tk-top{display:flex;gap:14px;align-items:center}
.tk-top img{border-radius:12px}
.tk-top b{display:block;font:700 1.6rem var(--display);text-transform:uppercase}
.tk-top small{color:var(--frost);letter-spacing:.12em}
.tk-rows{margin:0;display:grid;gap:10px;border-block:1px dashed rgba(156,200,255,.35);padding:16px 0}
.tk-rows div{display:flex;justify-content:space-between;gap:16px}
.tk-rows dt{color:var(--steel)}
.tk-rows dd{margin:0;font-weight:700;text-align:right}

/* COVER-UP before/after */
.cover{padding:110px 0;background:radial-gradient(70% 60% at 80% 40%,#0c2c6a,transparent),var(--night)}
.cover-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.cover-copy{min-width:0}
.cover-copy .muted{margin:14px 0 28px}
.ba{position:relative;aspect-ratio:900/1438;width:min(100%,calc(80svh * .626));margin-left:auto;border-radius:24px;overflow:hidden;cursor:ew-resize;touch-action:pan-y;user-select:none;box-shadow:0 40px 90px -30px rgba(0,0,0,.9),0 0 0 1px var(--line);max-width:100%}
.ba-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba-after{clip-path:inset(0 0 0 var(--x))}
.ba-line{position:absolute;top:0;bottom:0;left:var(--x);width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 14px rgba(140,200,255,.9);pointer-events:none}
.ba-knob{position:absolute;top:50%;left:50%;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:#fff;color:var(--sky2);display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.45)}
.ba-knob svg{width:24px;height:24px}
.ba-tag{position:absolute;top:16px;padding:.45em .9em;border-radius:999px;font:700 .75rem var(--display);letter-spacing:.14em;text-transform:uppercase;background:rgba(3,9,26,.65);backdrop-filter:blur(6px);pointer-events:none}
.ba-tag-b{left:16px}.ba-tag-a{right:16px;background:var(--ice);color:var(--sky2)}
.ba-range{position:absolute;inset:auto 0 0;width:100%;opacity:0;height:44px;cursor:ew-resize}
.ba:focus-within .ba-knob{outline:3px solid var(--frost);outline-offset:3px}
@media (max-width:860px){.cover-grid{grid-template-columns:1fr}.ba{margin:0 auto;width:min(100%,460px)}}
