/* =====================================================================
   ФК «Імпульс» — Floodlit Impulse
   Dark, premium, floodlit-night system. Neon-lime kit is the only glow.
   ===================================================================== */

/* ---------- 1. Tokens ---------- */
:root{
  /* ink base */
  --ink-900:#070A12;
  --ink-800:#0D1322;
  --ink-700:#121A2D;
  --ink-600:#1B2746;
  --navy-crest:#0E1A2B;
  /* daylight */
  --paper-50:#F6F2E8;
  --paper-card:#FFFFFF;
  --sky-tint:#E9F6FF;
  /* text */
  --text-50:#EEF3FF;
  --text-ink:#11192B;
  --text-muted:#8793AC;
  /* spark */
  --lime:#C7FF2E;
  --lime-hot:#B6FF1A;
  --gold:#FFC83D;
  --cyan:#38E1FF;
  --grass:#3FA34D;
  --white:#FFFFFF;

  --crest-stripe:linear-gradient(115deg,var(--grass) 0%,var(--gold) 42%,var(--cyan) 72%,var(--lime) 100%);

  /* glow recipe */
  --glow-lime:0 0 6px rgba(199,255,46,.55), 0 0 26px rgba(199,255,46,.38);
  --glow-soft:0 0 24px rgba(199,255,46,.22);

  /* type */
  --f-display:"Unbounded", system-ui, sans-serif;
  --f-body:"Onest", system-ui, sans-serif;
  --f-accent:"Oswald", system-ui, sans-serif;

  /* spacing & motion */
  --container:1200px;
  --pad:clamp(20px,5vw,64px);
  --r:14px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --spring:cubic-bezier(.34,1.56,.64,1);
}

/* ---------- 2. Reset & base ---------- */
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%; scroll-padding-top:84px}
body{
  font-family:var(--f-body);
  background:var(--ink-900);
  color:var(--text-50);
  line-height:1.6;
  font-weight:400;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,video,svg{display:block; max-width:100%}
img,video{height:auto}
a{color:inherit; text-decoration:none}
button,input,select{font:inherit; color:inherit}
button{cursor:pointer; background:none; border:none}
ul{list-style:none; padding:0}
[hidden]{display:none !important}
.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0}
[inert]{cursor:default}
::selection{background:var(--lime); color:var(--ink-900)}

.skip-link{
  position:fixed; top:-100px; left:16px; z-index:200;
  background:var(--lime); color:var(--ink-900); padding:.7em 1.2em; border-radius:8px;
  font-family:var(--f-accent); font-weight:600; text-transform:uppercase; letter-spacing:.06em;
  transition:top .2s var(--ease);
}
.skip-link:focus{top:16px}

:focus-visible{outline:3px solid var(--lime); outline-offset:2px; border-radius:4px}

.container{width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--pad)}

/* ---------- 3. Typography helpers ---------- */
.eyebrow{
  font-family:var(--f-accent); font-weight:600; text-transform:uppercase;
  font-size:.8rem; letter-spacing:.28em; color:var(--lime);
  margin-bottom:1rem;
}
.eyebrow--cyan{color:var(--cyan)}
.eyebrow--ink{color:#2c6e7a}

.section__title{
  font-family:var(--f-display); font-weight:700; text-transform:uppercase;
  font-size:clamp(2rem,6vw,4rem); line-height:.98; letter-spacing:-.02em;
  color:var(--text-50);
}
.section__title--xl{font-size:clamp(2.4rem,8vw,5.5rem)}
.section__lead{
  margin-top:1.1rem; max-width:60ch; color:#c4cde0;
  font-size:clamp(1rem,1.2vw,1.125rem);
}
.t-lime{color:var(--lime); text-shadow:var(--glow-soft)}
.t-gold{color:var(--gold)}

/* ---------- 4. Overlays / motifs ---------- */
.floodlights{
  position:fixed; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(60% 50% at 8% -8%, rgba(238,243,255,.10), transparent 60%),
    radial-gradient(60% 50% at 96% -10%, rgba(199,255,46,.07), transparent 60%);
  mix-blend-mode:screen;
  animation:flood-on 1.2s var(--ease) both;
}
@keyframes flood-on{
  0%{opacity:0} 18%{opacity:.5} 26%{opacity:.15} 42%{opacity:.9} 50%{opacity:.4} 100%{opacity:1}
}
.grain{
  position:fixed; inset:0; z-index:2; pointer-events:none; opacity:.5;
  background-image:
    repeating-linear-gradient(0deg, rgba(255,255,255,.018) 0 1px, transparent 1px 3px),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");
  mix-blend-mode:soft-light;
}

/* The living impulse line */
.impulse-line{
  position:fixed; left:clamp(8px,2.2vw,30px); top:0; bottom:0; width:14px; z-index:30; pointer-events:none;
}
.impulse-line__track,.impulse-line__fill,.impulse-line__pulse{
  position:absolute; left:50%; transform:translateX(-50%); width:2px; border-radius:2px;
}
.impulse-line__track{top:0; bottom:0; background:rgba(199,255,46,.16)}
.impulse-line__fill{
  top:0; height:calc(var(--progress,0) * 100%);
  background:var(--lime); box-shadow:var(--glow-lime);
  transition:box-shadow .4s var(--ease);
}
.impulse-line__pulse{
  top:-90px; height:80px;
  background:linear-gradient(180deg,transparent,var(--cyan) 30%,#fff 55%,var(--lime) 75%,transparent);
  box-shadow:0 0 18px var(--lime);
  animation:pulse-travel 5s linear infinite;
}
@keyframes pulse-travel{from{top:-90px} to{top:100%}}
.impulse-line.anthem-live .impulse-line__pulse{animation-duration:1.7s}
.impulse-line.anthem-live .impulse-line__fill{box-shadow:0 0 10px rgba(199,255,46,.9),0 0 34px rgba(199,255,46,.6)}
.impulse-line.on-day .impulse-line__track{background:rgba(17,25,43,.22)}
.impulse-line.on-day .impulse-line__fill{background:#11192B; box-shadow:0 0 12px rgba(182,255,26,.5)}

/* ---------- 5. Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.55em; justify-content:center;
  font-family:var(--f-accent); font-weight:600; text-transform:uppercase; letter-spacing:.06em;
  padding:.85em 1.5em; border-radius:10px; position:relative; overflow:hidden;
  transition:transform .18s var(--ease), background .2s var(--ease), box-shadow .2s var(--ease), color .2s var(--ease);
  white-space:nowrap;
}
.btn__i{width:1.1em; height:1.1em; fill:currentColor}
.btn-primary{background:var(--lime); color:#070A12; box-shadow:var(--glow-soft)}
.btn-primary::after{
  content:""; position:absolute; top:0; left:-60%; width:40%; height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.65),transparent);
  transform:skewX(-18deg); transition:left .5s var(--ease); pointer-events:none;
}
.btn-primary:hover{background:var(--lime-hot); transform:translateY(-2px); box-shadow:0 0 8px rgba(199,255,46,.6),0 0 30px rgba(199,255,46,.4)}
.btn-primary:hover::after{left:120%}
.btn-primary:active{transform:scale(.97)}
.btn-ghost{border:1.5px solid var(--lime); color:var(--lime)}
.btn-ghost:hover{background:rgba(199,255,46,.10); box-shadow:var(--glow-soft); transform:translateY(-2px)}
.btn-ghost .btn__i{fill:var(--lime); stroke:var(--lime)}
.btn-lg{padding:1.05em 1.9em; font-size:1.05rem}
.btn-sm{padding:.6em 1.1em; font-size:.85rem}
.btn-block{width:100%; padding-block:1.05em; font-size:1.05rem}

/* ---------- 6. Crest badge ---------- */
.crest{
  display:inline-grid; place-items:center; border-radius:50%; flex:none;
  background:radial-gradient(circle at 50% 35%,#fff,#F6F2E8);
  box-shadow:inset 0 0 0 2px var(--navy-crest), 0 0 0 2px rgba(199,255,46,.5), 0 0 18px rgba(199,255,46,.35), inset 0 2px 8px rgba(0,0,0,.25);
}
.crest img{border-radius:50%}
.crest--sm{width:44px; height:44px}
.crest--sm img{width:34px; height:34px}
.crest--badge{width:84px; height:84px}
.crest--badge img{width:66px; height:66px}
.crest--chest{width:34px; height:34px; box-shadow:inset 0 0 0 1.5px var(--navy-crest),0 1px 4px rgba(0,0,0,.4)}
.crest--chest img{width:26px; height:26px}

/* ---------- 7. Nav ---------- */
.nav{position:fixed; top:0; left:0; right:0; z-index:90; transition:background .3s var(--ease), box-shadow .3s var(--ease), backdrop-filter .3s}
/* top scrim so nav stays legible over light parts of the hero before scrolling */
.nav::before{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(180deg, rgba(7,10,18,.78) 0%, rgba(7,10,18,.42) 50%, transparent 100%);
  transition:opacity .3s var(--ease);
}
.nav.scrolled::before{opacity:0}
.nav__inner{display:flex; align-items:center; gap:1.5rem; height:72px}
.nav:not(.scrolled) .brand__word,
.nav:not(.scrolled) .nav__links a{text-shadow:0 1px 10px rgba(0,0,0,.45)}
.nav:not(.scrolled) .icon-btn{border-color:rgba(238,243,255,.35)}
.nav.scrolled{background:rgba(13,19,34,.82); backdrop-filter:blur(14px); box-shadow:0 1px 0 rgba(199,255,46,.12), 0 8px 30px rgba(0,0,0,.4)}
.brand{display:flex; align-items:center; gap:.7rem; margin-right:auto}
.brand__word{font-family:var(--f-display); font-weight:800; letter-spacing:.02em; font-size:1.25rem}
.nav__links{display:flex; gap:.3rem}
.nav__links a{position:relative; padding:.5rem .8rem; font-family:var(--f-accent); font-weight:500; text-transform:uppercase; letter-spacing:.08em; font-size:.92rem; color:#cdd6e8}
.nav__links a span{position:relative}
.nav__links a span::after{
  content:attr(data-num); position:absolute; top:-.7em; right:-1.3em;
  font-size:.55em; color:var(--lime); opacity:0; transform:skewX(-10deg) translateY(4px); transition:.2s var(--ease);
}
.nav__links a::before{
  content:""; position:absolute; left:.8rem; right:.8rem; bottom:.25rem; height:2px;
  background:var(--crest-stripe); transform:scaleX(0); transform-origin:left; transition:transform .25s var(--ease);
}
.nav__links a:hover{color:#fff}
.nav__links a:hover::before, .nav__links a.active::before{transform:scaleX(1)}
.nav__links a:hover span::after{opacity:1; transform:skewX(-10deg) translateY(0)}
.nav__actions{display:flex; align-items:center; gap:.6rem}
.icon-btn{
  width:42px; height:42px; display:grid; place-items:center; border-radius:50%;
  border:1px solid rgba(199,255,46,.22); color:var(--text-50); transition:.2s var(--ease);
}
.icon-btn svg{width:20px; height:20px; fill:currentColor; stroke:none}
.icon-btn:hover{border-color:var(--lime); color:var(--lime); box-shadow:var(--glow-soft)}
.anthem-toggle .i-pause, .anthem__play .i-pause, .anthem-pill__play .i-pause{display:none}
.is-playing .i-play{display:none}
.is-playing .i-pause{display:block}
.anthem-toggle.is-playing{border-color:var(--lime); color:var(--lime); box-shadow:var(--glow-soft)}

.burger{display:none; width:42px; height:42px; flex-direction:column; gap:5px; align-items:center; justify-content:center}
.burger span{width:22px; height:2px; background:var(--text-50); border-radius:2px; transition:.25s var(--ease)}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Mobile menu */
.mobile-menu{
  position:fixed; inset:0; z-index:80; background:rgba(7,10,18,.97); backdrop-filter:blur(8px);
  display:flex; flex-direction:column; justify-content:center; gap:1.5rem; padding:6rem var(--pad) 3rem;
  opacity:0; transition:opacity .3s var(--ease);
}
.mobile-menu:not([hidden]){opacity:1}
.mobile-menu__links{display:flex; flex-direction:column; gap:.3rem}
.mobile-menu__links a{font-family:var(--f-display); font-weight:700; text-transform:uppercase; font-size:clamp(1.8rem,9vw,3rem); display:flex; align-items:baseline; gap:1rem}
.mobile-menu__links a b{font-family:var(--f-accent); font-weight:600; color:var(--lime); font-size:.45em}
.mobile-menu__cta{margin-top:1rem; align-self:flex-start}
.mobile-menu__ticker{margin-top:auto; overflow:hidden; white-space:nowrap; color:var(--text-muted); font-family:var(--f-accent); text-transform:uppercase; letter-spacing:.1em; display:flex}
.mobile-menu__ticker span{animation:scroll-x 18s linear infinite}

/* ---------- 8. Hero ---------- */
.hero{position:relative; min-height:100svh; display:flex; align-items:flex-end; padding-bottom:clamp(3rem,8vh,6rem); overflow:hidden; isolation:isolate}
.hero__media{position:absolute; inset:0; z-index:-1}
.hero__media img{width:100%; height:100%; object-fit:cover; object-position:72% 30%}
.hero__scrim{
  position:absolute; inset:0;
  background:
    radial-gradient(130% 95% at 22% 64%, rgba(7,10,18,.6) 0%, rgba(7,10,18,.2) 42%, transparent 62%),
    linear-gradient(90deg,var(--ink-900) 0%, rgba(7,10,18,.74) 40%, rgba(7,10,18,.4) 64%, rgba(7,10,18,.12) 84%, transparent 100%),
    linear-gradient(0deg,var(--ink-900) 5%, rgba(7,10,18,.45) 40%, transparent 72%);
}
.hero__content{position:relative; z-index:2}
.hero__title{
  font-family:var(--f-display); font-weight:800; text-transform:uppercase;
  font-size:clamp(2.4rem,8vw,6rem); line-height:1.1; letter-spacing:-.02em;
  margin:.4rem 0 1.6rem;
}
.hero__title .line + .line{margin-top:.22em}
.hero__title .line{display:block; text-shadow:0 1px 2px rgba(7,10,18,.6), 0 4px 22px rgba(7,10,18,.7), 0 0 44px rgba(7,10,18,.45)}
.line--bolt{position:relative; color:var(--lime); width:max-content;
  text-shadow:0 0 8px rgba(199,255,46,.4), 0 0 40px rgba(199,255,46,.3), 0 2px 10px rgba(7,10,18,.55), 0 4px 26px rgba(7,10,18,.6)}
.strike-bolt{
  position:absolute; right:-.05em; top:-.32em; width:.6em; height:.85em; fill:var(--lime);
  filter:drop-shadow(0 0 14px rgba(199,255,46,.85));
}
.hero__lead{max-width:46ch; color:#d4dcec; font-size:clamp(1rem,1.4vw,1.2rem)}
.hero__enroll{display:inline-flex; align-items:center; gap:.65em; margin-top:1.5rem; padding:.55em 1.1em;
  border:1px solid rgba(199,255,46,.45); border-radius:30px; background:rgba(199,255,46,.07); backdrop-filter:blur(4px);
  font-family:var(--f-accent); font-weight:600; text-transform:uppercase; letter-spacing:.08em; font-size:clamp(.78rem,1.5vw,.92rem); color:#eef3ff}
.hero__enroll .dot{width:9px; height:9px; border-radius:50%; background:var(--lime); box-shadow:0 0 8px var(--lime); animation:enroll-pulse 2s var(--ease) infinite}
@keyframes enroll-pulse{0%{box-shadow:0 0 0 0 rgba(199,255,46,.6)}70%{box-shadow:0 0 0 9px rgba(199,255,46,0)}100%{box-shadow:0 0 0 0 rgba(199,255,46,0)}}
.hero__cta{display:flex; flex-wrap:wrap; gap:1rem; margin-top:1.6rem}
.hero__scroll{position:absolute; bottom:1.4rem; left:50%; transform:translateX(-50%); width:26px; height:42px; border:2px solid rgba(238,243,255,.4); border-radius:14px; z-index:2}
.hero__scroll span{position:absolute; left:50%; top:8px; width:4px; height:8px; background:var(--lime); border-radius:2px; transform:translateX(-50%); animation:scroll-dot 1.8s var(--ease) infinite}
@keyframes scroll-dot{0%{opacity:0; top:8px}40%{opacity:1}80%{opacity:0; top:22px}100%{opacity:0}}

/* ---------- 9. Ticker ---------- */
.ticker{overflow:hidden; position:relative; z-index:4}
.ticker__row{overflow:hidden}
.ticker__row--main{background:var(--lime); border-block:1px solid rgba(7,10,18,.25)}
.ticker__row--sub{background:var(--ink-900); padding-block:.35rem}
.ticker__track{display:flex; width:max-content; animation:scroll-x 28s linear infinite}
.ticker__track--rev{animation-direction:reverse; animation-duration:34s}
.ticker__row--main .ticker__track span{
  font-family:var(--f-accent); font-weight:600; text-transform:uppercase; letter-spacing:.12em;
  color:#0a0f06; font-size:clamp(.95rem,1.8vw,1.15rem); padding:.7rem 0; display:flex; align-items:center; gap:1.2rem;
}
.ticker__row--sub .ticker__track span{color:var(--text-muted); font-family:var(--f-accent); text-transform:uppercase; letter-spacing:.16em; font-size:.78rem; padding-right:1.5rem}
.tick-bolt{width:.95em; height:1.2em; fill:currentColor; display:inline-block; vertical-align:middle}
.ticker__row--main .tick-bolt{fill:#0a0f06; margin:0 .8rem}
.ticker:hover .ticker__track{animation-play-state:paused}
.ticker--seam{margin-top:0}
.ticker--seam .ticker__row--main{background:var(--ink-800); border-block-color:rgba(199,255,46,.18)}
.ticker--seam .ticker__row--main .ticker__track span{color:var(--lime)}
.ticker--seam .ticker__row--main .tick-bolt{fill:var(--lime)}
@keyframes scroll-x{from{transform:translateX(0)} to{transform:translateX(-50%)}}

/* ---------- 10. Section base ---------- */
.section{position:relative; padding-block:clamp(4rem,9vw,7.5rem)}
.section__head{margin-bottom:clamp(2rem,4vw,3.2rem); max-width:760px}
.section__head--center{margin-inline:auto; text-align:center}
.section__head--center .section__lead{margin-inline:auto}

/* ---------- 11. Trophies ---------- */
.trophies{padding-bottom:clamp(3rem,6vw,5rem)}
.scoreboard{
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:clamp(1rem,4vw,3rem);
  background:
    radial-gradient(circle at 1px 1px, rgba(199,255,46,.10) 1px, transparent 0) 0 0 / 16px 16px,
    var(--ink-800);
  border:1px solid var(--ink-600); border-radius:var(--r);
  padding:clamp(1.6rem,4vw,2.6rem) clamp(1rem,4vw,2rem);
  box-shadow:inset 0 0 40px rgba(0,0,0,.4);
}
.stat{display:flex; flex-direction:column; align-items:center; text-align:center}
.stat__num{
  font-family:var(--f-accent); font-weight:700; font-variant-numeric:tabular-nums;
  font-size:clamp(2.6rem,7vw,5rem); line-height:1; color:var(--gold);
  text-shadow:0 0 24px rgba(255,200,61,.4);
}
.stat__label{font-family:var(--f-accent); text-transform:uppercase; letter-spacing:.14em; color:var(--cyan); font-size:.82rem; margin-top:.5rem}
.stat__div{color:var(--lime); opacity:.5; display:grid; place-items:center}
.stat__div .tick-bolt{width:18px; height:26px}

.trophy-marquee{margin-top:clamp(2rem,4vw,3rem); overflow:hidden; position:relative}
.trophy-marquee::before,.trophy-marquee::after{content:""; position:absolute; top:0; bottom:0; width:8%; z-index:2; pointer-events:none}
.trophy-marquee::before{left:0; background:linear-gradient(90deg,var(--ink-900),transparent)}
.trophy-marquee::after{right:0; background:linear-gradient(-90deg,var(--ink-900),transparent)}
.trophy-marquee__track{display:flex; align-items:flex-start; gap:1.4rem; width:max-content; animation:scroll-x 40s linear infinite; padding-inline:.7rem}
.trophy-marquee:hover .trophy-marquee__track{animation-play-state:paused}
.trophy-card{position:relative; width:clamp(220px,28vw,300px); aspect-ratio:3/4; border-radius:var(--r); overflow:hidden; background:var(--ink-800); border:1px solid var(--ink-600)}
.trophy-card--wide{width:clamp(300px,38vw,420px); aspect-ratio:4/3}
.trophy-card img{width:100%; height:100%; object-fit:cover}
.trophy-card::before,.trophy-card::after{content:""; position:absolute; width:26px; height:26px; z-index:2}
.trophy-card::before{top:10px; left:10px; border-top:2px solid var(--gold); border-left:2px solid var(--gold)}
.trophy-card::after{bottom:10px; right:10px; border-bottom:2px solid var(--gold); border-right:2px solid var(--gold)}
.tag{
  position:absolute; left:12px; bottom:12px; z-index:3;
  font-family:var(--f-accent); font-weight:600; text-transform:uppercase; letter-spacing:.08em; font-size:.78rem;
  background:rgba(7,10,18,.7); backdrop-filter:blur(6px); padding:.4em .8em; border-radius:6px; color:var(--text-50);
  border:1px solid rgba(255,255,255,.12);
}
.tag--gold{color:var(--gold); border-color:rgba(255,200,61,.4)}

/* ---------- 12. Squad ---------- */
.squad{padding-top:0}
.squad__band{position:relative; height:clamp(220px,30vw,440px); overflow:hidden; margin-bottom:clamp(2.4rem,5vw,4rem)}
.squad__band img{width:100%; height:100%; object-fit:cover; object-position:50% 42%}
.squad__band-fade{position:absolute; inset:0; background:linear-gradient(0deg,var(--ink-900) 2%, rgba(7,10,18,.25) 55%, rgba(7,10,18,.5))}

.kit-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:clamp(2rem,4vw,3rem)}
.kit-card{
  position:relative; background:var(--ink-800); border-radius:var(--r); overflow:hidden;
  aspect-ratio:3/3.5; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:.2rem;
  border:1px solid var(--ink-600); padding:1rem;
  opacity:0; transform:translateY(26px);
  transition:transform .3s var(--ease), background .3s var(--ease), box-shadow .3s var(--ease);
}
.kit-card::before{content:""; position:absolute; top:0; left:0; right:0; height:5px; background:var(--crest-stripe)}
.in .kit-card{animation:rise .55s var(--ease) forwards; animation-delay:calc(var(--n,1)*38ms)}
.kit-card__name{font-family:var(--f-accent); font-weight:600; text-transform:uppercase; letter-spacing:.12em; font-size:clamp(.8rem,1.6vw,1rem); color:#dbe3f2; text-shadow:0 1px 0 #060a12,0 2px 3px rgba(0,0,0,.6)}
.kit-card__num{
  font-family:var(--f-accent); font-weight:700; line-height:.9;
  font-size:clamp(3.2rem,9vw,5.2rem); transform:skewX(-12deg);
  color:transparent; -webkit-text-stroke:2px var(--lime);
  filter:drop-shadow(0 0 10px rgba(199,255,46,.45));
}
.kit-card__pos{font-family:var(--f-accent); text-transform:uppercase; letter-spacing:.1em; font-size:.72rem; color:var(--cyan); opacity:0; transform:translateY(8px); transition:.25s var(--ease); display:flex; align-items:center; gap:.3em}
.kit-card__pos svg{width:1em; height:1em; fill:currentColor}
.kit-card:hover{transform:translateY(-4px); background:var(--lime); box-shadow:0 12px 40px rgba(199,255,46,.25)}
.kit-card:hover .kit-card__name{color:#0a0f06; text-shadow:none}
.kit-card:hover .kit-card__num{-webkit-text-stroke:2px #0a0f06; color:rgba(10,15,6,.12); filter:none}
.kit-card:hover .kit-card__pos{opacity:1; transform:none; color:#0a0f06}
.kit-card--gk .kit-card__num{-webkit-text-stroke-color:var(--grass); filter:drop-shadow(0 0 10px rgba(63,163,77,.5))}
.kit-card--gk:hover{background:var(--grass)}
.kit-card--gk:hover .kit-card__num{-webkit-text-stroke-color:#06210c; color:rgba(6,33,12,.15)}
.kit-card--cta{background:linear-gradient(160deg,var(--ink-700),var(--ink-800)); border:1.5px dashed rgba(199,255,46,.4)}
.kit-card--cta a{display:flex; flex-direction:column; align-items:center; gap:.2rem; inset:0; position:absolute; justify-content:center; padding:1rem}
.kit-card--cta .kit-card__num{-webkit-text-stroke:2px rgba(199,255,46,.5)}
.kit-card--cta:hover{background:var(--ink-700); transform:translateY(-4px); box-shadow:var(--glow-soft)}
.kit-card--cta:hover .kit-card__pos{opacity:1; transform:none; color:var(--lime)}
.kit-card--cta:hover .kit-card__name{color:var(--lime); text-shadow:var(--glow-soft)}

/* ---------- 13. Carpathians (daylight) ---------- */
.section--day{background:var(--paper-50); color:var(--text-ink); --text-50:var(--text-ink); position:relative; overflow:hidden}
.section--day::after{content:""; position:absolute; inset:0; pointer-events:none; opacity:.5; mix-blend-mode:multiply;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='0.05'/%3E%3C/svg%3E")}
.section--day .section__title{color:var(--text-ink)}
.section--day .section__lead{color:#36405a}
.ridge{position:absolute; top:6%; left:0; width:100%; height:120px; color:#aeb9c9; opacity:.7}
.carpathians__grid{position:relative; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:auto auto; gap:clamp(1.5rem,4vw,3rem); align-items:center; z-index:2}
.carpathians__head{grid-column:1; grid-row:1}
.stars{color:var(--gold); letter-spacing:.3em; font-size:1.1rem; margin:.6rem 0 0; text-shadow:0 1px 2px rgba(180,130,0,.25)}
.carpathians__lead-photo{grid-column:2; grid-row:1 / span 2; position:relative; transform:rotate(-2deg); border-radius:var(--r); overflow:hidden; background:#fff; padding:10px; box-shadow:0 24px 60px rgba(20,30,50,.18)}
.carpathians__lead-photo img{border-radius:8px; width:100%; aspect-ratio:3/4; object-fit:cover}
.carpathians__lead-photo .tag{background:rgba(255,255,255,.85); color:#7a5a00; border-color:rgba(255,200,61,.6); left:18px; bottom:18px}
.carpathians__lead-photo::before,.carpathians__lead-photo::after{content:""; position:absolute; width:24px; height:24px; z-index:3}
.carpathians__lead-photo::before{top:18px; left:18px; border-top:2px solid var(--text-ink); border-left:2px solid var(--text-ink)}
.carpathians__lead-photo::after{bottom:18px; right:18px; border-bottom:2px solid var(--text-ink); border-right:2px solid var(--text-ink)}
.carpathians__sub-photo{grid-column:1; grid-row:2; align-self:start; justify-self:start; max-width:78%; border-radius:var(--r); overflow:hidden; background:var(--sky-tint); padding:10px; transform:rotate(1.5deg); box-shadow:0 16px 40px rgba(20,30,50,.14)}
.carpathians__sub-photo img{border-radius:8px; width:100%; aspect-ratio:3/4; object-fit:cover}

/* ---------- 14. Moments (reels) ---------- */
.reels{display:flex; justify-content:center; align-items:center; gap:clamp(1rem,3vw,2rem); flex-wrap:wrap}
.reel{position:relative; width:clamp(220px,26vw,300px)}
.reel--lead{width:clamp(250px,30vw,340px); z-index:2}
.reel--up{transform:rotate(-2.5deg) translateY(-14px)}
.reel--down{transform:rotate(2deg) translateY(16px)}
.reel--lead{transform:translateY(-26px)}
.reel__frame{position:relative; border-radius:18px; overflow:hidden; aspect-ratio:9/16; background:var(--ink-800);
  border:2px solid rgba(199,255,46,.35); box-shadow:0 18px 50px rgba(0,0,0,.5), var(--glow-soft);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease)}
.reel__frame::before,.reel__frame::after{content:""; position:absolute; width:22px; height:22px; z-index:3; pointer-events:none}
.reel__frame::before{top:8px; left:8px; border-top:2px solid var(--lime); border-left:2px solid var(--lime)}
.reel__frame::after{bottom:8px; right:8px; border-bottom:2px solid var(--lime); border-right:2px solid var(--lime)}
.reel__frame video{width:100%; height:100%; object-fit:cover}
.reel:hover .reel__frame{transform:translateY(-6px); box-shadow:0 26px 60px rgba(0,0,0,.55),0 0 30px rgba(199,255,46,.4)}
.reel__sound{
  position:absolute; right:10px; bottom:10px; z-index:4; display:flex; align-items:center; gap:.35em;
  background:rgba(7,10,18,.7); backdrop-filter:blur(6px); border:1px solid rgba(199,255,46,.4); color:var(--lime);
  padding:.4em .7em; border-radius:20px; font-family:var(--f-accent); text-transform:uppercase; letter-spacing:.08em; font-size:.7rem;
  opacity:0; transform:translateY(6px); transition:.2s var(--ease);
}
.reel__sound svg{width:14px; height:14px; fill:currentColor}
.reel:hover .reel__sound, .reel__sound:focus-visible{opacity:1; transform:none}
@media (hover:none){.reel__sound{opacity:1; transform:none}}
.reel.is-unmuted .reel__sound{opacity:1; background:var(--lime); color:#0a0f06}
.reel .tag{position:static; display:inline-block; margin-top:.9rem; background:var(--ink-800)}
.reel figcaption{text-align:center}

/* Lightbox */
.lightbox{position:fixed; inset:0; z-index:150; background:rgba(4,6,12,.92); backdrop-filter:blur(8px); display:grid; place-items:center; padding:5vh 1rem}
.lightbox__stage{width:min(90vw,420px); aspect-ratio:9/16; border-radius:18px; overflow:hidden; box-shadow:0 0 60px rgba(199,255,46,.3)}
.lightbox__stage video{width:100%; height:100%; object-fit:cover}
.lightbox__close{position:absolute; top:18px; right:22px; width:48px; height:48px; border-radius:50%; border:1px solid rgba(255,255,255,.25); color:#fff; font-size:1.6rem; line-height:1}
.lightbox__close:hover{border-color:var(--lime); color:var(--lime)}

/* ---------- 15. Program ---------- */
.program{overflow:hidden}
.program__bg{position:absolute; inset:0; z-index:0; opacity:.13}
.program__bg img{width:100%; height:100%; object-fit:cover; object-position:50% 30%}
.program::before{content:""; position:absolute; inset:0; background:linear-gradient(180deg,var(--ink-900),rgba(7,10,18,.85) 40%,var(--ink-900))}
.program::after{content:""; position:absolute; left:0; top:12%; bottom:12%; width:5px; background:var(--crest-stripe); opacity:.7}
.program .container{position:relative; z-index:2}
.value-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem}
.value-card{
  position:relative; background:var(--ink-700); border:1px solid var(--ink-600); border-radius:var(--r);
  padding:1.6rem 1.4rem 1.5rem; overflow:hidden;
  opacity:0; transform:translateY(24px);
}
.in .value-card{animation:rise .55s var(--ease) forwards; animation-delay:calc(var(--n,1)*80ms)}
.value-card__idx{font-family:var(--f-accent); font-weight:700; font-size:2.4rem; color:transparent; -webkit-text-stroke:1.5px rgba(199,255,46,.4); display:block; line-height:1}
.value-card__icon{width:54px; height:54px; display:grid; place-items:center; border-radius:50%; background:radial-gradient(circle,#fff,#eef3ff); color:var(--ink-900); margin:.8rem 0 1rem; box-shadow:var(--glow-soft)}
.value-card__icon svg{width:28px; height:28px}
/* bolt (card 01) is a fill-only glyph */
.value-card:nth-child(1) .value-card__icon svg{fill:var(--ink-900)}
.value-card h3{font-family:var(--f-display); font-weight:600; text-transform:uppercase; font-size:clamp(1.1rem,2.2vw,1.4rem); margin-bottom:.5rem}
.value-card p{color:#b6c0d6; font-size:.95rem}

/* ---------- 16. Coaches ---------- */
.coaches{background:var(--navy-crest)}
.coaches__grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:clamp(2rem,5vw,4rem); align-items:center}
.coach-card{position:relative; border-radius:var(--r); overflow:hidden; background:var(--ink-800); aspect-ratio:3/4; max-width:420px}
.coach-card img{width:100%; height:100%; object-fit:cover; object-position:50% 20%}
.coach-card::before,.coach-card::after{content:""; position:absolute; width:46px; height:46px; z-index:2}
.coach-card::before{top:14px; left:14px; border-top:3px solid var(--lime); border-left:3px solid var(--lime); filter:drop-shadow(0 0 6px rgba(199,255,46,.6))}
.coach-card::after{bottom:14px; right:14px; border-bottom:3px solid var(--lime); border-right:3px solid var(--lime); filter:drop-shadow(0 0 6px rgba(199,255,46,.6))}
.coach-card__tab{position:absolute; top:14px; right:14px; z-index:3; background:var(--lime); color:#0a0f06; font-family:var(--f-accent); font-weight:700; letter-spacing:.12em; font-size:.72rem; padding:.3em .7em; border-radius:5px}
.coach-card__crest{position:absolute; left:14px; bottom:14px; z-index:3; width:54px; height:54px}
.coach-card__crest img{width:42px; height:42px}
.coaches__body .pills{margin:1.6rem 0}
.pills{display:flex; flex-wrap:wrap; gap:.7rem}
.pill{display:inline-flex; align-items:center; gap:.5em; border:1px solid rgba(199,255,46,.4); border-radius:30px; padding:.5em 1em; font-family:var(--f-accent); font-weight:500; text-transform:uppercase; letter-spacing:.06em; font-size:.82rem; color:#dbe3f2}
.pill svg{width:15px; height:15px; fill:none; stroke:var(--lime)}
.pull-quote{
  position:relative; font-family:var(--f-display); font-weight:600; font-size:clamp(1.3rem,2.6vw,2rem); line-height:1.25;
  color:#fff; margin-top:1.8rem; padding-bottom:.6rem; max-width:22ch;
}
.pull-quote::after{content:""; display:block; width:90px; height:3px; background:var(--lime); box-shadow:var(--glow-lime); margin-top:1rem; border-radius:3px}

/* ---------- 17. Personalizer ---------- */
.personalizer{background:var(--navy-crest); border-top:1px solid rgba(199,255,46,.1)}
.personalizer__grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:center}
.personalizer__actions{display:flex; flex-wrap:wrap; gap:1rem; margin-top:1.4rem}
.personalizer__hint{margin-top:1rem; color:var(--text-muted); font-size:.85rem}
.field--big input{font-family:var(--f-accent); font-weight:600; text-transform:uppercase; letter-spacing:.1em; font-size:1.4rem}
.personalizer__jersey{display:grid; place-items:center}
.jersey{
  position:relative; width:min(360px,80vw); aspect-ratio:1/1.16; border-radius:14px 14px 70px 70px / 14px 14px 26px 26px;
  background:
    radial-gradient(120% 90% at 50% 0%, #d4ff52, var(--lime) 45%, #a9e617 100%);
  box-shadow:0 30px 70px rgba(0,0,0,.5), inset 0 0 0 3px rgba(10,15,6,.15), 0 0 50px rgba(199,255,46,.25);
  display:flex; flex-direction:column; align-items:center; overflow:hidden;
}
.jersey::before,.jersey::after{content:""; position:absolute; top:0; width:24%; height:46%; background:linear-gradient(180deg,#0c0c0c,#1a1a1a); }
.jersey::before{left:0; border-radius:14px 0 0 60% / 14px 0 0 70px; transform:skewX(8deg) translateX(-22%)}
.jersey::after{right:0; border-radius:0 14px 60% 0 / 0 14px 70px 0; transform:skewX(-8deg) translateX(22%)}
.jersey__collar{position:absolute; top:0; left:50%; transform:translateX(-50%); width:34%; height:20px; background:#0c0c0c; border-radius:0 0 18px 18px; z-index:3}
.jersey .crest--chest{position:absolute; top:30px; right:26%; z-index:4}
.jersey__name{
  position:relative; z-index:2; margin-top:clamp(48px,12vw,70px);
  font-family:var(--f-accent); font-weight:600; text-transform:uppercase; letter-spacing:.08em;
  font-size:clamp(1rem,3.4vw,1.6rem); color:#fff;
  text-shadow:0 1px 0 rgba(10,15,6,.5),0 3px 0 rgba(10,15,6,.25),0 5px 8px rgba(0,0,0,.3);
  max-width:88%; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.jersey__num{
  position:relative; z-index:2; font-family:var(--f-accent); font-weight:700; transform:skewX(-12deg);
  font-size:clamp(6rem,26vw,11rem); line-height:.9; color:#0a0f06;
  text-shadow:0 2px 0 rgba(10,15,6,.3),0 6px 14px rgba(0,0,0,.25); margin-top:-.05em;
}
.jersey__flash{position:absolute; inset:0; z-index:5; background:#fff; opacity:0; pointer-events:none}
.jersey.flash .jersey__flash{animation:flash .35s var(--ease)}
@keyframes flash{0%{opacity:0}18%{opacity:.92}100%{opacity:0}}
.jersey.bounce .jersey__num{animation:numpop .5s var(--spring)}
@keyframes numpop{0%{transform:skewX(-12deg) scale(.4); opacity:.2}100%{transform:skewX(-12deg) scale(1); opacity:1}}
.jersey__name .ltr{display:inline-block; animation:ltr-drop .4s var(--spring) both}
@keyframes ltr-drop{0%{transform:translateY(-.5em); opacity:0}100%{transform:none; opacity:1}}

/* ---------- 18. Community + anthem ---------- */
.community{overflow:hidden}
.community__bg{position:absolute; inset:0; z-index:0; opacity:.22}
.community__bg img{width:100%; height:100%; object-fit:cover; object-position:50% 28%}
.community::before{content:""; position:absolute; inset:0; background:linear-gradient(180deg,var(--ink-900),rgba(7,10,18,.7) 45%,var(--ink-900))}
.community .container{position:relative; z-index:2}
.anthem{
  display:grid; grid-template-columns:auto 1fr; gap:clamp(1.2rem,3vw,2rem); align-items:center;
  background:var(--ink-800); border:1px solid var(--ink-600); border-radius:18px;
  padding:clamp(1.4rem,3vw,2rem); max-width:760px; margin:clamp(2rem,4vw,3rem) auto 0;
  box-shadow:0 20px 60px rgba(0,0,0,.4);
}
.anthem__art{position:relative; width:clamp(80px,14vw,120px); aspect-ratio:1; display:grid; place-items:center}
.anthem__disc{position:absolute; inset:0; border-radius:50%; background:repeating-radial-gradient(circle at 50% 50%,#0d1322 0 3px,#161f33 3px 5px); box-shadow:inset 0 0 0 4px #0a0f1a,0 0 24px rgba(56,225,255,.25)}
.anthem__disc::after{content:""; position:absolute; inset:38%; border-radius:50%; background:radial-gradient(circle,var(--lime),#7fb016); box-shadow:0 0 14px rgba(199,255,46,.6)}
.is-playing .anthem__disc{animation:spin 4s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.eq{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:3px; z-index:2}
.eq span{width:4px; height:14px; background:var(--cyan); border-radius:2px; box-shadow:0 0 8px rgba(56,225,255,.6); opacity:.85}
.is-playing .eq span{animation:eq 900ms ease-in-out infinite}
.eq span:nth-child(1){animation-delay:-.2s} .eq span:nth-child(2){animation-delay:-.5s} .eq span:nth-child(3){animation-delay:-.1s} .eq span:nth-child(4){animation-delay:-.7s} .eq span:nth-child(5){animation-delay:-.35s}
@keyframes eq{0%,100%{height:8px}50%{height:30px}}
.anthem__kicker{font-family:var(--f-accent); text-transform:uppercase; letter-spacing:.2em; color:var(--cyan); font-size:.75rem}
.anthem__title{font-family:var(--f-display); font-weight:700; font-size:clamp(1.1rem,2.4vw,1.6rem); margin:.2rem 0 1rem}
.anthem__controls{display:flex; align-items:center; gap:1rem; flex-wrap:wrap}
.anthem__play{width:54px; height:54px; border-radius:50%; background:var(--lime); color:#0a0f06; display:grid; place-items:center; flex:none; box-shadow:var(--glow-lime); transition:transform .2s var(--ease)}
.anthem__play svg{width:22px; height:22px; fill:currentColor}
.anthem__play:not(.is-playing){animation:invite 2.4s var(--ease) infinite}
@keyframes invite{0%,100%{box-shadow:0 0 6px rgba(199,255,46,.5),0 0 18px rgba(199,255,46,.3)}50%{box-shadow:0 0 10px rgba(199,255,46,.8),0 0 34px rgba(199,255,46,.55)}}
.anthem__play:hover{transform:scale(1.06)}
.anthem__time{font-family:var(--f-accent); font-variant-numeric:tabular-nums; color:var(--text-muted); font-size:.9rem; letter-spacing:.05em}
.anthem__scrub{flex:1; min-width:140px; -webkit-appearance:none; appearance:none; height:6px; border-radius:6px; background:var(--ink-600); cursor:pointer}
.anthem__scrub::-webkit-slider-thumb{-webkit-appearance:none; width:16px; height:16px; border-radius:50%; background:var(--lime); box-shadow:var(--glow-lime); cursor:pointer}
.anthem__scrub::-moz-range-thumb{width:16px; height:16px; border:none; border-radius:50%; background:var(--lime); box-shadow:var(--glow-lime); cursor:pointer}
.anthem__scrub::-moz-range-progress{background:var(--lime); height:6px; border-radius:6px}

.testimonials{display:grid; grid-template-columns:repeat(2,1fr); gap:1.2rem; max-width:760px; margin:1.4rem auto 0}
.tcard{background:rgba(13,19,34,.7); border:1px solid var(--ink-600); border-left:3px solid var(--lime); border-radius:10px; padding:1.2rem 1.4rem; font-size:.98rem; color:#dbe3f2}
.tcard cite{display:block; margin-top:.7rem; font-style:normal; color:var(--text-muted); font-size:.85rem}

/* ---------- 19. Anthem pill (sticky) ---------- */
.anthem-pill{
  position:fixed; left:clamp(12px,3vw,28px); bottom:max(16px,env(safe-area-inset-bottom)); z-index:95;
  display:flex; align-items:center; gap:.7rem; background:rgba(13,19,34,.92); backdrop-filter:blur(12px);
  border:1px solid rgba(199,255,46,.3); border-radius:40px; padding:.45rem .6rem .45rem .45rem;
  box-shadow:0 10px 30px rgba(0,0,0,.5); transform:translateY(20px); opacity:0; transition:.35s var(--ease);
}
.anthem-pill.show{transform:none; opacity:1}
.anthem-pill__play{width:40px; height:40px; border-radius:50%; background:var(--lime); color:#0a0f06; display:grid; place-items:center; flex:none}
.anthem-pill__play svg{width:18px; height:18px; fill:currentColor}
.anthem-pill__meta{display:flex; align-items:center; gap:.5rem; padding-right:.3rem}
.anthem-pill__title{font-family:var(--f-accent); text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; color:#dbe3f2}
.anthem-pill .eq{position:static; inset:auto; gap:2px}
.eq--sm span{width:3px; height:10px}
.anthem-pill__close{width:32px; height:32px; display:grid; place-items:center; border-radius:50%; color:var(--text-muted); font-size:1.2rem; line-height:1}
.anthem-pill__close:hover{color:var(--lime)}
body.menu-open .anthem-pill{display:none}

/* ---------- 20. Join ---------- */
.join{position:relative; overflow:hidden}
.join__bg{position:absolute; inset:0; z-index:0; opacity:.12}
.join__bg img{width:100%; height:100%; object-fit:cover; object-position:50% 35%}
.join::before{content:""; position:absolute; inset:0; background:linear-gradient(180deg,var(--ink-900),rgba(7,10,18,.92))}
.join__grid{position:relative; z-index:2; display:grid; grid-template-columns:1.3fr .9fr; gap:clamp(2rem,5vw,4rem); align-items:start}
.join__formwrap{background:var(--ink-700); border:1px solid var(--ink-600); border-radius:18px; padding:clamp(1.6rem,4vw,2.6rem); box-shadow:0 20px 60px rgba(0,0,0,.4)}
.join-form{margin-top:1.6rem; display:flex; flex-direction:column; gap:1.1rem}
.field{display:flex; flex-direction:column; gap:.4rem}
.field label{font-family:var(--f-accent); font-weight:500; text-transform:uppercase; letter-spacing:.1em; font-size:.78rem; color:var(--text-muted)}
.field input,.field select,.field--big input{
  background:var(--ink-800); border:1px solid var(--ink-600); border-radius:10px; padding:.85em 1em; color:var(--text-50);
  transition:border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.field input::placeholder{color:#5d6883}
.field input:focus,.field select:focus,.field--big input:focus{outline:none; border-color:var(--lime); box-shadow:0 0 0 3px rgba(199,255,46,.18), var(--glow-soft)}
.field-row{display:grid; grid-template-columns:1fr 1.4fr; gap:1rem}
.field__err{color:var(--gold); font-size:.8rem; min-height:1em; display:flex; align-items:center; gap:.3em}
.field.invalid input{border-color:var(--gold)}
.join-form__micro{color:var(--text-muted); font-size:.82rem; text-align:center}
.join-form__success{background:rgba(199,255,46,.12); border:1px solid var(--lime); color:var(--lime); border-radius:10px; padding:.9em 1.1em; font-weight:500; text-align:center}

.join__contact{display:flex; flex-direction:column; align-items:flex-start; gap:.5rem; padding-top:1rem}
.join__contact h3{font-family:var(--f-display); font-weight:700; text-transform:uppercase; font-size:clamp(1.4rem,3vw,2rem); margin-top:.6rem}
.join__slogan{font-family:var(--f-accent); text-transform:uppercase; letter-spacing:.14em; color:var(--lime); text-shadow:var(--glow-soft)}
.contact-list{margin:1rem 0; display:flex; flex-direction:column; gap:.8rem}
.contact-list li{display:flex; align-items:center; gap:.7rem; color:#dbe3f2}
.contact-list svg{width:20px; height:20px; fill:none; stroke:var(--lime); flex:none}
.contact-list a:hover{color:var(--lime)}
.join__joma{color:var(--text-muted); font-size:.9rem; margin-top:.5rem}
.join__joma b{color:#dbe3f2}

/* ---------- 21. Footer ---------- */
.footer{position:relative; background:var(--ink-800); padding-top:3.5rem}
.footer__seam{position:absolute; top:0; left:0; right:0; height:4px; background:var(--crest-stripe); box-shadow:0 0 18px rgba(199,255,46,.4)}
.footer__inner{display:grid; grid-template-columns:1.4fr .8fr 1fr 1.3fr; gap:2rem; padding-bottom:2.5rem}
.footer__brand{display:flex; gap:.9rem; align-items:center}
.footer__name{font-family:var(--f-display); font-weight:700; font-size:1.1rem}
.footer__sub{color:var(--text-muted); font-size:.85rem}
.footer__slogan{font-family:var(--f-display); font-weight:800; text-transform:uppercase; line-height:.95; font-size:clamp(1.4rem,3vw,2.2rem); color:var(--lime); text-shadow:var(--glow-soft)}
.footer__nav{display:flex; flex-direction:column; gap:.5rem}
.footer__nav a{color:#c4cde0; font-family:var(--f-accent); text-transform:uppercase; letter-spacing:.08em; font-size:.85rem}
.footer__nav a:hover{color:var(--lime)}
.footer__contact{display:flex; flex-direction:column; gap:.6rem; align-items:flex-start}
.footer__contact a,.footer__contact p{display:flex; align-items:center; gap:.5rem; color:#c4cde0; font-size:.9rem}
.footer__contact svg{width:17px; height:17px; fill:none; stroke:var(--lime)}
.footer__contact a:hover{color:var(--lime)}
.footer__anthem{color:var(--text-muted); font-size:.82rem}
.footer__contact .btn{margin-top:.4rem}
.footer__legal{display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; border-top:1px solid var(--ink-600); padding-block:1.4rem; color:var(--text-muted); font-size:.82rem}
.footer__legal .tick-bolt{width:.8em; height:1em; fill:var(--lime); vertical-align:-.15em}

/* ---------- 22. Reveal system ---------- */
[data-reveal]{opacity:0; transform:translateY(28px); transition:opacity .7s var(--ease), transform .7s var(--ease)}
[data-reveal].in{opacity:1; transform:none}
.hero__title .line{opacity:0; clip-path:inset(0 0 110% 0); transform:translateY(.25em)}
.is-loaded .hero__title .line{animation:word-rise .7s var(--ease) forwards}
.is-loaded .hero__title .line:nth-child(1){animation-delay:.35s}
.is-loaded .hero__title .line:nth-child(2){animation-delay:.45s}
.is-loaded .hero__title .line:nth-child(3){animation-delay:.55s}
@keyframes word-rise{to{opacity:1; clip-path:inset(-30% -45% -30% -8%); transform:none}}
.line--bolt .strike-bolt{opacity:0; transform:scale(.4) rotate(-12deg); transform-origin:bottom left}
.is-loaded .line--bolt .strike-bolt{animation:bolt-strike .45s var(--spring) 1s forwards}
@keyframes bolt-strike{
  0%{opacity:0; transform:scale(.4) rotate(-12deg); filter:drop-shadow(0 0 24px #fff)}
  60%{opacity:1; transform:scale(1.12) rotate(0); filter:drop-shadow(0 0 22px #fff)}
  100%{opacity:1; transform:none; filter:drop-shadow(0 0 14px rgba(199,255,46,.85))}
}
@keyframes rise{to{opacity:1; transform:none}}

/* ---------- 23. Responsive ---------- */
@media (max-width:1024px){
  .footer__inner{grid-template-columns:1fr 1fr; gap:2rem 1.5rem}
  .value-grid{grid-template-columns:repeat(2,1fr)}
  .kit-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:860px){
  .nav__links{display:none}
  .nav__cta{display:none}
  .burger{display:flex}
  .coaches__grid{grid-template-columns:1fr; justify-items:center; text-align:left}
  .coach-card{max-width:340px}
  .personalizer__grid{grid-template-columns:1fr}
  .personalizer__jersey{order:-1}
  .join__grid{grid-template-columns:1fr}
  .carpathians__grid{grid-template-columns:1fr}
  .carpathians__head{grid-column:1; grid-row:1}
  .carpathians__lead-photo{grid-column:1; grid-row:2; transform:rotate(-1deg); max-width:420px; margin-inline:auto; width:100%}
  .carpathians__sub-photo{grid-column:1; grid-row:3; max-width:300px; margin-top:-1rem}
  .reel--up,.reel--down,.reel--lead{transform:none}
  .reels{gap:1.4rem}
}
@media (max-width:560px){
  .kit-grid{grid-template-columns:repeat(2,1fr); gap:.7rem}
  .value-grid{grid-template-columns:1fr}
  .field-row{grid-template-columns:1fr}
  .testimonials{grid-template-columns:1fr}
  .footer__inner{grid-template-columns:1fr; gap:1.6rem}
  .footer__slogan{font-size:2rem}
  .anthem{grid-template-columns:1fr; text-align:center; justify-items:center}
  .anthem__controls{justify-content:center}
  .reels{flex-direction:column; align-items:center; scroll-snap-type:y proximity}
  .reel,.reel--lead{width:min(280px,80vw)}
  .hero__title{font-size:clamp(2.2rem,13vw,4rem)}
  /* reclaim nav width so the burger never clips off-screen at 320px */
  .nav__inner{gap:.6rem}
  .brand__word{font-size:1.05rem}
  .nav__actions{gap:.4rem}
  .nav__actions .icon-btn{width:38px; height:38px}
  .nav__actions a.icon-btn{display:none} /* Instagram also lives in contacts + footer */
}

/* ---------- 24. Reduced motion / data ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important}
  .floodlights{animation:none; opacity:1}
  .ticker__track,.trophy-marquee__track,.mobile-menu__ticker span{animation:none}
  .impulse-line__pulse{display:none}
  [data-reveal]{opacity:1; transform:none}
  .hero__title .line{opacity:1; clip-path:none; transform:none}
  .line--bolt .strike-bolt,.is-loaded .line--bolt .strike-bolt{opacity:1; transform:none; animation:none}
  .kit-card,.value-card{opacity:1; transform:none}
  .hero__scroll span{animation:none}
}
