:root{
  --bg:#050505;
  --bg2:#0d0d0d;
  --panel:#121212;
  --line:#2a2a2a;
  --red:#d10000;
  --red-dark:#8f0000;
  --text:#f5f5f5;
  --muted:#b8b8b8;
  --max:1140px;
  --radius:14px;
}

*{box-sizing:border-box}
html,body{
  margin:0;padding:0;
  background:
    radial-gradient(circle at 20% -10%, rgba(209,0,0,.12), transparent 35%),
    radial-gradient(circle at 80% 110%, rgba(209,0,0,.12), transparent 35%),
    var(--bg);
  color:var(--text);
  font-family:Segoe UI,Roboto,Arial,sans-serif;
}

[hidden]{
  display:none !important;
}

a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}
.container{width:min(var(--max),92%);margin-inline:auto}

.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(5,5,5,.85);
  border-bottom:1px solid #1a1a1a;
  backdrop-filter:blur(6px);
}

.nav{
  min-height:78px;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}

.site-nav{
  display:flex;
  align-items:center;
  gap:1rem;
}

.brand img{
  height:48px;width:auto;display:block;
  filter:drop-shadow(0 0 8px rgba(209,0,0,.25));
}

.nav-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:.7rem 1rem;
  border:1px solid var(--line);
  border-radius:999px;
  background:#171717;
  color:#fff;
  font:inherit;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.7px;
  text-transform:uppercase;
  cursor:pointer;
}

.nav-links{
  list-style:none;
  display:flex;gap:1rem;
  margin:0;padding:0;
}
.nav-links a{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:.3rem 0;
  color:var(--muted);
  font-size:.84rem;
  text-transform:uppercase;
  font-weight:700;
  letter-spacing:.7px;
}
.nav-links a:hover,.nav-links a.active{color:#fff}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  background:#171717;
  min-height:44px;
  padding:.7rem 1rem;
  border-radius:999px;
  font-size:.78rem;
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.7px;
}
.btn-primary{
  background:linear-gradient(180deg, #ea0000, #a40000);
  border-color:#700000;
}

.hero{padding:4.2rem 0 3rem;border-bottom:1px solid #1a1a1a}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1.3rem;align-items:center}
.tag{
  display:inline-block;
  border:1px solid #4e0000;
  background:#1c0000;
  color:#ffb4b4;
  border-radius:999px;
  padding:.35rem .7rem;
  text-transform:uppercase;
  font-weight:700;
  font-size:.72rem;
  letter-spacing:.7px;
}
h1{font-size:clamp(2rem,5vw,3.8rem);line-height:1.05;margin:.7rem 0 1rem;text-transform:uppercase}
h2{font-size:clamp(1.6rem,4vw,1.8rem);margin:0 0 .9rem;text-transform:uppercase}
h3{margin:.1rem 0 .45rem;text-transform:uppercase}
p{color:var(--muted);line-height:1.55;max-width:65ch}

.hero-actions{display:flex;gap:.65rem;flex-wrap:wrap}
.panel{
  border:1px solid var(--line);
  background:linear-gradient(180deg,#141414,#0f0f0f);
  border-radius:var(--radius);
  padding:1rem;
}
.stats{
  margin-top:.8rem;
  display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;
}
.stats div{
  border:1px solid var(--line);
  border-radius:10px;
  text-align:center;
  padding:.65rem .3rem;
  background:#181818;
}
.stats strong{display:block;color:#fff}
.stats span{font-size:.74rem;color:#bdbdbd;text-transform:uppercase}

.section{padding:3.2rem 0}
.muted{color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem}
.card{
  background:linear-gradient(180deg,#131313,#0f0f0f);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1rem;
}

.schedule{
  width:100%;
  border-collapse:collapse;
  background:#111;
  border:none;
}
.table-scroll{
  overflow-x:auto;
  background:#111;
  border:1px solid var(--line);
  border-radius:var(--radius);
}
.calendar-shell{
  display:grid;
  gap:1rem;
  background:linear-gradient(180deg,#131313,#0f0f0f);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1rem;
}
.calendar-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}
.calendar-header h2,
.calendar-help h2{
  margin-bottom:.35rem;
}
.calendar-state{
  background:#111;
  border:1px dashed #2b2b2b;
  border-radius:var(--radius);
  color:#d0d0d0;
  padding:1rem;
}
.calendar-frame{
  background:#111;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
}
.calendar-frame iframe{
  width:100%;
  min-height:720px;
  border:0;
  display:block;
}
.calendar-help{
  margin-top:1rem;
}
.schedule th,.schedule td{
  padding:.8rem;
  border-bottom:1px solid #222;
  text-align:left;
}
.schedule th{
  background:#181818;
  text-transform:uppercase;
  font-size:.74rem;
  letter-spacing:.7px;
}
.pill{
  display:inline-block;
  padding:.2rem .55rem;
  border-radius:999px;
  font-size:.72rem;
  text-transform:uppercase;
  font-weight:800;
}
.soon{background:#2a2a2a;border:1px solid #3a3a3a}
.live{background:#d10000;border:1px solid #7d0000;color:#fff}

.form{display:grid;gap:.5rem}
input,textarea{
  width:100%;
  background:#0f0f0f;
  color:#f4f4f4;
  border:1px solid #2f2f2f;
  border-radius:10px;
  min-height:44px;
  padding:.75rem .85rem;
  font:inherit;
}
textarea{resize:vertical}
label{font-size:.84rem;color:#d0d0d0}
.form-submit{justify-self:start}

footer{
  border-top:1px solid #1a1a1a;
  color:#9a9a9a;
  padding:1.2rem 0 1.8rem;
  margin-top:2rem;
}

@media (max-width: 960px){
  .hero-grid{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .nav{
    align-items:flex-start;
    flex-wrap:wrap;
    padding:.9rem 0;
  }
  .nav-toggle{
    display:inline-flex;
    margin-left:auto;
  }
  .site-nav{
    display:none;
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:.8rem;
    padding-top:.35rem;
  }
  .site-nav.is-open{display:flex}
  .nav-links{
    flex-direction:column;
    gap:.35rem;
  }
  .nav-links a{
    width:100%;
    padding:.75rem 0;
  }
  .nav-cta{
    text-align:center;
  }
  .calendar-header{
    flex-direction:column;
  }
  .schedule{
    min-width:560px;
  }
}

@media (max-width: 600px){
  .container{width:min(var(--max),calc(100% - 1.5rem))}
  .brand img{height:40px}
  .hero{padding:3rem 0 2.25rem}
  .section{padding:2.4rem 0}
  .hero-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .hero-actions .btn,
  .form-submit{
    width:100%;
    text-align:center;
  }
  .stats{
    grid-template-columns:1fr;
  }
.calendar-shell{
  display:grid;
  gap:1rem;
  background:linear-gradient(180deg,#131313,#0f0f0f);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1rem;
}

.calendar-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}

.calendar-frame{
  width:100%;
  max-width:1109px;
  margin:0 auto;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  background:#111;
}

.calendar-frame iframe{
  width:100%;
  height:720px;
  border:0;
  display:block;
}

.calendar-mobile-link{
  display:none;
  width:100%;
  max-width:1109px;
  margin:.75rem auto 0;
}

@media (max-width: 768px){
  .calendar-frame iframe{
    display:none; /* hide broken mobile embed */
  }
  .calendar-mobile-link{
    display:block;
  }
}
