:root {
    --primary-color: #7c3aed;
    --accent-color: #22d3ee;
    --bg-color: #0f0f14;
    --text-color: #ffffff;
    --font-headline: 'Space Grotesk', 'Segoe UI', sans-serif;
    --font-body: 'Inter', 'Segoe UI', sans-serif;
    --surface: rgba(17, 24, 39, 0.65);
    --border: rgba(255, 255, 255, 0.16);
}
* { box-sizing: border-box; }
body { margin: 0; background: radial-gradient(circle at 20% 10%, rgba(124,58,237,.22), transparent 45%), var(--bg-color); color: var(--text-color); font-family: var(--font-body); }
h1,h2,h3 { font-family: var(--font-headline); line-height: 1.1; }
a { color: var(--accent-color); text-decoration: none; }
.site-header,.site-footer,.section-wrap { width: min(1100px, 92vw); margin: 0 auto; }
.site-header { display:flex; align-items:center; justify-content:space-between; padding:1rem 0; position:sticky; top:0; backdrop-filter: blur(16px); background: rgba(10,10,14,.7); z-index:10; }
.brand { color: var(--text-color); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.site-nav { display:none; gap:1rem; }
.site-nav.is-open{display:flex; position:absolute; top:100%; left:0; right:0; background:#0b0b10; padding:1rem; flex-direction:column;}
.nav-toggle{background:transparent;border:1px solid var(--border);color:var(--text-color);padding:.5rem .75rem;border-radius:999px;}
.hero { min-height: 88vh; position: relative; display: grid; align-items: center; overflow:hidden; }
.hero-content { position: relative; z-index: 2; padding: 5rem 0 3rem; }
.hero-overlay { position:absolute; inset:0; background: linear-gradient(135deg, rgba(15,15,20,.85), rgba(15,15,20,.45)); z-index:1; }
.hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; mix-blend-mode:screen; opacity:.35; }
.eyebrow { text-transform: uppercase; letter-spacing: .2em; color: var(--accent-color); }
.section-wrap { padding: 2rem 0; }
.narrow { width:min(760px,92vw); }
.grid { display:grid; gap:1rem; }
.grid-2 { grid-template-columns: 1fr; }
.grid-3 { grid-template-columns: 1fr; }
.stack { display:grid; gap:.8rem; }
.card { border:1px solid var(--border); border-radius:1rem; padding:1.1rem; }
.glass-card { background: var(--surface); backdrop-filter: blur(14px); box-shadow: 0 12px 32px rgba(0,0,0,.2); }
.event-row { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem; }
.btn { display:inline-flex; align-items:center; justify-content:center; border-radius:999px; padding:.62rem 1.1rem; border:1px solid transparent; font-weight:600; }
.btn-primary { background:linear-gradient(135deg,var(--primary-color),var(--accent-color)); color:#fff; }
.btn-ghost { border-color:var(--accent-color); color:var(--accent-color); }
.button-row { display:flex; gap:.8rem; flex-wrap:wrap; }
.form-card input,.form-card textarea { width:100%; margin-bottom:.75rem; background:#12131c; border:1px solid var(--border); border-radius:.7rem; padding:.7rem .8rem; color:var(--text-color); }
.social-icons{display:flex;gap:.75rem;}
.social-icons a{width:2.2rem;height:2.2rem;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1px solid var(--border);}
@media (min-width: 768px) {
    .site-nav { display:flex; }
    .nav-toggle { display:none; }
    .grid-2 { grid-template-columns: repeat(2, 1fr); }
    .grid-3 { grid-template-columns: repeat(3, 1fr); }
}
