
/* ══════════════════════════════════════
   RESET & TOKENS
   ══════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --y:#FFE600;
  --ice:#EAF2FF; --ib:#9FB4D9;
  --bg:#04060D; --bg2:#070A14; --bg3:#0C111D; --bg4:#131A2A;
  --txt:#fff;
  --w60:rgba(255,255,255,.6); --w35:rgba(255,255,255,.35);
  --w12:rgba(255,255,255,.12); --w06:rgba(255,255,255,.06); --w03:rgba(255,255,255,.03);
}
html{font-size:16px}
body{background:var(--bg);color:var(--txt);font-family:'Space Grotesk','Onest',sans-serif;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
/* Display font — Bebas Neue (latin); Oswald fallback renders cyrillic glyphs */
.panel-title,.hero-h1,.hero-ghost,.panel-ghost,.s-ttl,.loc-name,.path-ttl,.ac-t,.big-t,
.bridge-t,.val-t,.quote,.stat-n,.h-brand-ex,.nav-logo-name,.ft-ex,.ld-txt,.loc-photo-num{
  text-transform:uppercase;font-weight:400;letter-spacing:.03em}

/* ══════════════════════════════════════
   CURSOR
   ══════════════════════════════════════ */
/* Cursor trail (lusion.co style): normal system cursor + fading comet tail on canvas */
#trail{position:fixed;inset:0;z-index:9998;pointer-events:none;mix-blend-mode:screen}
@media(hover:none){#trail{display:none}}

/* ══════════════════════════════════════
   STARS BG
   ══════════════════════════════════════ */
#bgc{position:fixed;inset:0;z-index:0;pointer-events:none}

/* ══════════════════════════════════════
   LOADER
   ══════════════════════════════════════ */
#loader{position:fixed;inset:0;z-index:8000;background:var(--bg);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.5rem;
  transition:opacity .9s,visibility .9s}
#loader.out{opacity:0;visibility:hidden;pointer-events:none}
.ld-logo{opacity:0;transform:translateY(18px);animation:fadeUp .8s cubic-bezier(.22,1,.36,1) .2s forwards}
.ld-logo svg{filter:drop-shadow(0 0 36px rgba(205,222,250,.35))}
::selection{background:var(--ice);color:#000}
::-webkit-scrollbar{width:9px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:#1A2233;border-radius:0}
::-webkit-scrollbar-thumb:hover{background:rgba(205,222,250,.5)}
.ld-bar{width:110px;height:1px;background:var(--w06);overflow:hidden;opacity:0;animation:fadeUp .4s ease .8s forwards}
.ld-fill{height:100%;width:0;background:var(--ice);animation:fillBar 1.5s ease .9s forwards}
.ld-txt{font-size:9px;letter-spacing:.6em;text-transform:uppercase;color:var(--w35);
  opacity:0;animation:fadeUp .4s ease .9s forwards}
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
@keyframes fillBar{to{width:100%}}

/* ══════════════════════════════════════
   HOME — 3 VERTICAL PANELS
   ══════════════════════════════════════ */
#home{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;background:var(--bg);
  transition:opacity .8s,visibility .8s}
#home.out{opacity:0;visibility:hidden;pointer-events:none}

/* Video bg */
.home-vid{position:absolute;inset:0;z-index:0;overflow:hidden}
.home-vid video{width:100%;height:100%;object-fit:cover;filter:brightness(.32) grayscale(1)}

/* Home top bar */
.home-top{
  position:relative;z-index:3;flex-shrink:0;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.6rem 2.25rem;
  background:rgba(4,6,13,.68);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--w06);
  opacity:0;
}
.h-brand{display:flex;align-items:center;gap:.85rem}
.h-brand-name{display:flex;flex-direction:column;gap:1px}
.h-brand-ex{font-family:'Bebas Neue','Oswald',sans-serif;font-size:22px;letter-spacing:.08em;color:var(--txt);line-height:1}
.h-brand-sub{font-size:8px;letter-spacing:.5em;text-transform:uppercase;color:var(--w35)}
.h-lang{display:flex}
.h-lang-btn{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--w35);
  border:none;background:none;cursor:pointer;padding:5px 9px;transition:color .2s;position:relative}
.h-lang-btn+.h-lang-btn::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:1px;height:9px;background:var(--w12)}
.h-lang-btn.active{color:var(--ice)}
.h-lang-btn:hover{color:var(--txt)}

/* Panels row */
.home-panels{flex:1;display:flex;overflow:hidden;position:relative;z-index:1}

/* Scroll hint */
.home-hint{position:absolute;bottom:1.75rem;left:50%;transform:translateX(-50%);
  z-index:4;display:flex;flex-direction:column;align-items:center;gap:.4rem;
  opacity:0;animation:fadeUp .6s ease 3.2s forwards;pointer-events:none}
.home-hint-txt{font-size:8px;letter-spacing:.45em;text-transform:uppercase;color:var(--w35)}
.home-hint-line{width:1px;height:36px;background:linear-gradient(to bottom,var(--ice),transparent);
  animation:scrollPulse 2.2s ease-in-out infinite}
@keyframes scrollPulse{0%,100%{opacity:.3}50%{opacity:1}}

/* Individual panel */
.home-panel{
  flex:1;position:relative;overflow:hidden;
  border-right:1px solid var(--w06);
  display:flex;flex-direction:column;justify-content:flex-end;
  transition:flex .65s cubic-bezier(.4,0,.2,1);
  cursor:pointer;opacity:0;transform:translateY(14px);
}
.home-panel:last-child{border-right:none}

/* Expand/shrink on hover */
.home-panels:has(.home-panel:nth-child(1):hover) .home-panel:nth-child(2),
.home-panels:has(.home-panel:nth-child(1):hover) .home-panel:nth-child(3),
.home-panels:has(.home-panel:nth-child(2):hover) .home-panel:nth-child(1),
.home-panels:has(.home-panel:nth-child(2):hover) .home-panel:nth-child(3),
.home-panels:has(.home-panel:nth-child(3):hover) .home-panel:nth-child(1),
.home-panels:has(.home-panel:nth-child(3):hover) .home-panel:nth-child(2){flex:.5}
.home-panels:has(.home-panel:hover) .home-panel:hover{flex:2}

/* Panel backgrounds */
.panel-bg{position:absolute;inset:0;z-index:0;transition:opacity .5s}
.home-panel:nth-child(1) .panel-bg{background:linear-gradient(180deg,rgba(8,12,24,.5) 0%,rgba(2,4,10,.72) 100%)}
.home-panel:nth-child(2) .panel-bg{background:linear-gradient(180deg,rgba(10,16,30,.55) 0%,rgba(2,4,10,.74) 100%)}
.home-panel:nth-child(3) .panel-bg{background:linear-gradient(180deg,rgba(7,10,20,.5) 0%,rgba(2,4,10,.72) 100%)}

/* Yellow glow on hover */
.panel-glow{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(ellipse at 50% 100%,rgba(205,222,250,.12) 0%,transparent 60%);
  opacity:0;transition:opacity .5s}
.home-panel:hover .panel-glow{opacity:1}

/* Top accent line */
.home-panel:nth-child(1){border-top:2px solid rgba(205,222,250,.55)}
.home-panel:nth-child(2){border-top:2px solid rgba(205,222,250,.25)}
.home-panel:nth-child(3){border-top:2px solid rgba(205,222,250,.3)}
.home-panel:hover{border-top-color:var(--ice)}

/* Panel number */
.panel-num{position:absolute;top:1.75rem;left:1.75rem;z-index:2;
  font-size:9px;letter-spacing:.45em;color:var(--w35);transition:color .3s}
.home-panel:hover .panel-num{color:rgba(205,222,250,.6)}

/* Large ghost number */
.panel-ghost{position:absolute;bottom:-2rem;right:-.5rem;
  font-family:'Bebas Neue','Oswald',sans-serif;font-size:clamp(140px,18vw,260px);
  color:rgba(205,222,250,.05);line-height:1;pointer-events:none;z-index:0;letter-spacing:-.02em;
  transition:color .5s}
.home-panel:hover .panel-ghost{color:rgba(205,222,250,.09)}

/* Panel glass card */
.panel-content{
  position:relative;z-index:2;
  padding:1.5rem 1.75rem 1.75rem;margin:0 1rem 1.5rem;
  display:flex;flex-direction:column;gap:.6rem;
  background:rgba(0,0,0,.3);
  backdrop-filter:blur(16px) saturate(1.1);
  -webkit-backdrop-filter:blur(16px) saturate(1.1);
  border:1px solid var(--w06);border-bottom:none;
  transition:background .4s,border-color .4s;
}
.home-panel:hover .panel-content{background:rgba(0,0,0,.4);border-color:rgba(205,222,250,.18)}

.panel-title{
  font-family:'Bebas Neue','Oswald',sans-serif;
  font-size:var(--pt-fs,clamp(24px,2.7vw,44px));
  letter-spacing:.04em;color:var(--w60);line-height:1;
  transition:color .3s,font-size .45s cubic-bezier(.4,0,.2,1);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

.home-panels:has(.home-panel:hover) .home-panel:not(:hover) .panel-title{
  font-size:var(--pt-fs-s,clamp(14px,1.5vw,26px))}
.home-panel:hover .panel-title{color:var(--txt)}
.panel-sub{
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--w35);
  max-height:0;overflow:hidden;opacity:0;
  transition:max-height .45s ease,opacity .35s ease;
}
.home-panel:hover .panel-sub{max-height:40px;opacity:1}

.panel-cta{
  display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;
  font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--txt);
  border:1px solid rgba(255,255,255,.3);padding:.7rem 1.4rem;
  margin-top:.4rem;opacity:0;transform:translateX(-8px);cursor:pointer;
  transition:opacity .35s .08s,transform .35s .08s,background .2s,color .2s,border-color .2s;
}
.panel-cta:hover{background:var(--y);color:#000;border-color:var(--y)}
.panel-cta-line{width:22px;height:1px;background:var(--ice);flex-shrink:0}
.panel-cta-coin{width:26px;height:26px;border-radius:50%;flex:none;
  display:inline-flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 36% 30%,#FFF385 0%,#FFE600 48%,#C4AF00 100%);
  box-shadow:0 0 0 1.5px rgba(255,230,0,.35),inset 0 1px 0 rgba(255,255,255,.5),0 3px 10px rgba(0,0,0,.6);
  animation:coinSpin 4.5s cubic-bezier(.4,0,.2,1) infinite}
.home-panel:hover .panel-cta{opacity:1;transform:translateX(0)}
@media(hover:none){.panel-cta{opacity:1;transform:none}}

/* Bottom yellow bar */
.panel-line{position:absolute;bottom:0;left:0;right:0;height:2px;
  background:var(--ice);transform:scaleX(0);transform-origin:left;
  transition:transform .5s cubic-bezier(.4,0,.2,1)}
.home-panel:hover .panel-line{transform:scaleX(1)}

/* ══════════════════════════════════════
   NAV (shown inside sections)
   ══════════════════════════════════════ */
nav{position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(4,6,13,.92);backdrop-filter:blur(20px);
  border-bottom:1px solid var(--w06);height:60px;
  display:flex;align-items:center;
  transform:translateY(-100%);transition:transform .4s}
nav.visible{transform:translateY(0)}
.nav-in{max-width:1320px;margin:0 auto;padding:0 2rem;width:100%;
  display:flex;align-items:center;justify-content:space-between}
.nav-logo{display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:opacity .2s}
.nav-logo-svg{height:26px;width:auto;display:block;flex:none;object-fit:contain}
@media(max-width:600px){.nav-logo-svg{height:21px}}
@media(max-width:380px){.nav-logo-svg{height:18px}}
.nav-logo:hover{opacity:.75}
.nav-logo-name{font-family:'Bebas Neue','Oswald',sans-serif;font-size:20px;letter-spacing:.1em;
  color:var(--txt);line-height:1}
.nav-logo-name .y{color:var(--y)}
.nav-links{display:flex;gap:2.25rem}
.nav-link{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--w35);
  cursor:pointer;border-bottom:1px solid transparent;padding-bottom:2px;transition:color .2s,border-color .2s}
.nav-link:hover,.nav-link.active{color:var(--ice);border-bottom-color:rgba(205,222,250,.4)}
.nav-lang{display:flex}
.nav-lang-btn{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--w35);
  border:none;background:none;cursor:pointer;padding:4px 7px;transition:color .2s}
.nav-lang-btn.active{color:var(--ice)}

/* ══════════════════════════════════════
   SECTIONS COMMONS
   ══════════════════════════════════════ */
section{display:none;position:relative;z-index:1}
section.active{display:block;animation:secIn .7s cubic-bezier(.22,1,.36,1) both}
@keyframes secIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.wrap{max-width:1240px;margin:0 auto;padding:0 2.5rem}
.sec{padding:6rem 2.5rem}

/* ── HERO ── */
.hero{min-height:92vh;display:flex;flex-direction:column;justify-content:flex-end;
  padding:0 2.5rem 5.5rem;position:relative;overflow:hidden}
.hero-ghost{position:absolute;right:-1%;bottom:-6%;
  font-family:'Bebas Neue','Oswald',sans-serif;
  font-size:clamp(140px,22vw,360px);font-weight:400;
  color:transparent;-webkit-text-stroke:1px rgba(205,222,250,.07);line-height:.85;letter-spacing:-.03em;
  pointer-events:none;user-select:none;z-index:0}
.hero-label{font-size:10px;letter-spacing:.55em;text-transform:uppercase;color:var(--ice);
  margin-bottom:2rem;display:flex;align-items:center;gap:.75rem;
  position:relative;z-index:1;opacity:0;transform:translateY(14px)}
.hero-label::before{content:'';display:block;width:28px;height:1px;background:var(--ice)}
.hero-h1{font-family:'Bebas Neue','Oswald',sans-serif;
  font-size:clamp(72px,11vw,160px);
  line-height:.9;letter-spacing:.02em;color:var(--txt);
  position:relative;z-index:1;margin-bottom:2rem;
  opacity:0;transform:translateY(18px)}
.hero-h1 .y{color:var(--ice);text-shadow:0 0 28px rgba(190,212,255,.4)}
.hero-h1 .yl{color:var(--y);text-shadow:0 0 28px rgba(255,230,0,.35)}
.hero-h1 .outline{color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.38)}
.hero-sub{font-size:16px;color:var(--w60);line-height:1.75;max-width:440px;
  margin-bottom:3rem;position:relative;z-index:1;opacity:0;transform:translateY(14px)}
.hero-acts{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap;
  position:relative;z-index:1;opacity:0;transform:translateY(14px)}
.hero-scr{position:absolute;right:2.5rem;bottom:5rem;display:flex;flex-direction:column;
  align-items:center;gap:.75rem;z-index:1}
.hero-scr-line{width:1px;height:56px;background:linear-gradient(to bottom,rgba(205,222,250,.55),transparent);
  animation:scrollPulse 2.4s ease-in-out infinite}
.hero-scr-txt{writing-mode:vertical-rl;font-size:8px;letter-spacing:.35em;text-transform:uppercase;
  color:var(--w35);transform:rotate(180deg)}

/* ── HERO SECTION OVERLAYS ── */
#booking .hero::before,#work .hero::before,#academy .hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0}
#booking .hero::before{background:radial-gradient(ellipse at 0% 100%,rgba(18,30,60,.5) 0%,transparent 55%)}
#work .hero::before{background:radial-gradient(ellipse at 5% 100%,rgba(14,24,50,.55) 0%,transparent 55%)}
#academy .hero::before{background:radial-gradient(ellipse at 2% 85%,rgba(16,26,52,.5) 0%,transparent 52%)}

/* ── BUTTONS ── */
.btn{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.3em;
  text-transform:uppercase;cursor:pointer;transition:all .22s;border:none;text-decoration:none}
.btn-y{background:var(--y);color:#000;padding:.9rem 2.75rem;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 16px),calc(100% - 12px) 100%,0 100%,0 16px)}
.btn-y:hover{box-shadow:0 0 32px rgba(255,230,0,.4);transform:translateY(-1px)}

.btn-cta{display:inline-block;border:1.5px solid var(--y);color:var(--y);
  padding:.9rem 2.5rem;background:none;text-decoration:none;
  transition:background .2s,color .2s,box-shadow .2s}
.btn-cta:hover{background:var(--y);color:#000;box-shadow:0 0 32px rgba(255,230,0,.35)}

.coin-btn{display:inline-flex;align-items:center;gap:1.1rem;cursor:pointer;text-decoration:none}
.coin-btn-face{width:62px;height:62px;border-radius:50%;flex:none;
  display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;
  background:radial-gradient(circle at 36% 30%,#FFF385 0%,#FFE600 48%,#C4AF00 100%);
  box-shadow:0 0 0 2px rgba(255,230,0,.35),inset 0 1px 0 rgba(255,255,255,.55),0 8px 26px rgba(0,0,0,.7);
  animation:coinSpin 4.5s cubic-bezier(.4,0,.2,1) infinite;transition:box-shadow .25s}
.coin-btn:hover .coin-btn-face{animation-play-state:paused;
  box-shadow:0 0 34px rgba(255,230,0,.55),0 0 0 2px rgba(255,230,0,.6),inset 0 1px 0 rgba(255,255,255,.55)}
.coin-btn-txt{font-size:11px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;
  color:var(--y);border-bottom:1px solid rgba(255,230,0,.4);padding-bottom:3px;transition:color .2s,border-color .2s}
.coin-btn:hover .coin-btn-txt{color:#fff;border-color:#fff}
@media(max-width:600px){.coin-btn-face{width:54px;height:54px}}
.btn-o{border:1px solid rgba(205,222,250,.35);color:var(--ice);padding:.85rem 2.5rem;background:none}
.btn-o:hover{background:var(--y);border-color:var(--y);color:#000}
.btn-g{border:1px solid var(--w12);color:var(--w60);padding:.8rem 1.75rem;background:none;font-size:10px}
.btn-g:hover{background:var(--y);border-color:var(--y);color:#000}
.btn-dis{display:inline-block;padding:.9rem 2.75rem;border:1px solid var(--w06);
  color:var(--w35);font-size:11px;letter-spacing:.25em;text-transform:uppercase;cursor:not-allowed}

/* ── REVEAL ── */
.rv{opacity:0;transform:translateY(22px);transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .72s cubic-bezier(.22,1,.36,1)}
.rv.on{opacity:1;transform:translateY(0)}
.d1{transition-delay:.07s}.d2{transition-delay:.14s}.d3{transition-delay:.21s}
.d4{transition-delay:.28s}.d5{transition-delay:.35s}

/* ── SECTION HEADER ── */
.s-label{font-size:9px;letter-spacing:.55em;text-transform:uppercase;color:var(--ice);
  display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}
.s-label::before{content:'';display:block;width:22px;height:1px;background:var(--ice)}
.s-hdr{display:flex;align-items:center;gap:1.25rem;margin-bottom:3rem}
.s-num{font-size:9px;letter-spacing:.35em;color:var(--w35)}
.s-ttl{font-family:'Bebas Neue','Oswald',sans-serif;font-size:28px;letter-spacing:.22em;color:var(--txt)}
.s-line{flex:1;height:1px;background:var(--w06);transform:scaleX(0);transform-origin:left;transition:transform .7s}
.s-line.on{transform:scaleX(1)}
/* Comet divider — a fading trail with a glowing head */
.div{border:none;height:1px;position:relative;
  background:linear-gradient(90deg,rgba(205,222,250,.45),rgba(205,222,250,.1) 45%,rgba(255,255,255,.03))}
.div::before{content:'';position:absolute;left:0;top:-2.5px;width:6px;height:6px;border-radius:50%;
  background:var(--ice);box-shadow:0 0 12px rgba(190,212,255,.9)}

/* ── STEPS ── */
.steps{display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.steps::before{content:'';position:absolute;top:18px;left:8%;right:8%;height:1px;background:var(--w06)}
.step{display:flex;flex-direction:column;gap:.9rem;padding-right:1.5rem}
.step-dot{width:40px;height:40px;border-radius:50%;border:1px solid rgba(205,222,250,.45);
  display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:.1em;
  color:rgba(205,222,250,.85);background:var(--bg);position:relative;z-index:1;flex-shrink:0;
  transition:background .25s,color .25s}
.step:hover .step-dot{background:var(--ice);color:#000;font-weight:700}
.step-ttl{font-size:15px;font-weight:500;color:var(--txt);margin-top:.4rem}
.step-dsc{font-size:12px;color:var(--w35);line-height:1.65}

/* ── MAP ── */
#map{height:520px;width:100%}
.map-wrap{border:1px solid var(--w06);overflow:hidden}
.leaflet-popup-content-wrapper{background:#080C16!important;border:1px solid rgba(205,222,250,.25)!important;
  border-radius:2px!important;color:var(--txt)!important;box-shadow:0 12px 48px rgba(0,0,0,.95)!important}
.leaflet-popup-tip-container{display:none}
.leaflet-popup-content{margin:14px 18px!important}
.popup-n{font-size:13px;font-weight:700;color:var(--txt);margin-bottom:4px;letter-spacing:.05em}
.popup-a{font-size:11px;color:var(--w35);margin-bottom:10px}
.popup-btn{font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ice);border-bottom:1px solid rgba(205,222,250,.3);padding-bottom:2px;margin-right:1.25rem}
.popup-btn:hover{color:#fff}
.leaflet-control-zoom a{background:#0C111D!important;color:var(--ice)!important;border:1px solid var(--w06)!important}
.leaflet-control-attribution{display:none!important}

/* 3D coin marker — spins to the edge (90°) and continues from -90°,
   so the mirrored side (90°–270°) is never shown */
@keyframes coinSpin{
  0%{transform:rotateY(0deg)}
  22.5%{transform:rotateY(90deg)}
  22.51%{transform:rotateY(-90deg)}
  45%,100%{transform:rotateY(0deg)}
}
.ex-coin{width:52px;height:52px;animation:coinSpin 4.5s cubic-bezier(.4,0,.2,1) infinite;
  cursor:pointer;filter:drop-shadow(0 4px 16px rgba(0,0,0,.9))}
.ex-coin:hover{animation-play-state:paused;filter:drop-shadow(0 0 14px rgba(205,222,250,.6))}
.ex-coin-face{width:52px;height:52px;border-radius:50%;
  background:radial-gradient(circle at 36% 30%,#4a4a4a 0%,#1e1e1e 45%,#0a0a0a 100%);
  box-shadow:0 0 0 2px #333,0 0 0 3.5px #555,inset 0 1px 0 rgba(255,255,255,.15),0 6px 20px rgba(0,0,0,.95);
  display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.ex-coin-face::before{content:'';position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(rgba(255,255,255,.06) 0deg,rgba(255,255,255,.12) 60deg,rgba(255,255,255,.02) 120deg,
    rgba(255,255,255,.09) 180deg,rgba(255,255,255,.02) 240deg,rgba(255,255,255,.07) 300deg,rgba(255,255,255,.06) 360deg)}

/* ── LOCATION CARDS ── */
.locs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--w06)}
.loc-card{background:var(--bg2);display:flex;flex-direction:column;cursor:pointer;
  border-top:2px solid transparent;transition:background .3s,border-color .3s}
.loc-card:hover{background:var(--bg3);border-top-color:var(--ice)}
.loc-photo{height:220px;position:relative;overflow:hidden;
  background:repeating-linear-gradient(126deg,var(--bg3) 0 16px,rgba(205,222,250,.02) 16px 17px);
  display:flex;align-items:center;justify-content:center}
.loc-photo-num{font-family:'Bebas Neue','Oswald',sans-serif;font-size:130px;
  color:rgba(205,222,250,.06);line-height:1;position:absolute;transition:transform .5s,color .4s}
.loc-card:hover .loc-photo-num{transform:scale(1.08);color:rgba(205,222,250,.1)}
.loc-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:grayscale(1) brightness(.85);transition:transform .6s cubic-bezier(.22,1,.36,1),filter .5s}
.loc-card:hover .loc-img{transform:scale(1.06);filter:grayscale(0) brightness(.98)}
.loc-photo::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,transparent 35%,transparent 60%,rgba(0,0,0,.45) 100%)}
.loc-tag{z-index:2}
.photo-block{position:relative;overflow:hidden;border:1px solid var(--w06)}
.photo-block img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.88);transition:filter .6s}
.photo-block:hover img{filter:grayscale(0) brightness(.95)}
.photo-block::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.2) 0%,transparent 40%,transparent 65%,rgba(0,0,0,.5) 100%)}
.loc-tag{position:absolute;top:1rem;left:1rem;font-size:9px;letter-spacing:.2em;
  text-transform:uppercase;color:#000;background:var(--ice);padding:3px 9px;font-weight:700}
.loc-body{padding:1.75rem;display:flex;flex-direction:column;gap:.7rem;flex:1}
.loc-name{font-family:'Bebas Neue','Oswald',sans-serif;font-size:28px;letter-spacing:.04em;color:var(--txt)}
.loc-addr{font-size:13px;color:var(--w35)}
.loc-cta{margin-top:auto;display:block;width:100%;padding:.9rem;text-align:center;
  border:1px solid rgba(255,230,0,.35);font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--y);font-weight:700;cursor:pointer;transition:all .22s;background:none}
.loc-cta:hover{background:var(--y);color:#000;border-color:var(--y);box-shadow:0 0 24px rgba(255,230,0,.25)}
.loc-cta-dis{margin-top:auto;display:block;width:100%;padding:.9rem;text-align:center;
  border:1px solid var(--w06);font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--w35);cursor:not-allowed}

/* ── STATS ── */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--w06)}
.stat{background:var(--bg2);display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2.75rem 1rem;transition:background .3s}
.stat:hover{background:var(--bg3)}
.stat-n{font-family:'Bebas Neue','Oswald',sans-serif;font-size:76px;color:var(--ice);line-height:1;transition:text-shadow .3s}
.stat:hover .stat-n{text-shadow:0 0 44px rgba(205,222,250,.5)}
.stat-l{font-size:9px;letter-spacing:.35em;text-transform:uppercase;color:var(--w35)}

/* ── WORK GALLERY MARQUEE ── */
.wk-mq{position:relative;overflow:hidden;border-top:1px solid var(--w06);border-bottom:1px solid var(--w06);
  background:var(--bg2)}
.wk-mq::before,.wk-mq::after{content:'';position:absolute;top:0;bottom:0;width:110px;z-index:2;pointer-events:none}
.wk-mq::before{left:0;background:linear-gradient(90deg,var(--bg),transparent)}
.wk-mq::after{right:0;background:linear-gradient(-90deg,var(--bg),transparent)}
.wk-track{display:flex;gap:1px;width:max-content;animation:mqX 42s linear infinite;will-change:transform}
.wk-mq:hover .wk-track{animation-play-state:paused}
@keyframes mqX{to{transform:translateX(-50%)}}
.wk-item{width:min(380px,74vw);height:255px;flex-shrink:0;position:relative;overflow:hidden;cursor:pointer}
.wk-item img{width:100%;height:100%;object-fit:cover;
  filter:grayscale(1) brightness(.72);
  transition:filter .5s ease,transform .65s cubic-bezier(.22,1,.36,1)}
.wk-item:hover img{filter:grayscale(0) brightness(.95);transform:scale(1.06)}
.wk-item::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.15),transparent 40%,transparent 70%,rgba(0,0,0,.45));
  transition:opacity .4s}
.wk-item:hover::after{opacity:.4}
.wk-cap{position:absolute;left:1rem;bottom:.9rem;z-index:1;font-size:9px;letter-spacing:.3em;
  text-transform:uppercase;color:rgba(255,255,255,.55);transition:color .3s}
.wk-item:hover .wk-cap{color:var(--ice)}
@media(max-width:600px){.wk-item{height:200px}.wk-mq::before,.wk-mq::after{width:50px}}

/* ── PATH CHOOSER ── */
.paths{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--w06)}
.path-c{background:var(--bg2);padding:3rem;display:flex;flex-direction:column;gap:1rem;
  cursor:pointer;transition:background .3s;border-bottom:2px solid transparent}
.path-c:hover{background:var(--bg3);border-bottom-color:var(--ice)}
.path-tag{font-size:9px;letter-spacing:.45em;text-transform:uppercase;color:rgba(205,222,250,.5)}
.path-ttl{font-family:'Bebas Neue','Oswald',sans-serif;font-size:clamp(26px,3.5vw,48px);letter-spacing:.03em;color:var(--w60)}
.path-c:hover .path-ttl{color:var(--txt)}
.path-dsc{font-size:14px;color:var(--w35);line-height:1.7;max-width:34ch}
.path-cta{display:inline-flex;align-self:flex-start;font-size:10px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--txt);border:1px solid rgba(255,255,255,.3);padding:.6rem 1.2rem;margin-top:.5rem;
  transition:background .2s,color .2s,border-color .2s}
.path-c:hover .path-cta{background:var(--y);color:#000;border-color:var(--y)}

/* ── PAIN/BENEFIT ── */
.pb{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--w06)}
.pi{display:flex;gap:1rem;padding:1.25rem 1.5rem;background:var(--bg2)}
.pd{color:rgba(150,165,195,.6);font-size:18px;line-height:1;margin-top:1px;flex-shrink:0;font-weight:700}
.bi{display:flex;gap:1rem;padding:1.25rem 1.5rem;background:var(--bg2);border-left:2px solid rgba(205,222,250,.3)}
.bc{color:var(--ice);font-size:13px;line-height:1.4;flex-shrink:0;font-weight:700}
.pb-txt{font-size:13px;color:var(--w60);line-height:1.65}

/* ── TABLE ── */
.tbl{border:1px solid var(--w06)}
.tbl-r{display:flex;gap:2rem;padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.03);transition:background .2s}
.tbl-r:last-child{border-bottom:none}
.tbl-r:hover{background:rgba(255,255,255,.02)}
.tbl-k{font-size:12px;color:var(--w35);width:160px;flex-shrink:0}
.tbl-v{font-size:13px;color:var(--w60)}

/* ── PROCESS ── */
.proc{display:flex;flex-direction:column}
.ps{display:flex;gap:1.5rem}
.pl{display:flex;flex-direction:column;align-items:center}
.pc{width:38px;height:38px;border-radius:50%;border:1px solid rgba(205,222,250,.35);
  display:flex;align-items:center;justify-content:center;font-size:11px;color:rgba(205,222,250,.6);
  flex-shrink:0;background:var(--bg)}
.pln{width:1px;flex:1;min-height:40px;background:rgba(205,222,250,.1)}
.pct{padding:4px 0 2.5rem}
.pt{font-size:14px;font-weight:500;color:var(--w60);margin-bottom:4px}
.pd2{font-size:13px;color:var(--w35);line-height:1.65}

/* ── VALUES ── */
.vals{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--w06)}
.val-c{background:var(--bg2);padding:2rem;display:flex;flex-direction:column;gap:.6rem;
  border-left:2px solid transparent;transition:background .25s,border-color .25s}
.val-c:hover{background:var(--bg3);border-left-color:var(--ice)}
.val-t{font-family:'Bebas Neue','Oswald',sans-serif;font-size:22px;letter-spacing:.05em;color:var(--txt)}
.val-d{font-size:13px;color:var(--w35);line-height:1.65}

/* ── ACADEMY CARDS ── */
.aca{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--w06)}
.ac-c{background:var(--bg2);padding:2.5rem;display:flex;flex-direction:column;gap:1rem;
  cursor:pointer;transition:background .3s;border-bottom:2px solid transparent}
.ac-c:hover{background:var(--bg3);border-bottom-color:var(--ice)}
.ac-n{font-size:9px;letter-spacing:.35em;color:rgba(205,222,250,.3)}
.ac-t{font-family:'Bebas Neue','Oswald',sans-serif;font-size:30px;letter-spacing:.04em;color:var(--w60);transition:color .25s}
.ac-c:hover .ac-t{color:var(--ice)}
.ac-d{font-size:13px;color:var(--w35);line-height:1.65;flex:1}
.ac-s{font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:rgba(205,222,250,.4);transition:color .25s,letter-spacing .25s}
.ac-c:hover .ac-s{color:var(--ice);letter-spacing:.32em}

/* ── BIG STATEMENT ── */
.big-s{padding:7rem 2.5rem;display:flex;flex-direction:column;gap:1.5rem}
.big-t{font-family:'Bebas Neue','Oswald',sans-serif;font-size:clamp(48px,7vw,110px);
  line-height:1;letter-spacing:.01em;color:var(--txt);max-width:18ch}
.big-t .y{color:var(--y);text-shadow:0 0 32px rgba(255,230,0,.35)}

/* ── FAQ ── */
.faq{border:1px solid var(--w06)}
.fq-i{border-bottom:1px solid rgba(255,255,255,.03)}
.fq-i:last-child{border-bottom:none}
.fq-q{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;
  cursor:pointer;transition:background .2s}
.fq-q:hover{background:rgba(255,255,255,.02)}
.fq-qt{font-size:14px;font-weight:500;color:var(--w60);flex:1}
.fq-t{font-size:20px;color:var(--w35);transition:transform .3s,color .2s;flex-shrink:0;margin-left:1rem}
.fq-i.open .fq-t{transform:rotate(45deg);color:var(--ice)}
.fq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.fq-i.open .fq-a{max-height:200px}
.fq-at{font-size:13px;color:var(--w35);line-height:1.75;padding:0 1.5rem 1.25rem}

/* ── PHOTO PH ── */
.pph{background:repeating-linear-gradient(126deg,var(--bg2) 0 18px,rgba(255,255,255,.015) 18px 19px);
  border:1px solid var(--w06);display:flex;align-items:center;justify-content:center;
  font-size:9px;letter-spacing:.4em;text-transform:uppercase;color:rgba(255,255,255,.14)}
.pph-sm{height:230px}.pph-lg{height:400px}

/* ── NEWS GRID ── */
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--w06)}

/* ── AB GRID ── */
.ab{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--w06)}
.ab-c{background:var(--bg2);padding:2rem;transition:background .25s}
.ab-c:hover{background:var(--bg3)}
.ab-l{font-size:9px;letter-spacing:.4em;text-transform:uppercase;color:var(--ice);margin-bottom:.75rem;display:block}
.ab-t{font-size:14px;color:var(--w60);line-height:1.75}

/* ── BRIDGE ── */
.bridge{border-top:1px solid var(--w06);padding:3rem 2.5rem;
  display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;
  background:var(--bg2)}
.bridge-l{font-size:9px;letter-spacing:.45em;text-transform:uppercase;color:var(--w35)}
.bridge-t{font-family:'Bebas Neue','Oswald',sans-serif;font-size:clamp(22px,3vw,38px);
  letter-spacing:.04em;color:var(--w60);margin-top:.4rem}
.bridge-btn{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--txt);
  border:1px solid rgba(255,255,255,.35);background:none;padding:1rem 2.25rem;cursor:pointer;
  transition:background .2s,color .2s,border-color .2s}
.bridge-btn:hover{background:var(--y);color:#000;border-color:var(--y)}

/* ── QUOTE ── */
.quote{font-family:'Bebas Neue','Oswald',sans-serif;font-size:clamp(22px,3.5vw,52px);
  letter-spacing:.04em;color:var(--w60);margin-bottom:3rem;max-width:700px;
  line-height:1.1;border-left:3px solid var(--ice);padding-left:2rem}

/* ── FOOTER ── */
footer{border-top:1px solid var(--w06);padding:3rem 2.5rem;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;
  background:var(--bg2)}
.ft-brand{display:flex;flex-direction:column;gap:6px}
.ft-ex{font-family:'Bebas Neue','Oswald',sans-serif;font-size:26px;letter-spacing:.08em;
  color:rgba(255,255,255,.4)}
.ft-sub{font-size:8px;letter-spacing:.45em;text-transform:uppercase;color:rgba(255,255,255,.18)}
.ft-links{display:flex;gap:2.25rem;justify-content:center}
.ft-link{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--w35);cursor:pointer;transition:color .2s}
.ft-link:hover{color:var(--ice)}
.ft-meta{display:flex;flex-direction:column;gap:5px;align-items:flex-end}
.ft-ig{font-size:10px;letter-spacing:.08em;color:rgba(255,255,255,.2);cursor:pointer;transition:color .2s}
.ft-ig:hover{color:var(--ice)}
.ft-copy{font-size:10px;color:rgba(255,255,255,.1)}

/* ══════════════════════════════════════
   MONO TECH LABELS (IBM Plex Mono)
   ══════════════════════════════════════ */
.h-brand-sub,.h-lang-btn,.nav-lang-btn,.home-hint-txt,.panel-num,.panel-sub,.panel-cta,
.nav-link,.hero-label,.hero-scr-txt,.s-label,.s-num,.step-dot,.loc-tag,.loc-addr,.stat-l,
.path-tag,.path-cta,.ac-n,.ac-s,.ab-l,.bridge-l,.wk-cap,.ft-sub,.ft-copy,.ld-txt,
.btn,.btn-dis,.popup-btn{font-family:'IBM Plex Mono',monospace}
.hero-label,.s-label{letter-spacing:.32em}
.ld-txt,.h-brand-sub,.ft-sub{letter-spacing:.34em}
.panel-num,.home-hint-txt,.bridge-l,.path-tag{letter-spacing:.3em}
.stat-l{letter-spacing:.24em}
.btn{letter-spacing:.18em;font-weight:500}

/* ══════════════════════════════════════
   3D TILT CARDS
   ══════════════════════════════════════ */
.tilt3d{transition:transform .18s ease-out;transform-style:preserve-3d;position:relative}
.tilt3d::before{content:'';position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;
  transition:opacity .35s;
  background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(205,222,250,.09),transparent 55%)}
.tilt3d:hover::before{opacity:1}

/* ══════════════════════════════════════
   WEBGL 3D LOGO
   ══════════════════════════════════════ */
#gl{position:fixed;inset:0;z-index:8001;pointer-events:none;opacity:0;transition:opacity .9s}
#gl.show{opacity:1}
#gl.bg{z-index:1}



.loc-park{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.park-dots{display:inline-flex;gap:4px;align-items:center}
.park-dots i{width:7px;height:7px;border-radius:50%;display:block;
  border:1px solid rgba(205,222,250,.30);background:transparent}
.park-dots i.on{background:var(--ice);border-color:var(--ice)}
.park-txt{font-size:11.5px;color:var(--w35);letter-spacing:.01em}
.locs-legend{margin-top:1.25rem;font-size:11px;letter-spacing:.02em;
  color:rgba(255,255,255,.25);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}

/* ── FOOTER v2 ── */
.ft-links{flex-wrap:wrap;gap:1.6rem}
.ft-contacts{display:flex;align-items:center;gap:.55rem}
.ft-dot{color:rgba(255,255,255,.14);font-size:11px}
.ft-addrs{display:flex;flex-direction:column;gap:2px;margin-top:10px}
.ft-addr{font-size:11.5px;color:rgba(255,255,255,.22);letter-spacing:.02em}
.ft-priv{font-size:10px;letter-spacing:.05em;color:rgba(255,255,255,.2);cursor:pointer;
  margin-top:12px;text-decoration:underline;text-underline-offset:3px;transition:color .2s}
.ft-priv:hover{color:var(--ice)}

/* ── MOBILE BOTTOM NAV ── */
#mnav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:130;
  grid-template-columns:repeat(3,1fr);background:rgba(6,7,10,.95);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  border-top:1px solid var(--w06);
  padding:.45rem .25rem calc(.45rem + env(safe-area-inset-bottom,0px))}
.mnav-i{display:flex;flex-direction:column;align-items:center;gap:5px;padding:.4rem 0;
  cursor:pointer;color:var(--w35);transition:color .2s;position:relative}
.mnav-i span{font-size:9px;letter-spacing:.16em;text-transform:uppercase;line-height:1}
.mnav-i svg{width:17px;height:17px;display:block;fill:none;stroke:currentColor;stroke-width:1.6}
.mnav-i.active{color:var(--y)}
.mnav-i.active::before{content:'';position:absolute;top:-.45rem;left:26%;right:26%;height:2px;background:var(--y)}


.lead-ov{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;
  padding:1.25rem;background:rgba(0,0,0,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.lead-ov.on{display:flex}
.lead-mod{position:relative;width:100%;max-width:430px;max-height:92vh;overflow-y:auto;
  background:var(--bg2);border:1px solid var(--w06);padding:2.25rem 1.75rem 1.75rem}
.lead-x{position:absolute;top:.9rem;right:1rem;background:none;border:none;color:var(--w35);
  font-size:24px;line-height:1;cursor:pointer;transition:color .2s}
.lead-x:hover{color:var(--txt)}
.lead-ttl{font-family:'Bebas Neue','Oswald',sans-serif;font-size:30px;letter-spacing:.04em;
  color:var(--txt);display:block}
.lead-sub{font-size:12.5px;color:var(--w35);margin:.35rem 0 1.5rem;line-height:1.6}
.lead-l{display:block;font-size:9px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,255,255,.28);margin:1.1rem 0 .6rem}
.lead-l:first-of-type{margin-top:0}
.lead-in{width:100%;background:var(--bg3);border:1px solid var(--w06);color:var(--txt);
  font-family:inherit;font-size:13.5px;padding:.85rem .9rem;margin-bottom:.6rem;outline:none;
  transition:border-color .2s;-webkit-appearance:none;appearance:none;border-radius:0}
.lead-in:focus{border-color:var(--ice)}
.lead-in::placeholder{color:rgba(255,255,255,.25)}
select.lead-in{cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,rgba(255,255,255,.35) 50%),linear-gradient(135deg,rgba(255,255,255,.35) 50%,transparent 50%);
  background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:2.2rem}
.lead-in option{background:var(--bg2);color:var(--txt)}
.lead-phone{display:grid;grid-template-columns:104px 1fr;gap:.6rem}
.lead-phone .lead-in{margin-bottom:.6rem}
.lead-chk{display:flex;gap:.6rem;align-items:flex-start;font-size:11.5px;color:var(--w35);
  line-height:1.55;margin:.9rem 0 1.4rem;cursor:pointer}
.lead-chk input{margin-top:2px;flex:none;accent-color:var(--y);width:14px;height:14px}
.lead-btn{width:100%;padding:1rem;border:none;background:var(--y);color:#000;font-family:inherit;
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;cursor:pointer;
  transition:box-shadow .2s,transform .2s}
.lead-btn:hover{box-shadow:0 0 28px rgba(255,230,0,.3);transform:translateY(-1px)}
.lead-note{font-size:10px;color:rgba(255,255,255,.2);margin-top:.9rem;line-height:1.6;text-align:center}
.lead-done{text-align:center;padding:1.5rem 0 .5rem}
.lead-done-i{width:52px;height:52px;border:1px solid var(--y);border-radius:50%;color:var(--y);
  display:flex;align-items:center;justify-content:center;font-size:24px;margin:0 auto 1.1rem}
.lead-done p{font-size:13.5px;color:var(--w60);line-height:1.7}

/* ══════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════ */
@media(max-width:960px){
  .home-panels{flex-direction:column}
  .home-panel{flex:none!important;min-height:33.33vh;border-right:none;border-bottom:1px solid var(--w06)}
  .stats{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}.steps::before{display:none}
  .locs{grid-template-columns:1fr 1fr}
  .vals{grid-template-columns:1fr 1fr}
  .aca{grid-template-columns:1fr 1fr}
  .paths{grid-template-columns:1fr}
  .pb{grid-template-columns:1fr}
  footer{grid-template-columns:1fr;text-align:center}.ft-meta{align-items:center}
}
@media(max-width:600px){
  .home-top{padding:1.25rem 1.5rem}
  .panel-content{margin:0 .75rem 1.25rem;padding:1.25rem 1.25rem 1.5rem}
  .hero{padding:0 1.5rem 4rem}
  .wrap,.sec{padding-left:1.5rem;padding-right:1.5rem}
  .locs{grid-template-columns:1fr}
  .aca{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  .vals{grid-template-columns:1fr 1fr}
  .news{grid-template-columns:1fr 1fr}
  .ab{grid-template-columns:1fr}
  footer{grid-template-columns:1fr}
  .hero-scr{display:none}
  .bridge{flex-direction:column;gap:1.25rem}
  nav .nav-links{display:none}
  #map{height:400px}
  .ex-coin,.ex-coin-face{width:40px;height:40px}
  .ex-coin-face svg{height:15px}
  .stat-n{font-size:52px}
  .loc-photo-num{font-size:90px}
  .panel-ghost{font-size:110px}
  .hero-ghost{font-size:120px}
  .hero-h1{font-size:clamp(44px,14vw,64px)}
}

@media(max-width:600px){
  #mnav{display:grid}
  body{padding-bottom:0}
  footer{padding-bottom:6.5rem}
  
  #locs{display:flex;flex-direction:column}
  #locs>.s-label{order:1}
  #locs>.locs{order:2}
  #locs>.map-wrap{order:3;margin-bottom:0!important;margin-top:2.25rem}
  #locs>.locs-legend{order:4}
  .lead-mod{padding:2rem 1.35rem 1.5rem}
}
@media(max-width:380px){
  #map{height:340px}
  .stat-n{font-size:44px}
  .hero-h1{font-size:40px;overflow-wrap:break-word}
}


html,body{overflow-x:hidden;overflow-x:clip}

/* ══ MOBILE POLISH (18.08.2026) ══ */
@media(max-width:960px){
  #home{background:var(--bg)}
  .home-panels{flex-direction:column;overflow:hidden}
  .home-panel{flex:1 1 0!important;min-height:0;border-right:none;border-bottom:1px solid var(--w06)}
  .panel-ghost{font-size:min(96px,26vw)}
  .panel-num{top:.9rem}
  .panel-content{margin:0 .9rem .9rem;padding:1rem 1.15rem 1.1rem;gap:.45rem}
  .panel-title{font-size:clamp(22px,6.6vw,40px)!important;white-space:normal;overflow:visible;text-overflow:clip}
  .panel-cta{padding:.55rem 1.1rem;margin-top:.25rem}
}
@media(hover:none){
  .home-hint{display:none}
}

@media(max-width:960px) and (max-height:520px) and (orientation:landscape){
  .home-panels{flex-direction:row}
  .home-panel{border-bottom:none;border-right:1px solid var(--w06)}
  .home-panel:last-child{border-right:none}
  .panel-title{font-size:clamp(16px,2.9vw,26px)!important}
  .panel-content{margin:0 .6rem .7rem;padding:.7rem .9rem .8rem;gap:.3rem}
  .panel-cta{padding:.45rem .8rem;margin-top:.15rem}
  .panel-ghost{font-size:70px}
  .panel-num{top:.6rem}
}
@media(max-width:600px){
  footer{padding-bottom:calc(9rem + env(safe-area-inset-bottom,0px))!important}
  .home-top{padding:1.1rem 1.5rem}
  .hero-acts{flex-wrap:nowrap;gap:.55rem}
  .hero-acts .btn-g{flex:1 1 0;text-align:center;padding:.8rem 0;font-size:10px;letter-spacing:.16em;white-space:nowrap}
}

/* ---- layout: intro overlay + pages ---- */
#home{position:fixed;inset:0;z-index:200;overflow:hidden}
body.is-home{overflow:hidden;height:100vh}
body.is-home #mnav{display:none}   
.no-ov #home,.no-ov #loader{display:none!important}
.h-right{display:flex;align-items:center;gap:1.25rem}
.ov-x{width:38px;height:38px;border:1px solid rgba(255,255,255,.35);background:rgba(4,6,13,.5);color:#fff;font-size:26px;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s,border-color .2s;flex:none}
.ov-x:hover{background:var(--y);color:#000;border-color:var(--y)}
@media(max-width:600px){.ov-x{width:34px;height:34px;font-size:22px}.h-right{gap:.75rem}}
#home .home-vid{position:absolute;inset:0}
a.home-panel{text-decoration:none;color:inherit}
.home-h1{font-family:'Space Grotesk','Onest',sans-serif;font-weight:400;font-size:9px;letter-spacing:.34em;
  text-transform:uppercase;color:var(--w60);text-align:center;line-height:1.6;margin:0 1.5rem;flex:1}
@media(max-width:700px){
  .home-top{flex-wrap:wrap;row-gap:.6rem}
  .home-h1{order:3;flex:1 1 100%;margin:0;text-align:left;font-size:8px}
}

section{display:block}
main{position:relative;z-index:1}
nav{z-index:150}
/* nav */
.nav-link,.ft-link{text-decoration:none}
.nav-lang a,.h-lang a{text-decoration:none;display:inline-block}
.nav-lang-btn.active,.h-lang-btn.active{cursor:default}
/* breadcrumbs */
.crumbs{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-size:10px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--w35);position:relative;z-index:1;margin-bottom:1.5rem;
  opacity:0;transform:translateY(14px)}
.crumbs a{color:var(--w60);text-decoration:none}
.crumbs a:hover{color:var(--ice)}
.crumbs i{font-style:normal;color:var(--w12)}
/* rebrand note */
.formerly{font-size:11px;letter-spacing:.08em;color:var(--w35);line-height:1.6}
.formerly a{color:var(--w60);text-decoration:none;border-bottom:1px solid var(--w12)}
.formerly a:hover{color:var(--ice)}
.ft-formerly{margin-top:.5rem}
/* location page */
.loc-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}
.fact{border:1px solid var(--w06);padding:1.25rem 1.35rem;background:var(--w03)}
.fact-l{display:block;font-size:9px;letter-spacing:.35em;text-transform:uppercase;color:var(--w35);margin-bottom:.6rem}
.fact-v{font-size:15px;color:var(--txt);line-height:1.5}
.fact-v a{color:var(--ice);text-decoration:none;border-bottom:1px solid rgba(205,222,250,.3)}
/* location gallery: horizontal filmstrip */
.gl-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.gl-head .s-label{margin-bottom:0}
.gl-tools{display:flex;align-items:center;gap:1rem}
.gl-count{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.2em;color:var(--w35)}
.gl-track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin-bottom:3rem;overscroll-behavior-x:contain}
.gl-track::-webkit-scrollbar{display:none}
.gl-track .photo-block{flex:0 0 auto;height:400px;aspect-ratio:3/2;scroll-snap-align:start;border:0}
.gl-track .photo-block.tall{aspect-ratio:2/3}
.gl-track .photo-block::after{background:linear-gradient(180deg,transparent 70%,rgba(0,0,0,.35) 100%)}
.gl-track .photo-block img{transition:transform .8s cubic-bezier(.22,1,.36,1)}
.gl-track .photo-block:hover img{transform:scale(1.04)}
@media(max-width:700px){.gl-track .photo-block{height:260px}.gl-track{gap:6px;margin-bottom:2rem}.gl-head .tm-nav{display:none}}
/* photos in colour */
.loc-img,.loc-card:hover .loc-img{filter:none}
.photo-block img,.photo-block:hover img{filter:none}
.tm-ph img,.tm-c:hover .tm-ph img{filter:none}
.loc-others{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
@media(max-width:600px){.loc-others{grid-template-columns:1fr}}
.loc-other{display:block;border:1px solid var(--w06);padding:1.35rem 1.5rem;text-decoration:none;color:var(--txt);
  background:var(--w03);transition:border-color .2s,background .2s}
.loc-other:hover{border-color:rgba(205,222,250,.3);background:var(--w06)}
.loc-other .loc-name{display:block;margin-bottom:.35rem}
.loc-other .loc-addr{display:block}
a.loc-name-link{color:inherit;text-decoration:none}
a.loc-name-link:hover{color:var(--ice)}
.loc-more{display:inline-block;align-self:flex-start;margin-top:.9rem;font-size:10px;letter-spacing:.25em;text-transform:uppercase;
  color:var(--ice);text-decoration:none;border-bottom:1px solid rgba(205,222,250,.3);padding-bottom:2px}
/* text blocks */
.txt{font-size:16px;color:var(--w60);line-height:1.75;max-width:640px;margin-bottom:1.5rem}
.txt strong{color:var(--txt);font-weight:500}
.txt a{color:var(--ice);text-decoration:none;border-bottom:1px solid rgba(205,222,250,.3)}
/* course cards */
a.ac-c{text-decoration:none;color:inherit;display:flex}
.ac-c .ac-s.link{color:var(--ice);border-color:rgba(205,222,250,.3)}
.course-list{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:1rem}
@media(max-width:700px){.course-list{grid-template-columns:1fr}}

.mnav-i{text-decoration:none}


/* hero on inner pages */
main .hero{padding-top:6.5rem}
.hero-h1.sm{font-size:clamp(48px,8vw,110px)}
@media(max-width:600px){.hero-h1.sm{font-size:clamp(40px,12vw,56px)}}

/* visually hidden */
.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media(max-width:700px){.home-top{flex-wrap:nowrap}}

/* ---- buttons ---- */
.btn-cta{background:var(--y);color:#000;border:1.5px solid var(--y);padding:1.05rem 2.9rem;font-size:12px;font-weight:700;
  box-shadow:0 0 30px rgba(255,230,0,.28)}
.btn-cta:hover{background:#fff;border-color:#fff;color:#000;box-shadow:0 0 36px rgba(255,255,255,.35)}
.btn-y{padding:1.05rem 3rem;font-size:12px;font-weight:700;box-shadow:0 0 30px rgba(255,230,0,.22)}
.btn-g{border:1.5px solid rgba(255,255,255,.45);color:#fff;font-weight:600;font-size:11px;padding:.9rem 1.9rem}
.btn-g:hover{background:#fff;border-color:#fff;color:#000}
.loc-cta{background:var(--y);color:#000;border:1.5px solid var(--y);font-weight:700;letter-spacing:.24em;padding:1rem}
.loc-cta:hover{background:#fff;border-color:#fff;color:#000;box-shadow:0 0 30px rgba(255,255,255,.3)}
.bridge-btn{background:var(--y);color:#000;border-color:var(--y);font-weight:700;padding:1.05rem 2.4rem}
.bridge-btn:hover{background:#fff;border-color:#fff;color:#000}
.bridge div .bridge-btn+.bridge-btn{background:none;color:#fff;border-color:rgba(255,255,255,.45)}
.bridge div .bridge-btn+.bridge-btn:hover{background:#fff;color:#000;border-color:#fff}
.panel-cta{border-color:rgba(255,230,0,.7);color:var(--y);font-weight:700}
.path-cta{border-color:rgba(255,255,255,.4);color:#fff}
.lead-btn{font-weight:700;font-size:12px;letter-spacing:.24em}
@media(max-width:600px){.hero-acts .btn-g{padding:.9rem 0}}
/* gallery marquee */
.wk-item img{filter:none}
.wk-item:hover img{filter:none}
.wk-mq:hover .wk-track{animation-play-state:running}
/* reviews */
.rv-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:2rem}
.rv-head>div:first-child{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}
.rv-head .s-label{margin-bottom:0}
.rv-badge{display:inline-flex;align-items:center;gap:.8rem;text-decoration:none;border:1px solid var(--w12);padding:.75rem 1.2rem;background:var(--w03);transition:border-color .2s}
.rv-badge:hover{border-color:var(--y)}
.rv-badge-n{font-family:'Bebas Neue','Oswald',sans-serif;font-size:34px;color:var(--y);line-height:1;text-shadow:0 0 20px rgba(255,230,0,.3)}
.rv-badge-s{color:var(--y);font-size:13px;letter-spacing:.12em}
.rv-badge-t{font-size:11px;color:var(--w60);letter-spacing:.06em}
.rv-locs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--w06);margin-bottom:1.5rem}
.rv-loc{background:var(--bg2);padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.35rem;text-decoration:none;transition:background .2s}
.rv-loc:hover{background:var(--bg3)}
.rv-loc-n{font-family:'Bebas Neue','Oswald',sans-serif;font-size:22px;letter-spacing:.06em;color:var(--txt);line-height:1}
.rv-loc-r{font-family:'Bebas Neue','Oswald',sans-serif;font-size:28px;color:var(--y);line-height:1}
.rv-loc-r i{font-style:normal;font-size:16px;vertical-align:.15em}
.rv-loc-c{font-size:10.5px;letter-spacing:.08em;color:var(--w35);text-transform:uppercase}
.rv-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px;margin:0 -2.5rem;padding-left:2.5rem;padding-right:2.5rem}
.rv-track::-webkit-scrollbar{display:none}
.rv-c{flex:0 0 340px;scroll-snap-align:start;background:var(--bg2);border:1px solid var(--w06);padding:2rem 1.75rem 1.5rem;display:flex;flex-direction:column;gap:.9rem;position:relative;overflow:hidden;transition:transform .35s cubic-bezier(.22,1,.36,1),border-color .25s}
.rv-c:hover{transform:translateY(-4px);border-color:rgba(255,230,0,.4)}
.rv-q{position:absolute;right:1.1rem;top:.2rem;font-family:'Bebas Neue','Oswald',sans-serif;font-size:110px;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,230,0,.35);pointer-events:none}
.rv-stars{color:var(--y);font-size:13px;letter-spacing:.18em}
.rv-t{font-size:15px;color:var(--txt);line-height:1.6;flex:1;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.rv-f{display:flex;align-items:center;gap:.8rem;padding-top:1rem;border-top:1px solid var(--w06)}
.rv-av{flex:none;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,230,0,.55);display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue','Oswald',sans-serif;font-size:18px;color:var(--y);background:rgba(255,230,0,.06)}
.rv-who{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.rv-n{font-size:13px;color:var(--txt);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv-meta{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--w35);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv-src{flex:none;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(205,222,250,.5);text-decoration:none;border:1px solid var(--w12);padding:.3rem .5rem;transition:color .2s,border-color .2s}
.rv-src:hover{color:var(--ice);border-color:rgba(205,222,250,.5)}
@media(max-width:700px){.rv-locs{grid-template-columns:1fr 1fr 1fr;gap:1px}.rv-loc{padding:.9rem .7rem}.rv-loc-n{font-size:17px}.rv-loc-r{font-size:24px}.rv-loc-c{font-size:8.5px;letter-spacing:.04em}.rv-head .tm-nav{display:none}.rv-track{margin:0 -1.5rem;padding-left:1.5rem;padding-right:1.5rem;gap:10px}.rv-c{flex-basis:290px;padding:1.6rem 1.35rem 1.25rem}.rv-badge-n{font-size:28px}}
/* earnings calculator */
.calc{display:grid;grid-template-columns:1.1fr 1fr;gap:1px;background:var(--w06);margin-top:2.5rem}
@media(max-width:900px){.calc{grid-template-columns:1fr}}
.calc-in,.calc-out{background:var(--bg2);padding:2.25rem}
.calc-f{display:block;margin-bottom:2rem}
.calc-f:last-child{margin-bottom:0}
.calc-l{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--w60);margin-bottom:.9rem}
.calc-l b{text-transform:none;font-family:'Bebas Neue','Oswald',sans-serif;font-size:26px;letter-spacing:.04em;color:var(--txt);font-weight:400}
.calc input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:2px;background:linear-gradient(90deg,var(--y) var(--p,50%),var(--w12) var(--p,50%));outline:none;cursor:pointer}
.calc input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--y);border:3px solid var(--bg2);box-shadow:0 0 0 1px var(--y),0 0 18px rgba(255,230,0,.45)}
.calc input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--y);border:3px solid var(--bg2);box-shadow:0 0 0 1px var(--y)}
.calc-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--w06)}
.calc-k{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--w35)}
.calc-v{font-family:'Bebas Neue','Oswald',sans-serif;font-size:24px;color:var(--ice);letter-spacing:.04em}
.calc-tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:1.25rem 0}
.calc-tier{border:1px solid var(--w06);padding:.8rem .6rem;text-align:center;display:flex;flex-direction:column;gap:.3rem;transition:border-color .25s,background .25s}
.calc-tier b{font-family:'Bebas Neue','Oswald',sans-serif;font-size:24px;font-weight:400;color:var(--w35);letter-spacing:.04em;transition:color .25s}
.calc-tier span{font-size:9.5px;letter-spacing:.06em;color:var(--w35);line-height:1.3}
.calc-tier.on{border-color:var(--y);background:rgba(255,230,0,.06)}
.calc-tier.on b{color:var(--y)}
.calc-tier.on span{color:var(--w60)}
.calc-pay{display:flex;flex-direction:column;gap:.4rem;margin:1.25rem 0 1.5rem}
.calc-big{font-family:'Bebas Neue','Oswald',sans-serif;font-size:clamp(44px,6vw,68px);color:var(--y);line-height:1;letter-spacing:.03em;text-shadow:0 0 32px rgba(255,230,0,.35)}
.calc-note{font-size:11px;color:var(--w35);line-height:1.6;margin-top:1.25rem}
@media(max-width:600px){.calc-in,.calc-out{padding:1.5rem}.calc-tiers{grid-template-columns:repeat(2,1fr);gap:.35rem}.calc-tier{padding:.6rem .3rem}}

/* footer: next page link */
.ft-next{grid-column:1/-1;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--w06);display:flex;justify-content:center;align-items:center;gap:.6rem;
  font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--w35);text-decoration:none;transition:color .2s}
.ft-next b{font-weight:500;color:var(--ice)}
.ft-next i{font-style:normal;color:var(--y);animation:nextPulse 1.6s ease-in-out infinite}
.ft-next:hover{color:var(--txt)}
@keyframes nextPulse{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}

/* map: dark theme for OSM tiles */
.leaflet-tile-pane{filter:grayscale(1) invert(1) brightness(.78) contrast(1.08)}
.leaflet-container{background:#0b0f18}
.leaflet-control-attribution{background:rgba(4,6,13,.75)!important;color:rgba(255,255,255,.45)!important;font-size:9px}
.leaflet-control-attribution a{color:rgba(205,222,250,.7)!important}

/* location hero: district · parking · phone */
.hero-meta{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.6rem .75rem;font-size:15px;color:var(--txt)}
.hero-meta i{font-style:normal;color:var(--w35)}
.hero-meta a{color:var(--ice);text-decoration:none;border-bottom:1px solid rgba(205,222,250,.3)}
.hero-meta a:hover{border-bottom-color:var(--ice)}
.hero-meta .loc-park{display:inline-flex;align-items:center;gap:.5rem}

/* barbers carousel */
.tm-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.75rem}
.tm-head .s-label{margin-bottom:.6rem}
.tm-sub{font-size:13px;color:var(--w35);max-width:420px;line-height:1.5}
.tm-nav{display:flex;gap:.5rem;flex:none}
.tm-btn{width:44px;height:44px;border:1px solid var(--w12);background:transparent;color:var(--ice);font-size:16px;cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.tm-btn:hover{border-color:var(--y);color:var(--y)}
.tm-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:4px 4px 8px;margin:-4px}
.tm-track::-webkit-scrollbar{display:none}
.tm-c{flex:0 0 250px;scroll-snap-align:start;display:flex;flex-direction:column;text-decoration:none;color:var(--txt);background:var(--bg2);border:1px solid var(--w06);overflow:hidden;transition:transform .35s cubic-bezier(.22,1,.36,1),border-color .25s,box-shadow .35s}
.tm-c:hover{transform:translateY(-6px);border-color:rgba(255,230,0,.45);box-shadow:0 20px 50px rgba(0,0,0,.45),0 0 0 1px rgba(255,230,0,.15)}
.tm-ph{position:relative;display:block;aspect-ratio:1/1;background:var(--bg4);overflow:hidden}
.tm-ph img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.35) contrast(1.05);transform:scale(1.02);transition:filter .5s,transform .8s cubic-bezier(.22,1,.36,1)}
.tm-c:hover .tm-ph img{filter:grayscale(0);transform:scale(1.08)}
.tm-ph-g{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,6,13,0) 45%,rgba(4,6,13,.92) 100%);pointer-events:none}
.tm-ini{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue','Oswald',sans-serif;font-size:96px;color:var(--y);opacity:.85;line-height:1}
.tm-n{position:absolute;left:18px;right:18px;bottom:14px;font-family:'Bebas Neue','Oswald',sans-serif;font-size:28px;letter-spacing:.06em;line-height:1;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.tm-n::before{content:'';display:block;width:22px;height:2px;background:var(--y);margin-bottom:8px;transition:width .3s}
.tm-c:hover .tm-n::before{width:44px}
.tm-body{display:flex;flex-direction:column;gap:.6rem;padding:14px 18px 18px}
.tm-r{font-size:9px;letter-spacing:.32em;text-transform:uppercase;color:var(--w35)}
.tm-q{margin:0;padding:.6rem 0 .2rem;border-top:1px solid var(--w06)}
.tm-qs{font-size:10px;letter-spacing:.15em;color:var(--y);display:block;margin-bottom:.3rem}
.tm-q p{font-size:12.5px;line-height:1.55;color:var(--w60);margin:0 0 .3rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tm-q cite{font-style:normal;font-size:10.5px;color:var(--w35)}
.tm-b{margin-top:.25rem;align-self:flex-start;font-size:10px;letter-spacing:.28em;text-transform:uppercase;padding:.6rem 1rem;border:1px solid rgba(255,255,255,.35);color:#fff;transition:background .2s,color .2s,border-color .2s}
.tm-c:hover .tm-b{background:var(--y);color:#000;border-color:var(--y)}
@media(max-width:600px){.tm-c{flex-basis:200px}.tm-n{font-size:24px;left:14px;bottom:12px}.tm-body{padding:12px 14px 14px}.tm-nav{display:none}.tm-head{align-items:flex-start;flex-direction:column}}

/* footer */
footer.ft{display:block;text-align:left;padding:0;background:var(--bg2);border-top:1px solid var(--w06);position:relative}
footer.ft::before{content:'';position:absolute;left:0;top:-1px;width:120px;height:1px;background:var(--y)}
.ft-in{display:grid;grid-template-columns:1.4fr 1fr 1.3fr 1.2fr;gap:2.5rem;padding-top:4rem;padding-bottom:3rem}
.ft-col{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem}
.ft-logo{height:26px;width:auto;display:block;opacity:.9}
.ft-brand .ft-sub{margin-top:-.2rem}
.ft-form{font-size:12px;color:var(--w35);text-decoration:none;border-bottom:1px solid var(--w12);transition:color .2s;margin-top:.5rem}
.ft-form:hover{color:var(--ice)}
.ft-h{font-size:9px;letter-spacing:.45em;text-transform:uppercase;color:var(--ice);display:flex;align-items:center;gap:10px;margin-bottom:.5rem}
.ft-h::before{content:'';width:18px;height:1px;background:var(--ice)}
footer.ft .ft-link{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--w60);transition:color .2s,transform .2s}
footer.ft .ft-link:hover{color:var(--y);transform:translateX(4px)}
.ft-loc{display:flex;flex-direction:column;gap:2px;text-decoration:none;transition:transform .2s}
.ft-loc b{font-family:'Bebas Neue','Oswald',sans-serif;font-weight:400;font-size:20px;letter-spacing:.06em;color:var(--txt);line-height:1.1;transition:color .2s}
.ft-loc span{font-size:12px;color:var(--w35)}
.ft-loc:hover{transform:translateX(4px)}.ft-loc:hover b{color:var(--y)}
.ft-tel{font-family:'Bebas Neue','Oswald',sans-serif;font-size:30px;letter-spacing:.05em;color:var(--y);text-decoration:none;line-height:1;text-shadow:0 0 24px rgba(255,230,0,.25);transition:opacity .2s}
.ft-tel:hover{opacity:.8}
.ft-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding-top:1.5rem;padding-bottom:2rem;border-top:1px solid var(--w06)}
footer.ft .ft-copy{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--w35)}
footer.ft .ft-next{margin:0;padding:0;border:0;grid-column:auto}
@media(max-width:1000px){.ft-in{grid-template-columns:1fr 1fr;gap:2.5rem 2rem}}
@media(max-width:600px){.ft-in{grid-template-columns:1fr;gap:2.25rem;padding-top:3rem}.ft-bottom{flex-direction:column;align-items:flex-start;padding-bottom:7rem}}

.wk-track{animation-duration:200s}

/* responsive type */
.nw{white-space:nowrap}
.hero-h1{overflow-wrap:normal;word-break:normal;max-width:100%}
.hero-h1.sm{font-size:clamp(44px,7.5vw,104px)}
@media(max-width:600px){.hero-h1.sm{font-size:clamp(38px,11.5vw,54px)}}
@media(max-width:380px){.hero-h1,.hero-h1.sm{font-size:38px}}
.hero-sub{font-size:clamp(14px,1.6vw,16px);max-width:min(440px,100%)}
.calc-tier a,.calc-tier a:visited,.calc-l a,.calc-row a{color:inherit;text-decoration:none;pointer-events:none}
.calc-tier span{font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:600px){.calc-tier b{font-size:22px}.calc-tier span{font-size:9px}}
@media(min-width:601px) and (max-width:900px){.calc-tiers{grid-template-columns:repeat(4,1fr)}}
.tm-r{white-space:nowrap}
@media(max-width:600px){
  .hero-acts{flex-wrap:wrap;gap:.6rem}
  .hero-acts .btn{flex:1 1 100%;text-align:center;white-space:nowrap;padding-left:0;padding-right:0;overflow:hidden;text-overflow:ellipsis}
  .hero-acts .btn-cta,.hero-acts .btn-y{padding-top:1rem;padding-bottom:1rem;font-size:11px;letter-spacing:.22em}
  .hero-acts .btn-g{flex:1 1 100%;padding:.9rem 0;font-size:10px;letter-spacing:.2em}
}
@media(min-width:601px) and (max-width:900px){.hero-h1{font-size:clamp(56px,9vw,96px)}}

/* footer on phones: brand + contacts only, no dead space above the bottom nav */
@media(max-width:600px){
  .ft-in .ft-col:nth-child(2),.ft-in .ft-col:nth-child(3){display:none}
  .ft-in{gap:2rem;padding-top:2.5rem;padding-bottom:2rem}
  .ft-bottom{padding-top:1.25rem;padding-bottom:1.5rem;gap:.75rem}
  footer.ft{padding-bottom:calc(4.75rem + env(safe-area-inset-bottom,0px))!important}
}

/* legal page */
.legal{max-width:780px;margin:0 auto;color:var(--w60);font-size:15px;line-height:1.8}
.legal .lg-ver{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--ice);margin-bottom:1.75rem}
.legal h2{font-family:'Bebas Neue','Oswald',sans-serif;font-weight:400;font-size:clamp(26px,3vw,36px);letter-spacing:.03em;line-height:1.1;color:#fff;margin:3rem 0 1rem;display:flex;gap:.55em;align-items:baseline}
.legal h2 .lg-n{color:var(--y);font-size:.72em}
.legal p{margin:0 0 1rem}
.legal strong{color:#fff;font-weight:500}
.legal a{color:var(--ice);text-decoration:underline;text-underline-offset:3px}
.legal ul{padding-left:1.2rem;margin:0 0 1rem}
.legal li{margin-bottom:.6rem}
.legal li p{margin:0}
.legal table{width:100%;border-collapse:collapse;margin:1rem 0 1.5rem;font-size:14px}
.legal td{padding:.8rem .5rem;border-top:1px solid var(--w12);vertical-align:top}
.legal td:first-child{color:#fff;width:32%;padding-right:1.25rem}
.lg-note{font-size:12px;letter-spacing:.05em;color:var(--w35);border:1px solid var(--w12);padding:.75rem 1rem;margin-bottom:2rem}
.lg-note a{color:var(--ice);text-decoration:none;margin:0 .15em}
.lead-legal{font-size:10.5px;color:var(--w35);margin-top:.9rem;line-height:1.55}
.lead-legal a{color:var(--ice)}
.ft-pp{text-transform:none;font-size:11px;opacity:.7}
