/* National civic directories. Shared site colours/fonts remain in styles.css. */
.civic-main{max-width:var(--max);margin:auto;padding:2rem clamp(1rem,3vw,3rem) 5rem;color:var(--text)}
.civic-main *{box-sizing:border-box}.civic-main [hidden]{display:none!important}
.civic-crumbs,.civic-choices{display:flex;flex-wrap:wrap;gap:.65rem 1.1rem;margin:1rem 0 1.6rem;align-items:center}
.civic-crumbs{font-size:.85rem;color:var(--muted)}.civic-crumbs a,.civic-main a{color:var(--amethyst);text-underline-offset:.2em}
.civic-kicker{font:600 .76rem var(--font-mono);text-transform:uppercase;letter-spacing:.13em;color:var(--gold)}
.civic-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;padding:1.6rem 0 2rem;border-bottom:1px solid #a37cc74d}
.civic-heading h1{font-size:clamp(2.4rem,5vw,5rem);line-height:1.04;max-width:24ch;margin:.45rem 0 1rem;letter-spacing:-.035em;overflow-wrap:break-word;word-break:normal}
.civic-heading p{max-width:72ch;color:#d4c7e3;line-height:1.7}.civic-heading aside{max-width:24rem;align-self:end}
.civic-chip,.civic-choices a,.civic-card-link{display:inline-block;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.65rem .9rem;background:var(--glass);color:var(--text);min-height:44px;text-decoration:none}
.civic-main a:focus-visible,.civic-main button:focus-visible,.civic-main input:focus-visible,.civic-main select:focus-visible,.civic-main canvas:focus-visible{outline:3px solid #f5ca62;outline-offset:3px}
.civic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem;margin:1.2rem 0}
.civic-panel{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(74,15,122,.32));box-shadow:0 22px 70px rgba(0,0,0,.28);padding:1.4rem;min-width:0;overflow-wrap:anywhere}
/* Directory and person cards use the existing state-card scale, not hero H2s. */
.civic-panel h2,.civic-panel h3{margin:0 0 .6rem;max-width:none;font-family:var(--font-body);font-size:1.28rem;font-weight:760;font-stretch:100%;line-height:1.2;letter-spacing:-.005em;text-transform:none;text-shadow:none;text-wrap:wrap;overflow-wrap:normal;word-break:normal}
.civic-panel h2 a,.civic-panel h3 a{color:var(--text);text-decoration:none}.civic-panel h2 a:hover,.civic-panel h3 a:hover{text-decoration:underline}
.civic-panel p,.civic-section p,.civic-section li{line-height:1.7}
.civic-section{padding-top:2.2rem;scroll-margin-top:5rem}.civic-section h2{font-size:clamp(1.65rem,3vw,2.5rem);margin:0 0 1rem}.civic-note{font-size:.9rem;color:#cbbbda;line-height:1.65;max-width:100ch}
.civic-map{border:1px solid #a37cc76e;border-radius:8px;overflow:hidden;background:#211231;margin:1.4rem 0}
.civic-map-tools{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;padding:1rem}.civic-main button,.civic-main input,.civic-main select{font:inherit}
.civic-map button,.civic-map select,.civic-search input,.civic-directory-filter{border:1px solid #a184bd;border-radius:5px;min-height:44px;padding:.6rem .8rem;background:#f9f6fc;color:#251335;max-width:100%}
.civic-map button{cursor:pointer}.civic-map button[aria-pressed=true]{background:#f5d476;color:#21142f}.civic-map button:disabled{opacity:.55;cursor:wait}
.civic-map-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,310px)}
.civic-map-stage{position:relative;background:#e4e7e8;min-width:0}.civic-map canvas{display:block;width:100%;height:540px;touch-action:none;cursor:grab}.civic-map canvas:active{cursor:grabbing}
.civic-map-message{position:absolute;left:.75rem;bottom:.75rem;max-width:calc(100% - 1.5rem);padding:.45rem .7rem;background:#20162fe8;color:#fff;border-radius:4px;font-size:.82rem;pointer-events:none}
.civic-map-side{padding:1rem;min-width:0;border-left:1px solid #a37cc74d}.civic-search label{display:block;font-weight:600;margin-bottom:.5rem}.civic-search input{width:100%}
.civic-map-results{max-height:250px;overflow:auto;list-style:none;padding:0;margin:.6rem 0}.civic-map-results li{margin:.4rem 0}.civic-map-results button{display:block;width:100%;text-align:left;line-height:1.3;background:#342044;color:#f5effb;border-color:#a184bd66}
.civic-map-results button[aria-pressed=true]{background:#f5d476;color:#21142f}.civic-map-results small{display:block;margin-top:.25rem;font-size:.76rem;opacity:.8}
.civic-selection{margin-top:1rem;padding-top:1rem;border-top:1px solid #a37cc76e}.civic-selection h3{font-size:1.35rem;margin:.2rem 0 .6rem}.civic-map-credit{padding:1rem;border-top:1px solid #a37cc74d;font-size:.78rem;line-height:1.6;color:#cbbbda}
.civic-directory{list-style:none;margin:1rem 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:.6rem}.civic-directory li{border-bottom:1px solid #a37cc74d;padding:.7rem .15rem;break-inside:avoid}.civic-directory a{font-weight:600}.civic-directory small{display:block;color:#cbbbda;margin-top:.3rem;line-height:1.5}
.civic-table-wrap{overflow:auto;max-width:100%;border:1px solid #a37cc74d;border-radius:5px}.civic-table{width:100%;border-collapse:collapse;min-width:500px;font-size:.9rem}.civic-table caption{text-align:left;padding:1rem;font-weight:600}.civic-table th,.civic-table td{text-align:left;vertical-align:top;padding:.85rem;border-bottom:1px solid #a37cc74d;line-height:1.6}.civic-table th{color:#ddba66}.civic-table tbody tr:nth-child(odd){background:#37214555}
.civic-clock{font:600 1.7rem var(--font-mono);color:var(--gold);display:block;margin:.6rem 0}.civic-event{scroll-margin-top:5rem}.civic-person small{display:block;line-height:1.6;color:#cbbbda}.civic-main details{margin:.9rem 0}.civic-main summary{cursor:pointer;line-height:1.7;font-weight:600;min-height:40px}.civic-source-list{font-size:.9rem;padding-left:1.2rem}.civic-source-list li{margin:.65rem 0;overflow-wrap:anywhere}
.civic-footer{border-top:1px solid #a37cc74d;margin-top:3rem;padding-top:1.5rem;font-size:.9rem;color:#cbbbda}
.civic-map-choices a[aria-current=page]{border-color:var(--gold);background:#f5d476;color:#21142f;font-weight:700}
.civic-directory-heading{padding:.5rem 0 1rem;gap:1rem}.civic-directory-heading h1{font-size:clamp(1.8rem,3.6vw,3rem);max-width:30ch}.civic-directory-heading p{margin:.6rem 0}
.civic-map-tools button{min-width:44px}.civic-map-tools select{min-width:0;flex:1 1 18rem}
@media(max-width:900px){.civic-map-layout{grid-template-columns:minmax(0,1fr)}.civic-map-side{border-left:0;border-top:1px solid #a37cc74d;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}.civic-selection{border-top:0;margin-top:0}.civic-map-results{max-height:190px}.civic-map canvas{height:430px}.civic-heading{grid-template-columns:1fr}.civic-heading aside{max-width:none}}
@media(max-width:540px){.civic-main{padding-top:1rem}.civic-map-side{grid-template-columns:1fr}.civic-map canvas{height:360px}.civic-map-tools{gap:.45rem;padding:.75rem}.civic-map-tools label{flex:1 1 100%}.civic-map-tools select{width:100%}.civic-panel{padding:1.05rem}.civic-heading h1{font-size:clamp(1.8rem,7vw,2.5rem)}.civic-choices a{flex:1 1 145px}.civic-map-credit{font-size:.74rem}}
@media(prefers-reduced-motion:reduce){.civic-main *{scroll-behavior:auto!important}}
