@font-face{font-family:'Bebas Neue';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/bebas-neue-400.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/barlow-400.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/barlow-500.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-600.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/barlow-700.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/barlow-800.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:900;font-display:swap;src:url(../fonts/barlow-900.woff2) format('woff2')}

:root{
  --bg:#0a0a0a; --bg2:#0f120e; --surface:#15180f22; --card:#16190f; --card2:#1b1f14;
  --line:#2b3126; --ink:#f3f5ee; --muted:#a9afa2; --neon:#94d600; --neon2:#b6f13a; --neon-d:#6fa300;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:'Barlow',system-ui,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *{animation:none!important;transition:none!important}}
h1,h2,h3,.bebas{font-family:'Bebas Neue',Impact,sans-serif;font-weight:400;letter-spacing:.5px;line-height:.92;text-wrap:balance}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:1120px;margin:0 auto;padding-inline:20px}
.eyebrow{font-family:'Barlow';font-weight:800;letter-spacing:4px;text-transform:uppercase;font-size:13px;color:var(--neon)}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:'Barlow';font-weight:800;letter-spacing:1px;
  text-decoration:none;border-radius:10px;padding:14px 26px;font-size:15px;cursor:pointer;border:2px solid transparent}
.btn-neon{background:var(--neon);color:#0a0a0a}
.btn-neon:hover{background:var(--neon2)}
.btn-ghost{border-color:#3a4033;color:var(--ink);background:transparent}
.btn-ghost:hover{border-color:var(--neon)}

/* NAV */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(10,10,10,.86);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;max-width:1120px;margin:0 auto}
.nav img{height:34px;width:auto}
.nav .links{display:flex;gap:24px;align-items:center}
.nav .links a{text-decoration:none;font-weight:700;font-size:14px;letter-spacing:.5px;color:var(--muted)}
.nav .links a:hover{color:var(--ink)}
.nav .links .btn{padding:10px 18px}
.menuBtn{display:none;background:none;border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:8px 12px;font-size:18px;cursor:pointer}
@media(max-width:820px){
  .nav .links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;
    background:#0c0e0a;border-bottom:1px solid var(--line);padding:6px 20px 16px}
  .nav .links[data-open]{display:flex}
  .nav .links a{padding:12px 0;border-bottom:1px solid var(--line);width:100%}
  .nav .links .btn{margin-top:12px;justify-content:center}
  .menuBtn{display:inline-block}
}

/* HERO */
.hero{position:relative;overflow:hidden;border-bottom:3px solid var(--neon)}
.hero .bg{position:absolute;inset:0;background:url(../img/hero.jpg) center center/cover no-repeat;}
.hero .veil{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(7,8,6,.97) 0%,rgba(7,8,6,.92) 40%,rgba(7,8,6,.74) 66%,rgba(7,8,6,.55) 100%),
  linear-gradient(0deg,rgba(7,8,6,.97) 4%,rgba(7,8,6,.4) 44%,rgba(7,8,6,.18) 100%)}
.hero .inner{position:relative;max-width:1120px;margin:0 auto;padding:74px 20px 66px}
.hero h1{font-size:clamp(58px,11vw,140px);margin:14px 0 0}
.hero h1 .g{color:var(--neon)}
.hero .sub{max-width:560px;margin:18px 0 0;font-size:clamp(17px,2.4vw,21px);color:#e7eadf}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 30px}
.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid #39402f;background:rgba(20,24,14,.6);
  border-radius:999px;padding:8px 16px;font-weight:700;font-size:14px}
.chip b{color:var(--neon)}
.cta-row{display:flex;flex-wrap:wrap;gap:14px}

/* QUICK FACTS (top highlighted block) */
.facts{padding-block:38px 12px}
.facts-box{background:linear-gradient(180deg,#12160c,#0d100a);border:2px solid var(--neon);
  border-radius:22px;padding:28px 30px 32px;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.facts-head{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.facts-head h2{font-size:clamp(34px,5vw,54px);margin:0}
.facts-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px}
.fact{border-left:3px solid #2c3324;padding-left:18px}
.fact:first-child{border-left:none;padding-left:0}
.fv{font-family:'Bebas Neue';font-size:clamp(54px,7vw,80px);color:var(--neon);line-height:.86}
.fv span{font-size:.4em}
.fl{font-weight:800;font-size:13px;letter-spacing:.6px;text-transform:uppercase;color:#cfd6c6;margin-top:8px;line-height:1.3}
@media(max-width:900px){.facts-grid{grid-template-columns:repeat(3,1fr)} .fact:nth-child(4){border-left:none;padding-left:0}}
@media(max-width:520px){.facts-grid{grid-template-columns:repeat(2,1fr)} .fact{border-left:none;padding-left:0} .fact:nth-child(odd){border-left:none;padding-left:0}}

/* SECTIONS */
section{padding-block:64px}
.sec-head{max-width:720px;margin-bottom:34px}
.sec-head h2{font-size:clamp(38px,6vw,64px);margin:8px 0 0}
.sec-head p{color:var(--muted);margin:14px 0 0}
.alt{background:var(--bg2);border-block:1px solid var(--line)}

/* stat tiles */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px}
.stat .n{font-family:'Bebas Neue';font-size:56px;color:var(--neon);line-height:.9}
.stat .l{color:var(--muted);font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;margin-top:6px}
@media(max-width:720px){.stats{grid-template-columns:repeat(2,1fr)}}

/* two phase cards */
.phases{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.phase{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px;position:relative}
.phase.cup{border-color:#3c471f;background:linear-gradient(180deg,#191d10,#141609)}
.phase .tag{display:inline-block;font-weight:800;font-size:12px;letter-spacing:2px;text-transform:uppercase;
  color:#0a0a0a;background:var(--neon);border-radius:6px;padding:4px 10px}
.phase h3{font-size:34px;margin:14px 0 6px}
.phase .when{color:var(--neon);font-weight:800;font-size:14px;letter-spacing:1px}
.phase ul{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.phase li{position:relative;padding-left:24px;color:#dfe3d7}
.phase li::before{content:"";position:absolute;left:0;top:9px;width:11px;height:11px;background:var(--neon);border-radius:3px}
@media(max-width:720px){.phases{grid-template-columns:1fr}}

/* timeline */
.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:8px}
.tl{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;text-align:center}
.tl.cup{border-color:var(--neon);background:#181c0f}
.tl .wk{font-family:'Bebas Neue';font-size:26px;color:var(--neon)}
.tl .dt{font-weight:700;font-size:13px;margin-top:4px}
.tl .ds{color:var(--muted);font-size:12px;margin-top:4px}
@media(max-width:720px){.timeline{grid-template-columns:repeat(2,1fr)}}

/* schedule cards */
.sched{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.scard{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.scard h3{font-size:28px;margin:0;padding:18px 22px;background:#12150c;border-bottom:1px solid var(--line)}
.scard h3 span{color:var(--neon)}
.scard .body{padding:8px 22px 20px}
.line{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.line:last-child{border-bottom:none}
.line .d{font-weight:800;color:var(--ink);white-space:nowrap}
.line .g{color:var(--muted);text-align:right;font-size:15px}
.line .g b{color:var(--neon2)}
@media(max-width:720px){.sched{grid-template-columns:1fr}}

/* bracket */
.bracket-wrap{border:1px solid var(--line);border-radius:16px;overflow:auto;background:#0a0a0a}
.bracket-wrap img{min-width:760px;width:100%}
.cap{color:var(--muted);font-size:14px;margin-top:12px}

/* rules grid */
.rules{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rule{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px}
.rule .h{font-family:'Bebas Neue';font-size:24px;color:var(--ink)}
.rule .h span{color:var(--neon)}
.rule p{margin:8px 0 0;color:#d3d8cb;font-size:15px;line-height:1.5}
@media(max-width:820px){.rules{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.rules{grid-template-columns:1fr}}

/* awards band w/ photo */
.band{position:relative;border-block:3px solid var(--neon);overflow:hidden}
.band .bg{position:absolute;inset:0;background:url(../img/hero.jpg) center 20%/cover no-repeat;opacity:.35}
.band .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,9,7,.86),rgba(8,9,7,.92))}
.band .inner{position:relative;max-width:1120px;margin:0 auto;padding:60px 20px}
.awards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}
.award{background:rgba(18,21,12,.75);border:1px solid #3a4430;border-radius:14px;padding:20px}
.award .t{font-family:'Bebas Neue';font-size:26px;color:var(--neon)}
.award p{margin:6px 0 0;color:#dfe3d7;font-size:15px}
@media(max-width:720px){.awards{grid-template-columns:1fr}}

/* register */
.reg{display:grid;grid-template-columns:1fr;gap:22px;align-items:start;max-width:720px}
.reg .box{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px}
.reg .box.hi{border-color:var(--neon);background:linear-gradient(180deg,#181c0f,#121509)}
.kv{display:flex;flex-direction:column;gap:14px;margin-top:6px}
.kv .row{display:flex;gap:12px;align-items:baseline}
.kv .k{color:var(--muted);font-weight:800;font-size:12px;letter-spacing:1px;text-transform:uppercase;min-width:96px}
.kv .v{font-weight:600}
.copy{display:inline-flex;align-items:center;gap:8px;background:#0f120a;border:1px solid var(--line);
  border-radius:8px;padding:8px 12px;font-weight:800;letter-spacing:1px;cursor:pointer;color:var(--neon)}
.copy:hover{border-color:var(--neon)}
@media(max-width:720px){.reg{grid-template-columns:1fr}}

/* footer */
footer{border-top:1px solid var(--line);background:#080907}
footer .inner{max-width:1120px;margin:0 auto;padding:34px 20px;display:flex;flex-wrap:wrap;
  gap:16px;align-items:center;justify-content:space-between}
footer img{height:40px;width:auto}
.tagline{font-family:'Bebas Neue';font-size:26px;letter-spacing:2px}
.tagline span{color:var(--neon)}
.fnote{color:var(--muted);font-size:13px;width:100%}

/* ===== Additions: accessibility ===== */
:focus-visible{outline:3px solid var(--neon2);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--neon);color:#0a0a0a;padding:10px 16px;border-radius:8px;font-weight:800}
.skip:focus{left:12px}
.nav .links a.login{color:var(--ink);border:1px solid #3a4033;border-radius:10px;padding:9px 14px}
.nav .links a.login:hover{border-color:var(--neon)}
@media(max-width:820px){.nav .links a.login{border:none;border-bottom:1px solid var(--line);border-radius:0;padding:12px 0}}

.nav .links a.btn-neon,.nav .links a.btn-neon:hover{color:#0a0a0a}

.reg.reg-2{max-width:none;grid-template-columns:1fr 1fr}
@media(max-width:820px){.reg.reg-2{grid-template-columns:1fr}}
