/* --- Ignite 2026 stable dark theme --- */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
:root{
  --bg:#0d0f13; --surface:#141821; --surface-2:#19202b;
  --text:#f2f5f8; --muted:#b9c2cf; --accent:#5ddcff; --ring:rgba(93,220,255,.35);
}
body{background:var(--bg);color:var(--text);font:16px/1.6 Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial}
a{color:var(--accent);text-decoration:none}
a:focus-visible,button:focus-visible{outline:3px solid var(--ring);outline-offset:2px;border-radius:12px}
.container{max-width:1100px;margin:0 auto;padding:0 16px}
.section{padding:56px 0}
.section-title{text-align:center;margin-bottom:20px}
.section-title h2{margin:0 0 6px;font-size:28px}
.section-title p{margin:0;color:var(--muted)}

/* Header layout */
.header-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand-mark{height:64px;opacity:.95}

/* Make the top header stick to viewport while scrolling */
.main-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(13,15,19,0.8);
  -webkit-backdrop-filter:saturate(1.2) blur(6px);
  backdrop-filter:saturate(1.2) blur(6px);
  border-bottom:1px solid rgba(255,255,255,.06);
}

/* Desktop nav (visible ≥801px) */
.desktop-nav{display:flex;gap:18px;font-size:1rem;align-items:center}
.desktop-nav a{padding:10px 12px;border-radius:10px;color:var(--text);display:inline-block}
.desktop-nav a:hover{background:rgba(255,255,255,.06)}

/* Hamburger (visible ≤800px) */
.nav-toggle-btn{
  display:none;width:44px;height:44px;align-items:center;justify-content:center;
  background:transparent;border:1px solid rgba(255,255,255,.12);
  border-radius:12px;cursor:pointer;
}
.nav-toggle-btn span{display:block;width:22px;height:2px;background:var(--text);margin:3.5px 0}

/* Mobile-only adjustments */
@media (max-width:800px){
  .desktop-nav{display:none}
  .nav-toggle-btn{display:inline-flex}
}

/* Dialog-based mobile drawer */
.nav-dialog{
  border:none;padding:0;margin:0;
  width:min(86vw,360px);
  height:100dvh; /* full height mobile, respects viewport UI */
  inset:auto 0 0 auto; /* stick to right */
  max-height:100dvh;
}
.nav-dialog::backdrop{
  background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
}

/* Slide-in animation */
@keyframes drawer-in{from{transform:translateX(12%);opacity:.6}to{transform:translateX(0);opacity:1}}
@keyframes drawer-out{from{transform:translateX(0);opacity:1}to{transform:translateX(12%);opacity:.6}}

.nav-dialog[open] .nav-dialog-panel{
  animation:drawer-in .18s ease-out;
}
.nav-dialog.closing .nav-dialog-panel{
  animation:drawer-out .16s ease-in forwards;
}

/* Panel content */
.nav-dialog-panel{
  display:flex;flex-direction:column;height:100%;
  background:linear-gradient(180deg, #141821, #0f131a);
  border-left:1px solid rgba(255,255,255,.08);
  box-shadow:-8px 0 28px rgba(0,0,0,.5);
  padding:16px 16px 20px;
  color:var(--text);
  width:100%;
}

.nav-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.nav-title{font-weight:700;opacity:.9}
.nav-close-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border:1px solid rgba(255,255,255,.12);
  border-radius:12px;background:rgba(255,255,255,.04);color:var(--text);cursor:pointer;
}

.mobile-nav{display:flex;flex-direction:column;gap:6px}
.mobile-nav a{
  padding:12px;border-radius:10px;font-size:1.05rem;line-height:1.2;display:block;color:var(--text)
}
.mobile-nav a:hover{background:rgba(255,255,255,.06)}

/* Cards Grid */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:992px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.grid{grid-template-columns:1fr}}

/* Cards */
.card{
  background:var(--surface);border:1px solid rgba(255,255,255,.06);
  border-radius:14px;padding:16px;box-shadow:0 4px 18px rgba(0,0,0,.35);
  transition:transform .15s ease, box-shadow .15s ease,border-color .15s
}
.card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.45);border-color:var(--ring)}
.card .logo{width:100%;height:120px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border-radius:10px}
.card .logo img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.6))}
.card h4{margin:10px 0 4px;font-size:16px}
.card p{margin:0;color:var(--muted)}

/* Card action buttons (per-event rules) */
.card-actions{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start}
.card-actions .badge{padding:6px 10px;border-radius:8px;font-size:.95rem}

/* Schedule list */
.schedule{display:flex;flex-direction:column;gap:10px}
.schedule .item{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:12px}
.schedule .time{min-width:90px;font-weight:700;color:var(--accent)}
.schedule .title{font-weight:600}

/* Footer & badges */
.footer{padding:36px 0;text-align:center;color:var(--muted);border-top:1px solid rgba(255,255,255,.06);margin-top:48px}
.badge{display:inline-block;padding:8px 12px;border-radius:999px;background:rgba(93,220,255,.12);border:1px solid var(--ring);color:var(--accent)}

/* Hero */
.hero{background:linear-gradient(180deg, rgba(93,220,255,0.08), transparent);padding:48px 0 24px;text-align:center}
.hero .wrap{max-width:760px;margin:0 auto}
.hero-logo{height:220px;max-width:90%;display:block;margin:0 auto 12px}
@media (max-width:560px){.hero-logo{height:120px}}
.hero h1{margin:0 0 8px;font-size:32px}
.hero .meta{color:var(--muted)}
.hero-sub{margin:14px 0 0;color:var(--muted)}
.hero-actions{margin-top:12px;display:flex;justify-content:center;flex-wrap:wrap;gap:10px}

/* Coordinators */
.coordinators{padding:56px 0}
.coordinators .groups{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media (max-width:800px){.coordinators .groups{grid-template-columns:1fr}}
.coordinators h3{margin:0 0 12px;font-size:22px;text-align:center}
.coordinators .list{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:24px}
@media (min-width:992px){.coordinators .list{justify-content:space-evenly}}
.person{
  background:var(--surface);border:1px solid rgba(255,255,255,.06);
  border-radius:14px;padding:14px;text-align:center;flex:0 0 240px;display:flex;flex-direction:column;min-height:250px
}
.person img{width:120px;height:120px;object-fit:cover;border-radius:999px;background:var(--surface-2);display:block;margin:0 auto 10px;border:2px solid rgba(255,255,255,.08);object-position: top;}
.person .name{font-weight:600}
.person .role{color:var(--muted);font-size:.95rem;margin:2px 0 0}
.person .phone{color:var(--muted);font-size:.95rem}

/* Alignment polish */
#schedule .schedule{max-width:900px;margin:0 auto}
#coordinators .groups{justify-items:center}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .nav-dialog-panel{animation:none}
}
