/* ============ FUSION CUP LEAGUE — styles ============ */

:root{
  --bg: #0B0F0A;
  --surface: #141A12;
  --volt: #D8FF2E;
  --white: #FFFFFF;
  --muted: #8A9481;
  --font-display: 'Anton', 'Oswald', sans-serif;
  --font-body: 'Inter', sans-serif;
  --nav-h: 72px;
  --container-w: 1180px;
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
}

body{
  margin:0;
  background: var(--bg);
  color: var(--white);
  font-family: var(--font-body);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img, svg{ display:block; max-width:100%; }
a{ color: inherit; text-decoration:none; }
ul{ margin:0; padding:0; }
button{ font-family: inherit; }

.container{
  width: 100%;
  max-width: var(--container-w);
  margin: 0 auto;
  padding: 0 24px;
}
.container-narrow{ max-width: 860px; }

.section{
  position: relative;
  padding: 96px 0;
  overflow: hidden;
}
.section-dark{ background: var(--surface); }

.eyebrow{
  font-family: var(--font-body);
  font-weight: 700;
  letter-spacing: 0.18em;
  font-size: 12px;
  color: var(--volt);
  margin: 0 0 12px;
  text-transform: uppercase;
}
.section-title{
  font-family: var(--font-display);
  text-transform: uppercase;
  letter-spacing: -0.01em;
  font-size: clamp(2.4rem, 5vw, 3.6rem);
  margin: 0 0 20px;
  color: var(--white);
  line-height: 1.02;
}
.section-sub{
  color: var(--muted);
  max-width: 640px;
  font-size: 1.05rem;
  margin: 0 0 40px;
}
.section-sub.small{ margin-bottom: 20px; font-size: 0.95rem; }

/* ============ Section background motifs ============ */
.net-motif{
  position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(rgba(216,255,46,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(216,255,46,0.05) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: radial-gradient(circle at 80% 20%, rgba(0,0,0,0.9), transparent 65%);
  animation: net-drift 26s linear infinite;
}
@keyframes net-drift{
  0%{ background-position: 0 0; }
  100%{ background-position: 92px 92px; }
}
@media (prefers-reduced-motion: reduce){ .net-motif{ animation: none; } }

/* ============ Loading Screen ============ */
.loader{
  position: fixed; inset:0; z-index: 9999;
  background: radial-gradient(circle at 50% 40%, #10160D 0%, var(--bg) 70%);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}
.loader.loader-hidden{ opacity:0; visibility:hidden; pointer-events:none; }

.skip-btn{
  position:absolute; top:20px; right:20px;
  background: transparent; border:1px solid var(--muted); color:var(--muted);
  font-family: var(--font-body); font-size:12px; letter-spacing:0.08em; text-transform:uppercase;
  padding:8px 16px; border-radius:100px; cursor:pointer;
  transition: border-color 0.2s, color 0.2s;
}
.skip-btn:hover{ border-color: var(--volt); color: var(--volt); }

.loader-stage{
  position:relative; width:280px; height:200px;
  display:flex; align-items:center; justify-content:center;
}
.loader-figure{ position:absolute; left:20px; bottom:20px; opacity:1; }
.figure-body{ transform-origin: 60px 55px; }
.loader-ball{ position:absolute; left:56px; bottom:20px; opacity:1; }
.loader-trail{
  position:absolute; left:80px; bottom:34px; width:0; height:4px;
  background: linear-gradient(90deg, transparent, var(--volt));
  border-radius: 4px; opacity:0; filter: blur(0.5px);
}
.loader-word{
  position:absolute; display:flex; gap:0.35em; opacity:0; transform: scale(0.6);
  font-family: var(--font-display); text-transform:uppercase; letter-spacing:0.01em;
  font-size: clamp(1.6rem, 6vw, 2.6rem); white-space:nowrap; text-align:center; color: var(--white);
}
.loader-word .w-cup{ color: var(--volt); text-shadow: 0 0 24px rgba(216,255,46,0.7); }

.loader-bar-wrap{ margin-top: 40px; width: 220px; text-align:center; }
.loader-bar{ width:100%; height:6px; background: rgba(255,255,255,0.08); border-radius:100px; overflow:hidden; }
.loader-bar-fill{ width:0%; height:100%; background: var(--volt); box-shadow: 0 0 12px rgba(216,255,46,0.8); border-radius:100px; }
.loader-label{ margin: 12px 0 0; font-size:11px; letter-spacing:0.14em; color: var(--muted); text-transform:uppercase; }

/* kick sequence keyframes, triggered via JS classes */
.loader.kick .figure-body{ animation: wind-strike 0.55s ease-in-out forwards; }
.loader.kick .loader-ball{ animation: ball-kick 0.6s cubic-bezier(.3,.9,.4,1) forwards 0.28s; }
.loader.kick .loader-trail{ animation: trail-grow 0.5s ease-out forwards 0.32s; }
.loader.kick .loader-bar-wrap{ animation: fade-out 0.3s ease forwards; }
.loader.kick .loader-word{ animation: word-burst 0.55s cubic-bezier(.2,.9,.3,1.2) forwards 0.7s; }

@keyframes wind-strike{
  0%{ transform: rotate(0deg); }
  40%{ transform: rotate(-14deg); }
  100%{ transform: rotate(10deg); }
}
@keyframes ball-kick{
  0%{ transform: translate(0,0) scale(1); opacity:1; }
  70%{ transform: translate(160px,-70px) scale(1.1); opacity:1; }
  100%{ transform: translate(210px,-95px) scale(0.4); opacity:0; }
}
@keyframes trail-grow{
  0%{ width:0; opacity:0; }
  30%{ opacity:0.9; }
  100%{ width: 200px; opacity:0; }
}
@keyframes fade-out{ to{ opacity:0; } }
@keyframes word-burst{
  0%{ opacity:0; transform: scale(0.5); }
  60%{ opacity:1; transform: scale(1.08); }
  100%{ opacity:1; transform: scale(1); }
}

@media (prefers-reduced-motion: reduce){
  .loader{ display:none; }
}

/* ============ Scroll progress bar ============ */
.scroll-progress{
  position: fixed; top:0; left:0; height:3px; width:0%;
  background: var(--volt); box-shadow: 0 0 10px rgba(216,255,46,0.8);
  z-index: 1001; transition: width 0.1s linear;
}

/* ============ Navbar ============ */
.navbar{
  position: fixed; top:0; left:0; right:0; z-index:1000;
  height: var(--nav-h);
  background: rgba(11,15,10,0.86);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(216,255,46,0.12);
}
.navbar-inner{
  max-width: var(--container-w); margin: 0 auto; padding: 0 24px;
  height:100%; display:flex; align-items:center; gap:24px;
}
.brand{ display:flex; align-items:center; gap:10px; margin-right:auto; }
.brand-icon{ flex-shrink:0; border-radius:7px; }
.brand-word{
  font-family: var(--font-display); text-transform:uppercase;
  font-size: 1.05rem; letter-spacing: 0.02em; color: var(--white);
  white-space:nowrap;
}
.brand-cup{ color: var(--volt); margin: 0 0.15em; }
.footer-brand{ font-size:1.3rem; }
.footer-logo{ border-radius:6px; }

.nav-links{ display:flex; align-items:center; gap:28px; }
.nav-link{
  font-size: 13px; font-weight:600; letter-spacing:0.04em; text-transform:uppercase;
  color: var(--white); position:relative; padding: 6px 2px;
  transition: color 0.2s;
}
.nav-link::after{
  content:''; position:absolute; left:0; bottom:0; width:0; height:2px;
  background: var(--volt); transition: width 0.25s ease;
  box-shadow: 0 0 8px rgba(216,255,46,0.9);
}
.nav-link:hover{ color: var(--volt); }
.nav-link:hover::after{ width:100%; }

.nav-toggle{
  display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px;
}
.nav-toggle span{ width:22px; height:2px; background: var(--white); border-radius:2px; }

/* ============ Buttons ============ */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding: 12px 24px; border-radius: 100px;
  font-weight: 700; font-size: 13px; letter-spacing: 0.05em; text-transform:uppercase;
  border: 2px solid transparent; cursor:pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
  white-space: nowrap;
}
.btn-volt{ background: var(--volt); color: #0B0F0A; }
.btn-volt:hover{ transform: translateY(-2px) scale(1.03); box-shadow: 0 0 28px rgba(216,255,46,0.55); }
.btn-ghost{ background: transparent; color: var(--white); border-color: rgba(255,255,255,0.25); }
.btn-ghost:hover{ border-color: var(--volt); color: var(--volt); transform: translateY(-2px); box-shadow: 0 0 20px rgba(216,255,46,0.3); }
.btn-lg{ padding: 16px 32px; font-size:14px; }
.btn-register{ margin-left:8px; }

/* ============ Hero ============ */
.hero{
  min-height: 100vh;
  display:flex; flex-direction:column; justify-content:center;
  padding-top: calc(var(--nav-h) + 40px);
  padding-bottom: 60px;
}
.hero-bg{ position:absolute; inset:0; z-index:0; }
.hero-bg-layer{ position:absolute; inset:0; }
.floodlights{
  background:
    radial-gradient(ellipse 500px 700px at 10% -10%, rgba(216,255,46,0.10), transparent 60%),
    radial-gradient(ellipse 500px 700px at 90% -10%, rgba(216,255,46,0.10), transparent 60%),
    radial-gradient(ellipse 800px 900px at 50% 120%, rgba(216,255,46,0.06), transparent 60%);
  will-change: transform;
}
.net-pattern{
  background-image: repeating-linear-gradient(45deg, rgba(255,255,255,0.025) 0, rgba(255,255,255,0.025) 1px, transparent 1px, transparent 22px),
    repeating-linear-gradient(-45deg, rgba(255,255,255,0.025) 0, rgba(255,255,255,0.025) 1px, transparent 1px, transparent 22px);
  will-change: transform;
}
.vignette{ background: radial-gradient(ellipse at 50% 50%, transparent 40%, var(--bg) 95%); }

.hero-content{ position:relative; z-index:2; text-align:center; }
.hero-title{
  font-family: var(--font-display); text-transform:uppercase;
  font-size: clamp(3rem, 13vw, 8rem); line-height:0.92; letter-spacing:-0.01em;
  margin: 8px 0 20px;
}
.hero-title .line{ display:block; }
.hero-title .accent{ color: var(--volt); text-shadow: 0 0 40px rgba(216,255,46,0.45); }
.hero-meta{
  display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap;
  font-family: var(--font-body); font-weight:700; letter-spacing:0.03em;
  color: var(--white); font-size: 1rem; margin-bottom: 32px;
}
.hero-dates{ color: var(--volt); }
.dot-sep{ color: var(--muted); }
.hero-cta{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-bottom: 60px; }

.hero-ball-wrap{
  position:absolute; right: 4%; top: 18%; z-index:1; opacity:0.9;
  animation: ball-spin 14s linear infinite;
}
.hero-ball{ filter: drop-shadow(0 0 30px rgba(216,255,46,0.25)); }
@keyframes ball-spin{ from{ transform: rotate(0deg); } to{ transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ .hero-ball-wrap{ animation:none; } }
@media (max-width: 900px){ .hero-ball-wrap{ display:none; } }

.stats-row{
  position:relative; z-index:2;
  display:grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
  max-width: 780px; margin: 0 auto;
}
.stat-block{
  text-align:center; padding: 20px 12px; border-radius:16px;
  background: rgba(20,26,18,0.6); border: 1px solid rgba(216,255,46,0.14);
}
.stat-num{
  display:block; font-family: var(--font-display); font-size: clamp(2rem, 5vw, 3.2rem);
  color: var(--volt); text-shadow: 0 0 24px rgba(216,255,46,0.5); line-height:1;
}
.stat-label{
  display:block; margin-top:6px; font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color: var(--muted);
}

.scroll-cue{
  position:absolute; bottom: 24px; left:50%; transform: translateX(-50%);
  width: 26px; height: 42px; border: 2px solid rgba(255,255,255,0.3); border-radius: 100px;
  display:flex; justify-content:center; padding-top:8px; z-index:2;
}
.scroll-cue span{ width:4px; height:8px; border-radius:4px; background: var(--volt); animation: cue-drop 1.6s ease-in-out infinite; }
@keyframes cue-drop{ 0%{ opacity:1; transform: translateY(0); } 70%{ opacity:0; } 100%{ opacity:0; transform: translateY(10px); } }
@media (prefers-reduced-motion: reduce){ .scroll-cue span{ animation:none; } }

/* ============ Prizes ============ */
.prize-grid{
  display:grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.prize-card{
  background: var(--bg); border: 1px solid rgba(255,255,255,0.08); border-radius: 20px;
  padding: 40px 28px; text-align:center; transition: border-color 0.25s, transform 0.25s, box-shadow 0.25s;
}
.prize-card:hover{ border-color: rgba(216,255,46,0.5); transform: translateY(-4px); box-shadow: 0 12px 40px rgba(216,255,46,0.12); }
.prize-rank{
  font-size: 12px; letter-spacing:0.16em; text-transform:uppercase; color: var(--muted); margin: 0 0 16px; font-weight:700;
}
.prize-amount{
  font-family: var(--font-display); font-size: clamp(2.2rem, 4vw, 3rem); margin:0 0 8px;
  color: var(--volt); text-shadow: 0 0 26px rgba(216,255,46,0.5);
}
.prize-amount-text{ font-size: clamp(1.4rem, 3vw, 1.8rem); }
.rupee{ margin-right: 2px; }
.prize-tag{ margin:0; color: var(--white); font-weight:600; font-size:0.95rem; }
.prize-card-third{ border-color: rgba(255,255,255,0.14); }

/* ============ Rules ============ */
.rules-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-bottom: 48px; }
.rules-heading{
  font-family: var(--font-display); text-transform:uppercase; letter-spacing:0.01em;
  font-size:1.3rem; color: var(--volt); margin: 0 0 18px;
}
.rules-list{ display:flex; flex-direction:column; gap: 14px; }
.rules-list li{
  list-style:none; padding-left: 22px; position:relative; color: var(--white); font-size: 0.98rem;
}
.rules-list li::before{
  content:''; position:absolute; left:0; top:9px; width:8px; height:8px; background: var(--volt); border-radius:2px;
  box-shadow: 0 0 8px rgba(216,255,46,0.7);
}

.eligibility-block{
  border: 2px solid var(--volt); border-radius: 20px; padding: 32px;
  background: linear-gradient(180deg, rgba(216,255,46,0.06), transparent);
  box-shadow: 0 0 40px rgba(216,255,46,0.08);
}
.eligibility-tag{
  font-family: var(--font-display); color: var(--volt); letter-spacing:0.04em; margin:0 0 16px; font-size:1.15rem;
}
.eligibility-list{ display:flex; flex-direction:column; gap:12px; }
.eligibility-list li{ list-style:none; color: var(--white); font-size:0.98rem; }
.eligibility-list strong{ color: var(--volt); }

/* ============ Bracket ============ */
.bracket-hint{ color: var(--muted); margin-bottom: 40px; }
.bracket-scroll{ overflow-x: auto; padding-bottom: 12px; }
.bracket-svg{ width: 100%; min-width: 1100px; height: auto; display:block; }

.bracket-box{
  fill: var(--bg); stroke: rgba(255,255,255,0.14); stroke-width:1.5; rx:8;
}
.bracket-box.final-box{ stroke: var(--volt); }
.bracket-team-text{
  font-family: var(--font-body); font-size: 13px; font-weight:600; fill: var(--white);
}
.bracket-round-label{
  font-family: var(--font-body); font-size: 12px; letter-spacing:0.12em; text-transform:uppercase; fill: var(--muted); font-weight:700;
}
.bracket-connector{
  fill:none; stroke: var(--volt); stroke-width:2; opacity:0.9;
  stroke-dasharray: 400; stroke-dashoffset: 400;
  animation: draw-line 1s ease forwards;
}
@media (prefers-reduced-motion: reduce){
  .bracket-connector{ animation:none; stroke-dashoffset:0; }
}
@keyframes draw-line{ to{ stroke-dashoffset:0; } }
.bracket-team-box{ opacity:0; transform-origin: center; animation: box-in 0.5s ease forwards; }
@media (prefers-reduced-motion: reduce){ .bracket-team-box{ animation:none; opacity:1; } }
@keyframes box-in{ from{ opacity:0; transform: translateY(8px); } to{ opacity:1; transform: translateY(0); } }

/* ============ Register form ============ */
.callout{
  border: 1.5px solid var(--volt); border-radius:16px; background: var(--surface);
  padding: 22px 26px; margin-bottom: 40px;
}
.callout-title{ color: var(--volt); font-weight:800; letter-spacing:0.04em; margin:0 0 8px; font-size:0.85rem; text-transform:uppercase; }
.callout p:last-child{ margin:0; color: var(--white); font-size:0.95rem; }

.form-fieldset{ border:none; padding:0; margin: 0 0 40px; }
.form-legend{
  font-family: var(--font-display); text-transform:uppercase; letter-spacing:0.02em;
  font-size:1.3rem; color: var(--white); padding:0; margin-bottom:20px; display:flex; align-items:center; gap:10px;
}
.legend-num{ color: var(--volt); }

.field-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:18px; }
.field{ display:flex; flex-direction:column; gap:6px; margin-bottom:16px; }
.field label{ font-size:12px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color: var(--muted); }
.field input{
  background: var(--surface); border: 1.5px solid rgba(255,255,255,0.12); border-radius:10px;
  padding: 12px 14px; color: var(--white); font-size:1rem; font-family: var(--font-body);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.field input:focus{ outline:none; border-color: var(--volt); box-shadow: 0 0 0 3px rgba(216,255,46,0.16); }
.field input.input-error{ border-color:#ff5c5c; }
.field-error{
  display:none; color:#ff8080; font-size:12.5px; font-weight:600;
}
.field-error.show{ display:block; }

.player-row{
  background: var(--surface); border: 1px solid rgba(255,255,255,0.08); border-radius: 14px;
  padding: 20px; margin-bottom: 16px;
}
.player-row-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.player-num{ font-family: var(--font-display); text-transform:uppercase; font-size:1rem; color: var(--white); }
.player-tag{ font-size:10.5px; font-weight:800; letter-spacing:0.08em; padding:5px 10px; border-radius:100px; text-transform:uppercase; }
.tag-playing{ background: rgba(216,255,46,0.16); color: var(--volt); }
.tag-sub{ background: rgba(255,255,255,0.08); color: var(--muted); }

.field-grid-player{ grid-template-columns: 2fr 0.8fr 1fr; margin-bottom:0; }
.field-grid-player .field{ margin-bottom:0; }

.roster-helper{ color: var(--muted); font-size:0.9rem; margin: 4px 0 0; }

.checkbox-group{ margin: 28px 0; display:flex; flex-direction:column; gap:14px; }
.checkbox-row{ display:flex; align-items:flex-start; gap:12px; cursor:pointer; font-size:0.95rem; color: var(--white); }
.checkbox-row input{ margin-top:3px; width:18px; height:18px; accent-color: var(--volt); flex-shrink:0; cursor:pointer; }
.checkbox-group .field-error{ margin-left: 30px; margin-top:-8px; }

.hp-field{ position:absolute; left:-9999px; top:auto; }

.submit-launchpad{
  position: relative; width:100%; overflow: visible; margin-top: 8px;
}
.submit-btn-label{ position:relative; z-index:2; }
.launch-figure, .launch-ball, .launch-trail{ position:absolute; opacity:0; pointer-events:none; }
.launch-figure{ left: 50%; bottom: 100%; transform: translateX(-50%) translateY(20px); }
.launch-ball{ left:50%; bottom:60%; transform: translateX(-50%); }
.launch-trail{
  left:50%; bottom:60%; width:4px; height:0; background: linear-gradient(180deg, var(--volt), transparent);
  border-radius:4px; transform: translateX(-50%);
}

.submit-launchpad.launching .launch-figure{ animation: figure-rise 0.5s ease-out forwards; }
.submit-launchpad.launching .launch-ball{ animation: ball-launch 0.7s cubic-bezier(.2,.8,.3,1) forwards 0.35s; }
.submit-launchpad.launching .launch-trail{ animation: trail-rise 0.6s ease-out forwards 0.4s; }
.submit-launchpad.launching .submit-btn-label{ animation: label-fade 0.3s ease forwards; }

@keyframes figure-rise{
  0%{ opacity:0; transform: translateX(-50%) translateY(20px); }
  40%{ opacity:1; transform: translateX(-50%) translateY(-40px) rotate(-8deg); }
  70%{ opacity:1; transform: translateX(-50%) translateY(-40px) rotate(6deg); }
  100%{ opacity:0; transform: translateX(-50%) translateY(10px); }
}
@keyframes ball-launch{
  0%{ opacity:1; transform: translateX(-50%) translateY(0) scale(1); }
  100%{ opacity:0; transform: translateX(-50%) translateY(-260px) scale(0.5); }
}
@keyframes trail-rise{
  0%{ height:0; opacity:0.9; }
  100%{ height: 220px; opacity:0; }
}
@keyframes label-fade{ to{ opacity:0; } }

.form-status{
  margin-top: 24px; padding: 20px 24px; border-radius:14px; font-weight:600;
  opacity:0; transform: translateY(8px); transition: opacity 0.4s ease, transform 0.4s ease;
}
.form-status.show{ opacity:1; transform: translateY(0); }
.form-status.status-success{ background: rgba(216,255,46,0.1); border:1.5px solid var(--volt); color: var(--white); }
.form-status.status-error{ background: rgba(255,92,92,0.08); border:1.5px solid #ff5c5c; color: var(--white); }

/* ============ Watch ============ */
.watch-frame{
  border: 2px solid var(--volt); border-radius: 20px; padding: 10px;
  box-shadow: 0 0 50px rgba(216,255,46,0.14); background: var(--surface);
}
.watch-frame-inner{ position:relative; width:100%; padding-top: 56.25%; border-radius:14px; overflow:hidden; background:#000; }
.watch-frame-inner iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

/* ============ Contact ============ */
.contact-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.contact-card{
  background: var(--surface); border: 1px solid rgba(255,255,255,0.08); border-radius:18px;
  padding: 36px 24px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:8px;
  transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
}
.contact-card:hover{ transform: translateY(-4px); border-color: rgba(216,255,46,0.5); box-shadow: 0 12px 40px rgba(216,255,46,0.12); }
.contact-icon{
  width:56px; height:56px; border-radius:50%; background: var(--bg);
  border: 1px solid rgba(216,255,46,0.3);
  display:flex; align-items:center; justify-content:center; margin-bottom:8px;
}
.contact-label{ font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color: var(--muted); margin:0; font-weight:700; }
.contact-value{ font-size:1.05rem; font-weight:700; color: var(--white); margin:0; word-break: break-word; }

/* ============ Footer ============ */
.footer{ background: var(--surface); border-top:1px solid rgba(216,255,46,0.1); padding: 40px 0; }
.footer-inner{ display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; }
.footer-copy{ color: var(--muted); font-size:0.85rem; margin:0; }

/* ============ Reveal-on-scroll ============ */
.reveal{
  opacity:0; transform: translateY(28px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.in-view{ opacity:1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
}

/* ============ Responsive ============ */
@media (max-width: 980px){
  .rules-grid{ grid-template-columns: 1fr; gap: 32px; }
  .field-grid-player{ grid-template-columns: 1fr; gap:12px; }
}

@media (max-width: 860px){
  .nav-links{
    position:absolute; top: var(--nav-h); left:0; right:0;
    background: rgba(11,15,10,0.98); flex-direction:column; align-items:flex-start;
    padding: 20px 24px; gap: 18px; border-bottom:1px solid rgba(216,255,46,0.12);
    transform: translateY(-8px); opacity:0; pointer-events:none; transition: opacity 0.2s, transform 0.2s;
  }
  .nav-links.open{ transform: translateY(0); opacity:1; pointer-events:auto; }
  .nav-toggle{ display:flex; }
  .btn-register{ margin-left:0; padding: 10px 18px; }
  .brand-word{ font-size:0.9rem; }
}

@media (max-width: 720px){
  .stats-row{ grid-template-columns: 1fr; gap:14px; }
  .prize-grid{ grid-template-columns: 1fr; }
  .contact-grid{ grid-template-columns: 1fr; }
  .field-grid{ grid-template-columns: 1fr; }
  .section{ padding: 64px 0; }
  .hero-cta{ flex-direction:column; width:100%; }
  .hero-cta .btn{ width:100%; }
}
