:root{
  --green:#9FE22D;
  --dark:#071008;
  --dark-card:#111111;
  --light:#ffffff;
  --gray:#cfcfcf;
}

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

html{
  scroll-behavior:smooth;
}

body{
  font-family:Segoe UI,Arial,sans-serif;
  background:var(--dark);
  color:white;
  line-height:1.7;
  overflow-x:hidden;
}

/* =========================
   HEADER
========================= */

#siteHeader{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:9999;
  background:rgba(0,0,0,.75);
  backdrop-filter:blur(12px);
  transition:.3s;
}

#siteHeader.scrolled{
  background:rgba(0,0,0,.95);
}

nav{
  max-width:1400px;
  margin:auto;
  padding:18px 24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.logo{
  color:var(--green);
  font-weight:800;
  font-size:1.5rem;
  letter-spacing:1px;
}

#navLinks{
  display:flex;
  gap:20px;
}

#navLinks a{
  color:white;
  text-decoration:none;
  font-weight:600;
  transition:.3s;
}

#navLinks a:hover{
  color:var(--green);
}

/* =========================
   HERO
========================= */

.hero{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:120px 20px;
  background:
  linear-gradient(
  rgba(0,0,0,.45),
  rgba(0,0,0,.75)
  ),
  url('../images/bayfront-crowd-hero.jpg');
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
}

.hero-content{
  max-width:1100px;
}

.badge{
  display:inline-block;
  padding:10px 20px;
  border:1px solid rgba(159,226,45,.5);
  border-radius:999px;
  color:var(--green);
  margin-bottom:20px;
}

.hero h1{
  font-size:clamp(3rem,8vw,6rem);
  margin-bottom:20px;
}

.subtitle{
  font-size:1.35rem;
  max-width:900px;
  margin:auto;
  margin-bottom:30px;
}

/* =========================
   COUNTDOWN
========================= */

#countdown{
  font-size:clamp(2rem,5vw,4rem);
  color:var(--green);
  font-weight:800;
  margin:30px 0;
}

/* =========================
   BUTTONS
========================= */

.buttons{
  display:flex;
  gap:15px;
  justify-content:center;
  flex-wrap:wrap;
}

.btn{
  display:inline-block;
  padding:14px 26px;
  border-radius:999px;
  background:var(--green);
  color:black;
  text-decoration:none;
  font-weight:700;
  transition:.3s;
}

.btn:hover{
  transform:translateY(-3px);
}

/* =========================
   SECTIONS
========================= */

section{
  padding:100px 20px;
}

.container{
  max-width:1300px;
  margin:auto;
}

section h2{
  text-align:center;
  font-size:clamp(2rem,5vw,3rem);
  margin-bottom:20px;
}

section p{
  text-align:center;
  max-width:900px;
  margin:auto;
}

/* =========================
   STATS
========================= */

.stats{
  display:grid;
  grid-template-columns:
  repeat(auto-fit,minmax(220px,1fr));
  gap:20px;
  margin-top:40px;
}

.stat{
  background:var(--dark-card);
  padding:25px;
  border-radius:16px;
  text-align:center;
}

.stat h2{
  color:var(--green);
  margin-bottom:10px;
}

/* =========================
   GRID SYSTEM
========================= */

.grid{
  display:grid;
  grid-template-columns:
  repeat(auto-fit,minmax(280px,1fr));
  gap:25px;
  margin-top:40px;
}

.card{
  background:var(--dark-card);
  padding:30px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
}

.card h3{
  color:var(--green);
  margin-bottom:10px;
}

/* =========================
   EDUCATION STATION
========================= */

#education-station{
  background:#0c130c;
}

#featured-speakers,
#upcoming-presentations{
  margin-top:30px;
}

/* =========================
   SPONSORS
========================= */

#homepage-sponsors{
  margin-top:40px;
}

/* =========================
   VENDORS
========================= */

#homepage-vendors{
  margin-top:40px;
}

/* =========================
   VENUE
========================= */

#venue{
  background:#0d140d;
}

/* =========================
   SCHEDULE
========================= */

#schedule{
  background:#0a100a;
}

/* =========================
   JOIN EXPERIENCE
========================= */

#join{
  text-align:center;
}

/* =========================
   FOOTER
========================= */

footer{
  background:#050505;
  text-align:center;
  padding:80px 20px;
}

footer h2{
  color:var(--green);
  margin-bottom:15px;
}

footer p{
  margin-bottom:10px;
}

/* =========================
   WELCOME OVERLAY
========================= */

#welcome-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.95);
  display:flex;
  justify-content:center;
  align-items:center;
  z-index:10000;
}

.overlay-content{
  text-align:center;
}

.overlay-content h1{
  margin-bottom:20px;
}

.overlay-content p{
  margin-bottom:20px;
}

/* =========================
   MOBILE
========================= */

@media(max-width:768px){

  nav{
    flex-direction:column;
    gap:15px;
  }

  #navLinks{
    flex-wrap:wrap;
    justify-content:center;
  }

  .hero{
    background-attachment:scroll;
  }

  .hero h1{
    font-size:3rem;
  }

  section{
    padding:70px 20px;
  }

}