/* GLOBAL DESIGN SETTINGS — change these once for the whole site. */
:root {
  color-scheme: dark;
  --color-nav: #000000;
  --color-raised: #242424;
  --color-brand: #b52630;
  --color-link: #e3bb70;
  --on-primary: #ffffff;
  --on-surface: #f5f5f5;
  --on-raised: #ffffff;
  --on-accent: #111111;
  --on-heading: #f5f5f5;
  --on-nav: #ffffff;
  --color-primary: #000000;
  --color-primary-dark: #181818;
  --color-ink: #f5f5f5;
  --color-accent: #e3bb70;
  --color-accent-light: #f5d89e;
  --color-page: #050505;
  --color-surface: #131313;
  --color-on-dark: #ffffff;
  --color-heading-bg: #101010;
  --color-muted: #c3c3c3;
  --color-border: #555555;
  --color-focus: #f5d89e;
  --font-body: Arial, Helvetica, sans-serif;
  --font-size-body: 17px;
  --line-height-body: 1.65;
  --wp--preset--spacing--20: 1rem;
  --wp--preset--spacing--30: 1.5rem;
  --wp--preset--spacing--40: 2rem;
  --wp--preset--spacing--50: 3rem;
  --wp--preset--spacing--60: 4rem;
}
/* Shared page layout, typography, header and footer. */
* {
  box-sizing:border-box}
body {
  margin:0;
  color:var(--color-ink);
  background:var(--color-page);
  font:var(--font-size-body)/var(--line-height-body) var(--font-body)}
a {
  color:var(--color-link);
  text-underline-offset:3px}
a:hover {
  text-decoration-thickness:2px}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible {
  outline:3px solid var(--color-focus);
  outline-offset:4px}
img {
  max-width:100%;
  height:auto}
iframe {
  max-width:100%;
  border:0}
figure {
  margin:1.5rem 0}
h1,h2,h3 {
  line-height:1.2;
  letter-spacing:-.02em}
h1 {
  font-size:clamp(2rem,4.5vw,3.7rem)}
h2 {
  font-size:clamp(1.6rem,3vw,2.2rem);
  margin-top:2rem}
h3 {
  font-size:1.35rem}
p,li {
  overflow-wrap:anywhere}
.skip {
  position:absolute;
  top:-100px;
  background:var(--color-surface);
  padding:12px;
  z-index:99}
.skip:focus {
  top:0}
.emergency {
  background:var(--color-primary-dark);
  color:var(--color-on-dark);
  padding:8px max(5%,calc((100% - 1280px)/2));
  font-size:14px;
  display:flex;
  gap:.3rem}
.emergency a {
  color:var(--color-on-dark);
  font-weight:bold}
.emergency span {
  margin-left:auto}
.site-header {
  max-width:1280px;
  margin:auto;
  padding:24px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px}
.brand {
  display:flex;
  gap:18px;
  align-items:center;
  text-decoration:none;
  color:var(--color-ink);
  font-weight:900;
  font-size:35px;
  letter-spacing:3px;
  line-height:1.15}
.brand img {
  width:78px;
  height:78px;
  object-fit:contain}
.brand small {
  display:block;
  font-size:12px;
  letter-spacing:1.7px;
  margin-top:7px}
.since {
  font-size:15px;
  color:var(--color-muted)}
.site-nav {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:2px;
  background:var(--color-nav);
  padding:10px 3%}
.site-nav a {
  font-size:14px;
  color:var(--color-on-dark);
  text-decoration:none;
  padding:10px 12px;
  border-bottom:2px solid transparent}
.site-nav a:hover,.site-nav a[aria-current] {
  border-color:var(--color-accent);
  background:#ffffff0c}
.page-heading {
  background:var(--color-heading-bg);
  padding:36px max(5%,calc((100% - 1160px)/2));
  border-bottom:4px solid var(--color-primary)}
.page-heading p,.eyebrow {
  font-size:13px;
  letter-spacing:2px;
  font-weight:800}
.page-heading h1 {
  margin:12px 0 0}
.page-content {
  max-width:1160px;
  margin:auto;
  padding:44px 30px 70px}
.home-content {
  max-width:none;
  padding:0}
.hero {
  min-height:540px;
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:center;
  padding:65px max(5%,calc((100% - 1160px)/2));
  color:var(--color-on-dark)}
.hero>div {
  max-width:680px}
.hero h1 {
  margin:18px 0 24px}
.hero p {
  max-width:570px}
.hero .eyebrow {
  color:var(--color-accent-light)}
.button {
  display:inline-block;
  background:var(--color-primary);
  color:var(--color-on-dark);
  padding:13px 22px;
  font-size:16px;
  font-weight:700;
  text-decoration:none;
  margin:8px 8px 8px 0;
  border:2px solid var(--color-primary)}
.button.secondary {
  background:transparent;
  color:var(--color-link)}
.quick-links {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  max-width:1220px;
  margin:auto;
  padding:30px;
  gap:22px}
.quick-links>a {
  background:var(--color-surface);
  border-top:4px solid var(--color-primary);
  padding:28px;
  text-decoration:none;
  color:var(--color-ink);
  box-shadow:0 5px 20px #17252d08}
.quick-links small {
  font-size:12px;
  font-weight:bold;
  letter-spacing:1px;
  color:var(--color-link)}
.quick-links h2 {
  font-size:25px;
  margin:14px 0}
.quick-links p {
  font-size:15px}
.home-section {
  max-width:1160px;
  padding:24px 30px 40px;
  margin:auto}
.home-section>p {
  max-width:850px}
.site-footer {
  background:var(--color-nav);
  color:var(--color-on-dark);
  display:flex;
  gap:50px;
  justify-content:space-between;
  padding:48px max(5%,calc((100% - 1160px)/2));
  font-size:15px}
.site-footer a {
  color:var(--color-accent-light)}
.site-footer>div:last-child {
  display:flex;
  flex-direction:column;
  gap:10px}
hr {
  border:0;
  border-top:1px solid var(--color-border);
  margin:2.5rem 0}
table {
  border-collapse:collapse;
  width:100%}
td,th {
  padding:12px;
  border:1px solid var(--color-border);
  text-align:left}
.wp-block-table {
  overflow-x:auto}
.wp-block-columns {
  display:flex;
  gap:32px;
  margin:28px 0}
.wp-block-column {
  flex:1;
  min-width:0}
.wp-block-media-text {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:center}
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
  order:0}
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
  order:1}
.has-text-align-center {
  text-align:center}
.wp-block-button__link {
  display:inline-block;
  padding:12px 22px;
  background:var(--color-primary);
  color:var(--color-on-dark);
  text-decoration:none}
.wp-block-buttons {
  display:flex;
  flex-wrap:wrap;
  gap:15px}
.wp-block-gallery {
  display:flex;
  flex-wrap:wrap;
  gap:20px}
.wp-block-gallery figure {
  flex:1 1 280px}
.wp-block-spacer {
  max-height:50px}
details {
  border-bottom:1px solid var(--color-border);
  padding:20px 0}
summary {
  cursor:pointer;
  font-size:19px;
  font-weight:700}
input,select,button {
  font:inherit}
button {
  cursor:pointer}
[hidden] {
  display:none!important}
.district-map iframe {
  width:100%;
  min-height:450px}
.district-map .shell {
  max-width:100%}
@media(max-width:900px) {
  .site-header {
  padding:20px 5%}
.since {
  display:none}
.quick-links {
  grid-template-columns:1fr}
.wp-block-columns {
  flex-direction:column}
.wp-block-media-text {
  grid-template-columns:1fr}
.site-footer {
  flex-direction:column}
.hero {
  min-height:460px}
.site-nav {
  justify-content:flex-start}
.site-nav a {
  padding:8px;
  font-size:14px}
.emergency {
  flex-wrap:wrap}
.emergency span {
  margin-left:0;
  width:100%}
.page-content {
  padding:30px 20px}
.home-content {
  padding:0}
.brand {
  font-size:29px}
}
@media print {
  .site-nav,.emergency,.site-footer {
  display:none}
.page-content {
  max-width:none}
.hero {
  background:none!important;
  color:black}
}


.component-error { padding: 1rem; border: 2px solid var(--color-primary); background: var(--color-surface); }

/* Dark surfaces and paired contrasting text. theme.js calculates these pairs. */
.site-header { color: var(--color-ink); }
.emergency { background: var(--color-primary); color: var(--on-primary); border-bottom: 1px solid var(--color-border); }
.emergency a { color: inherit; }
.page-heading { color: var(--on-heading); }
.quick-links > a { color: var(--on-surface); border-top-color: var(--color-accent); border-bottom: 1px solid var(--color-border); }
.quick-links small { color: var(--color-link); }
.button, .wp-block-button__link { background: var(--color-primary); color: var(--on-primary); border: 1px solid var(--color-accent); }
.button:hover, .wp-block-button__link:hover { background: var(--color-accent); color: var(--on-accent); }
.button.secondary { color: var(--color-link); border-color: currentColor; }
.site-footer { color: var(--on-nav); border-top: 1px solid var(--color-border); }
.site-footer a { color: var(--color-link); }
input, select, textarea { background: var(--color-surface); color: var(--on-surface); border: 1px solid var(--color-border); }
input::placeholder, textarea::placeholder { color: var(--color-muted); opacity: 1; }
option { background: var(--color-surface); color: var(--on-surface); }
th { background: var(--color-raised); color: var(--on-raised); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media print { :root { --color-page: #fff; --color-ink: #111; --color-surface: #fff; --on-surface: #111; --color-link: #111; } }
