:root {
  --bg: #07100d;
  --panel: #0d1c18;
  --panel-2: #112720;
  --text: #f1fbf7;
  --muted: #b1c9bf;
  --brand: #54ff9f;
  --brand-2: #00d1ff;
  --line: rgba(255,255,255,.12);
  --shadow: 0 28px 80px rgba(0,0,0,.35);
  --radius: 24px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at 15% 10%, rgba(84,255,159,.18), transparent 32rem),
    radial-gradient(circle at 85% 8%, rgba(0,209,255,.12), transparent 28rem),
    var(--bg);
  line-height: 1.6;
}
a { color: inherit; }
.skip-link { position:absolute; left:-999px; top:1rem; background:var(--brand); color:#03110b; padding:.7rem 1rem; border-radius:999px; z-index:10; }
.skip-link:focus { left:1rem; }
.site-header { position: sticky; top: 0; z-index: 5; backdrop-filter: blur(18px); background: rgba(7,16,13,.78); border-bottom: 1px solid var(--line); }
.nav { max-width: 1180px; margin: 0 auto; padding: 1rem 1.25rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.brand { display:flex; align-items:center; gap:.7rem; font-weight:800; text-decoration:none; letter-spacing:-.03em; }
.brand-mark { display:grid; place-items:center; width:42px; height:42px; border-radius:14px; background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:#03110b; font-family:"JetBrains Mono", monospace; }
.nav-links { display:flex; align-items:center; gap:1.15rem; font-weight:600; font-size:.95rem; }
.nav-links a:not(.button) { color: var(--muted); text-decoration:none; }
.nav-links a:hover { color: var(--text); }
.nav-toggle { display:none; }
.button { display:inline-flex; align-items:center; justify-content:center; border: 1px solid transparent; border-radius:999px; padding:.9rem 1.2rem; background:var(--brand); color:#03110b; font-weight:800; text-decoration:none; box-shadow: 0 12px 30px rgba(84,255,159,.22); }
.button:hover { transform: translateY(-1px); }
.button-small { padding:.6rem .95rem; }
.button-secondary { background:transparent; color:var(--text); border-color:var(--line); box-shadow:none; }
.section, .section-grid, .countdown-band, .footer { max-width:1180px; margin:0 auto; padding:5rem 1.25rem; }
.section-grid { display:grid; grid-template-columns: 1.1fr .9fr; gap:3rem; align-items:center; min-height:76vh; }
.eyebrow { margin:0 0 .7rem; color:var(--brand); text-transform:uppercase; letter-spacing:.14em; font-weight:800; font-size:.78rem; }
h1, h2, h3 { line-height:1.05; margin:0; letter-spacing:-.05em; }
h1 { font-size: clamp(3.25rem, 9vw, 7rem); max-width: 900px; }
h2 { font-size: clamp(2rem, 5vw, 4rem); }
h3 { font-size:1.25rem; }
p { color: var(--muted); margin: 1rem 0 0; }
.hero-lede { font-size: clamp(1.1rem, 2vw, 1.35rem); max-width: 680px; }
.event-card { margin:2rem 0; display:flex; flex-wrap:wrap; gap:.8rem; }
.event-card span { border:1px solid var(--line); border-radius:999px; padding:.7rem 1rem; background:rgba(255,255,255,.04); font-weight:700; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.9rem; }
.terminal-card { background:rgba(13,28,24,.9); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; }
.terminal-top { display:flex; gap:.45rem; padding:1rem; border-bottom:1px solid var(--line); }
.terminal-top span { width:12px; height:12px; border-radius:999px; background:var(--muted); opacity:.7; }
pre { margin:0; padding:1.4rem; overflow:auto; color:var(--brand); font-family:"JetBrains Mono", monospace; font-size:.95rem; }
.countdown-band { padding-top:1rem; display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.countdown-band div, .card, .speaker-card, .sponsor-panel, .info-strip > div { background:rgba(255,255,255,.045); border:1px solid var(--line); border-radius:var(--radius); padding:1.4rem; }
.countdown-band strong { display:block; font-size:1.2rem; }
.countdown-band span { color:var(--muted); }
.section-heading { max-width: 780px; margin-bottom:2rem; }
.two-column { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.cards, .speaker-grid, .sponsor-logos, .info-strip { display:grid; gap:1rem; margin-top:2rem; }
.four-cards { grid-template-columns:repeat(4,1fr); }
.accent-section { background: linear-gradient(180deg, rgba(84,255,159,.06), rgba(0,209,255,.04)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); max-width:none; padding-left:max(1.25rem, calc((100vw - 1180px)/2)); padding-right:max(1.25rem, calc((100vw - 1180px)/2)); }
.speaker-grid { grid-template-columns:repeat(3,1fr); }
.avatar { width:74px; height:74px; border-radius:24px; display:grid; place-items:center; background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:#03110b; font-size:2rem; font-weight:900; margin-bottom:1.5rem; }
.cta-panel { display:flex; align-items:center; justify-content:space-between; gap:2rem; background:rgba(84,255,159,.08); border:1px solid var(--line); border-radius:calc(var(--radius) + 10px); margin-top:5rem; padding:3rem; }
.sponsor-panel { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.sponsor-logos { grid-template-columns:repeat(3,1fr); }
.sponsor-logos span { min-height:110px; border:1px dashed var(--line); border-radius:18px; display:grid; place-items:center; color:var(--muted); }
.info-strip { grid-template-columns:1fr 1fr; padding-top:1rem; }
.footer { display:flex; justify-content:space-between; gap:1rem; border-top:1px solid var(--line); color:var(--muted); padding-top:2rem; padding-bottom:2rem; }
.page-main { min-height:70vh; }
.article { max-width:850px; }
.article h1 { font-size: clamp(2.5rem, 7vw, 5rem); }
@media (max-width: 900px) {
  .nav-toggle { display:block; background:transparent; color:var(--text); border:1px solid var(--line); border-radius:999px; padding:.55rem .85rem; }
  .nav-links { display:none; position:absolute; left:1.25rem; right:1.25rem; top:74px; flex-direction:column; align-items:flex-start; background:var(--panel); padding:1rem; border:1px solid var(--line); border-radius:18px; }
  .nav-links.open, .nav-links.always-visible { display:flex; position:static; flex-direction:row; background:transparent; border:0; padding:0; }
  .section-grid, .two-column, .countdown-band, .four-cards, .speaker-grid, .sponsor-logos, .info-strip { grid-template-columns:1fr; }
  .cta-panel, .sponsor-panel, .footer { flex-direction:column; align-items:flex-start; }
  .section, .section-grid, .countdown-band { padding-top:3.5rem; padding-bottom:3.5rem; }
}
