:root{
  --bg:#0b0f14;
  --panel:#101723;
  --panel2:#0e141e;
  --text:#e9eef5;
  --muted:#b8c3d3;
  --brand:#d62828; /* MVFD red */
  --brand2:#111827; /* deep */
  --border:rgba(255,255,255,.10);
  --shadow:0 10px 30px rgba(0,0,0,.35);
  --radius:16px;
  --max:1100px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,Helvetica,sans-serif;
  background: radial-gradient(1200px 600px at 20% -10%, rgba(214,40,40,.25), transparent 60%),
              radial-gradient(900px 500px at 90% 10%, rgba(255,255,255,.06), transparent 55%),
              var(--bg);
  color:var(--text);
  line-height:1.5;
}

a{color:inherit}
.container{max-width:var(--max);margin:0 auto;padding:0 18px}
.muted{color:var(--muted)}
.small{font-size:.92rem}
code{background:rgba(255,255,255,.08);padding:.15rem .35rem;border-radius:8px}

.skip{
  position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden;
}
.skip:focus{left:16px;top:16px;width:auto;height:auto;background:#fff;color:#000;padding:10px 12px;border-radius:10px;z-index:9999}

.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(11,15,20,.75);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--border);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand-mark{
  font-weight:800;letter-spacing:.06em;
  padding:8px 10px;border-radius:12px;
  background:linear-gradient(135deg, var(--brand), rgba(214,40,40,.65));
  box-shadow: var(--shadow);
}
.brand-text{font-weight:700}
.nav-links{display:flex;gap:14px;align-items:center}
.nav-links a{
  text-decoration:none;
  color:var(--muted);
  padding:8px 10px;border-radius:10px;
}
.nav-links a:hover{color:var(--text);background:rgba(255,255,255,.06)}
.nav-toggle{
  display:none;
  background:transparent;border:1px solid var(--border);border-radius:12px;
  padding:10px;cursor:pointer;
}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--text);margin:4px 0;border-radius:2px}

.hero{padding:54px 0 28px}
.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:center}
.badge{
  display:inline-block;
  background:rgba(255,255,255,.06);
  border:1px solid var(--border);
  padding:7px 10px;border-radius:999px;
  font-weight:600;color:var(--muted);
}
.hero h1{font-size:clamp(2rem, 3.6vw, 3.2rem);line-height:1.08;margin:14px 0}
.hero p{font-size:1.05rem;color:var(--muted);max-width:58ch}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}
.hero-note{color:var(--muted);margin-top:8px}

.hero-media{
  min-height:320px;
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02)),
    url("assets/hero.jpg") center/cover no-repeat;
  box-shadow: var(--shadow);
  position:relative;
}
.media-card{
  position:absolute;left:14px;bottom:14px;right:14px;
  background:rgba(11,15,20,.72);
  border:1px solid var(--border);
  border-radius:14px;
  padding:12px 12px;
}
.media-label{font-weight:700}
.media-help{color:var(--muted);margin-top:4px}

.section{padding:26px 0}
.section-alt{
  background: linear-gradient(180deg, rgba(255,255,255,.03), transparent 65%);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.pagehead{padding:34px 0 8px}
.pagehead h1{margin:0 0 6px;font-size:2.2rem}

.card{
  background:rgba(16,23,35,.72);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:18px;
  box-shadow: var(--shadow);
}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 14px;border-radius:12px;
  border:1px solid var(--border);
  text-decoration:none;font-weight:700;
}
.btn-primary{
  background:linear-gradient(135deg, var(--brand), rgba(214,40,40,.70));
  border-color:rgba(214,40,40,.55);
}
.btn-primary:hover{filter:brightness(1.05)}
.btn-ghost{background:rgba(255,255,255,.06)}
.btn-ghost:hover{background:rgba(255,255,255,.10)}

.checklist{padding-left:18px;margin:12px 0;color:var(--muted)}
.checklist li{margin:7px 0}
.plain{list-style:none;padding:0;margin:0}
.plain li{padding:6px 0;border-bottom:1px dashed rgba(255,255,255,.10)}
.plain li:last-child{border-bottom:0}

.stats{display:grid;gap:12px}
.stat{background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:14px;padding:14px}
.stat-number{font-size:1.6rem;font-weight:800}
.stat-label{color:var(--muted)}

.notice{
  background:rgba(214,40,40,.10);
  border:1px solid rgba(214,40,40,.35);
  padding:12px 14px;border-radius:14px;
  margin-bottom:14px;color:var(--muted);
}

.event-list{display:grid;gap:14px}
.event{display:grid;grid-template-columns:80px 1fr;gap:14px;align-items:start}
.event-date{
  border-radius:14px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.05);
  overflow:hidden;
  text-align:center;
}
.event-month{background:rgba(214,40,40,.25);padding:8px 0;font-weight:800;letter-spacing:.06em}
.event-day{padding:10px 0;font-size:1.4rem;font-weight:800}

.form label{display:block;font-weight:600;margin-top:10px}
.form input,.form select,.form textarea{
  width:100%;
  margin-top:6px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.22);
  color:var(--text);
}
.form button{margin-top:12px;border:0;cursor:pointer}

.accordion{display:grid;gap:10px}
.acc{
  background:rgba(255,255,255,.05);
  border:1px solid var(--border);
  border-radius:14px;
  padding:12px 14px;
}
.acc summary{cursor:pointer;font-weight:700}
.acc p{color:var(--muted);margin:10px 0 0}

.link{color:var(--text);text-decoration:underline;text-decoration-color:rgba(214,40,40,.55)}
.link:hover{text-decoration-color:rgba(214,40,40,1)}

.footer{margin-top:34px;border-top:1px solid var(--border);background:rgba(0,0,0,.18)}
.footer-inner{display:flex;justify-content:space-between;gap:18px;padding:22px 18px}
.footer-title{font-weight:800}
.footer-small{color:var(--muted);margin-top:6px}
.footer-links{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}
.footer-links a{color:var(--muted);text-decoration:none;padding:6px 8px;border-radius:10px}
.footer-links a:hover{color:var(--text);background:rgba(255,255,255,.06)}
.footer-bottom{border-top:1px solid var(--border);padding:12px 0}

@media (max-width: 900px){
  .hero-inner{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .nav-toggle{display:inline-flex}
  .nav-links{
    position:absolute;left:0;right:0;top:64px;
    display:none;flex-direction:column;gap:0;
    background:rgba(11,15,20,.92);
    border-bottom:1px solid var(--border);
  }
  .nav-links a{padding:12px 18px;border-radius:0}
  .nav-links.open{display:flex}
}
