
:root{
  --bg:#0a0a0a; /* nearly black */
  --fg:#f5f7fa; /* off white for readability */
  --muted:#9aa0a6; /* muted gray */
  --accent:#00e5ff; /* electric cyan */
  --accent-2:#ff3b30; /* punchy red */
  --card:#111316; /* card bg */
  --border:#1f2329;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,"Noto Sans","Helvetica Neue",Arial,sans-serif}
.container{width:min(1120px, 92%);margin:0 auto}
header{position:sticky;top:0;z-index:10;background:linear-gradient(180deg, rgba(10,10,10,0.95), rgba(10,10,10,0.7));backdrop-filter:saturate(150%) blur(6px);border-bottom:1px solid var(--border)}
.nav{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:.8rem 0}
.nav a{color:var(--fg);text-decoration:none;opacity:.9}
.nav a:hover{opacity:1}
.brand{display:flex;gap:.6rem;align-items:center}
.brand img{height:32px;width:auto}
.brand span{font-weight:700;letter-spacing:.4px}
.cta{padding:.6rem 1rem;border:1px solid var(--accent);color:var(--accent);border-radius:.4rem;text-decoration:none;font-weight:600}
.cta:hover{background:var(--accent);color:#001014}

.hero{padding:7rem 0 4rem;background:
  radial-gradient(1000px 400px at 10% -10%, rgba(0,229,255,.10), rgba(0,0,0,0)),
  radial-gradient(800px 300px at 90% 0%, rgba(255,59,48,.12), rgba(0,0,0,0));
}
.hero h1{font-size:clamp(2.2rem, 5vw, 4rem);line-height:1.1;margin:.2rem 0 .6rem}
.hero p.lead{font-size:clamp(1rem, 2.8vw, 1.3rem);color:var(--muted);max-width:60ch}
.hero .badges{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.2rem 0}
.badge{border:1px solid var(--border);background:var(--card);padding:.35rem .6rem;border-radius:.4rem;font-size:.9rem;color:#cbd3da}

.grid{display:grid;gap:1rem}
@media(min-width:800px){.grid.cols-2{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.grid.cols-3{grid-template-columns:repeat(3,1fr)}}

section{padding:3rem 0;border-top:1px solid var(--border)}
section h2{font-size:1.8rem;margin:0 0 .6rem}
section p{color:#cbd3da}
.card{background:var(--card);border:1px solid var(--border);border-radius:.6rem;padding:1rem}

.kicker{display:inline-block;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:700}

/* Program accordion */
details{border:1px solid var(--border);border-radius:.6rem;padding:1rem;background:var(--card)}
details+details{margin-top:.7rem}
summary{cursor:pointer;font-weight:700;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";float:right;color:var(--accent)}
details[open] summary::after{content:"–"}

.schedule{display:grid;gap:1rem}
@media(min-width:900px){.schedule{grid-template-columns:repeat(4,1fr)}}
.day{padding:1rem;background:var(--card);border:1px solid var(--border);border-radius:.6rem}
.day h3{margin:.2rem 0 1rem}
.timeblock{padding:.4rem .6rem;border-left:3px solid var(--accent);margin:.6rem 0;background:#0f1114;border-radius:.4rem}

.team{display:grid;gap:1rem}
@media(min-width:700px){.team{grid-template-columns:repeat(4,1fr)}}
.person{background:var(--card);border:1px solid var(--border);border-radius:.6rem;padding:1rem;text-align:center}
.person img{width:100%;height:220px;object-fit:cover;border-radius:.4rem;background:#0d0f12;border:1px solid var(--border)}
.person .name{margin:.6rem 0 .1rem;font-weight:700}
.person .role{color:var(--muted);font-size:.9rem}

.location .facts{display:grid;gap:1rem}
@media(min-width:900px){.location .facts{grid-template-columns:2fr 1fr}}

.list{margin:.6rem 0;padding:0 1rem}
.list li{margin:.3rem 0}

footer{padding:2rem 0;background:#060606;border-top:1px solid var(--border);color:#aab2bd}
footer a{color:#d5dbe3}
.small{font-size:.9rem;color:#aab2bd}

/* Buttons */
.btn{display:inline-block;padding:.8rem 1.1rem;border-radius:.5rem;font-weight:700;text-decoration:none}
.btn.primary{background:var(--accent);color:#001014}
.btn.ghost{border:1px solid var(--accent);color:var(--accent)}
.btn.block{display:block;text-align:center}

/* Utilities */
.mt-0{margin-top:0}
.mt-1{margin-top:.5rem}
.mt-2{margin-top:1rem}
.mt-3{margin-top:1.5rem}
.mt-4{margin-top:2rem}
.center{text-align:center}

hr.sep{border:none;border-top:1px solid var(--border);margin:2rem 0}
