
:root{
  --bg: #f5f7fb;
  --bg-elev: rgba(255,255,255,0.82);
  --bg-elev-2: rgba(255,255,255,0.65);
  --text: #132033;
  --muted: #56657a;
  --line: rgba(19,32,51,0.10);
  --accent: #2359d8;
  --accent-2: #14b8a6;
  --shadow: 0 14px 40px rgba(20, 28, 45, 0.09);
  --hero-glow: radial-gradient(circle at 20% 20%, rgba(35,89,216,0.12), transparent 30%), radial-gradient(circle at 80% 10%, rgba(20,184,166,0.12), transparent 24%);
}
html[data-theme="dark"]{
  --bg: #0b1120;
  --bg-elev: rgba(11,17,32,0.78);
  --bg-elev-2: rgba(17,24,39,0.62);
  --text: #eaf1ff;
  --muted: #9caac2;
  --line: rgba(234,241,255,0.10);
  --accent: #7aa2ff;
  --accent-2: #58e0cb;
  --shadow: 0 14px 40px rgba(0,0,0,0.35);
  --hero-glow: radial-gradient(circle at 20% 20%, rgba(122,162,255,0.20), transparent 30%), radial-gradient(circle at 80% 10%, rgba(88,224,203,0.16), transparent 24%);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--text);
  background:
    linear-gradient(180deg, rgba(127,127,127,0.02), rgba(127,127,127,0)),
    var(--hero-glow),
    var(--bg);
  line-height:1.6;
}
a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(1180px, calc(100% - 40px)); margin:0 auto}
.site-header{
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(14px);
  background: color-mix(in srgb, var(--bg) 75%, transparent);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  gap:24px; min-height:78px;
}
.brand{
  display:flex; gap:14px; align-items:center;
  color:var(--text); text-decoration:none;
}
.brand-mark{
  width:42px; height:42px; border-radius:12px;
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  display:grid; place-items:center; color:white; font-weight:800;
  box-shadow: var(--shadow);
}
.brand-text strong{display:block; font-size:0.98rem; letter-spacing:0.02em}
.brand-text span{display:block; font-size:0.82rem; color:var(--muted)}
.nav-links{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
}
.nav-links a{
  color:var(--muted);
  padding:10px 14px;
  border-radius:999px;
  border:1px solid transparent;
  font-weight:600;
}
.nav-links a.active, .nav-links a:hover{
  color:var(--text); text-decoration:none;
  border-color:var(--line);
  background:var(--bg-elev-2);
}
.theme-toggle{
  appearance:none; border:none; cursor:pointer;
  background:var(--bg-elev);
  color:var(--text);
  border:1px solid var(--line);
  padding:11px 14px;
  border-radius:999px;
  font-weight:700;
  box-shadow: var(--shadow);
}
.hero{
  padding:70px 0 44px;
}
.eyebrow{
  display:inline-flex; gap:8px; align-items:center;
  padding:8px 14px;
  border-radius:999px;
  background:var(--bg-elev);
  border:1px solid var(--line);
  color:var(--muted);
  font-size:0.9rem;
  backdrop-filter: blur(12px);
}
.hero-grid{
  display:grid; grid-template-columns:1.25fr 0.75fr; gap:28px; align-items:stretch;
  margin-top:20px;
}
.hero-card, .panel, .speaker-card, .schedule-card, .contact-card, .stat, .mini-panel{
  background:var(--bg-elev);
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow: var(--shadow);
  backdrop-filter: blur(12px);
}
.hero-card{
  padding:34px;
}
.hero h1{
  font-size: clamp(2.2rem, 4vw, 4.2rem);
  line-height:1.06; margin:16px 0 14px;
  max-width: 13ch;
}
.hero p{
  color:var(--muted); font-size:1.05rem; max-width:64ch;
}
.hero-actions{
  display:flex; flex-wrap:wrap; gap:14px; margin-top:26px;
}
.button{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:13px 18px; border-radius:14px;
  border:1px solid var(--line); font-weight:700;
  transition: transform .2s ease, box-shadow .2s ease;
}
.button:hover{text-decoration:none; transform:translateY(-1px)}
.button.primary{
  background: linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 60%, var(--accent-2)));
  color:white; border:none;
}
.hero-side{
  display:grid; gap:18px;
}
.stat{padding:22px}
.stat h3{margin:0 0 6px; font-size:2rem}
.stat p{margin:0; color:var(--muted)}
.section{padding:18px 0 54px}
.section-header{
  display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:18px;
}
.section-header h2{font-size:1.8rem; margin:0}
.section-header p{margin:0; color:var(--muted); max-width:62ch}
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:22px}
.grid-3{display:grid; grid-template-columns:repeat(3, 1fr); gap:18px}
.panel{padding:26px}
.panel h3{margin-top:0}
.list{margin:0; padding-left:18px}
.list li{margin:8px 0}
.tag-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:16px}
.tag{
  font-size:0.88rem; color:var(--muted);
  padding:8px 12px; border-radius:999px;
  background:var(--bg-elev-2); border:1px solid var(--line);
}
.speaker-grid{
  display:grid; grid-template-columns:repeat(2, 1fr); gap:18px;
}
.speaker-card{padding:22px}
.speaker-card h3{margin:0 0 5px; font-size:1.08rem}
.speaker-card .role{color:var(--accent); font-weight:700; font-size:0.93rem}
.speaker-card p{margin:12px 0 0; color:var(--muted)}
.timeline-wrap{
  display:grid; gap:16px;
}
.schedule-card{padding:22px}
.schedule-meta{
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
  margin-bottom:8px;
}
.schedule-time{
  font-weight:800; color:var(--accent);
}
.schedule-track{
  color:var(--muted); font-weight:700;
}
.schedule-card h3{margin:6px 0 8px; font-size:1.18rem}
.schedule-card p{margin:0; color:var(--muted)}
.note{
  margin-top:14px; padding:14px 16px;
  border-radius:16px; border:1px dashed var(--line);
  color:var(--muted); background:var(--bg-elev-2);
}
.contact-grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:18px;
}
.contact-card{padding:22px}
.contact-card h3{margin-top:0}
.contact-card p{color:var(--muted)}
.contact-list{
  display:grid; gap:14px; margin-top:12px;
}
.person{
  padding:14px 0; border-top:1px solid var(--line);
}
.person:first-child{border-top:none; padding-top:0}
.person strong{display:block}
.person span{display:block; color:var(--muted); font-size:.96rem}
.footer{
  padding:26px 0 40px; color:var(--muted); border-top:1px solid var(--line); margin-top:10px;
}
.footer-inner{
  display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap;
}
.kicker{
  font-size:0.84rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--accent);
  font-weight:800;
}
.mini-panel{
  padding:18px 18px;
}
.mini-panel h4{margin:0 0 6px}
.mini-panel p{margin:0; color:var(--muted)}
.page-title{
  padding:54px 0 16px;
}
.page-title h1{font-size: clamp(2rem, 4vw, 3.4rem); margin:12px 0 10px}
.page-title p{max-width:72ch; color:var(--muted)}
@media (max-width: 980px){
  .hero-grid, .grid-2, .speaker-grid, .contact-grid{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .nav{flex-wrap:wrap; padding:12px 0}
}
@media (max-width: 640px){
  .container{width:min(100% - 24px, 1180px)}
  .hero-card, .panel, .speaker-card, .schedule-card, .contact-card, .stat{padding:20px}
  .nav-links{width:100%; justify-content:flex-start}
}
