/* Concept A: Civic Clarity. Clearview, 22-23 Sept 2026. System fonts only, no third-party code.
   Register: GOV.UK / USWDS. Task-first, one column of readable text, yellow focus. */
:root{
  --green-900:#1f3d23; --green-800:#2f5d34; --green-700:#3b6b40; --green-600:#4a7c4e;
  --green-200:#cfe0ca; --green-100:#e8f0e6; --green-50:#f4f8f2;
  --ink:#1b1b1b; --ink-soft:#4a4a48; --paper:#fbfaf6; --white:#fff;
  --line:#c9c7be; --line-strong:#77756c;
  --link:#17501f; --link-hover:#0b2e10;
  --focus:#ffbf47; --focus-ink:#0b0c0c;
  --amber-bg:#fff3d6; --amber-line:#a97a00; --amber-ink:#5c4200;
  --red-bg:#fde7e7; --red-line:#a33a3a; --red-ink:#7a1f1f;
  --grey-bg:#efeee9; --grey-ink:#3d3d3a;
  --measure:40rem;
  --s1:.25rem; --s2:.5rem; --s3:.75rem; --s4:1rem; --s5:1.5rem; --s6:2rem; --s7:3rem; --s8:4rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:1rem}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:1.0625rem;line-height:1.55}
@media (min-width:48em){body{font-size:1.125rem;line-height:1.6}}

/* ---------- type scale: 32/44, 24/30, 19/21 ---------- */
h1,h2,h3,h4{line-height:1.2;margin:0 0 var(--s3);font-weight:700;letter-spacing:-.01em;text-wrap:balance;color:var(--ink)}
h1{font-size:2rem;letter-spacing:-.02em}
h2{font-size:1.5rem;margin-top:var(--s7)}
h3{font-size:1.1875rem;margin-top:var(--s5)}
h4{font-size:1.0625rem;margin-top:var(--s5)}
@media (min-width:48em){h1{font-size:2.75rem}h2{font-size:1.875rem}h3{font-size:1.3125rem}h4{font-size:1.125rem}}
p{margin:0 0 var(--s4)}
p,li,dd{max-width:var(--measure)}
ul,ol{margin:0 0 var(--s4);padding-left:1.25rem}
li{margin-bottom:var(--s1)}
.flush{margin-top:0}
.flush-top{margin-top:0}
.meta{color:var(--ink-soft);font-size:.9375rem}
.lede{font-size:1.1875rem;line-height:1.45;max-width:36rem}
@media (min-width:48em){.lede{font-size:1.375rem}}
.section{margin-top:var(--s7)}
.section__intro{max-width:var(--measure)}
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;padding:0}

/* ---------- links and focus (GOV.UK focus: yellow with a black underline) ---------- */
a{color:var(--link);text-decoration:underline;text-decoration-thickness:max(1px,.0625em);text-underline-offset:.15em}
a:hover{color:var(--link-hover);text-decoration-thickness:max(3px,.1875em)}
:focus{outline:none}
a:focus-visible{outline:3px solid transparent;background:var(--focus);color:var(--focus-ink);
  box-shadow:0 -2px var(--focus),0 4px var(--focus-ink);text-decoration:none}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,
[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:0;box-shadow:inset 0 0 0 2px var(--focus-ink)}
main[tabindex]:focus-visible{box-shadow:none;outline:none}
.table-wrap:focus-visible{outline:3px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 5px var(--focus-ink)}

.wrap{width:100%;max-width:64rem;margin:0 auto;padding:0 1rem}
@media (min-width:48em){.wrap{padding:0 1.5rem}}
.skip{position:absolute;left:-9999px;top:0;padding:.75rem 1rem;background:var(--focus);color:var(--focus-ink);font-weight:700;z-index:30}
.skip:focus,.skip:focus-visible{left:0}

/* ---------- concept banner ---------- */
.concept-banner{background:#2b2b28;color:#fff;font-size:.875rem;line-height:1.45;padding:.55rem 0}
@media (min-width:48em){.concept-banner{font-size:.9375rem}}
.concept-banner p{max-width:none;margin:0}
.concept-banner a{color:#ffd777}
.concept-banner a:hover{color:#fff}

/* ---------- header: white brand bar + green nav band ---------- */
.brandbar{background:var(--white);border-bottom:1px solid var(--line)}
.brandbar__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding-top:.7rem;padding-bottom:.7rem}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--green-900)}
.brand:hover{color:var(--green-900)}
.brand:hover .brand__name{text-decoration:underline;text-decoration-thickness:2px}
.brand__mark{display:block;height:40px;width:auto;flex:none}
.brand__text{display:block}
.brand__name{display:block;font-weight:700;font-size:1.0625rem;line-height:1.2;letter-spacing:-.01em}
.brand__sub{display:none;font-size:.875rem;color:var(--ink-soft);margin-top:.15rem}
.brand__contact{display:none;margin:0;font-size:.9375rem;text-align:right;color:var(--ink-soft);line-height:1.45}
@media (min-width:40em){.brand__sub{display:block}}
@media (min-width:48em){
  .brandbar__inner{padding-top:1rem;padding-bottom:1rem}
  .brand__mark{height:56px}
  .brand__name{font-size:1.375rem}
  .brand__contact{display:block}
}
.brand:focus-visible .brand__name{text-decoration:none}

.mainnav{background:var(--green-800);border-bottom:4px solid var(--green-900)}
.mainnav ul{list-style:none;margin:0;padding:0}
.mainnav li{margin:0;max-width:none}
.mainnav a{display:block;color:#fff;text-decoration:none;font-weight:600;font-size:1rem;line-height:1.3}
.mainnav a:hover{text-decoration:underline;text-decoration-thickness:2px;color:#fff}
.mainnav a[aria-current="page"]{font-weight:700}
.menu-toggle{display:none}
@media (min-width:48em){
  .mainnav ul{display:flex;flex-wrap:wrap}
  .mainnav a{padding:.8rem .8rem .65rem;border-bottom:4px solid transparent;margin-bottom:-4px}
  .mainnav li:first-child a{margin-left:-.8rem}
  .mainnav a[aria-current="page"]{border-bottom-color:var(--focus)}
  .mainnav a:focus-visible{border-bottom-color:var(--focus-ink)}
}
@media (max-width:47.99em){
  .mainnav ul{padding:.25rem 0 .75rem}
  .mainnav a{padding:.7rem 0 .7rem .75rem;border-left:4px solid transparent;border-top:1px solid rgba(255,255,255,.22)}
  .mainnav li:first-child a{border-top:0}
  .mainnav a[aria-current="page"]{border-left-color:var(--focus)}
  .js .menu-toggle{display:flex;align-items:center;gap:.5rem;min-height:48px;padding:.5rem 0;background:none;border:0;
    color:#fff;font:inherit;font-weight:700;font-size:1rem;cursor:pointer}
  .js .menu-toggle::after{content:"";width:.5rem;height:.5rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
    transform:translateY(-.15rem) rotate(45deg);transition:transform .15s}
  .js .menu-toggle[aria-expanded="true"]::after{transform:translateY(.1rem) rotate(-135deg)}
  .js .menu-toggle:focus-visible{background:var(--focus);color:var(--focus-ink);box-shadow:0 4px var(--focus-ink);outline:0;padding:.5rem .5rem}
  .js .mainnav:not(.is-open) ul{display:none}
}

/* ---------- hero band ---------- */
.hero{background:var(--green-100);border-bottom:1px solid var(--line);padding:var(--s5) 0 var(--s6);margin-bottom:var(--s6)}
@media (min-width:48em){.hero{padding:var(--s6) 0 var(--s7);margin-bottom:var(--s7)}}
.hero h1{margin-bottom:var(--s4)}
.hero .lede{margin-bottom:var(--s4)}
.hero .meta{margin:0}
.hero .meta a{color:var(--link)}

.hero__grid{display:grid;gap:var(--s6)}
@media (min-width:56em){.hero__grid{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:var(--s7);align-items:start}}
.opennow{background:#fff;border:1px solid var(--line);border-top:5px solid var(--green-800);padding:var(--s4) var(--s5) var(--s2)}
.opennow__h{font-size:1.1875rem;margin:0 0 var(--s2)}
.opennow__list{list-style:none;padding:0;margin:0}
.opennow__list li{border-top:1px solid var(--line);padding:var(--s3) 0;margin:0;max-width:none}
.opennow__list li:first-child{border-top:0;padding-top:var(--s1)}
.opennow__list .tag{margin-bottom:.35rem}
.opennow__list a{display:block;font-weight:700;line-height:1.3}
.opennow__list .meta{display:block;font-size:.875rem;margin-top:.2rem}
.opennow__closed-h{font-size:1rem;margin:var(--s3) 0 var(--s1);padding-top:var(--s3);border-top:2px solid var(--line)}
.opennow__list--closed li:first-child{padding-top:0}
.opennow__note{font-size:.875rem;color:var(--grey-ink);margin:var(--s3) 0 var(--s2);padding-top:var(--s2);border-top:1px solid var(--line)}

/* ---------- search (USWDS-style joined field and button) ---------- */
.search{margin-top:var(--s5);max-width:40rem}
.search__label{display:block;font-weight:700;font-size:1.1875rem;margin-bottom:var(--s1)}
.hint{color:var(--ink-soft);font-size:.9375rem;margin:0 0 var(--s2)}
.search__row{display:flex;align-items:stretch}
.search__input{flex:1 1 auto;min-width:0;height:3rem;font:inherit;padding:0 .75rem;border:2px solid var(--ink);border-right:0;background:#fff;color:var(--ink);border-radius:0;-webkit-appearance:none;appearance:none}
.search__btn{flex:none;margin:0;min-height:3rem;border-radius:0}
.search--finder{margin-top:0}
.quick__count{margin:var(--s3) 0 0;font-weight:600;max-width:40rem}
.quick__count:empty{display:none}
.quick{background:#fff;border:1px solid var(--line);border-left:6px solid var(--green-600);max-width:40rem;margin-top:var(--s2);padding:var(--s2) var(--s4)}
.quick__list{list-style:none;margin:0;padding:0}
.quick__list li{border-bottom:1px solid var(--line);padding:var(--s2) 0;margin:0;max-width:none}
.quick__list a{font-weight:600}
.quick__list .meta{display:block;font-size:.875rem}
.quick__all{margin:var(--s3) 0 var(--s2)}
.quick mark{background:#fff0b3;color:inherit;padding:0}

/* ---------- buttons ---------- */
.btn{display:inline-block;font:inherit;font-weight:700;font-size:1.0625rem;line-height:1.2;background:var(--green-800);color:#fff;
  border:2px solid transparent;border-radius:0;box-shadow:0 3px 0 var(--green-900);padding:.7rem 1.1rem .6rem;
  cursor:pointer;text-decoration:none;text-align:center;margin-bottom:3px}
.btn:hover{background:var(--green-900);color:#fff;text-decoration:none}
.btn:focus-visible{background:var(--focus);color:var(--focus-ink);border-color:var(--focus);outline:3px solid transparent;
  box-shadow:inset 0 0 0 1px var(--focus),0 3px 0 var(--focus-ink)}
.btn:active{transform:translateY(2px);box-shadow:none}
.btn--secondary{background:#fff;color:var(--green-900);border-color:var(--green-800);box-shadow:0 3px 0 var(--green-900)}
.btn--secondary:hover{background:var(--green-100);color:var(--green-900)}
.search__btn{box-shadow:none;margin-bottom:0;border:2px solid var(--green-800)}
.search__btn:hover{border-color:var(--green-900)}
.search__btn:focus-visible{border-color:var(--focus-ink);box-shadow:inset 0 0 0 2px var(--focus-ink)}

/* ---------- cards and lists ---------- */
.cards{list-style:none;margin:var(--s5) 0 0;padding:0;display:grid;gap:var(--s4)}
@media (min-width:40em){.cards--3{grid-template-columns:repeat(3,1fr)}}
.cards>li{max-width:none;margin:0}
.card{background:#fff;border:1px solid var(--line);border-top:5px solid var(--green-600);padding:var(--s4) var(--s4) var(--s5)}
.card h3{margin-top:0}
.card ul{margin:var(--s2) 0 0;padding-left:1.1rem}
.card li{margin:var(--s2) 0;max-width:none}
.card p:last-child{margin-bottom:0}
.tasks{list-style:none;padding:0!important}
.tasks li{border-top:1px solid var(--line);padding-top:var(--s2);margin:var(--s2) 0 0}
.tasks li:first-child{border-top:0;padding-top:0}
.tasks a{font-weight:600}

.notices{list-style:none;padding:0;margin:var(--s4) 0}
.notices>li{max-width:none;border-top:1px solid var(--line);padding:var(--s4) 0;margin:0}
.notices>li:last-child{border-bottom:1px solid var(--line)}
.notices__title{font-size:1.125rem;margin:0 0 var(--s1)}
@media (min-width:48em){.notices__title{font-size:1.1875rem}}
.notices__when{color:var(--ink-soft);font-size:.9375rem;margin:0 0 var(--s2)}
.notices>li>p:last-child{margin-bottom:0}
.result__ext{font-weight:400;font-size:.875rem;color:var(--ink-soft)}
a .result__ext{color:inherit}

.split{display:grid;gap:var(--s5)}
@media (min-width:48em){.split{grid-template-columns:1fr 1fr;gap:var(--s6)}}
.split>div>h2:first-child{margin-top:0}
.section.split>div>h2:first-child{margin-top:0}
.photo{margin:var(--s4) 0 0}
.photo img{width:100%;height:auto;display:block;border:1px solid var(--line)}
.photo figcaption{font-size:.9375rem;color:var(--ink-soft);padding-top:var(--s2)}

.dayplan{list-style:none;padding:0;margin:var(--s4) 0;border-left:4px solid var(--green-600)}
.dayplan li{display:flex;gap:var(--s3);align-items:baseline;padding:.4rem 0 .4rem var(--s4);margin:0;max-width:none}
.dayplan__time{flex:none;min-width:5.75rem;font-weight:700;font-variant-numeric:tabular-nums}

.inset{background:#fff;border-left:6px solid var(--green-800);padding:var(--s4) var(--s5);margin:var(--s5) 0}
.inset>*:last-child{margin-bottom:0}
.inset--warn{border-left-color:var(--amber-line);background:#fffaee}
.inset--proposal{border-left-color:var(--green-600);background:var(--green-50)}
.inset__label{font-size:.875rem;font-weight:700;color:var(--green-900);margin:0 0 var(--s1)}

/* labeled slot: where the live site puts something ghrpc.org doesn't publish */
.slot{border:2px dashed var(--line-strong);background:#fff;padding:var(--s4) var(--s5)}
.slot>*:last-child{margin-bottom:0}
.slot__label{display:inline-block;font-size:.8125rem;font-weight:700;letter-spacing:.02em;color:var(--grey-ink);background:var(--grey-bg);
  border:1px solid var(--line-strong);padding:.05rem .45rem;margin:0 0 var(--s2)}
.slot--inline{display:block;border-width:1px;padding:var(--s2) var(--s3);margin-top:var(--s2);font-size:.9375rem;color:var(--ink-soft)}
.slot--inline .slot__label{margin:0 .35rem 0 0}
.slot--block{margin:var(--s4) 0 0}

/* ---------- tags (text always carries the meaning) ---------- */
.tag{display:inline-block;font-size:.8125rem;font-weight:700;line-height:1.3;padding:.15rem .5rem;border:1px solid;border-radius:2px;vertical-align:.1em;white-space:nowrap}
.tag--ok{background:var(--green-100);border-color:var(--green-600);color:var(--green-900)}
.tag--ok::before{content:"\2713\00a0"}
.tag--missing{background:var(--grey-bg);border-color:var(--line-strong);border-style:dashed;color:var(--grey-ink)}
.tag--partial{background:var(--amber-bg);border-color:var(--amber-line);color:var(--amber-ink)}
.tag--open{background:var(--red-bg);border-color:var(--red-line);color:var(--red-ink)}
.tag--type{background:#fff;border-color:var(--line-strong);color:var(--grey-ink);font-weight:600}

/* ---------- summary list (GOV.UK) ---------- */
.summary{margin:var(--s3) 0 var(--s4);max-width:46rem}
.summary__row{border-bottom:1px solid var(--line);padding:var(--s2) 0}
.summary__row:first-child{border-top:1px solid var(--line)}
.summary dt{font-weight:700;font-size:.9375rem;margin:0}
.summary dd{margin:0}
.summary dd ul{margin:0;padding-left:1.1rem}
.summary dd li{margin:.1rem 0}
@media (min-width:40em){
  .summary__row{display:grid;grid-template-columns:10.5rem 1fr;gap:var(--s4)}
  .summary dt{font-size:inherit}
}

/* ---------- meetings ---------- */
.split--top{align-items:stretch}
.split--top>.slot,.boardday{padding:var(--s4) var(--s5)}
.boardday{background:#fff;border:1px solid var(--line);border-top:5px solid var(--green-800)}
.boardday h2,.slot h2{font-size:1.25rem}
@media (min-width:48em){.boardday h2,.slot h2{font-size:1.375rem}}
.boardday .dayplan{margin-bottom:0}
.finder-bar{margin-top:var(--s6);display:grid;gap:var(--s4)}
@media (min-width:56em){.finder-bar{grid-template-columns:1fr 1.4fr;align-items:start}}
.contents{font-size:1rem}
.contents__h{font-size:1rem;margin:0 0 var(--s2);color:var(--ink-soft)}
.contents ul{list-style:none;padding:0;margin:0}
.contents li{position:relative;padding-left:1.5rem;margin:.3rem 0}
.contents li::before{content:"\2014";position:absolute;left:0;color:var(--ink-soft)}
.chips{border:0;margin:0;padding:0;min-width:0}
.chips legend{font-weight:700;padding:0;margin-bottom:var(--s2)}
.chip{display:inline-flex;align-items:center;gap:.4rem;margin:0 .35rem .5rem 0;padding:.45rem .8rem;min-height:44px;
  border:2px solid var(--green-800);background:#fff;color:var(--green-900);font-weight:600;font-size:1rem;cursor:pointer}
.chip input{width:1.1rem;height:1.1rem;margin:0;accent-color:var(--green-800)}
.chip:has(input:checked){background:var(--green-800);color:#fff}
.chip:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:0;box-shadow:0 0 0 5px var(--focus-ink)}
.chip input:focus-visible{box-shadow:none;outline:none}
.result-count{font-weight:600;margin:var(--s4) 0}
.meeting-group{margin-top:var(--s6)}
.group__title{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;border-bottom:4px solid var(--green-800);padding-bottom:var(--s2);margin-top:0}
.group__count{font-size:1rem;font-weight:400;color:var(--ink-soft)}
.group__about{color:var(--ink-soft)}
.record{background:#fff;border:1px solid var(--line);border-left:6px solid var(--green-600);padding:var(--s4) var(--s4) var(--s3);margin:var(--s4) 0}
@media (min-width:48em){.record{padding:var(--s4) var(--s5) var(--s3)}}
.record__title{margin:0 0 var(--s2);font-size:1.1875rem}
@media (min-width:48em){.record__title{font-size:1.3125rem}}
.record__kind{display:block;font-size:.9375rem;font-weight:400;color:var(--ink-soft);margin-top:.15rem}
.record__tags{margin:0 0 var(--s2);display:flex;flex-wrap:wrap;gap:.4rem}
.record .summary{margin:var(--s3) 0}
.record__source{font-size:.9375rem;margin:0}
:target.record,:target.item{border-left-color:var(--focus);box-shadow:0 0 0 3px var(--focus)}

/* ---------- public comment ---------- */
.item{background:#fff;border:1px solid var(--line);border-left:6px solid var(--line-strong);padding:var(--s4) var(--s5);margin:var(--s4) 0}
.item--open{border-left-color:var(--red-line)}
.item__tags{margin:0 0 var(--s2)}
.item__title{margin:0 0 var(--s2)}
.contact-list{list-style:none;padding:0}
.contact-list li{padding:var(--s2) 0;border-bottom:1px solid var(--line);margin:0;max-width:40rem}
.contact-list__k{display:inline-block;min-width:4.5rem;font-weight:700}
.comment-form{max-width:36rem;margin-top:var(--s4)}
.field{display:flex;flex-direction:column;gap:var(--s1);margin-bottom:var(--s5)}
.field label{font-weight:700}
.field .hint{margin:0}
input[type=text],input[type=email],select,textarea{font:inherit;min-height:2.75rem;padding:.45rem .6rem;border:2px solid var(--ink);background:#fff;color:var(--ink);border-radius:0;width:100%;max-width:100%}
select{max-width:22rem}
textarea{min-height:9rem;resize:vertical}

/* ---------- document finder ---------- */
.finder{background:#fff;border:1px solid var(--line);border-top:5px solid var(--green-800);padding:var(--s4) var(--s4) var(--s2);margin:0 0 var(--s4)}
@media (min-width:48em){.finder{padding:var(--s5) var(--s5) var(--s3)}}
.finder .search{max-width:none}
.finder__filters{display:grid;gap:0 var(--s4);margin-top:var(--s4)}
@media (min-width:40em){.finder__filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
.finder__filters .field{margin-bottom:var(--s4)}
.finder__filters select{max-width:none}
.field--action{justify-content:flex-end}
@media (min-width:40em){.field--action{grid-column:1/-1;flex-direction:row;justify-content:flex-start}}
.results{list-style:none;padding:0;margin:0}
.result{border-top:1px solid var(--line);padding:var(--s4) 0;margin:0;max-width:none}
.result:last-child{border-bottom:1px solid var(--line)}
.result__title{font-size:1.125rem;margin:0 0 var(--s1)}
@media (min-width:48em){.result__title{font-size:1.1875rem}}
.result__meta{font-size:.9375rem;color:var(--ink-soft);margin:0 0 var(--s2)}
.result__meta .tag{margin-right:.35rem}
.result__summary{margin:0 0 var(--s1);font-size:1rem}
.result__source{font-size:.9375rem;margin:0}

/* ---------- tables (GOV.UK: rules, not boxes) ---------- */
.table-wrap{position:relative;overflow-x:auto;margin:var(--s5) 0 var(--s3);-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;background:#fff;font-size:1rem}
caption{text-align:left;font-weight:700;font-size:1.0625rem;padding:0 0 var(--s3);caption-side:top}
th,td{border-bottom:1px solid var(--line);padding:.65rem .75rem .65rem 0;text-align:left;vertical-align:top}
th:first-child,td:first-child{padding-left:.75rem}
thead th{border-bottom:3px solid var(--green-800);font-weight:700;background:var(--green-50);white-space:nowrap}
tbody th{font-weight:700}
tbody tr:hover{background:var(--green-50)}
th button{font:inherit;font-weight:700;color:var(--link);background:none;border:0;padding:.1rem .1rem;margin:-.1rem -.1rem;cursor:pointer;
  display:inline-flex;gap:.35rem;align-items:center;text-align:left;text-decoration:underline;text-underline-offset:.15em}
th button::after{content:"\2195";content:"\2195" / "";font-size:.85em;opacity:.6;text-decoration:none;display:inline-block}
th[aria-sort="ascending"] button::after{content:"\25B2";content:"\25B2" / "";font-size:.7em;opacity:1}
th[aria-sort="descending"] button::after{content:"\25BC";content:"\25BC" / "";font-size:.7em;opacity:1}
th button:hover{color:var(--link-hover)}
th button:focus-visible{background:var(--focus);color:var(--focus-ink);box-shadow:0 3px var(--focus-ink);text-decoration:none;outline:0}

/* ---------- hazard map ---------- */
.defs{position:absolute;width:0;height:0;overflow:hidden}
.mapblock{display:grid;gap:var(--s5);margin:var(--s5) 0 var(--s4);align-items:start}
@media (min-width:48em){.mapblock{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:var(--s6)}}
.map{margin:0}
.map__svg{display:block;width:100%;height:auto;background:#fff;border:1px solid var(--line)}
.map__credit{font-size:.875rem;color:var(--ink-soft);padding-top:var(--s2);max-width:34rem}
.county{stroke:#1b1b1b;stroke-width:2.5;stroke-linejoin:round}
.lbl{font-family:inherit;text-anchor:middle;fill:#1b1b1b;paint-order:stroke;stroke:#fff;stroke-width:9px;stroke-linejoin:round}
.lbl__name{font-size:44px;font-weight:700}
.lbl__status{font-size:34px;font-weight:600}
.lbl--dark{fill:#fff;stroke:var(--green-900)}
@media (max-width:40em){.lbl__name{font-size:50px}.lbl__status{font-size:40px}.lbl--town{font-size:36px}}
.lbl--town{font-size:32px;font-weight:700}
.office{fill:#1b1b1b;stroke:#fff;stroke-width:4px;paint-order:stroke}
.mapkey h3{font-size:1.125rem}
.legend{list-style:none;padding:0;margin:var(--s3) 0 0}
.legend li{display:flex;align-items:center;gap:.75rem;margin:0 0 var(--s3);max-width:none;line-height:1.3}
.legend .meta{font-size:.875rem}
.swatch{width:3rem;height:2rem;flex:none;display:block}
.swatch--star{width:2rem;margin:0 .5rem}
.tally{list-style:none;padding:0;margin:var(--s3) 0 0;border-top:1px solid var(--line)}
.tally li{display:flex;gap:.75rem;align-items:baseline;border-bottom:1px solid var(--line);padding:.35rem 0;margin:0;max-width:none}
.tally__n{min-width:1.75rem;text-align:right;font-weight:700;font-size:1.25rem;font-variant-numeric:tabular-nums;color:var(--green-900)}
.docsum{background:#fff;border:1px solid var(--line);border-top:5px solid var(--green-800);padding:var(--s4) var(--s5) var(--s5);margin:var(--s4) 0}
.docsum h4{margin-top:var(--s4)}
.doclist{list-style:none;padding:0}
.doclist li{border-bottom:1px solid var(--line);padding:var(--s2) 0;margin:0;max-width:44rem}
.doclist .meta{display:block;font-size:.875rem}
.pagelist li{margin-bottom:var(--s2)}

/* ---------- footer (keeps the bottom-right corner clear for the host badge) ---------- */
.site-footer{background:var(--green-900);color:#fff;margin-top:var(--s8);padding:var(--s6) 0 7.5rem;font-size:1rem}
.site-footer a{color:#e2f0d9}
.site-footer a:hover{color:#fff}
.site-footer a:focus-visible{color:var(--focus-ink)}
.footer__grid{display:grid;gap:var(--s5)}
@media (min-width:48em){.footer__grid{grid-template-columns:1.2fr 1fr 1.3fr;gap:var(--s6)}}
.footer__h{font-size:1rem;margin:0 0 var(--s3);color:#fff}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin:0 0 var(--s2)}
.site-footer p{margin:0}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---------- print: agendas and data pages get printed ---------- */
@media print{
  @page{margin:1.5cm}
  body{background:#fff;font-size:11pt;line-height:1.4}
  .skip,.mainnav,.brand__contact,.brand__sub,.chips,.contents,.finder,.search,.quick,.quick__count,.no-print,
  .site-footer,.comment-form,#form-notice,th button::after{display:none!important}
  .concept-banner{background:none;color:#000;border:1px solid #000;padding:.3rem 0;font-size:9pt}
  .concept-banner a{color:#000}
  .brandbar{border-bottom:2px solid #000}
  .brand__mark{height:32px}
  .hero{background:none;border-bottom:1px solid #000;padding:.5rem 0;margin-bottom:1rem}
  h1{font-size:20pt}h2{font-size:15pt;margin-top:1.2rem}h3{font-size:12pt}
  .meeting-group[hidden],.result[hidden]{display:block!important}
  .record,.item,.docsum,.card,.inset,.slot,.boardday,.result,tr{break-inside:avoid;page-break-inside:avoid}
  .record,.item,.docsum,.card,.boardday{border:1px solid #000;box-shadow:none}
  .map__svg{max-width:12cm}
  .mapblock{display:block}
  .table-wrap{overflow:visible}
  a{color:#000}
  .record__source a[href^="http"]::after,.doclist a[href^="http"]::after{content:" (" attr(href) ")";font-size:8.5pt;word-break:break-all}
  th button{color:#000;text-decoration:none}
}
