:root{
  --bg:#0f1724;
  --card:#0b1220;
  --accent:#0ea5a4;
  --muted:#94a3b8;
  --glass: rgba(255,255,255,0.03);
  --max-width:1100px;
  --radius:10px;
  font-size:16px;
}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,Segoe UI,Roboto,'Helvetica Neue',Arial;line-height:1.5;color:#e6eef7;background:linear-gradient(180deg,#071022 0%, #071623 60%);margin:0}
.container{max-width:var(--max-width);margin:0 auto;padding:1.5rem}
.site-header{backdrop-filter: blur(6px);position:sticky;top:0;z-index:50;background:linear-gradient(180deg, rgba(3,7,18,0.6), rgba(3,7,18,0.4));border-bottom:1px solid rgba(255,255,255,0.03)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:0.75rem 0}
.logo{color:var(--accent);font-weight:700;text-decoration:none;display:flex;align-items:center;gap:0.6rem}
.logo img{height:42px;display:block}
.logo-acronym{color:var(--accent);font-weight:800;font-size:0.95rem;letter-spacing:1px}
@media(max-width:600px){
  .logo-acronym{display:none}
}
.nav{display:flex;gap:1rem;align-items:center}
.nav a{color:#cfe6f5;text-decoration:none;padding:0.35rem 0.5rem;border-radius:6px}
.nav a:hover{background:var(--glass)}
.nav-toggle{display:none;background:none;border:0;color:#9fb8c8;font-size:1.3rem}

.hero{position:relative;color:white;min-height:60vh;display:flex;align-items:center}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(0.45);z-index:0}
.hero-content{position:relative;z-index:2;padding:4rem 1.5rem}
.hero h1{font-size:clamp(1.8rem,3.2vw,3.2rem);margin:0 0 0.6rem}
.lead{color:var(--muted);max-width:70ch}
.hero-ctas{margin-top:1rem;display:flex;gap:0.75rem}

.btn{display:inline-block;padding:0.6rem 1rem;border-radius:8px;text-decoration:none;font-weight:600}
.btn-primary{background:var(--accent);color:#052024}
.btn-outline{background:transparent;border:1px solid rgba(255,255,255,0.06);color:#d7eef7}
.btn-sm{padding:0.35rem 0.6rem;font-size:0.9rem}

.section{padding:3rem 0}
.grid{display:grid;gap:1rem}
.themes-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.card{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));padding:1.25rem;border-radius:var(--radius);box-shadow:0 6px 20px rgba(2,6,12,0.6);transition:transform .28s ease,box-shadow .28s ease}
.card:hover{transform:translateY(-6px);box-shadow:0 14px 40px rgba(2,8,18,0.7)}

.card-img{width:100%;height:140px;object-fit:cover;border-radius:8px;margin-bottom:0.75rem}

.speakers-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.speaker{background:transparent;text-align:center}
.speaker img{width:120px;height:120px;object-fit:cover;border-radius:50%;display:block;margin:0 auto 0.6rem;border:4px solid rgba(255,255,255,0.04)}
.speaker figcaption span{display:block;color:var(--muted);font-size:0.95rem}

.schedule-card{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.day{background:var(--card);padding:1rem;border-radius:10px}
.day h3{margin-top:0}

.cards{display:flex;gap:1rem;flex-wrap:wrap}
.pricing{flex:1 1 220px;text-align:center}
.price{font-size:1.6rem;font-weight:700;color:var(--accent)}

.map iframe{width:100%;height:300px;border:0;border-radius:8px}

.sponsor-logos{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.sponsor{background:rgba(255,255,255,0.02);padding:0.5rem;border-radius:8px;min-width:120px;text-align:center;display:flex;align-items:center;justify-content:center}
.sponsor img{max-width:160px;height:auto;display:block;border-radius:6px;object-fit:contain}

.contact-form{max-width:720px}
.form-row{display:flex;gap:0.75rem}
.contact-form label{display:block;color:#dbeff7}
.contact-form input,.contact-form textarea{width:100%;padding:0.6rem;margin-top:0.35rem;border-radius:8px;border:1px solid rgba(255,255,255,0.04);background:#041421;color:#e9f6ff}
.form-actions{margin-top:0.75rem}

.site-footer{padding:2rem 0;color:var(--muted);text-align:center}

@media(max-width:900px){
  .schedule-card{grid-template-columns:1fr}
  .nav{position:fixed;right:0;top:64px;background:linear-gradient(180deg, rgba(2,6,12,0.96), rgba(2,6,12,0.98));flex-direction:column;padding:1rem;border-left:1px solid rgba(255,255,255,0.02);height:calc(100% - 64px);transform:translateX(100%);transition:transform .28s ease}
  .nav.show{transform:translateX(0)}
  .nav-toggle{display:inline-block}
  .hero{min-height:50vh}
}

@media(prefers-reduced-motion:reduce){*{transition:none!important}}
