:root{
  --black:#050608;
  --panel:#0b0d11;
  --panel2:#11151b;
  --royal:#0749c7;
  --royal-bright:#1767ff;
  --gold:#d8a51d;
  --gold-light:#f2c34b;
  --white:#f4f4f2;
  --muted:#bdc4cf;
  --line:rgba(216,165,29,.45);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#000}
body{
  margin:0;
  background:
    radial-gradient(circle at 16% 8%,rgba(23,103,255,.14),transparent 30%),
    linear-gradient(145deg,#12151a,#030405 60%);
  color:var(--white);
  font-family:Arial,Helvetica,sans-serif;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
.wrap{width:min(1180px,92%);margin:auto}

body.compact-page{
  zoom:0.9;
}

/* ===================== HEADER / NAV ===================== */
.site-header{
  position:sticky;top:0;z-index:20;background:rgba(3,4,6,.96);
  border-bottom:2px solid var(--gold);backdrop-filter:blur(14px);
}
.header-row{height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.wordmark{font-family:Impact,Arial Black,sans-serif;font-size:25px;letter-spacing:1.5px}
.wordmark span{color:var(--royal-bright)}
.site-nav{display:flex;gap:22px;align-items:center;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.8px}
.site-nav a:hover,.site-nav .active{color:var(--gold-light)}
.cta-small{border:1px solid var(--gold);padding:12px 15px}

.menu-toggle{
  display:none;
  background:none;border:2px solid var(--gold);color:var(--gold);
  font-size:22px;width:44px;height:44px;border-radius:6px;
}
.mobile-drawer{
  display:none;
  position:fixed;
  top:78px;
  left:0;right:0;
  z-index:25;
  flex-direction:column;
  background:#050608;
  border-top:1px solid rgba(216,165,29,.4);
  max-height:calc(100vh - 78px);
  overflow-y:auto;
}
.mobile-drawer a{
  padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08);
  text-transform:uppercase;font-weight:900;letter-spacing:1px;font-size:14px;
  background:#050608;
}
.mobile-drawer .support{color:var(--gold-light)}
.mobile-drawer.open{display:flex}
.mobile-drawer-socials{display:flex;gap:16px;padding:16px 20px;flex-wrap:wrap;}
.mobile-drawer-socials a{padding:0;border:0;font-size:12px;color:var(--gold-light);}

.social-icon{
  width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--gold);border-radius:5px;color:var(--gold);
  background:rgba(3,4,6,.4);
  transition:box-shadow .18s ease, color .18s ease, background .18s ease, transform .18s ease;
}
.social-icon svg{width:18px;height:18px;}
.social-icon:hover{
  color:var(--gold-light);background:rgba(216,165,29,.15);transform:translateY(-2px);
  box-shadow:0 0 10px rgba(242,195,75,.85), 0 0 20px rgba(242,195,75,.4);
}

/* ===================== HOMEPAGE HERO (real img element + overlays) ===================== */
.hero-image-band{
  position:relative;
  width:100%;
  max-width:1300px;
  margin:0 auto;
  border-bottom:2px solid var(--gold);
  line-height:0;
}
.hero-bg-img{
  width:100%;
  height:auto;
  display:block;
}
.hero-overlay-socials{
  position:absolute;
  right:1.8%;
  top:19%;
  display:flex;
  flex-direction:column;
  gap:1%;
  z-index:3;
}
.hero-overlay-socials .social-icon{
  width:clamp(22px, 2.5vw, 38px);
  height:clamp(22px, 2.5vw, 38px);
}
.hero-overlay-socials .social-icon svg{
  width:55%;height:55%;
}

/* ===================== MISSION LINE / FOOTER BAND ===================== */
.mission-line{
  font-family:'Permanent Marker',cursive;font-weight:400;text-transform:none;
  font-size:clamp(22px,4vw,40px);color:var(--white);
}
.mission-line span{color:var(--royal-bright)}
.mission-band{
  position:relative;overflow:hidden;
  padding:36px 0;
  background:rgba(255,255,255,.02);
  border-top:1px solid rgba(216,165,29,.3);
  border-bottom:1px solid rgba(216,165,29,.3);
}
.feather{position:absolute;top:0;height:100%;width:auto;opacity:.9;pointer-events:none;z-index:1;}
.feather-left{left:0;}
.feather-right{right:0;}
.mission-band .wrap{position:relative;z-index:2;}

/* ===================== INNER PAGE HERO ===================== */
.page-hero{
  position:relative;min-height:340px;display:grid;place-items:center;text-align:center;
  border-bottom:2px solid var(--gold);
  background-color:#050608;
  background-image:
    linear-gradient(90deg,rgba(2,4,8,.75),rgba(3,21,61,.55),rgba(2,4,8,.75)),
    url("../images/hero-final-bg.png");
  background-position:center 20%;
  background-size:140% auto;
  background-repeat:no-repeat;
}
.page-hero.teams-hero{
  background-image:url("../images/teams-banner-v2.png");
  background-position:center;
  background-size:43% auto;
  
}
.page-hero.sponsors-hero{
  background-image:url("../images/sponsors-banner.png");
  background-position:center;
  background-size:35% auto;
  min-height:220px;
}
.page-hero.registration-hero{
  background-image:url("../images/registration-banner.png");
  background-position:center;
 background-size:45% auto;
  
}
.page-hero.contact-hero{
  background-image:url("../images/contact-banner.png");
  background-position:center;
  background-size:40% auto;
  
}
.page-hero.schedule-hero{
  background-image:url("../images/schedule-banner.png");
  background-position:center;
  background-size:40% auto;
  
}
.page-hero.about-hero{
  background-image:url("../images/about-banner.png");
  background-position:center;
  background-size:45% auto;
 
}

.page-hero.teams-hero .page-hero-content,
.page-hero.sponsors-hero .page-hero-content,
.page-hero.registration-hero .page-hero-content,
.page-hero.contact-hero .page-hero-content,
.page-hero.schedule-hero .page-hero-content,
.page-hero.about-hero .page-hero-content{
  display:none;
}

.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.35))}
.page-hero-content{position:relative;z-index:2;padding:30px 20px}
.kicker{color:var(--gold-light);text-transform:uppercase;font-weight:900;letter-spacing:3px}
.page-hero h1{
  margin:8px 0 0;font-family:Impact,Arial Black,sans-serif;
  font-size:clamp(52px,8vw,105px);line-height:.9;text-transform:uppercase;
  text-shadow:6px 6px 0 #000;
}
.page-hero h1 span{color:var(--royal-bright)}

/* ===================== SHARED SECTIONS / PANELS ===================== */
.section{padding:72px 0}
.section.alt{background:rgba(255,255,255,.02);border-top:1px solid rgba(216,165,29,.3);border-bottom:1px solid rgba(216,165,29,.3);}
.section-title{font-family:Impact,Arial Black,sans-serif;text-transform:uppercase;font-size:clamp(38px,5vw,64px);margin:0 0 25px}
.section-title span{color:var(--gold)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.panel{
  background:linear-gradient(145deg,rgba(14,18,24,.96),rgba(5,7,10,.96));
  border:1px solid var(--line);padding:28px;box-shadow:0 20px 50px rgba(0,0,0,.35);
}
.panel h2,.panel h3{font-family:Impact,Arial Black,sans-serif;text-transform:uppercase;letter-spacing:.5px}
.panel h3{font-size:28px;margin:0 0 12px;color:var(--gold-light)}
.panel p,.panel li{color:var(--muted);line-height:1.65}
.stat-number{
  font-family:Impact,Arial Black,sans-serif;font-size:44px;color:var(--gold-light);
}
.mini-event{
  padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08);color:var(--muted);font-size:13.5px;
}
.mini-event strong{color:var(--gold-light);display:block;font-size:12px;letter-spacing:.5px;}

.btn{
  display:inline-block;padding:14px 20px;border:2px solid var(--gold);
  text-transform:uppercase;font-weight:900;letter-spacing:1px;
  background:rgba(4,5,8,.85);
}
.btn.gold{background:linear-gradient(135deg,var(--gold-light),#9d6b00);color:#050608}
.btn.blue{background:linear-gradient(135deg,#154eb9,#041d59);border-color:#1e70ff}

/* ===================== SCHEDULE ===================== */
.schedule-list{display:grid;gap:14px}
.event{
  display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:20px;
  background:rgba(5,7,10,.92);border:1px solid var(--line);padding:18px;
}
.event-date{font-family:Impact,Arial Black,sans-serif;font-size:28px;color:var(--gold-light);text-align:center}
.event h3{margin:0;font-size:22px}.event p{margin:5px 0 0;color:var(--muted)}
.badge{background:#061b54;border:1px solid #155fff;padding:8px 10px;font-size:12px;font-weight:900}

/* ===================== SPONSOR TIERS ===================== */
.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tier{background:#080a0e;border:2px solid var(--gold);padding:23px 20px;display:flex;flex-direction:column}
.tier:nth-child(odd){border-color:#155fff}
.tier .price{font-family:Impact,Arial Black,sans-serif;font-size:48px}
.tier h3{font-size:26px;margin:10px -20px 18px;padding:11px 15px;text-align:center;background:var(--gold);color:#050608}
.tier:nth-child(odd) h3{background:#0b47bb;color:white}
.tier ul{padding-left:18px;flex:1}

/* ===================== FORMS ===================== */
form{display:grid;gap:17px}
.field label{display:block;margin-bottom:7px;color:var(--gold-light);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:1px}
.field input,.field textarea,.field select{
  width:100%;padding:14px;background:#11161e;color:white;border:1px solid #36404f;
}
.field textarea{min-height:150px;resize:vertical}
.notice{padding:14px 16px;border:1px solid var(--gold);background:rgba(216,165,29,.09);color:#f4d77e}

/* ===================== FOOTER ===================== */
.site-footer{padding:35px 0;border-top:2px solid var(--gold);background:#020305}
.footer-row{display:flex;justify-content:space-between;gap:24px;align-items:center}
.footer-row p{color:#9ca5b2;max-width:680px;margin:0}
.footer-brand{font-family:Impact,Arial Black,sans-serif;font-size:25px;color:var(--gold-light)}

/* ===================== RESPONSIVE ===================== */
@media(max-width:900px){
  .site-nav{display:none}
  .menu-toggle{display:block}
  .grid-2,.grid-3,.tiers{grid-template-columns:1fr}
  .event{grid-template-columns:86px 1fr}.event .badge{grid-column:2}
  .footer-row{flex-direction:column;align-items:flex-start}

  .page-hero{
    min-height:160px;
  }
  .page-hero.teams-hero,
  .page-hero.sponsors-hero,
  .page-hero.registration-hero,
  .page-hero.contact-hero,
  .page-hero.schedule-hero,
  .page-hero.about-hero{
    background-size:contain;
    background-color:#050608;
  }
}
