@font-face{font-family:'Nunito';font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/nunito-800.woff2) format('woff2')}
@font-face{font-family:'Nunito';font-style:normal;font-weight:900;font-display:swap;src:url(/assets/fonts/nunito-900.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/nunito-sans-400.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/nunito-sans-600.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/nunito-sans-700.woff2) format('woff2')}

:root{--ink:#1b1f2a;--muted:#4a5160;--faint:#8a909b;--line:#eceef2;--soft:#f2f3f6;--soft2:#f7f8fa;--red:#d63c43;--blue:#3366e6;--blue-ink:#2f5fd6;--yellow:#ffd75e;--cream:#fff4cf}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:#fff;color:var(--ink);font-family:'Nunito Sans',system-ui,-apple-system,'Segoe UI',sans-serif;line-height:1.55;font-size:16px}
a{color:var(--blue-ink)}a:hover{color:var(--ink)}
h1,h2,h3,.disp{font-family:'Nunito',system-ui,sans-serif;font-weight:900;letter-spacing:-.02em;line-height:1.08}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:9;border-radius:8px}
/* header */
.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 0}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.mark{width:36px;height:36px;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(27,31,42,.16);overflow:hidden;display:flex;flex-direction:column;flex:none}
.mark i{height:11px;background:var(--red)}
.mark b{flex:1;display:flex;align-items:center;justify-content:center;font-family:'Nunito',sans-serif;font-weight:900;font-size:15px}
.logo span{font-family:'Nunito',sans-serif;font-weight:900;font-size:23px}
.nav{display:flex;flex-wrap:wrap;gap:4px;background:var(--soft);padding:5px;border-radius:999px;font-weight:700;font-size:15px}
.nav a{text-decoration:none;color:var(--ink);padding:8px 16px;border-radius:999px}
.nav a.on{background:#fff;box-shadow:0 1px 3px rgba(27,31,42,.12)}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:800;font-size:15px;padding:13px 20px;border-radius:999px;border:0;cursor:pointer;font-family:inherit;min-height:46px}
.btn-blue{background:var(--blue);color:#fff}.btn-blue:hover{background:#2552c4;color:#fff}
.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#000;color:#fff}
.btn-line{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 2px #dfe2e8}.btn-line:hover{box-shadow:inset 0 0 0 2px var(--ink)}
/* tiles */
.tile{width:124px;background:#fff;border-radius:26px;overflow:hidden;display:flex;flex-direction:column;align-items:center;box-shadow:0 18px 36px -18px rgba(27,31,42,.45),0 2px 6px rgba(27,31,42,.08);flex:none}
.tile .m{align-self:stretch;text-align:center;color:#fff;font-weight:800;font-size:14px;letter-spacing:.08em;padding:8px 0}
.tile .d{font-family:'Nunito',sans-serif;font-weight:900;font-size:50px;line-height:1;padding:14px 0 4px}
.tile .l{font-size:13px;font-weight:700;color:var(--muted);padding:0 10px 14px;text-align:center}
.tiles{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin:52px auto 0;max-width:1000px}
.tiles .tile:nth-child(6n+1){transform:rotate(-6deg) translateY(16px)}.tiles .tile:nth-child(6n+2){transform:rotate(4deg)}
.tiles .tile:nth-child(6n+3){transform:rotate(-3deg) translateY(22px)}.tiles .tile:nth-child(6n+4){transform:rotate(5deg) translateY(4px)}
.tiles .tile:nth-child(6n+5){transform:rotate(-4deg) translateY(18px)}.tiles .tile:nth-child(6n+6){transform:rotate(6deg)}
/* home */
.hero{text-align:center;padding:44px 0 0}
.hero h1{font-size:clamp(2.4rem,6vw,4.6rem);margin:0 auto;max-width:13em}
.lead{font-size:1.2rem;color:var(--muted);max-width:34em;margin:20px auto 0}
.cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px}
.duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;margin-top:64px}
.panel{background:var(--soft);border-radius:28px;padding:28px}
.card{background:#fff;border-radius:28px;padding:26px;box-shadow:0 24px 48px -26px rgba(27,31,42,.45),0 0 0 2px var(--line)}
.search label{display:block;font-family:'Nunito',sans-serif;font-weight:900;font-size:1.35rem;margin-bottom:12px}
.search .row{display:flex;flex-wrap:wrap;gap:10px}
.search input{flex:1 1 220px;min-width:0;height:56px;border:2px solid #dfe2e8;border-radius:999px;padding:0 22px;font-size:17px;font-family:inherit;background:#fff;color:var(--ink)}
.search input:focus{outline:none;border-color:var(--blue)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chip{text-decoration:none;background:#fff;color:var(--ink);font-weight:700;font-size:14px;padding:8px 15px;border-radius:999px;box-shadow:0 1px 3px rgba(27,31,42,.12)}
.chip:hover{box-shadow:0 0 0 2px var(--ink)}
.tabs{display:flex;flex-wrap:wrap;gap:4px;background:var(--soft);padding:5px;border-radius:999px}
.tabs button{flex:1 1 auto;border:0;cursor:pointer;font-family:inherit;font-weight:700;font-size:14px;padding:9px 14px;border-radius:999px;background:transparent;color:var(--muted);min-height:40px}
.tabs button[aria-selected=true]{background:#fff;color:var(--ink);font-weight:800;box-shadow:0 1px 3px rgba(27,31,42,.16)}
.nb{display:flex;flex-direction:column;gap:14px}
.nb-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.pill{display:inline-block;background:#ffe3e4;color:#a8232a;font-weight:800;font-size:13px;padding:6px 12px;border-radius:999px}
.nb-row{display:flex;gap:18px;align-items:center}
.nb .tile{width:84px;border-radius:18px}.nb .tile .m{font-size:12px;padding:5px 0}.nb .tile .d{font-size:34px;padding:8px 0 10px}
.kicker{font-size:13px;font-weight:800;color:#a8232a;text-transform:uppercase;letter-spacing:.06em}
.nb-dates{font-family:'Nunito',sans-serif;font-weight:900;font-size:1.6rem;line-height:1.15}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:22px}
.stat{background:var(--soft);border-radius:22px;padding:22px;text-align:center}
.stat b{display:block;font-family:'Nunito',sans-serif;font-weight:900;font-size:1.2rem}
.stat span{color:var(--muted);font-size:14px}
.band{margin:72px calc(50% - 50vw) 0;background:var(--yellow)}
.band .in{max-width:1100px;margin:0 auto;padding:64px 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:48px;align-items:center}
.band h2{font-size:clamp(2rem,4vw,3rem);margin:0 0 16px}
.band p{margin:0 0 22px;font-size:1.12rem;color:#3a3420}
.badges{display:flex;flex-wrap:wrap;gap:10px}.badges span{background:#fff;font-weight:800;padding:10px 16px;border-radius:999px;font-size:15px}
.agenda{background:#fff;border-radius:30px;padding:22px;box-shadow:0 30px 60px -30px rgba(60,45,0,.55);max-width:400px;width:100%;justify-self:center}
.agenda .t{font-family:'Nunito',sans-serif;font-weight:900;font-size:1.15rem;margin-bottom:14px}
.ag{display:flex;gap:12px;margin-bottom:10px}.ag i{width:6px;border-radius:3px;flex:none}
.ag b{display:block;font-size:15px}.ag span{color:var(--muted);font-size:13px}
.sec{margin-top:72px}
.sec h2{font-size:2.1rem;margin:0 0 6px}
.sub{color:var(--muted);margin:0 0 24px}
.regions{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.region{border:2px solid var(--line);border-radius:22px;padding:20px}
.region h3{font-size:1.15rem;margin:0 0 10px}
.region ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px}
.region a{font-weight:700;text-decoration:none}.region a:hover{text-decoration:underline}
.promo{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;background:#ffe3e4;border-radius:28px;padding:28px}
.promo h2{margin:0 0 4px;font-size:1.7rem}.promo p{margin:0;color:#3a404c}
/* council page */
.crumbs{font-size:14px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap;padding-top:8px}
.chead{display:flex;flex-wrap:wrap;gap:32px;align-items:center;margin-top:22px}
.chead .tile{width:168px;border-radius:34px;transform:rotate(-4deg)}
.chead .tile .m{font-size:16px;padding:10px 0}.chead .tile .d{font-size:76px;padding:16px 0 6px}.chead .tile .l{font-size:14px;font-weight:800;padding-bottom:16px}
.chead .txt{flex:1 1 420px;min-width:0}
.chead h1{font-size:clamp(2.1rem,5vw,3.5rem);margin:0}
.chead .next{margin:12px 0 0;font-size:1.2rem;color:#3a404c}
.checked{margin:10px 0 0;color:var(--muted);font-size:14px}
.sub-box{margin-top:32px;background:var(--soft);border-radius:28px;padding:24px 26px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.sub-box b.h{display:block;font-family:'Nunito',sans-serif;font-weight:900;font-size:1.3rem}
.sub-box .s{color:var(--muted);font-size:14px}
.sub-btns{display:flex;flex-wrap:wrap;gap:10px}
.yhead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:52px 0 20px}
.yhead h2{font-size:2rem;margin:0}
.badge{display:inline-block;font-family:'Nunito Sans',sans-serif;letter-spacing:0;font-size:13px;font-weight:800;padding:4px 10px;border-radius:999px;background:var(--cream);color:#6b4e00;vertical-align:middle;margin-left:8px}
.months{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.month{border:2px solid var(--line);border-radius:22px;padding:16px 16px 14px}
.month h3{font-size:1.05rem;margin:0 0 8px}
.grid7{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}
.dow{font-size:11px;font-weight:800;color:var(--faint);margin-bottom:3px}
.grid7 span{height:26px;display:flex;align-items:center;justify-content:center;border-radius:7px;font-size:12px;font-weight:700}
.grid7 .we{color:#a3a9b3}
.grid7 .h{color:#fff}
.grid7 .bh{box-shadow:inset 0 0 0 2px #9aa1ad;color:var(--ink)}
.grid7 .today{box-shadow:inset 0 0 0 2px var(--ink)}
.more{display:none;width:100%;margin-top:14px}
.legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:16px;font-size:14px;font-weight:600;color:#3a404c}
.legend span{display:inline-flex;gap:8px;align-items:center}.legend i{width:14px;height:14px;border-radius:4px;display:inline-block}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:24px;margin-top:40px}
.two h3{font-size:1.6rem;margin:0 0 14px}
.hol{display:flex;gap:14px;background:var(--soft2);border-radius:16px;padding:12px 14px;margin-bottom:10px}
.hol i{width:6px;border-radius:3px;flex:none}
.hol b{display:block;font-size:16px}.hol span{color:#3a404c;font-size:15px}.hol small{display:block;color:var(--muted);font-size:13px}
.tbl{overflow-x:auto;border:2px solid var(--line);border-radius:20px}
table{width:100%;border-collapse:collapse;min-width:380px;font-size:15px}
th{text-align:left;background:var(--soft2);padding:14px 16px}td{padding:14px 16px;border-top:1px solid var(--line)}
td:first-child{font-weight:800}
.note{margin-top:16px;background:var(--cream);border-radius:18px;padding:16px 18px;font-size:15px}
.note p{margin:0 0 8px}.note p:last-child{margin:0}
.small{color:var(--muted);font-size:14px;margin:14px 0 0}
details{background:var(--soft2);border-radius:16px;padding:16px 20px;margin-bottom:10px}
summary{cursor:pointer;font-weight:800}
details p{margin:10px 0 0;color:#3a404c}
.near{display:flex;flex-wrap:wrap;gap:8px}
.near a{text-decoration:none;color:var(--ink);font-weight:700;padding:10px 16px;border-radius:999px;box-shadow:inset 0 0 0 2px var(--line)}
.near a:hover{box-shadow:inset 0 0 0 2px var(--ink)}
/* list page */
.olist{width:100%}
.olist td:nth-child(2){font-weight:700}
.prose{max-width:46em}.prose h2{font-size:1.6rem;margin:36px 0 10px}.prose p,.prose li{color:#2c313c}
footer{margin-top:80px;border-top:1px solid var(--line);padding:30px 0 46px;color:var(--muted);font-size:14px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px}
footer nav{display:flex;flex-wrap:wrap;gap:18px}
@media (max-width:700px){
 .tile{width:104px}.tile .d{font-size:40px}.tiles{gap:14px}
 .js .month.later{display:none}.js .months.open .month.later{display:block}
 .js .more{display:inline-flex}
 .chead .tile{width:128px}.chead .tile .d{font-size:56px}
 .panel,.card{padding:22px}
}
