.office-directory,.municipal-duties { --od-plum:#6d3b7c; --od-deep:#432450; --od-text:#292330; --od-muted:#6c6372; --od-line:#e2dbe6; --od-paper:#fff; --od-tint:#f5f0f8; --od-gold:#b58c40; color:var(--od-text); }
.office-directory .page-header p { max-width:750px; margin:10px auto 0; }
.office-directory .od-kicker,.municipal-duties .md-kicker { color:var(--od-plum); font-size:.9rem; letter-spacing:.03em; }
.od-content { padding-top:30px; padding-bottom:65px; max-width:1000px; }
.od-page-links { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:35px; }
.od-page-links a { color:var(--od-plum); padding:10px 0; border-bottom:2px solid var(--od-line); margin-right:20px; }
.od-page-links a[aria-current=page] { color:var(--od-deep); border-color:var(--od-gold); font-weight:600; }
.od-era { margin:35px 0; }
.od-era-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; border-bottom:2px solid var(--od-gold); padding-bottom:15px; }
.od-era-heading h2 { color:var(--od-deep); font-size:1.4rem; margin:0; }
.od-era-heading span { color:var(--od-muted); font-size:.9rem; white-space:nowrap; }
.od-timeline { padding:0; margin:0; list-style:none; }
.od-entry { display:grid; grid-template-columns:60px 1fr; gap:22px; padding:24px 0; border-bottom:1px solid var(--od-line); align-items:start; }
.od-number { font:500 1.8rem/1.4 Inter,sans-serif; color:var(--od-plum); text-align:center; border-left:2px solid var(--od-gold); }
.od-entry h3 { font-size:1.15rem; color:var(--od-text); margin:0 0 8px; line-height:1.6; }
.od-entry,.md-section { scroll-margin-top:130px; }
.od-entry>div { min-width:0; overflow-wrap:anywhere; }
.od-number { font-variant-numeric:tabular-nums; }
.od-entry p { color:var(--od-muted); line-height:1.8; margin:0; }
.od-term-label { display:block; font-size:.82rem; color:var(--od-muted); }
.od-empty { padding:25px; border:1px solid var(--od-line); background:var(--od-paper); color:var(--od-muted); }
.about-tabs { flex-wrap:wrap; }
.municipal-duties { max-width:960px; margin:auto; }
.md-intro { padding:28px 30px; background:var(--od-paper); border-top:4px solid var(--od-gold); margin-bottom:28px; }
.md-intro h2 { color:var(--od-deep); font-size:1.55rem; margin:8px 0 15px; line-height:1.6; }
.md-intro p,.md-section-body p { line-height:1.9; margin:12px 0; text-align:left; }
.md-source-note { max-width:960px; margin:0 auto 20px; line-height:1.8; color:var(--od-muted,#6c6372); }
.md-source-note a { color:#6d3b7c; font-weight:500; text-decoration:underline; text-underline-offset:4px; }
.md-section { border:1px solid var(--od-line); background:var(--od-paper); margin-bottom:18px; border-radius:10px; overflow:hidden; }
.md-section summary { cursor:pointer; list-style:none; padding:22px 26px; display:flex; align-items:center; gap:22px; font-size:1.15rem; font-weight:600; color:var(--od-deep); }
.md-section summary::-webkit-details-marker { display:none; }
.md-section summary::after { content:'+'; margin-left:auto; font:400 1.6rem Inter,sans-serif; color:var(--od-plum); }
.md-section[open] summary::after { content:'−'; }
.md-section[open] summary { border-bottom:1px solid var(--od-line); }
.md-section-number { color:var(--od-plum); font:500 1.5rem Inter,sans-serif; }
.md-section small { display:block; font-size:.83rem; font-weight:400; color:var(--od-muted); line-height:1.7; margin-top:5px; }
.md-section-body { padding:15px 30px 28px; }
.md-section h3 { font-size:1.12rem; color:var(--od-deep); margin:22px 0 12px; line-height:1.8; }
.md-section h4 { font-size:1rem; font-weight:500; color:var(--od-text); margin:18px 0 10px; line-height:1.8; }
.md-list { padding-left:30px; margin:10px 0 24px; }
.md-list li { padding:9px 0 9px 10px; line-height:1.9; border-bottom:1px solid var(--od-line); }
.md-list li::marker { color:var(--od-plum); font-family:Inter,sans-serif; }
.md-sub-list { list-style:none; margin:15px 0 24px; padding:0; }
.md-sub-list li { display:flex; align-items:baseline; gap:18px; padding:9px 0; line-height:1.9; border-bottom:1px solid var(--od-line); }
.md-sub-list strong { color:var(--od-plum); min-width:38px; font:500 .94rem Inter,sans-serif; }
.office-directory a:focus-visible,.municipal-duties summary:focus-visible,.about-tabs button:focus-visible { outline:3px solid #b58c40; outline-offset:4px; }
html.nsm-color-dark .office-directory,html.nsm-color-dark .municipal-duties { --od-plum:#dcc2ec; --od-deep:#f2e7f8; --od-text:#eee7f2; --od-muted:#c0b5ca; --od-line:#44384d; --od-paper:#241d2d; --od-tint:#2e2539; --od-gold:#dfbd74; }
html.nsm-color-dark .md-source-note { color:#c0b5ca; }
html.nsm-color-dark .md-source-note a { color:#dcc2ec; }
@media(max-width:650px) { .od-content { padding-top:20px; } .od-era-heading h2 { font-size:1.15rem; } .od-entry { grid-template-columns:42px 1fr; gap:14px; padding:20px 0; } .od-number { font-size:1.45rem; } .od-entry h3 { font-size:1.05rem; } .md-intro { padding:22px; } .md-section summary { padding:18px 16px; gap:13px; font-size:1rem; } .md-section-number { font-size:1.3rem; } .md-section-body { padding:10px 18px 20px; } }
@media(prefers-reduced-motion:reduce) { .office-directory *, .municipal-duties * { scroll-behavior:auto; } }
