:root{
  --bg:#ffffff;
  --text:#111;
  --muted:#666;
  --brand:#8C0A38;
  --border:#8c0a375f;
  --max: 920px;
  --radius: 14px;
  --gap: 20px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.2;margin:0 0 .4em}
h3 { margin-top: 2rem; }
.lead{font-size:1.1rem}
.dim{color:var(--muted)}
.section{padding:48px 0;border-top:1px solid var(--border)}
.hero{padding:64px 0 40px;border-bottom:1px solid var(--border)}
.meta{color:var(--muted);font-size:.9rem}

/* Header */
.site-header{
  position:sticky;top:0;z-index:10;
  background:#fffccf1a;
  backdrop-filter:saturate(150%) blur(8px);
  border-bottom:1px solid var(--border);
}
.site-header .wrap{
  display:flex;align-items:center;justify-content:space-between;
  height:64px;
}
.brand{font-weight:700}
.nav{display:flex;gap:14px;align-items:center}
.nav a{padding:6px 10px;border-radius:8px}
.nav a:hover{background:#f6f6f6}
.btn{
  border:1px solid var(--border);
  padding:6px 12px;border-radius:10px;
  background:#fff;
}

/* Schedule list */
.schedule{list-style:none;padding:0;margin:10px 0 0}
.schedule li{
  padding:10px 12px;border:1px solid var(--border);
  border-radius:var(--radius);margin-bottom:10px;
  display:flex;gap:14px;align-items:baseline;
}
.schedule time{
  font-variant-numeric:tabular-nums;
  min-width:56px;color:var(--muted)
}

/* People list */
.people{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:12px}
.people li{
  border:1px solid var(--border);border-radius:var(--radius);
  padding:14px 16px;
}
.people .affil{margin:.2rem 0 0;color:var(--muted)}

/* Footer */
.site-footer{border-top:1px solid var(--border);padding:20px 0;color:var(--muted)}
.site-footer a{color:inherit}

/* Responsive */
@media (max-width:720px){
  .nav a{padding:8px 8px}
  .hero{padding:48px 0 28px}
}
