*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --black:  #06080E;
  --deep:   #0A0F1E;
  --card:   #0F1829;
  --cyan:   #00F5FF;
  --gold:   #FFD000;
  --orange: #FF6B1A;
  --red:    #FF3860;
  --purple: #A855F7;
  --green:  #00FF88;
  --white:  #F0F4FF;
  --muted:  rgba(240,244,255,0.5);
  --faint:  rgba(240,244,255,0.18);
  /* team colours */
  --alpha:  #00C8FF;
  --bravo:  #FF5A36;
  --charlie:#FFD000;
  --delta:  #A855F7;
}

html { scroll-behavior: smooth; }
body {
  background: var(--black);
  color: var(--white);
  font-family: 'DM Sans', sans-serif;
  font-weight: 300;
  overflow-x: hidden;
  cursor: none;
}

/* CURSOR */
.cursor {
  width: 12px; height: 12px; background: var(--cyan); border-radius: 50%;
  position: fixed; top: 0; left: 0; pointer-events: none; z-index: 9999;
  transform: translate(-50%,-50%); mix-blend-mode: screen;
  transition: width .2s, height .2s, background .2s;
}
.cursor.big { width: 40px; height: 40px; background: rgba(0,245,255,.3); }

/* NAV */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  padding: 24px 60px;
  display: flex; align-items: center; justify-content: space-between;
  background: linear-gradient(180deg, rgba(6,8,14,.95) 0%, transparent 100%);
}
.nav-logo { font-family: 'Bebas Neue', sans-serif; font-size: 1.6rem; letter-spacing: .12em; }
.nav-logo span { color: var(--cyan); }
.nav-cta {
  font-family: 'Khand', sans-serif; font-weight: 600;
  font-size: .85rem; letter-spacing: .15em; text-transform: uppercase;
  padding: 10px 28px; background: var(--cyan); color: var(--black);
  text-decoration: none; display: inline-block;
  clip-path: polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%);
  transition: background .2s, transform .2s;
}
.nav-cta:hover { background: var(--gold); transform: translateY(-1px); }

/* ─── SHARED UTILITIES ─── */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}
.reveal { opacity: 0; transform: translateY(40px); transition: opacity .8s ease, transform .8s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

.btn-glow {
  font-family: 'Khand', sans-serif; font-weight: 600;
  font-size: 1rem; letter-spacing: .15em; text-transform: uppercase;
  padding: 16px 48px; text-decoration: none; display: inline-block;
  background: var(--cyan); color: var(--black);
  clip-path: polygon(12px 0%,100% 0%,calc(100% - 12px) 100%,0% 100%);
  box-shadow: 0 0 40px rgba(0,245,255,.4), 0 0 80px rgba(0,245,255,.15);
  transition: all .3s;
}
.btn-glow:hover { background: var(--gold); box-shadow: 0 0 40px rgba(255,208,0,.5); transform: translateY(-3px); }
.btn-glow.gold  { background: var(--gold); color: var(--black); box-shadow: 0 0 40px rgba(255,208,0,.4); }
.btn-glow.gold:hover { background: var(--white); }

.btn-ghost {
  font-family: 'Khand', sans-serif; font-weight: 600;
  font-size: 1rem; letter-spacing: .15em; text-transform: uppercase;
  padding: 15px 48px; text-decoration: none; display: inline-block;
  background: transparent; color: var(--white); border: 1px solid rgba(240,244,255,.25);
  clip-path: polygon(12px 0%,100% 0%,calc(100% - 12px) 100%,0% 100%);
  transition: all .3s;
}
.btn-ghost:hover { border-color: var(--cyan); color: var(--cyan); background: rgba(0,245,255,.05); }

.section-eyebrow {
  font-family: 'Khand', sans-serif; font-weight: 500;
  font-size: .75rem; letter-spacing: .4em; text-transform: uppercase;
  color: var(--cyan); margin-bottom: 20px;
  display: flex; align-items: center; gap: 16px;
}
.section-eyebrow::before { content: ''; width: 32px; height: 1px; background: currentColor; }

/* ─────────────────────────
   HERO
───────────────────────── */
.hero {
  min-height: 100vh; display: grid; place-items: center;
  text-align: center; position: relative; overflow: hidden;
  padding: 120px 40px 80px;
}
.hero-atmo {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 100% 80% at 50% 0%,  rgba(0,245,255,.12) 0%, transparent 55%),
    radial-gradient(ellipse 60%  40% at 20% 100%, rgba(255,107,26,.15) 0%, transparent 50%),
    radial-gradient(ellipse 60%  40% at 80% 100%, rgba(0,71,255,.2)    0%, transparent 50%),
    var(--black);
}
.particles { position: absolute; inset: 0; overflow: hidden; }
.particle  { position: absolute; border-radius: 50%; animation: drift linear infinite; }
@keyframes drift {
  from { transform: translateY(100vh) scale(0); opacity: 0; }
  10%  { opacity: 1; } 90% { opacity: 1; }
  to   { transform: translateY(-10vh) scale(1); opacity: 0; }
}
.hero-horizon {
  position: absolute; bottom: 30%; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg,transparent,rgba(0,245,255,.6) 50%,transparent);
}
.hero-horizon::before {
  content:''; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:2px; height:200px; margin-top:-200px;
  background: linear-gradient(180deg, transparent, rgba(0,245,255,.4));
}
.hero-vignette {
  position:absolute; inset:0;
  background: radial-gradient(ellipse 80% 80% at 50% 50%, transparent 40%, rgba(6,8,14,.8) 100%);
}
.hero-content { position:relative; z-index:2; max-width:900px; }

.hero-pre {
  font-family:'Khand',sans-serif; font-weight:400;
  font-size:.8rem; letter-spacing:.5em; text-transform:uppercase;
  color:var(--cyan); margin-bottom:32px;
  display:inline-flex; align-items:center; gap:16px;
  opacity:0; animation: fadeUp 1s ease .3s forwards;
}
.hero-pre::before,.hero-pre::after { content:''; display:block; width:40px; height:1px; background:currentColor; }

.hero-h1 { font-family:'Bebas Neue',sans-serif; font-size:clamp(5rem,14vw,14rem); line-height:.85; letter-spacing:.01em; }
.hero-h1 .l1 { display:block; color:var(--white);  opacity:0; animation:fadeUp 1s ease .5s forwards; }
.hero-h1 .l2 { display:block; color:transparent; -webkit-text-stroke:1px rgba(0,245,255,.6); opacity:0; animation:fadeUp 1s ease .7s forwards; }
.hero-h1 .l3 { display:block; color:var(--cyan);  text-shadow:0 0 80px rgba(0,245,255,.5); opacity:0; animation:fadeUp 1s ease .9s forwards; }

.hero-world { font-family:'Bebas Neue',sans-serif; font-size:clamp(2rem,5vw,5rem); line-height:.85; color:var(--white); opacity:0; animation:fadeUp 1s ease 1.1s forwards; margin-bottom:40px; }

.hero-tagline { font-size:clamp(1rem,2vw,1.3rem); font-weight:200; line-height:1.6; color:var(--muted); max-width:560px; margin:0 auto 56px; opacity:0; animation:fadeUp 1s ease 1.3s forwards; }
.hero-tagline strong { color:var(--white); font-weight:400; }

.hero-actions { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; opacity:0; animation:fadeUp 1s ease 1.5s forwards; }

.scroll-cue {
  position:absolute; bottom:40px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:8px;
  font-family:'Khand',sans-serif; font-size:.65rem; letter-spacing:.3em; text-transform:uppercase; color:var(--faint);
}
.scroll-cue::after { content:''; width:1px; height:48px; background:linear-gradient(180deg,var(--faint),transparent); animation:scPulse 2s ease infinite; }
@keyframes scPulse { 0%,100%{opacity:.3} 50%{opacity:1} }

/* ─────────────────────────
   EXPERIENCE BLOCKS
───────────────────────── */
.xp-block { min-height:100vh; display:grid; grid-template-columns:1fr 1fr; position:relative; overflow:hidden; }
.xp-block.reverse { direction:rtl; }
.xp-block.reverse > * { direction:ltr; }
.xp-visual { position:relative; overflow:hidden; min-height:600px; }
.xp-bg { position:absolute; inset:0; }
.xp-freeroam-bg  { background: radial-gradient(ellipse 80% 80% at 50% 50%,rgba(0,71,255,.4) 0%,transparent 60%), radial-gradient(ellipse 60% 60% at 80% 20%,rgba(0,245,255,.2) 0%,transparent 50%), #060810; }
.xp-multi-bg     { background: radial-gradient(ellipse 80% 80% at 50% 50%,rgba(255,107,26,.35) 0%,transparent 60%), radial-gradient(ellipse 50% 50% at 20% 80%,rgba(255,208,0,.15) 0%,transparent 50%), #0D0608; }
.xp-worlds-bg    { background: radial-gradient(ellipse 80% 80% at 50% 50%,rgba(138,43,226,.35) 0%,transparent 60%), radial-gradient(ellipse 50% 50% at 80% 80%,rgba(0,245,255,.15) 0%,transparent 50%), #080610; }

.float-ring { position:absolute; border-radius:50%; border:1px solid; animation:rotate linear infinite; }
@keyframes rotate { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }

.xp-svg-center { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; z-index:2; }
.xp-giant-num { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); font-family:'Bebas Neue',sans-serif; font-size:18rem; line-height:1; opacity:.04; color:var(--white); pointer-events:none; white-space:nowrap; }

.xp-text { display:flex; flex-direction:column; justify-content:center; padding:80px 80px 80px 60px; background:var(--deep); position:relative; }
.xp-block.reverse .xp-text { padding:80px 60px 80px 80px; }
.xp-text::before { content:''; position:absolute; top:15%; bottom:15%; left:0; width:1px; background:linear-gradient(180deg,transparent,var(--cyan),transparent); opacity:.3; }

.xp-num { font-family:'Khand',sans-serif; font-weight:400; font-size:.8rem; letter-spacing:.4em; color:var(--cyan); margin-bottom:24px; opacity:.6; }
.xp-h2  { font-family:'Bebas Neue',sans-serif; font-size:clamp(3rem,5vw,5.5rem); line-height:.9; letter-spacing:.02em; margin-bottom:32px; color:var(--white); }
.xp-h2 em         { font-style:normal; color:var(--cyan);   }
.xp-h2.orange em  { color:var(--orange); }
.xp-h2.gold em    { color:var(--gold);   }

.xp-body { font-size:1.05rem; font-weight:300; line-height:1.85; color:var(--muted); margin-bottom:48px; max-width:440px; }
.xp-body strong { color:var(--white); font-weight:400; }

.xp-feelings { display:flex; flex-direction:column; gap:16px; margin-bottom:48px; }
.feeling { display:flex; align-items:center; gap:16px; font-size:.9rem; color:var(--muted); }
.feeling-dot { width:6px; height:6px; border-radius:50%; background:var(--cyan); flex-shrink:0; box-shadow:0 0 8px var(--cyan); }
.feeling.orange .feeling-dot { background:var(--orange); box-shadow:0 0 8px var(--orange); }
.feeling.gold   .feeling-dot { background:var(--gold);   box-shadow:0 0 8px var(--gold);   }

/* ─────────────────────────
   PULL QUOTE
───────────────────────── */
.quote-section { padding:160px 80px; text-align:center; position:relative; overflow:hidden; background:var(--black); }
.quote-bg { position:absolute; inset:0; background:radial-gradient(ellipse 50% 60% at 50% 50%,rgba(0,245,255,.06) 0%,transparent 70%); }
.quote-text { font-family:'Bebas Neue',sans-serif; font-size:clamp(2.5rem,6vw,6rem); line-height:1.05; letter-spacing:.02em; color:var(--white); position:relative; z-index:2; max-width:1000px; margin:0 auto; }
.quote-text span { color:var(--cyan); }
.quote-mark { font-size:8rem; line-height:0; vertical-align:-.3em; color:rgba(0,245,255,.15); font-family:serif; }

/* ─────────────────────────
   TOURNAMENT SECTION
───────────────────────── */
.tourney-section {
  position:relative; overflow:hidden;
  background: var(--deep);
  border-top: 1px solid rgba(255,208,0,.1);
  border-bottom: 1px solid rgba(255,208,0,.1);
}

/* dramatic diagonal split background */
.tourney-section::before {
  content:'';
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 70% 60% at 80% 30%, rgba(255,208,0,.07) 0%,transparent 60%),
    radial-gradient(ellipse 50% 40% at 10% 80%, rgba(255,56,96,.08) 0%,transparent 50%),
    radial-gradient(ellipse 40% 40% at 50% 50%, rgba(0,245,255,.04) 0%,transparent 60%);
  pointer-events:none;
}

/* big watermark */
.tourney-section::after {
  content:'TOURNAMENT';
  position:absolute; bottom:-60px; right:-40px;
  font-family:'Bebas Neue',sans-serif; font-size:14rem; letter-spacing:.15em;
  color:rgba(255,208,0,.03); pointer-events:none; white-space:nowrap;
}

.tourney-inner { position:relative; z-index:2; padding:120px 80px; }

/* hero moment */
.tourney-hero {
  display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;
  margin-bottom:100px;
}

.tourney-headline { font-family:'Bebas Neue',sans-serif; font-size:clamp(3rem,6vw,7rem); line-height:.88; letter-spacing:.01em; margin-bottom:28px; }
.tourney-headline .l1 { display:block; color:var(--white); }
.tourney-headline .l2 { display:block; color:transparent; -webkit-text-stroke:1px rgba(255,208,0,.6); }
.tourney-headline .l3 { display:block; color:var(--gold); text-shadow:0 0 60px rgba(255,208,0,.4); }

.tourney-body { font-size:1.1rem; font-weight:300; line-height:1.85; color:var(--muted); margin-bottom:40px; max-width:480px; }
.tourney-body strong { color:var(--white); font-weight:400; }

/* stat strip */
.tourney-stats { display:flex; gap:32px; flex-wrap:wrap; margin-bottom:48px; }
.t-stat { }
.t-stat-num { font-family:'Bebas Neue',sans-serif; font-size:3rem; line-height:1; color:var(--gold); text-shadow:0 0 30px rgba(255,208,0,.3); }
.t-stat-label { font-family:'Khand',sans-serif; font-size:.7rem; letter-spacing:.25em; text-transform:uppercase; color:var(--muted); margin-top:2px; }

/* arena art */
.tourney-arena-art {
  position:relative; display:flex; align-items:center; justify-content:center;
  min-height:480px;
}
.arena-ring {
  position:absolute; border-radius:50%; border:1px solid;
  animation:rotate linear infinite;
}

/* ── 5 ROUNDS TIMELINE ── */
.rounds-timeline {
  margin-bottom:80px;
}
.rounds-title {
  font-family:'Bebas Neue',sans-serif; font-size:2.2rem; letter-spacing:.05em;
  color:var(--white); margin-bottom:48px; text-align:center;
}
.rounds-title span { color:var(--gold); }

.rounds-track {
  display:grid; grid-template-columns:repeat(5,1fr); gap:2px;
  position:relative;
}
/* connecting line */
.rounds-track::before {
  content:''; position:absolute; top:40px; left:5%; right:5%; height:1px;
  background:linear-gradient(90deg, var(--cyan), var(--orange), var(--gold), var(--purple), var(--red));
  z-index:1;
}

.round-stop {
  display:flex; flex-direction:column; align-items:center;
  padding:0 12px 32px; text-align:center; position:relative; z-index:2;
}

.round-orb {
  width:80px; height:80px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  font-family:'Bebas Neue',sans-serif; font-size:1.6rem; letter-spacing:.05em;
  border:2px solid; margin-bottom:20px;
  transition:transform .3s, box-shadow .3s;
  background:var(--black);
}
.round-stop:hover .round-orb { transform:scale(1.12); }

.r1 .round-orb { border-color:var(--cyan);   color:var(--cyan);   box-shadow:0 0 0 0 rgba(0,245,255,.3); }
.r2 .round-orb { border-color:var(--green);  color:var(--green);  box-shadow:0 0 0 0 rgba(0,255,136,.3); }
.r3 .round-orb { border-color:var(--orange); color:var(--orange); box-shadow:0 0 0 0 rgba(255,107,26,.3); }
.r4 .round-orb { border-color:var(--gold);   color:var(--gold);   box-shadow:0 0 0 0 rgba(255,208,0,.3); }
.r5 .round-orb { border-color:var(--red);    color:var(--red);    border-width:3px; box-shadow:0 0 0 0 rgba(255,56,96,.3); font-size:2rem; }
.round-stop:hover .r1 .round-orb { box-shadow:0 0 24px rgba(0,245,255,.5); }
.round-stop:hover .r2 .round-orb { box-shadow:0 0 24px rgba(0,255,136,.5); }
.round-stop:hover .r3 .round-orb { box-shadow:0 0 24px rgba(255,107,26,.5); }
.round-stop:hover .r4 .round-orb { box-shadow:0 0 24px rgba(255,208,0,.5); }
.round-stop:hover .r5 .round-orb { box-shadow:0 0 32px rgba(255,56,96,.6); }

.round-name { font-family:'Bebas Neue',sans-serif; font-size:1.1rem; letter-spacing:.08em; color:var(--white); margin-bottom:6px; line-height:1.1; }
.round-game { font-family:'Khand',sans-serif; font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.round-hook { font-size:.82rem; font-weight:300; line-height:1.5; color:var(--muted); }

/* ── TEAMS ── */
.teams-row {
  display:grid; grid-template-columns:repeat(4,1fr); gap:12px;
  margin-bottom:64px;
}
.team-chip {
  padding:24px 20px; text-align:center;
  border:1px solid; position:relative; overflow:hidden;
  transition:transform .3s, box-shadow .3s;
}
.team-chip:hover { transform:translateY(-6px); }

.team-chip.alpha   { border-color:rgba(0,200,255,.35);   background:rgba(0,200,255,.06);   }
.team-chip.bravo   { border-color:rgba(255,90,54,.35);   background:rgba(255,90,54,.06);   }
.team-chip.charlie { border-color:rgba(255,208,0,.35);   background:rgba(255,208,0,.06);   }
.team-chip.delta   { border-color:rgba(168,85,247,.35);  background:rgba(168,85,247,.06);  }

.team-chip:hover.alpha   { box-shadow:0 12px 40px rgba(0,200,255,.2); }
.team-chip:hover.bravo   { box-shadow:0 12px 40px rgba(255,90,54,.2); }
.team-chip:hover.charlie { box-shadow:0 12px 40px rgba(255,208,0,.2); }
.team-chip:hover.delta   { box-shadow:0 12px 40px rgba(168,85,247,.2); }

/* diagonal corner cut */
.team-chip::after {
  content:''; position:absolute; top:0; right:0;
  width:0; height:0; border-style:solid; border-width:0 16px 16px 0;
}
.team-chip.alpha::after   { border-color:transparent var(--alpha)   transparent transparent; }
.team-chip.bravo::after   { border-color:transparent var(--bravo)   transparent transparent; }
.team-chip.charlie::after { border-color:transparent var(--charlie) transparent transparent; }
.team-chip.delta::after   { border-color:transparent var(--delta)   transparent transparent; }

.team-emoji { font-size:2rem; margin-bottom:10px; display:block; }
.team-name  { font-family:'Bebas Neue',sans-serif; font-size:1.8rem; letter-spacing:.1em; line-height:1; }
.team-chip.alpha   .team-name { color:var(--alpha);   }
.team-chip.bravo   .team-name { color:var(--bravo);   }
.team-chip.charlie .team-name { color:var(--charlie); }
.team-chip.delta   .team-name { color:var(--delta);   }
.team-role { font-family:'Khand',sans-serif; font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin-top:6px; }

/* grand finale callout */
.finale-banner {
  padding:48px 60px;
  background:rgba(255,56,96,.05);
  border:1px solid rgba(255,56,96,.25);
  position:relative; overflow:hidden;
  display:flex; align-items:center; gap:48px;
}
.finale-banner::before {
  content:''; position:absolute; inset:0;
  background:repeating-linear-gradient(
    -45deg, transparent, transparent 6px,
    rgba(255,56,96,.03) 6px, rgba(255,56,96,.03) 12px
  );
}
.finale-icon { font-size:4rem; flex-shrink:0; position:relative; z-index:1; }
.finale-text { position:relative; z-index:1; }
.finale-label { font-family:'Khand',sans-serif; font-size:.7rem; letter-spacing:.35em; text-transform:uppercase; color:var(--red); margin-bottom:8px; }
.finale-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(1.8rem,3vw,3rem); letter-spacing:.05em; color:var(--white); margin-bottom:12px; line-height:1; }
.finale-body  { font-size:.95rem; font-weight:300; line-height:1.7; color:var(--muted); max-width:560px; }
.finale-body strong { color:var(--white); font-weight:400; }

/* ─────────────────────────
   WHAT TO EXPECT
───────────────────────── */
.expect-section { padding:140px 80px; background:var(--deep); position:relative; overflow:hidden; }
.expect-section::before { content:'EXPERIENCE'; position:absolute; bottom:-40px; right:-40px; font-family:'Bebas Neue',sans-serif; font-size:15rem; color:rgba(255,255,255,.02); letter-spacing:.1em; pointer-events:none; white-space:nowrap; }
.expect-h2 { font-family:'Bebas Neue',sans-serif; font-size:clamp(3rem,5vw,5rem); line-height:.9; letter-spacing:.02em; margin-bottom:80px; color:var(--white); }
.moments-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.moment { padding:52px 40px; background:rgba(10,15,30,.6); border:1px solid rgba(240,244,255,.05); position:relative; overflow:hidden; transition:background .4s,border-color .4s; }
.moment:hover { background:rgba(17,24,50,.9); border-color:rgba(0,245,255,.2); }
.moment::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:linear-gradient(90deg,transparent,var(--cyan),transparent); opacity:0; transition:opacity .4s; }
.moment:hover::after { opacity:1; }
.moment-emoji { font-size:2.5rem; margin-bottom:24px; display:block; }
.moment-title { font-family:'Bebas Neue',sans-serif; font-size:1.8rem; letter-spacing:.05em; color:var(--white); margin-bottom:16px; line-height:1; }
.moment-desc  { font-size:.9rem; font-weight:300; line-height:1.75; color:var(--muted); }

/* ─────────────────────────
   FOR EVERYONE
───────────────────────── */
.for-section { padding:140px 80px; background:var(--black); }
.for-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.for-h2 { font-family:'Bebas Neue',sans-serif; font-size:clamp(3rem,5vw,5rem); line-height:.9; letter-spacing:.02em; color:var(--white); margin-bottom:32px; }
.for-h2 span { color:var(--gold); }
.for-body { font-size:1.05rem; font-weight:300; line-height:1.85; color:var(--muted); margin-bottom:48px; }
.crowd-types { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.crowd-tag { padding:18px 20px; border:1px solid rgba(240,244,255,.08); font-family:'Khand',sans-serif; font-weight:500; font-size:.95rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); display:flex; align-items:center; gap:12px; transition:border-color .3s,color .3s,background .3s; clip-path:polygon(6px 0%,100% 0%,calc(100% - 6px) 100%,0% 100%); }
.crowd-tag:hover { border-color:rgba(0,245,255,.3); color:var(--white); background:rgba(0,245,255,.05); }
.crowd-tag span { font-size:1.3rem; }
.for-art { position:relative; display:flex; align-items:center; justify-content:center; min-height:500px; }
.for-art-bg { position:absolute; inset:0; background:radial-gradient(ellipse at 50% 50%,rgba(255,208,0,.1) 0%,transparent 70%); border:1px solid rgba(255,208,0,.08); clip-path:polygon(20px 0%,100% 0%,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%,0 20px); }
.for-art-content { position:relative; z-index:2; text-align:center; padding:60px; }
.for-big-num { font-family:'Bebas Neue',sans-serif; font-size:10rem; line-height:1; color:var(--gold); text-shadow:0 0 60px rgba(255,208,0,.3); }
.for-big-label { font-family:'Khand',sans-serif; font-weight:400; font-size:1rem; letter-spacing:.3em; text-transform:uppercase; color:var(--muted); }

/* ─────────────────────────
   FINAL CTA
───────────────────────── */
.cta-section { padding:160px 80px; text-align:center; position:relative; overflow:hidden; background:var(--deep); }
.cta-bg {
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 80% 60% at 50% 100%, rgba(0,245,255,.1) 0%,transparent 60%),
    radial-gradient(ellipse 50% 40% at  0%   0%, rgba(0,71,255,.12) 0%,transparent 50%),
    radial-gradient(ellipse 50% 40% at 100%  0%, rgba(255,107,26,.12) 0%,transparent 50%);
}
.cta-floor {
  position:absolute; bottom:0; left:0; right:0; height:300px;
  background-image: linear-gradient(rgba(0,245,255,.08) 1px,transparent 1px), linear-gradient(90deg,rgba(0,245,255,.08) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:linear-gradient(180deg,transparent 0%,black 60%);
  transform:perspective(400px) rotateX(30deg); transform-origin:bottom;
}
.cta-content { position:relative; z-index:2; }
.cta-eyebrow { font-family:'Khand',sans-serif; font-size:.8rem; letter-spacing:.4em; text-transform:uppercase; color:var(--cyan); margin-bottom:32px; }
.cta-h2 { font-family:'Bebas Neue',sans-serif; font-size:clamp(4rem,10vw,10rem); line-height:.85; letter-spacing:.01em; color:var(--white); margin-bottom:32px; }
.cta-h2 span { color:transparent; -webkit-text-stroke:1px rgba(0,245,255,.5); }
.cta-sub { font-size:1.1rem; font-weight:300; line-height:1.7; color:var(--muted); max-width:560px; margin:0 auto 64px; }
.cta-buttons { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.location-pill { display:inline-flex; align-items:center; gap:10px; font-family:'Khand',sans-serif; font-size:.75rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); padding:8px 20px; border:1px solid rgba(240,244,255,.1); margin-bottom:48px; }
.location-dot { width:6px; height:6px; border-radius:50%; background:var(--cyan); animation:locpulse 2s infinite; }
@keyframes locpulse { 0%,100%{box-shadow:0 0 0 0 rgba(0,245,255,.4)} 50%{box-shadow:0 0 0 6px rgba(0,245,255,0)} }

/* FOOTER */
footer { padding:60px 80px; background:var(--black); border-top:1px solid rgba(240,244,255,.06); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px; }
.footer-logo { font-family:'Bebas Neue',sans-serif; font-size:2rem; letter-spacing:.1em; }
.footer-logo span { color:var(--cyan); }
.footer-tagline { font-size:.8rem; font-weight:300; color:var(--faint); letter-spacing:.1em; margin-top:4px; }
.footer-links { display:flex; gap:32px; font-family:'Khand',sans-serif; font-weight:500; font-size:.8rem; letter-spacing:.2em; text-transform:uppercase; }
.footer-links a { color:var(--muted); text-decoration:none; transition:color .2s; }
.footer-links a:hover { color:var(--cyan); }

/* RESPONSIVE */
@media (max-width:900px) {
  nav { padding:20px 24px; }
  .hero { padding:100px 24px 80px; }
  .xp-block { grid-template-columns:1fr; }
  .xp-block.reverse { direction:ltr; }
  .xp-visual { min-height:360px; }
  .xp-text { padding:60px 24px !important; }
  .xp-text::before { display:none; }
  .tourney-inner { padding:80px 24px; }
  .tourney-hero { grid-template-columns:1fr; gap:48px; }
  .rounds-track { grid-template-columns:1fr 1fr; }
  .rounds-track::before { display:none; }
  .teams-row { grid-template-columns:1fr 1fr; }
  .finale-banner { flex-direction:column; padding:32px 24px; gap:24px; }
  .expect-section,.for-section,.cta-section,.quote-section { padding:80px 24px; }
  .moments-grid { grid-template-columns:1fr; }
  .for-grid { grid-template-columns:1fr; }
  .crowd-types { grid-template-columns:1fr; }
  footer { padding:40px 24px; flex-direction:column; gap:32px; }
}

/* ── WORDPRESS COMPATIBILITY ── */
/* Admin bar offset for sticky nav */
body.admin-bar nav { top: 32px; }
@media screen and (max-width: 782px) {
  body.admin-bar nav { top: 46px; }
}
/* Ensure cursor: none doesn't apply in WP admin */
body.wp-admin { cursor: auto; }
