
@font-face{font-family:Archivo;src:url(/assets/fonts/Archivo-800.ttf);font-weight:800}
@font-face{font-family:Archivo;src:url(/assets/fonts/Archivo-700.ttf);font-weight:700}
@font-face{font-family:Inter;src:url(/assets/fonts/Inter-400.ttf);font-weight:400}
@font-face{font-family:Inter;src:url(/assets/fonts/Inter-600.ttf);font-weight:600}
:root{--ink:#0C1428;--red:#BF0A30;--red-pressed:#99082A;--red-wash:#FAE8ED;
--royal:#1E3FD4;--royal-pressed:#1731A8;--navy:#111F66;--paper:#F7F9FC;
--mist:#E8ECFA;--blue-wash:#EEF1FD;--hairline:#DFE4F0;--slate:#5A6478;--charcoal:#232B3D}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);
font:16px/1.6 Inter,-apple-system,Segoe UI,sans-serif}
h1,h2,h3{font-family:Archivo,Inter,sans-serif;font-weight:800;line-height:1.15;margin:0 0 .4em}
a{color:var(--royal);text-decoration:none}
a:hover{color:var(--royal-pressed);text-decoration:underline}
.wrap{max-width:960px;margin:0 auto;padding:0 20px}
header.top{background:#fff;border-bottom:1px solid var(--hairline);padding:14px 0}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
header.top img{height:34px;display:block}
header.top nav a{margin-left:22px;font-weight:600;font-size:14px;color:var(--ink)}
.hero{background:linear-gradient(135deg,var(--ink),var(--navy));color:#fff;padding:56px 0 48px}
.hero h1{font-size:clamp(28px,5vw,44px);color:#fff}
.hero p{max-width:640px;font-size:18px;color:#C7CEE4;margin:0 0 22px}
.hero .kicker{display:inline-block;background:var(--red);color:#fff;font-weight:700;
font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:3px;margin-bottom:18px}
.btn{display:inline-block;background:var(--royal);color:#fff;font-weight:600;
padding:11px 20px;border-radius:6px;border:none;font-size:15px;cursor:pointer}
.btn:hover{background:var(--royal-pressed);color:#fff;text-decoration:none}
.btn.ghost{background:transparent;border:1px solid #ffffff55;margin-left:10px}
.btn.ghost:hover{background:#ffffff18}
section{padding:44px 0}
section h2{font-size:26px}
.sub{color:var(--slate);margin:-4px 0 24px;font-size:15px}
.day{margin:26px 0 8px;font-family:Archivo;font-weight:700;font-size:15px;
letter-spacing:.06em;text-transform:uppercase;color:var(--slate)}
.card{background:#fff;border:1px solid var(--hairline);border-radius:8px;
padding:16px 18px;margin-bottom:10px;display:flex;gap:16px;align-items:baseline;flex-wrap:wrap}
.card .time{font-family:Archivo;font-weight:700;font-size:15px;min-width:76px}
.card .name{font-weight:600}
.card .meta{color:var(--slate);font-size:14px}
.card .tag{font-size:12px;font-weight:700;padding:2px 8px;border-radius:3px;
background:var(--mist);color:var(--navy)}
.card .tag.house{background:var(--red-wash);color:var(--red)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}
.gcell{background:#fff;border:1px solid var(--hairline);border-radius:8px;padding:14px 16px}
.gcell .cham{font-size:12px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.08em}
.gcell a.cname{font-weight:600;display:block;margin:2px 0 8px;color:var(--ink)}
.gcell .feeds{font-size:13px}
.signup{background:var(--blue-wash);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.signup form{max-width:560px}
.signup label{display:block;font-weight:600;font-size:14px;margin:14px 0 4px}
.signup input[type=email],.signup input[type=text]{width:100%;padding:10px 12px;
border:1px solid var(--hairline);border-radius:6px;font:inherit}
.signup .consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;
color:var(--slate);margin:14px 0;font-weight:400}
.signup .consent input{margin-top:3px}
.hp{position:absolute;left:-9999px}
.chpick{background:#fff;border:1px solid var(--hairline);border-radius:6px;margin:8px 0;padding:0}
.chpick summary{cursor:pointer;font-weight:600;font-size:14px;padding:10px 14px}
.pickgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:2px 14px;padding:4px 14px 12px}
.pick{display:flex;gap:7px;align-items:flex-start;font-size:13px;font-weight:400;color:var(--charcoal);margin:3px 0}
.pick input{margin-top:2px}
.gcell .none{color:var(--slate);font-size:12px}
.dirsec{margin:22px 0}
.dirsec summary{list-style:none;cursor:pointer;font-family:Archivo;font-weight:700;
font-size:19px;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.dirsec summary::-webkit-details-marker{display:none}
.dirsec summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--slate);
border-bottom:2px solid var(--slate);transform:rotate(45deg);transition:transform .15s;margin-top:-4px}
.dirsec[open] summary::after{transform:rotate(225deg);margin-top:4px}
.submenu{display:inline-block;position:relative}
.submenu summary{list-style:none;cursor:pointer}
.submenu summary::-webkit-details-marker{display:none}
.sublink{color:var(--royal);font-weight:600}
.sublink:hover{color:var(--royal-pressed);text-decoration:underline}
.subpop{position:absolute;left:0;top:calc(100% + 6px);z-index:30;background:#fff;
border:1px solid var(--hairline);border-radius:8px;box-shadow:0 8px 24px rgba(12,20,40,.14);
min-width:220px;padding:6px;display:flex;flex-direction:column}
.subpop a{padding:8px 12px;border-radius:5px;font-size:14px;font-weight:500;color:var(--ink)}
.subpop a:hover{background:var(--blue-wash);text-decoration:none;color:var(--royal-pressed)}
footer{background:var(--ink);color:#9AA3BC;padding:36px 0;font-size:13px}
footer a{color:#C7CEE4}
footer .fwrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
footer img{height:26px;opacity:.9}
.notice-link{font-size:13px}
.agenda{color:var(--charcoal);font-size:14px;background:#fff;border:1px solid var(--hairline);
border-radius:8px;padding:14px 18px;margin:6px 0 18px;line-height:1.55}
.crumb{font-size:13px;margin:18px 0 0}
table.past{width:100%;border-collapse:collapse;font-size:14px}
table.past td{padding:8px 10px;border-bottom:1px solid var(--hairline)}
@media(max-width:600px){.card .time{min-width:60px}}
