:root{
  --ink:#171717;--muted:#666;--paper:#f5f1e8;--card:#fff;--rule:#d8d3c8;
  --accent:#8f1d1d;--blue:#16395b;--green:#315c46;--gold:#9c6a1f;--max:1180px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Georgia,"Times New Roman",serif;background:var(--paper);color:var(--ink);line-height:1.55}
a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:2px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}
.site-header{border-bottom:1px solid var(--rule);background:#fff;position:sticky;top:0;z-index:20}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:16px;padding-bottom:14px;gap:20px}
.brand{font-size:2rem;font-weight:800;letter-spacing:-.04em}.brand a{text-decoration:none;color:var(--ink)}
.tag{font-family:Arial,sans-serif;color:var(--muted);font-size:.82rem;margin-top:-4px}
nav a{font-family:Arial,sans-serif;font-size:.9rem;margin-left:18px;text-decoration:none;font-weight:600}nav a:hover{text-decoration:underline}
.hero{padding:44px 0 24px}.hero.compact{padding-bottom:12px}
.kicker{font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:var(--accent);font-weight:800}
h1{font-size:clamp(2.2rem,5vw,4.7rem);line-height:.98;letter-spacing:-.048em;margin:.3rem 0 1rem;max-width:980px}
h2{font-size:1.65rem;line-height:1.12;margin-top:2rem}h3{line-height:1.15}
.dek{font-size:1.24rem;color:#333;max-width:820px}.meta{font-family:Arial,sans-serif;color:var(--muted);font-size:.86rem}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;border-bottom:2px solid var(--ink);padding-bottom:8px;margin:34px 0 18px}
.section-head h2{margin:0;font-size:1.3rem;text-transform:uppercase;letter-spacing:.04em;font-family:Arial,sans-serif}
.section-head a{font-family:Arial,sans-serif;font-size:.86rem}
.grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:28px}
.card{background:var(--card);border:1px solid var(--rule);padding:22px}.card h2,.card h3{margin-top:0}
.feature{display:grid;grid-template-columns:1.15fr 1fr;background:#fff;border:1px solid var(--rule);overflow:hidden}
.feature-media{min-height:300px;background:#ddd}.feature-media img{width:100%;height:100%;object-fit:cover;display:block}
.feature-copy{padding:28px}.feature-copy h2{font-size:clamp(1.8rem,3vw,2.9rem);letter-spacing:-.035em;margin:.35rem 0 .75rem}.feature-copy p{font-size:1.06rem}
.status-row{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}
.pill{display:inline-flex;align-items:center;font-family:Arial,sans-serif;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;background:#eee8de;padding:5px 9px;border-radius:999px;font-weight:800}
.pill.red{background:#f2dddd;color:#7d1717}.pill.green{background:#deebe3;color:#214c34}.pill.blue{background:#dce7f1;color:#143653}.pill.gold{background:#f2e7cf;color:#6d4813}
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.story-card{background:#fff;border:1px solid var(--rule);padding:19px;min-height:190px}.story-card h3{font-size:1.25rem;margin:.4rem 0 .65rem}.story-card p{margin:.35rem 0;color:#333}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}
.quick{background:#fff;border-top:4px solid var(--blue);padding:17px;border-left:1px solid var(--rule);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.quick strong{display:block;font-family:Arial,sans-serif;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:5px}.quick span{font-size:1.05rem;font-weight:700}
.access-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.access-card{display:block;background:#fff;border:1px solid var(--rule);padding:18px;text-decoration:none;min-height:128px;box-shadow:0 5px 16px rgba(20,34,48,.06);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.access-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,34,48,.11);border-color:#c7c0b4}
.access-card strong{display:block;color:var(--ink);font-family:Arial,sans-serif;font-size:1rem;margin-bottom:6px}
.access-card span{display:block;color:var(--muted);font-family:Arial,sans-serif;font-size:.85rem;line-height:1.35}
.article{max-width:780px}.article p{font-size:1.06rem}.article h2{border-top:1px solid var(--rule);padding-top:22px}
.callout{border-left:5px solid var(--accent);background:#fff;padding:18px 20px;margin:25px 0}
.vote{font-family:Arial,sans-serif;background:#fff;border:1px solid var(--rule);padding:15px 16px;margin:11px 0}
.source-list a{display:block;margin:.6rem 0}
.key-list{list-style:none;padding:0;margin:18px 0}.key-list li{background:#fff;border:1px solid var(--rule);border-left:5px solid var(--blue);padding:15px 17px;margin:10px 0}.key-list li strong{display:block;font-family:Arial,sans-serif;margin-bottom:3px}
details{background:#fff;border:1px solid var(--rule);margin:12px 0}details summary{cursor:pointer;padding:14px 16px;font-family:Arial,sans-serif;font-weight:700}details>div{padding:0 16px 16px}
.meeting-list{display:grid;gap:14px}.meeting-row{background:#fff;border:1px solid var(--rule);padding:20px}.meeting-row h3{margin:.18rem 0 .45rem;font-size:1.35rem}
.directory{display:grid;grid-template-columns:1fr 1fr;gap:18px}.directory .card{min-height:180px}
.mission{max-width:820px;padding:42px 0 12px}.mission p{font-size:1.08rem}
footer{border-top:1px solid var(--rule);margin-top:56px;padding:28px 0 48px;font-family:Arial,sans-serif;color:var(--muted);font-size:.85rem}
@media(max-width:900px){.access-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.feature{grid-template-columns:1fr}.feature-media{min-height:230px}.story-grid,.quick-grid,.directory{grid-template-columns:1fr}.grid{grid-template-columns:1fr}}
@media(max-width:700px){.site-header{position:static}.site-header .wrap{display:block}.tag{margin:.15rem 0 .65rem}nav a{margin:0 14px 0 0}h1{font-size:2.55rem}.hero{padding-top:34px}.access-grid{grid-template-columns:1fr}}


.city-banner{margin-top:18px;padding:0 22px;height:180px;overflow:hidden}
.city-banner img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;border:1px solid var(--rule)}
@media(max-width:700px){.city-banner{height:145px;margin-top:12px}.city-banner img{object-position:center center}}

.civic-note{max-width:900px;margin:18px 0 0;padding:14px 18px;border-left:4px solid var(--gold);background:#fffaf0;font-size:1rem;color:#3e392f}
.compact-media{height:260px;min-height:0;margin:0 0 22px}.compact-media img{width:100%;height:100%;object-fit:cover}
@media(max-width:700px){.compact-media{height:190px}}

.leadership-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.leadership-strip a{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--rule);padding:15px 16px;text-decoration:none}
.leadership-strip a:hover{box-shadow:0 8px 22px rgba(0,0,0,.06)}
.leadership-strip strong{color:var(--ink);font-family:Arial,sans-serif}
.leadership-strip span{color:var(--muted);font-family:Arial,sans-serif;font-size:.82rem}
@media(max-width:860px){.leadership-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.leadership-strip{grid-template-columns:1fr}}


/* Northstar civic dashboard */
.locality-mark{font-size:1.05rem;font-weight:600;letter-spacing:0;margin-left:10px;padding-left:14px;border-left:1px solid var(--rule);color:var(--blue)}
.network-hero{padding:64px 0 54px;background:linear-gradient(180deg,#fff 0%,#f8f5ee 100%);border-bottom:1px solid var(--rule)}
.network-hero h1{max-width:900px;color:#132f4c}
.search-box{display:flex;gap:8px;align-items:stretch}
.search-box input{flex:1;min-width:0;border:1px solid #bbb4a7;background:#fff;padding:13px 15px;font:inherit;font-family:Arial,sans-serif;border-radius:3px}
.search-box button{border:0;background:var(--blue);color:#fff;padding:0 20px;font-family:Arial,sans-serif;font-weight:700;border-radius:3px;cursor:pointer}
.search-box-hero{max-width:760px;margin-top:24px}.search-box-hero input{font-size:1rem;padding:16px 18px}
.city-directory{align-items:stretch}.city-card{background:#fff;border:1px solid var(--rule);overflow:hidden}.city-card-image{height:180px}.city-card-image img{width:100%;height:100%;object-fit:cover}.city-card-copy{padding:22px}

.city-hero-banner{height:190px;position:relative;overflow:hidden;background:#333}
.city-hero-banner img{width:100%;height:100%;object-fit:cover;filter:saturate(1.06) contrast(1.02)}
.city-hero-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,20,34,.68),rgba(5,20,34,.14) 65%,rgba(5,20,34,.05))}
.city-hero-overlay{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;color:#fff}
.city-hero-overlay h1{font-size:clamp(2rem,4vw,3.4rem);margin:0 0 8px;letter-spacing:-.035em;text-shadow:0 2px 8px rgba(0,0,0,.35)}
.city-hero-overlay p{margin:0;font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700}
.city-intro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:36px;padding:34px 0 4px;border-bottom:1px solid var(--rule)}
.city-intro h2{font-size:clamp(2rem,3.6vw,3.2rem);margin:.25rem 0 .6rem;color:#142f4d;letter-spacing:-.035em}
.city-intro p{font-size:1.08rem;margin-top:0}
.search-panel{background:#fff;border:1px solid var(--rule);padding:18px;align-self:start}.search-panel>strong{display:block;font-family:Arial,sans-serif;margin-bottom:10px;color:#142f4d}

.access-card{position:relative;padding-left:74px;min-height:116px}
.access-icon{position:absolute;left:18px;top:20px;width:42px;height:42px;border-radius:50%;display:grid!important;place-items:center;background:#eee9df;color:#142f4d}.access-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.leadership-visual{grid-template-columns:repeat(6,1fr)}
.leadership-visual a{flex-direction:row;align-items:center;gap:10px;padding:10px;min-width:0}
.leadership-visual a>span:last-child{display:flex;flex-direction:column;min-width:0}
.leadership-visual strong{font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.leadership-visual small{font-family:Arial,sans-serif;color:var(--muted);font-size:.72rem}
.portrait{flex:0 0 42px;width:42px;height:42px;border-radius:3px;overflow:hidden}
.monogram{display:grid;place-items:center;background:#e8e2d7;color:#16395b;font-family:Arial,sans-serif;font-size:.76rem;font-weight:800;border:1px solid #d7d0c4}

.dashboard-two{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:26px;align-items:start}
.latest-card{display:grid;grid-template-columns:1.12fr 1fr;background:#fff;border:1px solid var(--rule);overflow:hidden}
.latest-image{position:relative;display:block;min-height:300px;background:#ddd}.latest-image img{width:100%;height:100%;object-fit:cover;display:block}
.play-dot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;color:#142f4d;font-family:Arial,sans-serif;font-size:1.2rem;box-shadow:0 5px 20px rgba(0,0,0,.18)}
.latest-copy{padding:22px}.latest-copy h2{font-size:1.7rem;margin:.35rem 0 .6rem;color:#142f4d;letter-spacing:-.025em}
.change-list{display:grid;gap:10px}.change-list article{background:#fff;border:1px solid var(--rule);padding:16px}.change-list strong{display:block;color:#142f4d;margin-bottom:4px}.change-list span{font-size:.92rem;color:#444}
.vote-preview{display:grid;gap:10px}.vote-record{background:#fff;border:1px solid var(--rule);padding:16px}.vote-record-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.vote-record h3{margin:.15rem 0 .45rem;font-size:1.05rem;color:#142f4d}.result-badge{font-family:Arial,sans-serif;font-size:.72rem;font-weight:800;background:#e5efe7;color:#255237;padding:5px 8px;border-radius:999px;white-space:nowrap}.vote-chips{display:flex;flex-wrap:wrap;gap:6px}.vote-chip{font-family:Arial,sans-serif;font-size:.7rem;padding:4px 7px;border-radius:999px;background:#eee}.vote-chip.yes{background:#deebe3;color:#214c34}.vote-chip.no{background:#f2dddd;color:#7d1717}.vote-chip.absent,.vote-chip.recused{background:#eee8de;color:#665844}
.lower-dashboard{margin-top:4px}.records-card{display:grid;grid-template-columns:1fr 1.1fr;background:#fff;border:1px solid var(--rule);overflow:hidden}.records-card>div:last-child{padding:20px}.records-visual{min-height:190px;background:linear-gradient(135deg,#bfae93,#e9ddc7);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-.5deg);font-family:Arial,sans-serif;color:#3d3225}.records-visual span{font-size:.72rem;letter-spacing:.08em}.records-visual strong{font-size:1.25rem;margin-top:6px;border:2px solid #5d4c39;padding:7px 10px}
.compact-meetings{display:grid;gap:9px}.compact-meetings a{display:grid;grid-template-columns:70px 1fr;gap:12px;background:#fff;border:1px solid var(--rule);padding:13px;text-decoration:none}.compact-meetings strong{color:#142f4d}.compact-meetings span{color:#444;font-size:.9rem}
.search-result{background:#fff;border-bottom:1px solid var(--rule);padding:18px 20px}.search-result h3{margin:.2rem 0 .35rem}.search-result p{margin:0;color:#444}
.search-box-page{max-width:760px;margin:20px 0}
.city-banner{display:none}

@media(max-width:1050px){.leadership-visual{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.city-intro,.dashboard-two{grid-template-columns:1fr}.latest-card{grid-template-columns:1fr}.latest-image{min-height:250px}.records-card{grid-template-columns:1fr}.leadership-visual{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.site-header nav{display:flex;flex-wrap:wrap;gap:8px}.site-header nav a{margin:0 10px 0 0}.locality-mark{display:block;margin:4px 0 0;padding:0;border:0}.city-hero-banner{height:160px}.city-hero-overlay h1{font-size:2rem}.city-intro{padding-top:24px}.leadership-visual{grid-template-columns:1fr 1fr}.access-card{padding-left:68px}.vote-record-head{display:block}.result-badge{display:inline-block;margin-top:4px}}
@media(max-width:520px){.leadership-visual{grid-template-columns:1fr}.search-box{display:grid;grid-template-columns:1fr}.search-box button{padding:12px}.city-hero-overlay p{font-size:.65rem}.latest-copy h2{font-size:1.4rem}}

.filing-list{display:grid;gap:12px}.filing-record{background:#fff;border:1px solid var(--rule);border-left:4px solid var(--gold);padding:18px 20px}.filing-record h3{margin:.25rem 0 .5rem;color:#142f4d}.filing-record p{margin:.45rem 0}


/* Policy Origin & Outside Influence */
.influence-home-card{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;background:#fff;border:1px solid var(--rule);padding:24px;align-items:start}
.influence-home-card h3{font-size:1.55rem;margin:.35rem 0 .6rem}.influence-home-card p{margin:0;color:#333}
.influence-mini-scale{display:grid;gap:8px}.influence-mini-scale span{font-family:Arial,sans-serif;font-size:.78rem;font-weight:700;padding:10px 12px;border-left:4px solid var(--blue);background:#f7f5ef}
.evidence-scale{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0}
.evidence-state{background:#fff;border:1px solid var(--rule);padding:16px}.evidence-state strong{display:block;font-family:Arial,sans-serif;margin-bottom:5px}.evidence-state p{margin:0;color:#444;font-size:.94rem}
.influence-empty{background:#fff;border:1px solid var(--rule);border-left:5px solid var(--gold);padding:20px;margin:18px 0}
.method-list{background:#fff;border:1px solid var(--rule);padding:18px 22px}.method-list li{margin:.55rem 0}
@media(max-width:1000px){.access-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.influence-home-card,.evidence-scale{grid-template-columns:1fr}}


/* Upcoming City Commission meetings */
.upcoming-meetings{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.upcoming-card{background:#fff;border:1px solid var(--rule);box-shadow:0 4px 14px rgba(20,34,48,.05);padding:18px;min-height:185px;display:flex;flex-direction:column}
.upcoming-card .date-line{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.upcoming-date{flex:0 0 52px;width:52px;height:58px;background:#f1ece2;border:1px solid #ddd5c8;display:grid;place-items:center;text-align:center;font-family:Arial,sans-serif;color:#142f4d;line-height:1}
.upcoming-date b{display:block;font-size:1.25rem}.upcoming-date small{display:block;font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;margin-top:3px}
.upcoming-card h3{margin:0;color:#142f4d;font-size:1.08rem}.upcoming-time{font-family:Arial,sans-serif;color:var(--muted);font-size:.82rem}
.upcoming-status{font-family:Arial,sans-serif;font-size:.78rem;color:#5a554c;background:#f7f4ed;border-left:3px solid var(--gold);padding:8px 10px;margin:4px 0 10px}
.upcoming-items{margin:0 0 12px;padding-left:18px;font-size:.9rem}.upcoming-items li{margin:.35rem 0}
.upcoming-card .upcoming-link{margin-top:auto;font-family:Arial,sans-serif;font-size:.82rem;font-weight:700}
@media(max-width:900px){.upcoming-meetings{grid-template-columns:1fr}}


/* Secondary-page Northstar depth */
.card,.meeting-row,.vote-record,.filing-record,.records-card,.search-panel,.influence-home-card{
  box-shadow:0 4px 14px rgba(20,34,48,.045);
}
.meeting-row,.card,.filing-record{transition:box-shadow .15s ease,border-color .15s ease}
.meeting-row:hover,.card:hover,.filing-record:hover{box-shadow:0 8px 20px rgba(20,34,48,.075);border-color:#c9c1b5}


.influence-record-list{display:grid;gap:14px}
.influence-record{background:#fff;border:1px solid var(--rule);border-left:5px solid var(--blue);padding:20px;box-shadow:0 4px 14px rgba(20,34,48,.05)}
.influence-record-head{display:flex;justify-content:space-between;gap:18px;align-items:start}
.influence-record h3{margin:.3rem 0 .6rem;color:#142f4d;font-size:1.35rem}
.evidence-badge{font-family:Arial,sans-serif;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:#e8eef3;color:#173a5b;padding:6px 9px;border-radius:999px;white-space:nowrap}
.influence-orgs{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}
.influence-org{font-family:Arial,sans-serif;font-size:.74rem;background:#f2eee6;border:1px solid #ddd5c8;padding:5px 8px;border-radius:999px;color:#443c32}
@media(max-width:700px){.influence-record-head{display:block}.evidence-badge{display:inline-block;margin-top:6px}}


/* FOIPub feature explainer */
.features-hero{padding:68px 0 58px;background:linear-gradient(135deg,#f9f6ef 0%,#eef2f5 100%);border-bottom:1px solid var(--rule)}
.features-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:42px;align-items:center}
.features-hero h1{color:#132f4c;max-width:800px}
.feature-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.button-primary,.button-secondary{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:3px;font-family:Arial,sans-serif;font-weight:700;text-decoration:none}
.button-primary{background:var(--blue);color:#fff}
.button-primary:hover{background:#0f2d48}
.button-secondary{background:#fff;color:var(--blue);border:1px solid #c7c0b4}
.feature-hero-panel{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.feature-stat{background:#fff;border:1px solid var(--rule);padding:18px;box-shadow:0 6px 18px rgba(20,34,48,.07)}
.feature-stat b{display:block;font-family:Arial,sans-serif;color:#142f4d;font-size:.95rem}
.feature-stat small{display:block;color:var(--muted);margin-top:4px;font-family:Arial,sans-serif;line-height:1.35}
.feature-showcase-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.feature-showcase{background:#fff;border:1px solid var(--rule);padding:20px;box-shadow:0 5px 16px rgba(20,34,48,.05);min-height:260px;display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .15s ease}
.feature-showcase:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,34,48,.1)}
.feature-showcase h3{font-size:1.18rem;color:#142f4d;margin:.7rem 0 .5rem}
.feature-showcase p{font-size:.94rem;color:#444;margin:0 0 14px}
.feature-showcase a{margin-top:auto;font-family:Arial,sans-serif;font-size:.82rem;font-weight:700}
.feature-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#eee9df;color:#142f4d}
.feature-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.use-case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.use-case-grid article{background:#fff;border:1px solid var(--rule);padding:18px;box-shadow:0 4px 14px rgba(20,34,48,.04)}
.use-case-grid strong{display:block;color:#142f4d;font-size:1.02rem;margin-bottom:6px}
.use-case-grid span{color:#555;font-size:.92rem}
.feature-band{margin:42px 0 0;display:grid;grid-template-columns:1.15fr .85fr;gap:30px;background:#142f4d;color:#fff;padding:30px}
.feature-band h2{margin:.35rem 0 .7rem;color:#fff}
.feature-band p{margin:0;color:#e6edf2}
.feature-band .kicker{color:#e4c78d}
.feature-band-points{display:grid;gap:9px}
.feature-band-points span{font-family:Arial,sans-serif;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);padding:10px 12px}
.feature-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border:1px solid var(--rule);padding:26px;margin:28px 0 10px;box-shadow:0 5px 16px rgba(20,34,48,.05)}
.feature-cta h2{margin:.3rem 0 .4rem;color:#142f4d}
.feature-cta p{margin:0}
.feature-preview{display:flex;align-items:center;justify-content:space-between;gap:28px;background:#fff;border:1px solid var(--rule);padding:26px;margin:34px 0 8px;box-shadow:0 5px 16px rgba(20,34,48,.05)}
.feature-preview h2{margin:.25rem 0 .5rem;color:#142f4d;max-width:850px}
.feature-preview p{margin:0;color:#444;max-width:800px}
@media(max-width:1000px){.feature-showcase-grid{grid-template-columns:repeat(2,1fr)}.features-hero-grid,.feature-band{grid-template-columns:1fr}}
@media(max-width:760px){.use-case-grid{grid-template-columns:1fr}.feature-preview,.feature-cta{display:block}.feature-preview .button-primary,.feature-cta .button-primary{margin-top:16px}.feature-hero-panel{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.feature-showcase-grid,.feature-hero-panel{grid-template-columns:1fr}.features-hero{padding-top:42px}}


/* How City Hall Works */
.decision-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;gap:10px;align-items:stretch;margin:18px 0 34px}
.decision-flow article{background:#fff;border:1px solid var(--rule);padding:16px;box-shadow:0 4px 14px rgba(20,34,48,.045)}
.decision-flow strong{display:block;color:#142f4d;font-family:Arial,sans-serif;margin:.55rem 0 .35rem}
.decision-flow p{margin:0;color:#444;font-size:.88rem}
.flow-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eee9df;color:#142f4d;font-family:Arial,sans-serif;font-weight:800;font-size:.78rem}
.flow-arrow{display:grid;place-items:center;color:var(--gold);font-size:1.3rem;font-weight:700}
.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.role-card{display:grid;grid-template-columns:52px 1fr;gap:14px;background:#fff;border:1px solid var(--rule);padding:20px;box-shadow:0 4px 14px rgba(20,34,48,.045)}
.role-card h3{margin:.25rem 0 .5rem;color:#142f4d}
.role-card p{margin:.2rem 0 .7rem;color:#444}
.role-symbol{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#eee9df;color:#142f4d;font-family:Arial,sans-serif;font-weight:800}.role-symbol svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.board-explainer{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;background:#fff;border:1px solid var(--rule);padding:22px;box-shadow:0 4px 14px rgba(20,34,48,.045)}
.board-explainer h3{margin-top:0;color:#142f4d}
.board-tags{display:flex;flex-wrap:wrap;align-content:start;gap:8px}
.board-tags span{font-family:Arial,sans-serif;font-size:.76rem;background:#f2eee6;border:1px solid #ddd5c8;padding:7px 9px;border-radius:999px}
.timeline-card{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.timeline-card div{background:#fff;border-top:4px solid var(--blue);border-left:1px solid var(--rule);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:16px}
.timeline-card strong{display:block;color:#142f4d;font-family:Arial,sans-serif;margin-bottom:5px}.timeline-card span{color:#444;font-size:.9rem}
@media(max-width:1050px){.decision-flow{grid-template-columns:1fr}.flow-arrow{transform:rotate(90deg)}.timeline-card{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.role-grid,.board-explainer,.timeline-card{grid-template-columns:1fr}}


/* Public records request builder */
.records-builder{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;margin:20px 0 34px}
.records-builder-form,.records-builder-output{background:#fff;border:1px solid var(--rule);padding:22px;box-shadow:0 5px 16px rgba(20,34,48,.05)}
.records-builder label{display:block;font-family:Arial,sans-serif;font-size:.86rem;color:#333;margin-bottom:15px}
.records-builder input,.records-builder textarea,.records-builder select{width:100%;margin-top:6px;border:1px solid #bbb4a7;background:#fff;padding:11px 12px;font:inherit;font-family:Arial,sans-serif;border-radius:3px}
.records-builder textarea{resize:vertical;line-height:1.45}
.records-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.records-generate{border:0;cursor:pointer}
.records-builder-output textarea{min-height:355px;margin:10px 0 12px}
.records-actions{display:flex;gap:9px;flex-wrap:wrap}.records-actions button{cursor:pointer}
@media(max-width:850px){.records-builder{grid-template-columns:1fr}.records-field-grid{grid-template-columns:1fr}}


/* Citizen tools */
.citizen-tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.citizen-tool-card{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;background:#fff;border:1px solid var(--rule);padding:20px;text-decoration:none;box-shadow:0 5px 16px rgba(20,34,48,.05);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.citizen-tool-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,34,48,.1);border-color:#c7c0b4}
.citizen-tool-card strong{display:block;color:#142f4d;font-family:Arial,sans-serif;font-size:1.05rem;margin:.15rem 0 .35rem}
.citizen-tool-card small{display:block;color:#555;font-family:Arial,sans-serif;font-size:.85rem;line-height:1.45}
@media(max-width:760px){.citizen-tools-grid{grid-template-columns:1fr}}


/* Search filters */
.search-box select{border:1px solid #bbb4a7;background:#fff;padding:0 12px;font-family:Arial,sans-serif;color:#333;border-radius:3px;min-width:150px}
.search-summary{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#eee9df;border:1px solid var(--rule);padding:10px 14px;font-family:Arial,sans-serif;font-size:.82rem;color:#555}
.search-summary strong{color:#142f4d}
@media(max-width:700px){.search-box select{min-height:44px;width:100%}.search-summary{display:block}.search-summary span{display:block;margin-top:3px}}


/* Records-request templates */
.records-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}
.records-presets button{appearance:none;text-align:left;background:#fff;border:1px solid var(--rule);padding:15px;cursor:pointer;box-shadow:0 4px 12px rgba(20,34,48,.04);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.records-presets button:hover{transform:translateY(-2px);box-shadow:0 9px 20px rgba(20,34,48,.09);border-color:#c7c0b4}
.records-presets strong{display:block;color:#142f4d;font-family:Arial,sans-serif;font-size:.9rem;margin-bottom:4px}
.records-presets span{display:block;color:#666;font-family:Arial,sans-serif;font-size:.76rem;line-height:1.35}
@media(max-width:900px){.records-presets{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.records-presets{grid-template-columns:1fr}}


/* Accessibility */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:3px solid #b47a22;
  outline-offset:3px;
}
button,input,select,textarea{font:inherit}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}


/* Coverage freshness */
.coverage-status{display:inline-flex;align-items:center;gap:8px;margin:7px 0 0;padding:7px 10px;background:#f3f5f4;border:1px solid #d7ded9;color:#405047;font-family:Arial,sans-serif;font-size:.76rem;line-height:1.3}
.coverage-dot{width:8px;height:8px;border-radius:50%;background:#3d7656;box-shadow:0 0 0 3px rgba(61,118,86,.1);flex:0 0 auto}


/* Policy-origin timeline */
.influence-timeline{margin:18px 0 14px;padding-top:14px;border-top:1px solid var(--rule)}
.influence-timeline ol{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:0}
.influence-timeline li{display:grid;grid-template-columns:105px 1fr;gap:14px;position:relative;padding:0 0 18px 18px;border-left:2px solid #d9d1c4}
.influence-timeline li:before{content:"";position:absolute;left:-6px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 3px #eef2f5}
.influence-timeline-date{font-family:Arial,sans-serif;font-size:.75rem;font-weight:800;color:#142f4d}
.influence-timeline li strong{display:block;color:#142f4d}
.influence-timeline li p{margin:.25rem 0 .35rem;font-size:.9rem;color:#444}
.influence-timeline li a{font-family:Arial,sans-serif;font-size:.76rem;font-weight:700}
@media(max-width:620px){.influence-timeline li{grid-template-columns:1fr;gap:3px}}


/* Issue trails */
.issue-trail-list{display:grid;gap:18px;margin-top:24px}
.issue-trail-card{background:#fff;border:1px solid var(--rule);padding:24px;box-shadow:0 6px 18px rgba(20,34,48,.055)}
.issue-trail-head{display:flex;justify-content:space-between;gap:20px;align-items:start}
.issue-trail-head h2{margin:.25rem 0 .55rem;color:#142f4d;font-size:1.7rem}
.issue-status{font-family:Arial,sans-serif;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:#e5efe7;color:#255237;padding:6px 9px;border-radius:999px;white-space:nowrap}
.issue-summary{font-size:1.02rem;color:#3d3d3d;max-width:860px}
.issue-latest{display:grid;grid-template-columns:160px 1fr;gap:14px;background:#f7f4ed;border-left:4px solid var(--gold);padding:12px 14px;margin:16px 0}
.issue-latest strong{font-family:Arial,sans-serif;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:#6a5128}
.issue-latest span{color:#333}
.issue-timeline{list-style:none;padding:0;margin:18px 0 4px;display:grid;gap:0}
.issue-timeline li{display:grid;grid-template-columns:105px 1fr;gap:14px;position:relative;padding:0 0 18px 18px;border-left:2px solid #d9d1c4}
.issue-timeline li:before{content:"";position:absolute;left:-6px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 3px #eef2f5}
.issue-date{font-family:Arial,sans-serif;font-size:.75rem;font-weight:800;color:#142f4d}
.issue-timeline li strong{display:block;color:#142f4d}
.issue-timeline li p{margin:.25rem 0 .35rem;font-size:.92rem;color:#444}
.issue-timeline li a{font-family:Arial,sans-serif;font-size:.76rem;font-weight:700}
@media(max-width:700px){.issue-trail-head{display:block}.issue-status{display:inline-block;margin-top:6px}.issue-latest,.issue-timeline li{grid-template-columns:1fr;gap:4px}}


/* Print-friendly civic records */
@media print{
  :root{--paper:#fff;--card:#fff}
  body{background:#fff;color:#000;font-size:11pt}
  .site-header,nav,.search-panel,.search-box,.button-primary,.button-secondary,.play-dot,.feature-hero-actions,.records-actions,footer{display:none!important}
  .wrap{max-width:none;padding:0}
  .hero,.hero.compact,.features-hero{padding:0 0 16px;background:#fff}
  h1{font-size:28pt;line-height:1.05;color:#000}
  h2,h3,.latest-copy h2,.feature-showcase h3{color:#000}
  a{color:#000;text-decoration:none}
  .card,.meeting-row,.vote-record,.filing-record,.influence-record,.issue-trail-card,.feature-showcase,.story-card,.access-card,.citizen-tool-card{box-shadow:none;break-inside:avoid}
  .section-head{break-after:avoid}
  .city-hero-banner{display:none}
  .grid,.dashboard-two,.directory,.story-grid,.feature-showcase-grid,.use-case-grid,.citizen-tools-grid,.upcoming-meetings{display:block}
  .grid>*,.dashboard-two>*,.directory>*,.story-grid>*,.feature-showcase-grid>*,.use-case-grid>*,.citizen-tools-grid>*,.upcoming-meetings>*{margin-bottom:12px}
  .issue-timeline li,.influence-timeline li{break-inside:avoid}
}


/* Share & print controls */
.share-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0 22px}
.share-tools button{appearance:none;border:1px solid #c7c0b4;background:#fff;color:#142f4d;padding:8px 11px;border-radius:3px;font-family:Arial,sans-serif;font-size:.78rem;font-weight:700;cursor:pointer}
.share-tools button:hover{background:#f3efe7}
@media print{.share-tools{display:none!important}}


/* Civic glossary */
.glossary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:22px}
.glossary-grid article{background:#fff;border:1px solid var(--rule);padding:18px;box-shadow:0 4px 14px rgba(20,34,48,.04);break-inside:avoid}
.glossary-grid h2{margin:0 0 .45rem;color:#142f4d;font-size:1.15rem}
.glossary-grid p{margin:0;color:#444;font-size:.94rem}
@media(max-width:900px){.citizen-tools-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.glossary-grid,.citizen-tools-grid{grid-template-columns:1fr}}


.issue-jump{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--rule);border-left:4px solid var(--gold);padding:11px 14px;margin:0 0 16px;box-shadow:0 3px 10px rgba(20,34,48,.035)}
.issue-jump a{font-family:Arial,sans-serif;text-decoration:none}
.issue-jump a:hover{text-decoration:underline}
@media(max-width:620px){.issue-jump{display:block}.issue-jump a{display:block;margin-top:3px}}


/* Public methodology */
.methodology-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:22px}
.methodology-grid article{background:#fff;border:1px solid var(--rule);padding:21px;box-shadow:0 4px 14px rgba(20,34,48,.045)}
.methodology-grid h2{margin:.3rem 0 .6rem;color:#142f4d;font-size:1.25rem}
.methodology-grid p{margin:0;color:#444}
.method-no-infer{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.method-no-infer span{background:#fff;border:1px solid var(--rule);border-left:4px solid var(--accent);padding:13px;font-family:Arial,sans-serif;font-size:.82rem;font-weight:700;color:#353535}
@media(max-width:900px){.method-no-infer{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.methodology-grid,.method-no-infer{grid-template-columns:1fr}}


/* Individual issue trails */
.issue-detail-head{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);gap:22px;align-items:start;background:#fff;border:1px solid var(--rule);padding:22px;box-shadow:0 5px 16px rgba(20,34,48,.05);margin:18px 0 8px}
.issue-detail-head h2{margin:.25rem 0 0;color:#142f4d}
.issue-detail-head .issue-latest{margin:0}
.issue-timeline-detail{background:#fff;border:1px solid var(--rule);padding:24px 24px 8px;box-shadow:0 5px 16px rgba(20,34,48,.045)}
.issue-related-links{background:#fff;border:1px solid var(--rule);padding:16px 18px;font-family:Arial,sans-serif}
.issue-related-links a{font-weight:700}
@media(max-width:760px){.issue-detail-head{grid-template-columns:1fr}}


/* Meeting Ready */
.meeting-ready-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0 30px}
.meeting-ready-nav a{display:block;background:#fff;border:1px solid var(--rule);padding:18px;text-decoration:none;box-shadow:0 5px 16px rgba(20,34,48,.05)}
.meeting-ready-nav strong{display:block;color:#142f4d;font-family:Arial,sans-serif;font-size:1rem;margin-bottom:4px}
.meeting-ready-nav span{display:block;color:#666;font-family:Arial,sans-serif;font-size:.8rem}
.meeting-ready-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.meeting-ready-card{background:#fff;border:1px solid var(--rule);padding:18px;box-shadow:0 4px 14px rgba(20,34,48,.045)}
.meeting-ready-card h3{margin:.25rem 0 .45rem;color:#142f4d}
.meeting-ready-card p{margin:0 0 10px;color:#444}
.rights-map{display:grid;gap:8px}
.rights-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start;background:#fff;border:1px solid var(--rule);padding:15px 16px}
.rights-row strong{color:#142f4d}.rights-row p{margin:.25rem 0 0;color:#555;font-size:.9rem}
.rights-status{font-family:Arial,sans-serif;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:6px 9px;border-radius:999px;white-space:nowrap}
.rights-status.strong{background:#e6f0e9;color:#255237}.rights-status.conditional{background:#f1ead8;color:#6c5424}.rights-status.limited{background:#ece8e1;color:#5d5549}.rights-status.dont{background:#f4e2df;color:#7b2b24}
.rights-mode{margin:36px 0;background:#142f4d;color:#fff;padding:26px;box-shadow:0 8px 22px rgba(20,34,48,.12)}
.rights-mode-head{display:flex;justify-content:space-between;gap:24px;align-items:center}.rights-mode h2{color:#fff;margin:.25rem 0 .45rem}.rights-mode p{margin:0;color:#e6edf2}.rights-mode .kicker{color:#e4c78d}
.rights-mode-panel{margin-top:22px}.rights-alert{background:#fff;color:#142f4d;padding:14px 16px;font-family:Arial,sans-serif;font-weight:800;border-left:5px solid #b47a22}
.rights-scripts{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}
.rights-script{appearance:none;text-align:left;background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.2);padding:12px 14px;cursor:pointer;font:inherit}
.rights-script:hover{background:rgba(255,255,255,.13)}
.after-incident-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.after-card{background:#fff;border:1px solid var(--rule);padding:20px;box-shadow:0 5px 16px rgba(20,34,48,.05)}.after-card h3{margin:.25rem 0 .5rem;color:#142f4d}.after-card li{margin:.45rem 0}
.meeting-ready-sources{display:flex;flex-wrap:wrap;gap:8px}.meeting-ready-sources a{background:#fff;border:1px solid var(--rule);padding:8px 10px;font-family:Arial,sans-serif;font-size:.78rem;font-weight:700;text-decoration:none}
@media(max-width:760px){.meeting-ready-nav,.meeting-ready-grid,.after-incident-grid,.rights-scripts{grid-template-columns:1fr}.rights-mode-head,.rights-row{display:block}.rights-mode-head .button-primary{margin-top:16px}.rights-status{display:inline-block;margin-top:10px}}


/* Meeting Ready preparation */
.meeting-ready-intro{max-width:860px}
.meeting-prep-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}
.meeting-prep-list article{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;background:#fff;border:1px solid var(--rule);padding:14px 15px;box-shadow:0 4px 12px rgba(20,34,48,.04);font-family:Arial,sans-serif;font-size:.88rem;line-height:1.45;color:#444}
.prep-check{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e6f0e9;color:#255237;font-weight:800}
.meeting-ready-download{margin-top:18px}
@media(max-width:700px){.meeting-prep-list{grid-template-columns:1fr}}


/* Meeting Ready selected meeting */
.meeting-ready-context{display:flex;justify-content:space-between;gap:24px;align-items:center;background:#fff;border:1px solid var(--rule);border-left:5px solid var(--gold);padding:18px 20px;margin:20px 0;box-shadow:0 5px 16px rgba(20,34,48,.05)}
.meeting-ready-context h2{margin:.2rem 0 .35rem;color:#142f4d}
.meeting-ready-context p{margin:.2rem 0}
.upcoming-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px}
.meeting-ready-link{font-weight:800}
@media(max-width:700px){.meeting-ready-context{display:block}.meeting-ready-context .button-secondary{margin-top:12px}}


/* Meeting Ready procedural flow */
.speaker-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.speaker-flow article{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;background:#fff;border:1px solid var(--rule);padding:16px;box-shadow:0 4px 14px rgba(20,34,48,.04)}
.speaker-step{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#142f4d;color:#fff;font-family:Arial,sans-serif;font-weight:800}
.speaker-flow strong{display:block;color:#142f4d;font-family:Arial,sans-serif;margin-bottom:4px}
.speaker-flow p{margin:0;color:#555;font-size:.88rem;line-height:1.45}
.agenda-flow{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.agenda-flow span{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--rule);padding:8px 10px;font-family:Arial,sans-serif;font-size:.8rem;color:#444}
.agenda-flow b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#eee9df;color:#142f4d;font-size:.72rem}
@media(max-width:900px){.speaker-flow{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.speaker-flow{grid-template-columns:1fr}}


/* Meeting coverage status */
.meeting-coverage-badge{display:inline-flex;align-items:center;gap:10px;margin:10px 0 16px;padding:8px 11px;border:1px solid var(--rule);font-family:Arial,sans-serif;font-size:.78rem}
.meeting-coverage-badge strong{color:#142f4d}
.meeting-coverage-badge span{color:#59616a}
.meeting-coverage-badge.full{background:#edf5ef;border-color:#ccdccc}
.meeting-coverage-badge.indexed{background:#f5f1e8;border-color:#ded3bf}
@media(max-width:620px){.meeting-coverage-badge{display:block}.meeting-coverage-badge span{display:block;margin-top:2px}}


/* Civic record snapshot */
.civic-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.civic-stats article{background:#fff;border:1px solid var(--rule);padding:16px 14px;text-align:center;box-shadow:0 4px 12px rgba(20,34,48,.04)}
.civic-stats strong{display:block;color:#142f4d;font-family:Arial,sans-serif;font-size:1.65rem;line-height:1;margin-bottom:6px}
.civic-stats span{display:block;color:#666;font-family:Arial,sans-serif;font-size:.75rem;line-height:1.3}
.civic-stats.stats-unavailable{opacity:.65}
@media(max-width:900px){.civic-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.civic-stats{grid-template-columns:repeat(2,1fr)}}


/* FOIPub home value path */
.home-value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:12px 0 34px}
.home-value-grid article{background:#fff;border:1px solid var(--rule);padding:18px;box-shadow:0 4px 14px rgba(20,34,48,.04)}
.home-value-grid h3{margin:.65rem 0 .4rem;color:#142f4d}
.home-value-grid p{margin:0;color:#555}
@media(max-width:760px){.home-value-grid{grid-template-columns:1fr}}


/* Full meeting brief navigation */
.meeting-brief-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.meeting-brief-nav a{display:inline-flex;align-items:center;background:#fff;border:1px solid var(--rule);padding:7px 10px;border-radius:999px;text-decoration:none;font-family:Arial,sans-serif;font-size:.76rem;font-weight:700;color:#142f4d}
.meeting-brief-nav a:hover{background:#f3efe7}


/* Vote tracker filters */
.vote-filters{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr auto;gap:10px;align-items:end;background:#fff;border:1px solid var(--rule);padding:16px;margin-bottom:10px;box-shadow:0 4px 14px rgba(20,34,48,.04)}
.vote-filters label{display:grid;gap:5px}
.vote-filters label span{font-family:Arial,sans-serif;font-size:.72rem;font-weight:800;color:#59616a;text-transform:uppercase;letter-spacing:.04em}
.vote-filters input,.vote-filters select{width:100%;min-height:42px;border:1px solid #bbb4a7;background:#fff;padding:8px 10px;color:#333}
.vote-filter-summary{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:0 0 12px;padding:8px 11px;background:#f3f5f4;border:1px solid #d7ded9;font-family:Arial,sans-serif;font-size:.78rem;color:#59616a}
.vote-filter-summary strong{color:#142f4d}
@media(max-width:1000px){.vote-filters{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.vote-filters{grid-template-columns:1fr}.vote-filter-summary{display:block}.vote-filter-summary span{display:block;margin-top:2px}}


/* Neutral commissioner vote comparison */
.vote-compare{background:#fff;border:1px solid var(--rule);padding:20px;margin:16px 0 22px;box-shadow:0 4px 14px rgba(20,34,48,.045)}
.vote-compare h2{margin:.25rem 0 .4rem;color:#142f4d}
.vote-compare p{margin:.25rem 0 0;color:#555}
.vote-compare-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}
.vote-compare-controls label{display:grid;gap:5px}
.vote-compare-controls span{font-family:Arial,sans-serif;font-size:.72rem;font-weight:800;color:#59616a;text-transform:uppercase;letter-spacing:.04em}
.vote-compare-controls select{min-height:42px;border:1px solid #bbb4a7;background:#fff;padding:8px 10px}
.vote-compare-summary{display:flex;justify-content:space-between;gap:18px;background:#f3f5f4;border:1px solid #d7ded9;padding:9px 11px;margin-bottom:10px;font-family:Arial,sans-serif;font-size:.8rem}
.vote-compare-summary strong{color:#142f4d}.vote-compare-summary span{color:#59616a}
.vote-compare-list{display:grid;gap:8px}
.vote-compare-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;border-top:1px solid var(--rule);padding:12px 0}
.vote-compare-list article:first-child{border-top:0}
.vote-compare-position{display:inline-flex;align-items:center;justify-content:center;min-width:120px;padding:6px 8px;border-radius:999px;font-family:Arial,sans-serif;font-size:.72rem;font-weight:800;text-transform:none;letter-spacing:0}
.vote-compare-position.yes{background:#e6f0e9;color:#255237}.vote-compare-position.no{background:#f4e2df;color:#7b2b24}
@media(max-width:760px){.vote-compare-controls{grid-template-columns:1fr}.vote-compare-list article{grid-template-columns:1fr}.vote-compare-position{justify-content:flex-start;min-width:0}.vote-compare-summary{display:block}.vote-compare-summary span{display:block;margin-top:3px}}


/* Vote tracker summary */
.vote-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0 22px}
.vote-stats article{background:#fff;border:1px solid var(--rule);padding:15px;text-align:center;box-shadow:0 4px 12px rgba(20,34,48,.04)}
.vote-stats strong{display:block;color:#142f4d;font-family:Arial,sans-serif;font-size:1.5rem;line-height:1;margin-bottom:6px}
.vote-stats span{display:block;color:#666;font-family:Arial,sans-serif;font-size:.75rem}
@media(max-width:700px){.vote-stats{grid-template-columns:repeat(2,1fr)}}


/* Meeting brief print refinement */
@media print{
  .meeting-coverage-badge,.meeting-brief-nav,.share-tools,.feature-media,.issue-jump,.play-dot{display:none!important}
  .quick-grid,.key-list,.vote-record,.callout,.card{break-inside:avoid}
  .quick-grid{display:grid!important;grid-template-columns:repeat(3,1fr);gap:8px}
  .quick{border:1px solid #bbb!important;background:#fff!important}
  details{display:block!important}
  details>div{display:block!important}
  details>summary{font-weight:700;margin-bottom:6px}
  .source-list a[href^="http"]:after{content:" (" attr(href) ")";font-weight:400;font-size:9pt;word-break:break-all}
  .article p,.article li{orphans:3;widows:3}
  .article h2{break-after:avoid}
}


/* Meeting archive filters */
.archive-filters{display:grid;grid-template-columns:1.5fr 1fr auto;gap:10px;align-items:end;background:#fff;border:1px solid var(--rule);padding:16px;margin:18px 0 10px;box-shadow:0 4px 14px rgba(20,34,48,.04)}
.archive-filters label{display:grid;gap:5px}
.archive-filters label span{font-family:Arial,sans-serif;font-size:.72rem;font-weight:800;color:#59616a;text-transform:uppercase;letter-spacing:.04em}
.archive-filters input,.archive-filters select{min-height:42px;border:1px solid #bbb4a7;background:#fff;padding:8px 10px;color:#333}
.archive-filter-summary{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:0 0 18px;padding:8px 11px;background:#f3f5f4;border:1px solid #d7ded9;font-family:Arial,sans-serif;font-size:.78rem;color:#59616a}
.archive-filter-summary strong{color:#142f4d}
@media(max-width:760px){.archive-filters{grid-template-columns:1fr}.archive-filter-summary{display:block}.archive-filter-summary span{display:block;margin-top:3px}}


/* Contextual civic glossary help */
.glossary-help{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#f5f1e8;border:1px solid #ded3bf;padding:9px 12px;margin:8px 0 14px;font-family:Arial,sans-serif;font-size:.78rem;color:#555}
.glossary-help strong{color:#142f4d}
.glossary-help a{font-weight:800;white-space:nowrap}
@media(max-width:700px){.glossary-help{display:block}.glossary-help a{display:block;margin-top:5px}}


/* Source-index verified action digest */
.source-vote-digest{margin:10px 0 22px}
.source-vote-digest .section-head{margin-top:0}
.source-vote-digest-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.source-vote-digest-grid article{background:#fff;border:1px solid var(--rule);padding:14px 15px;box-shadow:0 4px 12px rgba(20,34,48,.04)}
.source-vote-digest-grid strong{display:block;color:#142f4d;font-family:Arial,sans-serif;font-size:.88rem;line-height:1.35}
.source-vote-digest-grid span{display:block;margin-top:5px;color:#5f6870;font-family:Arial,sans-serif;font-size:.75rem;font-weight:700}
@media(max-width:700px){.source-vote-digest-grid{grid-template-columns:1fr}}


/* Commissioner record coverage */
.commissioner-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:22px}
.commissioner-stats article{background:#fff;border:1px solid var(--rule);padding:16px;text-align:center;box-shadow:0 4px 12px rgba(20,34,48,.04)}
.commissioner-stats strong{display:block;color:#142f4d;font-family:Arial,sans-serif;font-size:1.5rem;line-height:1;margin-bottom:6px}
.commissioner-stats span{display:block;color:#666;font-family:Arial,sans-serif;font-size:.76rem}
@media(max-width:700px){.commissioner-stats{grid-template-columns:repeat(2,1fr)}}


/* Meeting archive coverage */
.meeting-archive-coverage{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0 26px}
.meeting-archive-coverage article{background:#fff;border:1px solid var(--rule);padding:16px;text-align:center;box-shadow:0 4px 12px rgba(20,34,48,.04)}
.meeting-archive-coverage strong{display:block;color:#142f4d;font-family:Arial,sans-serif;font-size:1.55rem;line-height:1;margin-bottom:6px}
.meeting-archive-coverage span{display:block;color:#666;font-family:Arial,sans-serif;font-size:.76rem;line-height:1.35}
@media(max-width:700px){.meeting-archive-coverage{grid-template-columns:1fr}}


/* Meeting utility navigation */
.meeting-utility-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.meeting-utility-nav a{display:inline-flex;align-items:center;background:#fff;border:1px solid var(--rule);padding:7px 10px;text-decoration:none;font-family:Arial,sans-serif;font-size:.76rem;font-weight:700;color:#142f4d}
.meeting-utility-nav a:hover{background:#f4f0e8}


/* Meeting archive coverage */
.archive-coverage{margin:14px 0 22px;padding:10px 12px;background:#f4f1ea;border:1px solid var(--rule);font-family:Arial,sans-serif;font-size:.78rem;color:#555}
.archive-coverage strong{color:#142f4d}
.archive-status{display:inline-block;padding:3px 7px;border-radius:999px;font-family:Arial,sans-serif;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.archive-status.full{background:#e6f0e9;color:#255237}
.archive-status.indexed{background:#eee9df;color:#5d5549}


/* About & error pages */
.about-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:18px 0 28px}
.about-grid article{background:#fff;border:1px solid var(--rule);padding:20px;box-shadow:0 4px 14px rgba(20,34,48,.045)}
.about-grid h2{margin:.3rem 0 .55rem;color:#142f4d;font-size:1.2rem}
.about-grid p{margin:0;color:#4f555a}
.error-hero{max-width:900px}
@media(max-width:760px){.about-grid{grid-template-columns:1fr}}


/* Site-wide print baseline */
@media print{
  body{background:#fff!important;color:#000!important}
  .site-header,footer,.search-panel,.feature-hero-actions,.button-primary,.button-secondary,.meeting-utility-nav,.share-tools{display:none!important}
  main,.wrap{max-width:none!important;width:auto!important;margin:0!important;padding:0!important}
  a{color:#000!important;text-decoration:none!important}
}


/* Accessibility and compact actions */
.skip-link{position:fixed;left:12px;top:-60px;z-index:9999;background:#142f4d;color:#fff;padding:10px 14px;font-family:Arial,sans-serif;font-weight:800;text-decoration:none}
.skip-link:focus{top:12px}
.site-header nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:4px}
.section-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.compact-button{padding:8px 11px;font-size:.76rem}
@media(max-width:700px){.section-actions{justify-content:flex-start}}


/* Open data */
.data-download-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 30px}
.data-download-grid article{background:#fff;border:1px solid var(--rule);padding:20px;box-shadow:0 4px 14px rgba(20,34,48,.045)}
.data-download-grid h2{margin:.3rem 0 .5rem;color:#142f4d;font-size:1.15rem}
.data-download-grid p{color:#555;min-height:68px}
.data-download-grid .button-secondary{margin:5px 5px 0 0}
@media(max-width:900px){.data-download-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.data-download-grid{grid-template-columns:1fr}.data-download-grid p{min-height:0}}


/* Upcoming meeting calendar action */
.calendar-link{appearance:none;background:transparent;cursor:pointer;font:inherit}
.calendar-link:hover{text-decoration:underline}


/* Mobile navigation refinement */
@media(max-width:700px){
  .site-header nav{display:flex;flex-wrap:wrap;gap:4px 14px;padding-top:2px}
  .site-header nav a{margin:0;min-height:36px;display:inline-flex;align-items:center}
  .section-head{align-items:flex-start;flex-direction:column;gap:7px}
  .search-box-page{flex-wrap:wrap}
  .search-box-page input{width:100%;flex-basis:100%}
  .search-box-page select{flex:1}
  button,.button-primary,.button-secondary{min-height:42px}
}
.article a,.card a,.source-list a{overflow-wrap:anywhere}


/* Meeting chronology */
.meeting-chronology{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:34px 0 8px;padding-top:18px;border-top:2px solid var(--ink)}
.meeting-chronology a{display:block;background:#fff;border:1px solid var(--rule);padding:14px 16px;text-decoration:none;box-shadow:0 4px 12px rgba(20,34,48,.04)}
.meeting-chronology a span{display:block;font-family:Arial,sans-serif;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#6a7178;margin-bottom:3px}
.meeting-chronology a strong{display:block;color:#142f4d;font-family:Arial,sans-serif}
.meeting-chronology .older{text-align:right}
@media(max-width:620px){.meeting-chronology{grid-template-columns:1fr}.meeting-chronology .older{text-align:left}}


/* Print */
@media print{
  .site-header nav,.share-tools,.meeting-utility-nav,.feature-hero-actions,.button-primary,.button-secondary,.search-panel,.search-box,.meeting-prev-next,.feature-cta,.upcoming-actions{display:none!important}
  body{background:#fff;color:#111;font-size:11pt}
  .wrap{max-width:none;width:auto;margin:0;padding:0}
  .site-header{position:static;border-bottom:1px solid #999;background:#fff}
  .site-header .wrap{padding:0 0 10px}
  .hero,.hero.compact,.features-hero,.network-hero,.rights-mode,.feature-band{background:#fff!important;color:#111!important;border:0!important;box-shadow:none!important;padding:12px 0!important}
  .hero h1,.hero h2,.features-hero h1,.network-hero h1,.rights-mode h2,.feature-band h2{color:#111!important}
  .card,.meeting-row,.vote-record,.filing-record,.records-card,.feature-showcase,.meeting-ready-card,.after-card,.issue-trail-card,.influence-record,.issue-detail-head,.issue-timeline-detail{box-shadow:none!important;break-inside:avoid}
  a{color:#111;text-decoration:underline}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:8pt;word-break:break-all}
  img{max-width:100%!important}
  details{display:block}
  details>div{display:block!important}
  @page{margin:.55in}
}


/* Feedback tool */
.feedback-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.65fr);gap:26px;align-items:start}
.feedback-builder{background:#fff;border:1px solid var(--rule);padding:20px;box-shadow:0 5px 16px rgba(20,34,48,.045)}
.feedback-builder label{display:block;margin-bottom:15px}
.feedback-builder label>span{display:block;font-family:Arial,sans-serif;font-size:.78rem;font-weight:800;color:#142f4d;margin-bottom:6px}
.feedback-builder input,.feedback-builder select,.feedback-builder textarea{width:100%;border:1px solid #bbb4a7;background:#fff;padding:11px 12px;font:inherit;border-radius:3px}
.feedback-builder textarea{resize:vertical;min-height:150px}
.feedback-actions{display:flex;flex-wrap:wrap;gap:8px}
.plain-list{padding-left:1.1rem}.plain-list li{margin:.65rem 0}
@media(max-width:820px){.feedback-grid{grid-template-columns:1fr}}


/* Meeting Ready public-comment planner */
.comment-planner{background:#fff;border:1px solid var(--rule);padding:22px;box-shadow:0 5px 16px rgba(20,34,48,.05);margin:20px 0}
.comment-planner-head{display:flex;justify-content:space-between;gap:24px;align-items:start}
.comment-planner-head h2{margin:.25rem 0 .45rem;color:#142f4d}
.comment-planner-head p{margin:0;max-width:720px;color:#555}
.comment-time-targets{display:flex;gap:6px;flex:0 0 auto}
.comment-time-targets button{appearance:none;border:1px solid var(--rule);background:#f7f4ed;color:#142f4d;padding:8px 10px;font-family:Arial,sans-serif;font-weight:800;cursor:pointer}
.comment-time-targets button.active{background:#142f4d;color:#fff;border-color:#142f4d}
.comment-structure{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}
.comment-structure span{display:grid;grid-template-columns:30px 1fr;column-gap:8px;background:#f7f4ed;border:1px solid var(--rule);padding:12px}
.comment-structure b{grid-row:1/3;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#eee9df;color:#142f4d;font-family:Arial,sans-serif}
.comment-structure strong{font-family:Arial,sans-serif;color:#142f4d;font-size:.82rem}
.comment-structure small{font-family:Arial,sans-serif;color:#666;font-size:.73rem;line-height:1.35}
.comment-planner label>span{display:block;font-family:Arial,sans-serif;font-size:.78rem;font-weight:800;color:#142f4d;margin-bottom:6px}
.comment-planner textarea{width:100%;border:1px solid #bbb4a7;background:#fff;padding:12px;font:inherit;resize:vertical;min-height:180px}
.comment-meter{margin:12px 0 16px}
.comment-meter>div:first-child{display:flex;justify-content:space-between;gap:16px;font-family:Arial,sans-serif;font-size:.8rem;color:#555}
.comment-progress{height:8px;background:#ece7de;overflow:hidden;margin:8px 0}
.comment-progress span{display:block;height:100%;width:0;background:#315c46;transition:width .15s ease}
.comment-progress span.over{background:#8f1d1d}
@media(max-width:760px){.comment-planner-head{display:block}.comment-time-targets{margin-top:14px}.comment-structure{grid-template-columns:1fr}}


/* Accessible mobile navigation */
.mobile-nav-toggle{display:none;appearance:none;border:1px solid var(--rule);background:#fff;color:#142f4d;padding:8px 10px;font-family:Arial,sans-serif;font-weight:800;border-radius:3px;align-items:center;gap:7px}
@media(max-width:700px){
  .site-header .wrap{position:relative}
  .js-nav .site-header .wrap{display:grid;grid-template-columns:1fr auto;align-items:start}
  .mobile-nav-toggle{display:inline-flex;grid-column:2;grid-row:1;align-self:center}
  .js-nav .site-header nav{display:none;grid-column:1/-1;padding:10px 0 2px;border-top:1px solid var(--rule);margin-top:10px}
  .js-nav .site-header nav.open{display:flex;flex-direction:column;align-items:stretch}
  .js-nav .site-header nav a{display:block;margin:0;padding:9px 2px;border-bottom:1px solid #eee9df}
  .js-nav .site-header nav a:last-child{border-bottom:0}
}
