
/* Foundation: retain the marketplace's mountain mark and warm, local palette. */
:root { color-scheme:light; --paper:#f4f0e5; --ink:#142b20; --green:#123b28; --accent:#b23c2e; --border:#cecfc4 }
* { box-sizing:border-box }
html { font-size:100% }
body { margin:0; background:var(--paper); color:var(--ink); font:1rem/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif }
a { color:var(--green); text-underline-offset:.25em }
a:hover { text-decoration-thickness:2px }
a:focus-visible { outline:3px solid var(--accent); outline-offset:4px }
a[href^="mailto:"] { overflow-wrap:anywhere }
header,main,footer { max-width:76rem; margin-inline:auto; padding-inline:clamp(1.25rem,5vw,4rem) }

/* Navigation has room to wrap as a group, never within a label. */
header { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding-block:1.2rem; border-bottom:1px solid var(--border) }
.brand { display:flex; align-items:center; gap:.65rem; text-decoration:none; line-height:1.15; font-size:1.25rem; font-weight:850; flex-shrink:0 }
.brand img { flex-shrink:0 }
.brand small { display:block; font-size:.72rem; letter-spacing:.11em; color:var(--accent); margin-top:.35rem }
nav { display:flex; flex-wrap:wrap; align-items:center; gap:.35rem 1.5rem }
nav a { display:inline-flex; align-items:center; min-height:44px; padding:.4rem .15rem; white-space:nowrap }
header nav a { font-weight:650; text-decoration:none }
nav a[aria-current="page"] { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:.45em }

/* Give the homepage a hero; keep information-page headings proportional. */
main { padding-top:clamp(2.5rem,5vw,4.5rem); padding-bottom:3.5rem; min-height:65vh }
main:focus { outline:none }
h1,h2,h3,p { margin-top:0 }
h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:500; line-height:1.12; letter-spacing:-.025em; text-wrap:balance }
h1 { font-size:clamp(2.5rem,4.5vw,3.75rem); max-width:58rem; margin-bottom:1.25rem }
.hero h1 { font-size:clamp(2.7rem,6.8vw,5.5rem); line-height:1.08 }
h1 em { color:var(--green) }
h2 { font-size:clamp(1.8rem,3vw,2.4rem); margin-bottom:1rem }
h3 { font-size:1.25rem; line-height:1.4; margin-bottom:.7rem }
p { max-width:48rem; margin-bottom:1rem }
.lead { font-size:clamp(1.125rem,2vw,1.3rem); max-width:44rem; margin-bottom:2rem }
.eyebrow { color:var(--accent); font-weight:750; letter-spacing:.12em; text-transform:uppercase; font-size:.8rem }
.hero { padding-bottom:2.5rem }
.button { display:inline-flex; align-items:center; min-height:48px; background:var(--green); color:white; padding:.8rem 1.3rem; text-decoration:none; font-weight:650 }
.button:hover { background:#214d38 }

/* Content spacing: boxed notices retain their padding, even at the page end. */
section { padding-block:2.25rem; border-top:1px solid var(--border) }
section:last-child:not(.status) { padding-bottom:0 }
section p:last-child { margin-bottom:0 }
.status { background:#e9e8dc; border:1px solid var(--border); padding:1.6rem 1.8rem; margin-bottom:2.5rem }
.status:last-child { margin-bottom:0 }
.status h2 { font-size:1.5rem }
.status p { margin:0; max-width:60rem }
.grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; margin-top:1.75rem }
.number { display:block; color:var(--accent); font-size:.875rem; font-weight:700; margin-bottom:.6rem }
.split { display:grid; grid-template-columns:1fr 1.6fr; gap:3rem }
.contact-address { font-size:clamp(1rem,2.7vw,1.75rem); font-weight:650 }
footer { border-top:1px solid var(--border); padding-block:1.75rem 2.5rem; font-size:.9rem }
footer p { margin-bottom:.65rem }
.muted { color:#546255; margin-top:1rem }
.skip { position:fixed; top:.5rem; left:1rem; padding:.5rem 1rem; background:white; z-index:2; transform:translateY(-180%) }
.skip:focus { transform:translateY(0) }

@media(max-width:42rem) {
  header { align-items:flex-start; flex-direction:column; gap:.6rem }
  .grid,.split { grid-template-columns:1fr; gap:1.6rem }
  .status { padding:1.3rem }
  .hero { padding-bottom:2rem }
  nav { gap:.35rem 1.25rem }
  .brand { font-size:1.15rem }
  section { padding-block:2rem }
}
@media(prefers-reduced-motion:no-preference) {
  a { transition:color .15s,background-color .15s }
}
@media(max-width:24rem) {
  .hero h1 { font-size:clamp(2rem,10.2vw,2.45rem) }
}