:root { --navy:#142b57; --blue:#225ea8; --line:#c8d1df; --soft:#f4f7fb; --text:#263242; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:#f7f8fa; color:var(--text); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif; line-height:1.55; }
.page { max-width:1040px; margin:0 auto; background:#fff; box-shadow:0 0 28px rgba(25,40,65,.08); }
.site-header { padding:48px 48px 28px; text-align:center; background:linear-gradient(180deg,#fff,#f4f7fb); border-bottom:1px solid var(--line); }
h1 { margin:0 0 14px; color:var(--navy); font-size:clamp(2rem,5vw,3.5rem); line-height:1.08; letter-spacing:-.035em; }
.subtitle { margin:.25rem 0; font-size:1.08rem; }
nav { margin-top:24px; display:flex; flex-wrap:wrap; justify-content:center; gap:8px 18px; }
nav a { color:var(--blue); font-weight:650; text-decoration:none; }
nav a:hover { text-decoration:underline; }
main { padding:0 48px 38px; }
.hero { margin:32px 0 24px; }
.hero img { display:block; width:100%; height:auto; border-radius:10px; border:1px solid #dce3ed; }
section { margin-top:36px; }
h2 { color:var(--navy); font-size:1.65rem; margin:0 0 14px; padding-bottom:7px; border-bottom:2px solid var(--navy); }
p { margin:.65rem 0; }
.table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:8px; }
table { width:100%; border-collapse:collapse; min-width:760px; }
thead th { background:var(--navy); color:#fff; text-align:center; padding:11px 10px; }
tbody th, tbody td { border-top:1px solid var(--line); border-right:1px solid var(--line); padding:13px 12px; vertical-align:top; }
tbody th { width:82px; text-align:center; background:#eaf0f9; color:var(--navy); }
tbody td:nth-child(2), tbody td:nth-child(3) { text-align:center; white-space:nowrap; }
tbody tr:nth-child(even) td { background:#fafbfd; }
td ul { margin:.15rem 0 .15rem 1.2rem; padding:0; }
td ul ul { margin-top:.1rem; }
.people-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px 36px; }
.people-grid ul, #organizers ul { margin:.2rem 0; padding-left:1.3rem; }
a { color:#1557a0; }
footer { margin:0 48px; padding:20px 0 28px; text-align:center; color:#677386; border-top:1px solid var(--line); }
@media (max-width:720px) { .site-header, main { padding-left:22px; padding-right:22px; } .people-grid { grid-template-columns:1fr; gap:0; } footer { margin-left:22px; margin-right:22px; } }
