/* NWLEPG direction A, Civic Clear.
   Palette is the one already on nwlepg.org's temporary page. Water blue is the single
   accent and means "you can act on this". Wheat appears only where something is dated
   or pending. Spacing is an 8px grid; type is one scale (14 16 18 22 28 36 44). */

@font-face {
  font-family: "Source Sans 3";
  src: url("source-sans-3-latin-var.woff2") format("woff2");
  font-weight: 400 600;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --white: #ffffff;
  --paper: #f7f5ef;
  --ink: #1f2a30;
  --muted: #55656d;
  --rule: #d8d3c6;
  --rule-strong: #8a969c;
  --water: #1d5f7a;
  --deep: #143f52;
  --sky: #e8eff3;
  --wheat: #d9b86a;
  --wheat-tint: #fbf3dc;
  --wheat-ink: #5f4b12;

  --s1: 8px; --s2: 16px; --s3: 24px; --s4: 32px; --s5: 48px; --s6: 64px; --s7: 96px;
  --radius: 4px;
  --measure: 66ch;
  --font: "Source Sans 3", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;

  /* type scale: size / line-height (line-heights land on the 4px half-grid) */
  --t-14: 0.875rem/1.4286 var(--font);
  --t-16: 1rem/1.5 var(--font);
  --t-18: 1.125rem/1.5556 var(--font);
  --t-22: 1.375rem/1.4545 var(--font);
  --t-28: 1.75rem/1.2857 var(--font);
  --t-36: 2.25rem/1.2222 var(--font);
  --t-44: 2.75rem/1.1818 var(--font);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  margin: 0;
  font: var(--t-18);
  color: var(--ink);
  background: var(--white);
  font-kerning: normal;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; }
h1, h2, h3, p, ul, ol, dl, dd, figure { margin: 0; }
ul, ol { padding: 0; }
h1, h2, h3 { font-weight: 600; letter-spacing: -0.005em; color: var(--ink); text-wrap: balance; }
p, li { text-wrap: pretty; }
h2 { font: var(--t-28); font-weight: 600; }
h3 { font: var(--t-22); font-weight: 600; }

a { color: var(--water); text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
a:hover { color: var(--deep); text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--water); outline-offset: 2px; border-radius: 2px; }
main:focus { outline: none; }

.sr {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.muted { color: var(--muted); font: var(--t-16); }
.muted-p { color: var(--muted); max-width: var(--measure); margin-bottom: var(--s2); }

.wrap { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 var(--s3); }

/* ---------- skip link, top bar, masthead ---------- */
.skip {
  position: absolute; left: var(--s2); top: -100px; z-index: 10;
  background: var(--deep); color: var(--white); padding: var(--s1) var(--s2);
  font: var(--t-16); font-weight: 600; border-radius: var(--radius);
}
.skip:focus { top: var(--s1); color: var(--white); outline-color: var(--wheat); }

.topbar { background: var(--deep); color: #e8eff3; font: var(--t-14); }
.topbar__inner { display: flex; justify-content: space-between; align-items: center; gap: var(--s2); min-height: 44px; }
.topbar__phone {
  color: var(--white); font-weight: 600; text-decoration: none;
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 var(--s1); margin-right: calc(-1 * var(--s1));
}
.topbar__phone:hover { color: var(--white); text-decoration: underline; }
.topbar a:focus-visible, .footer a:focus-visible { outline-color: var(--wheat); }

.masthead { border-bottom: 1px solid var(--rule); background: var(--white); }
.masthead__inner { display: flex; align-items: center; gap: var(--s3); padding-top: var(--s2); padding-bottom: var(--s2); }
.brand { display: inline-flex; align-items: center; gap: var(--s2); text-decoration: none; color: var(--ink); flex: 0 1 auto; }
.brand:hover { color: var(--ink); }
.brand__logo { width: 103px; height: 56px; display: block; color: var(--ink); flex: none; }
.brand__name { font: var(--t-16); font-weight: 600; max-width: 15.5em; }

.mainnav { margin-left: auto; display: flex; align-items: center; gap: var(--s2); }
.mainnav ul { list-style: none; display: flex; }
.mainnav li a {
  display: flex; align-items: center; min-height: 44px; padding: 0 12px;
  font: var(--t-16); font-weight: 600; color: var(--ink); text-decoration: none;
  border-bottom: 3px solid transparent; border-top: 3px solid transparent;
}
.mainnav li a:hover { color: var(--water); border-bottom-color: var(--rule); }
.mainnav li a[aria-current="page"] { color: var(--water); border-bottom-color: var(--water); }

/* ---------- buttons ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--s1); flex-wrap: wrap;
  min-height: 48px; padding: 11px var(--s3);
  font: var(--t-16); font-weight: 600; text-decoration: none; text-align: center;
  background: var(--water); color: var(--white); border: 1px solid var(--water); border-radius: var(--radius);
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.btn:hover { background: var(--deep); border-color: var(--deep); color: var(--white); }
.btn--quiet { background: var(--white); color: var(--water); }
.btn--quiet:hover { background: var(--sky); color: var(--deep); border-color: var(--deep); }
.btn--small { min-height: 44px; padding: 9px var(--s2); }
.btn--block { display: flex; width: 100%; }
.btn__meta { font-weight: 400; font: var(--t-14); opacity: .92; }
.mainnav__contact[aria-current="page"] { background: var(--deep); border-color: var(--deep); }

/* ---------- home ---------- */
.hero { padding: var(--s6) 0 var(--s6); }
/* DOM order is title, paths, mission, side (the phone order); desktop re-seats it with areas */
.hero__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) 360px; column-gap: var(--s6);
  grid-template-areas: "title side" "mission side" "paths side"; grid-template-rows: auto auto 1fr;
}
.hero .paths__list { grid-template-columns: repeat(6, 1fr); }
.hero .paths__list li { grid-column: span 2; }
.hero .paths__list li:nth-child(-n+2) { grid-column: span 3; }
/* Four paths (the grant outside its window): two even rows instead of 2 + a short row. */
.hero .paths__list li:first-child:nth-last-child(4), .hero .paths__list li:first-child:nth-last-child(4) ~ li { grid-column: span 3; }
.hero__title { grid-area: title; }
.hero__mission { grid-area: mission; align-self: start; }
.hero .paths { grid-area: paths; margin-top: var(--s5); align-self: start; }
.hero__side { grid-area: side; display: flex; flex-direction: column; gap: var(--s3); }
.hero__map { margin: 0; }
.hero__map figcaption { font: var(--t-14); color: var(--muted); margin-top: var(--s1); }
.hero__office { border-top: 1px solid var(--rule); padding-top: var(--s2); display: flex; flex-direction: column; gap: 4px; font: var(--t-16); }

/* county map: geometry from counties.svg, A's palette; members are links to Partners */
.cmap { display: block; width: 100%; height: auto; }
.cmap text { font-family: var(--font); text-anchor: middle; }
.cmap__ctx path { fill: none; stroke: var(--rule-strong); stroke-width: 1.5; stroke-dasharray: 6 6; }
.cmap__ctx text { fill: var(--muted); font-size: 21px; font-weight: 400; }
.cmap__members path { fill: #d9e4ea; stroke: var(--white); stroke-width: 3; }
.cmap__members text { fill: var(--deep); font-size: 26px; font-weight: 600; pointer-events: none; }
.cmap__members a { outline: none; }
.cmap__members a:hover path { fill: var(--water); }
.cmap__members a:hover text, .cmap__members a:focus-visible text { fill: var(--white); }
.cmap__members a:focus-visible path { fill: var(--deep); stroke: var(--wheat); stroke-width: 6; }
.cmap__office circle { fill: var(--deep); stroke: var(--white); stroke-width: 3; }
.cmap__office text { fill: var(--ink); font-size: 22px; font-weight: 600; text-anchor: start; paint-order: stroke; stroke: var(--white); stroke-width: 6px; stroke-linejoin: round; }
.hero__officetitle { font: var(--t-14); font-weight: 600; color: var(--muted); }
.hero__phone { font: var(--t-28); font-weight: 600; color: var(--deep); text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; align-self: flex-start; }
.hero__phone:hover { color: var(--water); text-decoration: underline; text-decoration-thickness: 2px; }
.hero__address { font-style: normal; display: flex; flex-direction: column; }
.hero__email a { display: inline-flex; align-items: center; min-height: 44px; }
.hero__msg { align-self: flex-start; margin-top: var(--s1); }
.hero h1 { font: var(--t-44); font-weight: 600; letter-spacing: -0.015em; max-width: 22ch; }
.hero__mission { font: var(--t-22); color: var(--muted); max-width: 58ch; margin-top: var(--s3); font-weight: 400; }

.paths__title { font: var(--t-22); font-weight: 600; margin-bottom: var(--s2); }
.paths__list { list-style: none; display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--s2); }
.path {
  display: flex; flex-direction: column; gap: var(--s1); height: 100%;
  padding: var(--s3) var(--s3) var(--s3); text-decoration: none;
  border: 1px solid var(--rule); border-top: 3px solid var(--water); border-radius: var(--radius);
  background: var(--white); color: var(--ink);
  transition: background-color .15s ease, border-color .15s ease;
}
.path:hover { background: var(--sky); border-color: var(--water); color: var(--ink); }
.path__title { font: var(--t-18); font-weight: 600; color: var(--water); }
.path:hover .path__title { color: var(--deep); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .18em; }
.path__hint { font: var(--t-14); color: var(--muted); }

.band { background: var(--paper); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); padding: var(--s6) 0; }
.band > .wrap > h2 { margin-bottom: var(--s3); }

/* the grant notice: the one wheat band on the page means "dated, act before" */
.notice {
  display: grid; grid-template-columns: 248px 1fr; background: var(--white);
  border: 1px solid var(--rule); border-top: 4px solid var(--wheat); border-radius: var(--radius);
}
.notice__facts { padding: var(--s4) var(--s3); border-right: 1px solid var(--rule); display: flex; flex-direction: column; gap: var(--s3); }
.notice__body { padding: var(--s4) var(--s4) var(--s4); }
.notice__title { font: var(--t-28); font-weight: 600; }
.notice__title a { color: var(--ink); text-decoration: none; }
.notice__title a:hover { color: var(--water); text-decoration: underline; }
.notice__summary { margin-top: var(--s2); max-width: var(--measure); }
.notice__actions { display: flex; flex-wrap: wrap; gap: var(--s2); margin-top: var(--s3); }

.dateblock { display: flex; flex-direction: column; gap: 4px; }
.dateblock__label { font: var(--t-14); color: var(--muted); font-weight: 600; }
.dateblock__date { font: var(--t-22); font-weight: 600; color: var(--deep); }
.dateblock--pending .dateblock__date { color: var(--ink); font-weight: 600; }
.dateblock--closed .dateblock__date { color: var(--ink); }
.notice--closed { border-top-color: var(--rule-strong); }
.closednote { background: var(--wheat-tint); border-left: 4px solid var(--wheat); padding: var(--s2) var(--s3); margin-bottom: var(--s4); font-weight: 600; }

.pcards { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s3); margin-top: var(--s3); }
.pcard {
  display: flex; flex-direction: column; gap: var(--s2); background: var(--white);
  border: 1px solid var(--rule); border-radius: var(--radius); padding: var(--s3);
}
.pcard__title { font: var(--t-22); font-weight: 600; }
.pcard__title a { text-decoration: none; }
.pcard__title a:hover { text-decoration: underline; }
.pcard__summary { color: var(--ink); }
.pcard .dateblock { margin-top: auto; padding-top: var(--s2); border-top: 1px solid var(--rule); flex-direction: row; align-items: baseline; gap: var(--s1); flex-wrap: wrap; }
.pcard .dateblock__date { font: var(--t-16); font-weight: 600; }

.sections { padding: var(--s6) 0; }
.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s3); }
.card { border: 1px solid var(--rule); border-radius: var(--radius); padding: var(--s3); display: flex; flex-direction: column; }
.card__title { font: var(--t-22); font-weight: 600; margin-bottom: var(--s2); }
.card__title a { text-decoration: none; }
.card__title a:hover { text-decoration: underline; }
.card__list { list-style: none; font: var(--t-16); }
.card__list li { padding: var(--s1) 0; border-top: 1px solid var(--rule); }
.card__note { margin-top: var(--s2); font: var(--t-14); color: var(--muted); }
.card__more { margin-top: auto; padding-top: var(--s2); font: var(--t-16); font-weight: 600; }
.card__more a { display: inline-flex; align-items: center; min-height: 44px; }


/* ---------- office block ---------- */
.office__name { font: var(--t-22); font-weight: 600; margin-bottom: var(--s2); }
.office address { font-style: normal; display: flex; flex-direction: column; }
.office__org { font-weight: 600; }
.office__lines { margin-top: var(--s2); display: grid; gap: 0; }
.office__lines > div { display: grid; grid-template-columns: 4.5rem 1fr; align-items: center; min-height: 44px; border-top: 1px solid var(--rule); }
.office__lines > div:last-child { border-bottom: 1px solid var(--rule); }
.office__lines dt { font: var(--t-14); color: var(--muted); font-weight: 600; }
.office__lines dd a { display: inline-flex; align-items: center; min-height: 44px; overflow-wrap: anywhere; }

/* ---------- inner pages ---------- */
.pagehead { background: var(--paper); border-bottom: 1px solid var(--rule); padding: var(--s4) 0 var(--s5); }
.pagehead h1 { font: var(--t-36); font-weight: 600; letter-spacing: -0.01em; max-width: 36ch; }
.pagehead .lede { font: var(--t-22); color: var(--muted); max-width: 60ch; margin-top: var(--s2); }
.crumbs ol { list-style: none; display: flex; flex-wrap: wrap; font: var(--t-14); margin-bottom: var(--s1); margin-top: calc(-1 * var(--s1)); }
.crumbs li { display: flex; align-items: center; }
.crumbs li + li::before { content: "/"; color: var(--rule-strong); padding: 0 var(--s1); }
.crumbs a { display: inline-flex; align-items: center; min-height: 44px; color: var(--muted); }
.crumbs a[aria-current="page"] { color: var(--ink); text-decoration: none; }
.facts { display: flex; flex-wrap: wrap; gap: var(--s3) var(--s5); margin-top: var(--s3); padding-top: var(--s3); border-top: 1px solid var(--rule); }

.stack { padding-top: var(--s5); padding-bottom: var(--s6); display: flex; flex-direction: column; gap: var(--s6); }
.stack > section > h2, .stack h2 { margin-bottom: var(--s3); }

.prose-grid { display: grid; grid-template-columns: minmax(0, 1fr) 336px; gap: var(--s6); padding-top: var(--s5); padding-bottom: var(--s6); align-items: start; }
.prose { max-width: var(--measure); }
.prose > section + section { margin-top: var(--s6); }
.prose h2 { margin-bottom: var(--s2); }
.prose h2:not(:first-child) { margin-top: var(--s5); }
.prose p + p, .prose p + ul, .prose ul + p { margin-top: var(--s2); }
.prose ul { padding-left: 1.25em; }
.prose li + li { margin-top: var(--s1); }
.prose li::marker { color: var(--water); }

.letter { border-left: 4px solid var(--wheat); padding-left: var(--s3); }
.letter p:last-child { margin-top: var(--s3); font-weight: 600; }

.countylist { list-style: none !important; padding: 0 !important; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--rule); }
.countylist li { margin: 0 !important; border-bottom: 1px solid var(--rule); }
.countylist a { display: flex; align-items: center; min-height: 48px; font-weight: 600; text-decoration: none; }
.countylist a:hover { text-decoration: underline; }
.ticks li { padding-left: 4px; }
.columns { columns: 2; column-gap: var(--s5); }
.columns li { break-inside: avoid; }
.footnote { margin-top: var(--s3); font: var(--t-16); color: var(--muted); }

.sidebar { display: flex; flex-direction: column; gap: var(--s4); }
.sidebox { border: 1px solid var(--rule); border-radius: var(--radius); padding: var(--s3); display: flex; flex-direction: column; gap: var(--s2); font: var(--t-16); }
.sidebox--strong { border-top: 3px solid var(--water); }
.sidebox p > a:only-child { display: inline-flex; align-items: center; min-height: 44px; }
.sidebox__title { font: var(--t-22); font-weight: 600; }
.sidebox .doclist { border-top: 0; }
.sidebar > .office, .sidebar > p { padding: 0 var(--s3); }
.sidebar > p a { display: inline-flex; align-items: center; min-height: 44px; }
.mt { margin-top: var(--s5); }

.servicelist { list-style: none !important; padding: 0 !important; border-top: 1px solid var(--rule); }
.servicelist li { margin: 0 !important; padding: var(--s2) 0; border-bottom: 1px solid var(--rule); font-weight: 600; }

/* ---------- documents ---------- */
.badge {
  display: inline-block; font: var(--t-14); font-weight: 600; letter-spacing: .01em;
  padding: 0 6px; border-radius: 2px; margin-right: 6px; vertical-align: 1px;
}
.badge--pdf { background: var(--sky); color: var(--deep); }
.badge--word { background: var(--wheat-tint); color: var(--wheat-ink); }
.badge--fill { background: var(--white); color: var(--water); box-shadow: inset 0 0 0 1px var(--water); }
.doc__meta { display: block; color: var(--muted); font: var(--t-14); margin-top: 4px; }
.doc__facts { white-space: nowrap; }

.doclist { list-style: none; border-top: 1px solid var(--rule); }
.doclist__item { border-bottom: 1px solid var(--rule); }
.doc { display: block; padding: var(--s2) 0; text-decoration: none; }
.doc__title { font: var(--t-18); font-weight: 600; color: var(--water); }
.doc:hover .doc__title { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .18em; color: var(--deep); }

.tablewrap { width: 100%; }
.table { width: 100%; border-collapse: collapse; font: var(--t-16); }
.table th, .table td { text-align: left; vertical-align: top; padding: var(--s2) var(--s3) var(--s2) 0; border-bottom: 1px solid var(--rule); }
.table thead th { font: var(--t-14); font-weight: 600; color: var(--muted); border-bottom: 1px solid var(--ink); padding-top: 0; padding-bottom: var(--s1); }
.table tbody th { font-weight: 600; }
.table--forms th[scope="row"] { width: 38%; }
.formname { font: var(--t-18); font-weight: 600; display: inline-block; padding: var(--s1) 0; margin: calc(-1 * var(--s1)) 0; }
.formnote { display: block; font: var(--t-14); font-weight: 400; color: var(--muted); margin-top: 4px; max-width: 40ch; }
.filelink { display: inline-block; text-decoration: none; padding: 4px 0; min-height: 44px; }
.filelink__verb { font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.filelink:hover .filelink__verb { text-decoration-thickness: 2px; color: var(--deep); }
.filelink .doc__meta { margin-top: 2px; }
.filelink__warn { display: block; font: var(--t-14); color: var(--wheat-ink); margin-top: 4px; }

.filter { display: flex; flex-direction: column; gap: var(--s1); max-width: 28rem; }
.filter label { font: var(--t-16); font-weight: 600; }
.filter-count { font: var(--t-14); color: var(--muted); }
.filter-empty { padding: var(--s3); background: var(--paper); border: 1px solid var(--rule); border-radius: var(--radius); max-width: var(--measure); }
.filter-slot:empty { display: none; }
.filterable { display: flex; flex-direction: column; gap: var(--s4); }
.facts__action { margin-left: auto; align-self: center; }

.returnrow { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s5); padding: var(--s4); background: var(--paper); border: 1px solid var(--rule); border-radius: var(--radius); }
.returnrow__aside { display: flex; flex-direction: column; gap: var(--s2); }
.returnrow__aside h2 { font: var(--t-22); font-weight: 600; margin: 0 !important; }

.versions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s3); }
.versions--1 { grid-template-columns: minmax(0, 32rem); }
.version { border: 1px solid var(--rule); border-radius: var(--radius); padding: var(--s3); display: flex; flex-direction: column; gap: var(--s2); }
.version__label { font: var(--t-22); font-weight: 600; }
.version__how { color: var(--muted); font: var(--t-16); }
.version .btn { margin-top: auto; }

.otherforms ul { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 var(--s3); border-top: 1px solid var(--rule); }
.otherforms li { border-bottom: 1px solid var(--rule); }
.otherforms a { display: flex; align-items: center; min-height: 48px; padding: var(--s1) 0; font-weight: 600; }

.listcards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s3); }
.listcard {
  display: flex; flex-direction: column; gap: var(--s1); padding: var(--s3); text-decoration: none;
  border: 1px solid var(--rule); border-top: 3px solid var(--water); border-radius: var(--radius);
}
.listcard:hover { background: var(--sky); border-color: var(--water); }
.listcard__title { font: var(--t-22); font-weight: 600; color: var(--water); }
.listcard:hover .listcard__title { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .18em; color: var(--deep); }

.groups { border-top: 1px solid var(--ink); }
.group { display: grid; grid-template-columns: 264px minmax(0, 1fr); gap: var(--s3); border-bottom: 1px solid var(--rule); padding: var(--s1) 0; }
.group__title { font: var(--t-18); font-weight: 600; padding-top: var(--s2); }
.group .doclist { border-top: 0; }
.group .doclist__item:last-child { border-bottom: 0; }

.counties { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--rule); border-left: 1px solid var(--rule); }
.county { border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); padding: var(--s3); display: flex; flex-direction: column; gap: var(--s1); scroll-margin-top: var(--s2); }
.county:target { background: var(--sky); }
.county__name { font: var(--t-22); font-weight: 600; }
.county__link { font-weight: 600; display: inline-block; padding: 4px 0; }
.county__host { display: inline-block; width: 100%; text-decoration: none; font: var(--t-14); color: var(--muted); font-weight: 400; margin-top: 2px; overflow-wrap: anywhere; }
.county__pending { display: flex; flex-direction: column; gap: var(--s1); }
.county__dept { font-weight: 600; color: var(--muted); }
.county__status { font: var(--t-16); background: var(--wheat-tint); border-left: 3px solid var(--wheat); padding: var(--s1) var(--s2); }

.linklist { list-style: none; border-top: 1px solid var(--rule); }
.linklist__item { border-bottom: 1px solid var(--rule); }
.linklist__item > a, .linklist__item > .linklist__label:first-child { display: block; padding: var(--s2) 0; text-decoration: none; }
.linklist__label { font-weight: 600; }
.linklist__item > a .linklist__label { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.linklist__item > a:hover .linklist__label { text-decoration-thickness: 2px; }
.linklist__host { display: inline-block; width: 100%; font: var(--t-14); color: var(--muted); margin-top: 2px; overflow-wrap: anywhere; }
.split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s6); }

.pending { margin-top: var(--s3); max-width: var(--measure); background: var(--wheat-tint); border-left: 4px solid var(--wheat); padding: var(--s2) var(--s3); font: var(--t-16); }
.pending__title { font: var(--t-18); font-weight: 600; margin-bottom: 4px; }
.yeargroup + .yeargroup { margin-top: var(--s5); }
.yeargroup__title { font: var(--t-22); font-weight: 600; margin-bottom: var(--s2); }
.table--meetings th[scope="row"] { width: 30%; }
.table--meetings td { width: 35%; }
.table--roster tbody th { width: 30%; }
.table--roster, .table--meetings { max-width: 60rem; }
.cell-docs { list-style: none; display: flex; flex-direction: column; gap: var(--s1); }
.cell-docs a { font-weight: 600; display: inline-flex; align-items: center; min-height: 44px; margin: -8px 0; }
.cell-docs .doc__meta { margin-top: 0; }

/* ---------- contact form ---------- */
.prose-grid--contact { grid-template-columns: minmax(0, 40rem) 336px; justify-content: space-between; }
.formpanel h2 { margin-bottom: var(--s1); }
.form { display: flex; flex-direction: column; gap: var(--s3); margin-top: var(--s3); }
.field { display: flex; flex-direction: column; gap: var(--s1); }
.field label { font: var(--t-16); font-weight: 600; }
.field__hint { font: var(--t-14); color: var(--muted); }
.field__req { font-weight: 400; color: var(--muted); }
.form__status:empty { display: none; }
.form__status { padding: var(--s2) var(--s3); background: var(--paper); border-left: 4px solid var(--water); }
.form__status--error { background: var(--wheat-tint); border-left-color: var(--wheat); }
.field input, .field textarea {
  font: var(--t-18); color: var(--ink); background: var(--white);
  border: 1px solid var(--muted); border-radius: var(--radius); padding: 11px 12px; min-height: 48px; width: 100%;
}
.field textarea { resize: vertical; min-height: 168px; }
.field input:focus-visible, .field textarea:focus-visible { outline: 3px solid var(--water); outline-offset: 0; border-color: var(--water); }
.form .btn { align-self: flex-start; }
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- footer ---------- */
.footer { background: var(--deep); color: #e8eff3; padding: var(--s6) 0 var(--s5); font: var(--t-16); }
.footer a { color: var(--white); }
.footer a:hover { color: var(--white); }
.footer__grid { display: grid; grid-template-columns: 1.25fr 1fr .8fr; gap: var(--s5); }
.footer h2, .footer .office__name { font: var(--t-16); font-weight: 600; color: var(--wheat); margin-bottom: var(--s2); }
.footer .office__lines > div { border-color: rgba(232, 239, 243, .22); }
.footer .office__lines dt { color: #c5d3da; }
.footer__counties ul { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--s3); }
.footer__site ul { list-style: none; }
.footer__counties a, .footer__site a { display: flex; align-items: center; min-height: 44px; text-decoration: none; border-bottom: 1px solid rgba(232, 239, 243, .22); }
.footer__counties a:hover, .footer__site a:hover { text-decoration: underline; }
.footer__social { margin-top: var(--s2); }
.footer__social a { display: inline-flex; align-items: center; min-height: 44px; }

/* ---------- responsive ---------- */
@media (max-width: 1180px) {
  .masthead__inner { flex-wrap: wrap; row-gap: var(--s1); }
  .mainnav { margin-left: 0; width: 100%; justify-content: space-between; border-top: 1px solid var(--rule); padding-top: var(--s1); }
  .mainnav li:first-child a { padding-left: 0; }
}
@media (max-width: 1023px) {
  .hero h1 { font: var(--t-36); font-weight: 600; letter-spacing: -0.01em; }
  .hero__grid { grid-template-columns: minmax(0, 1fr) 280px; column-gap: var(--s4); grid-template-areas: "title side" "mission side" "paths paths"; grid-template-rows: auto 1fr auto; }
  .cmap__members text { font-size: 30px; }
  .cmap__office text { font-size: 26px; }
  .paths__list { grid-template-columns: repeat(6, 1fr); }
  .paths__list li { grid-column: span 2; }
  .paths__list li:nth-child(-n+2) { grid-column: span 3; }
  .cards { grid-template-columns: 1fr; }
  .card__list { columns: 2; column-gap: var(--s3); }
  .card__list li { break-inside: avoid; }
  .prose-grid, .prose-grid--contact { grid-template-columns: minmax(0, 1fr); gap: var(--s5); }
  .sidebar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s3); align-items: start; }
  .sidebar > .office, .sidebar > p { padding: 0; }
  .counties { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .footer__office { grid-column: 1 / -1; }
  .footer__office .office { max-width: 28rem; }
  .split { gap: var(--s5); }
  .group { grid-template-columns: 200px minmax(0, 1fr); }
  .facts__action { margin-left: 0; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .hero__address, .hero__email, .hero__msg { display: none; }
}
@media (max-width: 767px) {
  .wrap { padding: 0 var(--s2); }
  body { font: var(--t-18); }
  h2 { font: var(--t-22); font-weight: 600; }
  .topbar__place { display: none; }
  .topbar__inner { justify-content: flex-end; }
  .masthead__inner { padding-top: 12px; padding-bottom: 0; gap: var(--s2); }
  .brand { gap: 12px; }
  .brand__logo { width: 81px; height: 44px; }
  .brand__name { font: var(--t-14); font-weight: 600; max-width: 11em; }
  .mainnav { flex-direction: column; align-items: stretch; gap: 0; padding-top: 0; margin: 0 calc(-1 * var(--s2)); width: calc(100% + 2 * var(--s2)); }
  .mainnav ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mainnav li a, .mainnav li:first-child a { justify-content: center; padding: 0 4px; min-height: 48px; border-bottom: 1px solid var(--rule); border-top: 0; }
  .mainnav li:not(:nth-child(3n)) a { border-right: 1px solid var(--rule); }
  .mainnav li:nth-child(n+4) a { border-bottom-color: transparent; }
  .mainnav li a[aria-current="page"] { box-shadow: inset 0 -3px 0 var(--water); background: var(--sky); }
  .mainnav__contact { position: absolute; top: 12px; right: var(--s2); }
  .masthead { position: relative; }

  .hero { padding: var(--s4) 0 var(--s5); }
  .hero h1 { font: var(--t-28); font-weight: 600; }
  .hero__mission { font: var(--t-18); margin-top: var(--s2); }
  .hero__grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "title" "paths" "mission" "side"; grid-template-rows: none; }
  .hero .paths { margin-top: var(--s3); }
  .hero__mission { margin-top: var(--s4); }
  .hero__side { margin-top: var(--s4); }
  .hero__office { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 0 var(--s2); }
  .hero__officetitle { flex-basis: 100%; }
  .hero__address, .hero__email, .hero__msg { display: none; }
  .paths__list { display: block; border-top: 1px solid var(--rule); }
  .path {
    border: 0; border-bottom: 1px solid var(--rule); border-radius: 0; padding: 12px 40px 12px 0;
    position: relative; min-height: 64px; justify-content: center; gap: 2px;
  }
  .path::after {
    content: ""; position: absolute; right: 8px; top: 50%; width: 10px; height: 10px;
    border-right: 2px solid var(--water); border-top: 2px solid var(--water); transform: translateY(-50%) rotate(45deg);
  }
  .path:hover { background: var(--sky); }

  .band, .sections { padding: var(--s5) 0; }
  .notice { grid-template-columns: 1fr; }
  .notice__facts { border-right: 0; border-bottom: 1px solid var(--rule); padding: var(--s2) var(--s3); flex-direction: row; flex-wrap: wrap; gap: var(--s2) var(--s4); }
  .notice__body { padding: var(--s3); }
  .notice__title { font: var(--t-22); font-weight: 600; }
  .notice__actions .btn { width: 100%; }
  .pcards, .cards { grid-template-columns: 1fr; gap: var(--s2); }
  .card__list { columns: 1; }

  .pagehead { padding: var(--s2) 0 var(--s4); }
  .pagehead h1 { font: var(--t-28); font-weight: 600; }
  .pagehead .lede { font: var(--t-18); }
  .stack { padding-top: var(--s4); padding-bottom: var(--s5); gap: var(--s5); }
  .prose-grid { padding-top: var(--s4); padding-bottom: var(--s5); }
  .sidebar { grid-template-columns: 1fr; }
  .countylist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .columns { columns: 1; }
  .facts { gap: var(--s2) var(--s4); }

  /* tables become stacked rows */
  .table--forms thead, .table--meetings thead { display: none; }
  .table--forms, .table--forms tbody, .table--forms tr, .table--forms th, .table--forms td,
  .table--meetings, .table--meetings tbody, .table--meetings tr, .table--meetings th, .table--meetings td { display: block; width: 100% !important; }
  .table--forms tr, .table--meetings tr { border-bottom: 1px solid var(--rule); padding: var(--s2) 0; }
  .table--forms tr:first-child, .table--meetings tr:first-child { border-top: 1px solid var(--ink); }
  .table--forms th, .table--forms td, .table--meetings th, .table--meetings td { border: 0; padding: 0; }
  .table--forms td, .table--meetings td { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: var(--s2); margin-top: var(--s1); }
  .table--forms td::before, .table--meetings td::before { content: attr(data-label); font: var(--t-14); font-weight: 600; color: var(--muted); padding-top: 6px; }
  .table--forms td[data-label="Fillable version"]::before { content: "Fillable"; }
  .table--forms td[data-label="Printable version"]::before { content: "Printable"; }
  .table--roster th, .table--roster td { padding-right: var(--s2); }
  .table--meetings td.is-empty { display: none; }
  .facts__action { margin-left: 0; width: 100%; }

  .returnrow { grid-template-columns: 1fr; padding: var(--s3); gap: var(--s4); }
  .versions { grid-template-columns: 1fr; }
  .otherforms ul { grid-template-columns: 1fr; }
  .listcards { grid-template-columns: 1fr; gap: var(--s2); }
  .group { grid-template-columns: 1fr; gap: 0; }
  .group__title { padding-top: var(--s2); }
  .counties { grid-template-columns: 1fr; }
  .split { grid-template-columns: 1fr; }
  .footer__grid { grid-template-columns: 1fr; gap: var(--s4); }
  .form .btn { align-self: stretch; }
}
@media (max-width: 359px) {
  .brand__name { display: none; }
}

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

@media print {
  .topbar, .mainnav, .skip, .footer__counties, .footer__site, .filter-slot { display: none !important; }
  .band, .pagehead, .returnrow { background: none; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: .8em; color: var(--muted); }
}
