:root { color-scheme: light; --ink:#223d32; --green:#315c45; --cream:#fffbee; --line:#b9ccbb; }
* { box-sizing:border-box; }
html { font:112.5%/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body { margin:0; color:var(--ink); background:var(--cream); }
a { color:#254e3a; text-decoration-thickness:.1em; text-underline-offset:.2em; overflow-wrap:anywhere; }
a:hover { text-decoration-thickness:.16em; }
:focus-visible { outline:3px solid #7a4119; outline-offset:5px; }
.skip { position:absolute; top:-10rem; left:1rem; background:white; padding:.7rem; z-index:2; }
.skip:focus { top:1rem; }
header,main,footer { width:min(68rem,100%); margin:auto; padding:1.25rem clamp(1rem,4vw,3rem); }
header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem 2rem; }
.brand { font-weight:800; font-size:1.6rem; text-decoration:none; }
nav { display:flex; flex-wrap:wrap; gap:.25rem 1rem; }
nav a { display:inline-flex; align-items:center; min-height:48px; }
nav a[aria-current=page] { font-weight:750; }
.notice { background:#f2e8c9; border-block:1px solid #d4c59c; }
.notice p { width:min(68rem,100%); margin:0 auto; padding:.75rem clamp(1rem,4vw,3rem); font-size:.95rem; }
h1,h2,h3 { line-height:1.2; text-wrap:balance; }
h1 { font-size:clamp(2.2rem,6vw,4.4rem); letter-spacing:-.035em; margin:.4em 0; }
h2 { font-size:1.8rem; margin-top:1.7em; }
p,li,dd { max-width:72ch; overflow-wrap:anywhere; }
.hero { border-radius:1.75rem; padding:clamp(1.5rem,5vw,3rem); margin-block:1.5rem 2.5rem; background:radial-gradient(circle at 90% 5%,#ffe39a 0,transparent 45%),linear-gradient(145deg,#d6eee5,#f8f3dc); }
.eyebrow { font-weight:750; letter-spacing:.08em; text-transform:uppercase; font-size:.8rem; }
.lead { font-size:1.2rem; max-width:48ch; }
.links { display:flex; flex-wrap:wrap; gap:.75rem; margin-block:1.5rem; }
.button { display:inline-flex; align-items:center; justify-content:center; padding:.7rem 1.15rem; min-height:48px; border:2px solid var(--green); border-radius:2rem; background:var(--green); color:white; font-weight:650; text-decoration:none; }
.button.secondary { color:var(--green); background:transparent; }
.columns { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)); gap:1.5rem; }
.panel { padding:1.4rem; border:1px solid var(--line); border-radius:1rem; background:#fffdf7; }
.panel h2 { margin-top:0; }
article { max-width:52rem; }
article h1 { font-size:clamp(2rem,5vw,3.3rem); }
li { margin-bottom:.6rem; }
footer { border-top:1px solid var(--line); margin-top:3rem; font-size:.95rem; }
.address { font-size:clamp(1rem,3vw,1.4rem); font-weight:700; user-select:all; }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; } }
@media (forced-colors:active) { .hero,.panel,.notice { border:1px solid CanvasText; } }
