/* Local-only typography and assets; deliberately no motion or external requests. */
:root { color-scheme: light; --paper:#faf9f5; --ink:#202e2a; --muted:#4a5953; --line:#b8c1b9; --accent:#185b44; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:18px/1.65 Georgia,"Times New Roman",serif; }
a { color:var(--accent); text-underline-offset:.22em; text-decoration-thickness:1px; overflow-wrap:anywhere; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible { outline:3px solid var(--accent); outline-offset:4px; border-radius:2px; }
.wrap { width:min(100% - 48px,1080px); margin-inline:auto; }
header { padding-block:28px; display:flex; justify-content:space-between; align-items:center; gap:24px; border-bottom:1px solid var(--line); }
.wordmark { font:700 25px/1.2 Arial,sans-serif; text-decoration:none; color:var(--ink); }
.wordmark span { display:block; margin-top:7px; font:13px/1.4 Arial,sans-serif; color:var(--muted); }
nav { display:flex; flex-wrap:wrap; gap:4px 20px; font:15px/1.4 Arial,sans-serif; }
nav a { display:inline-flex; align-items:center; min-height:44px; padding:8px 2px; }
nav a[aria-current] { font-weight:bold; text-decoration-thickness:2px; }
main { padding-block:52px 64px; display:grid; grid-template-columns:minmax(200px, .7fr) minmax(0,1.3fr); gap:64px; }
h1 { font-size:clamp(32px,4vw,48px); line-height:1.12; font-weight:normal; margin:12px 0 22px; text-wrap:balance; }
.eyebrow { font:12px/1.5 Arial,sans-serif; text-transform:uppercase; letter-spacing:.14em; color:var(--accent); margin:0; }
.subtitle { font-size:20px; line-height:1.5; color:var(--muted); }
p { margin:0 0 18px; }
.lead { font-size:22px; line-height:1.5; margin-bottom:36px; }
section { margin-block:0 32px; }
h2 { font:700 19px/1.4 Arial,sans-serif; margin:0 0 14px; }
ul,ol { padding-left:1.4em; }
li { margin-bottom:12px; }
address { font-style:normal; overflow-wrap:anywhere; margin-bottom:20px; }
.directory { margin:0; }
.directory div { padding:18px 0; border-top:1px solid var(--line); }
dt { font:700 17px/1.5 Arial,sans-serif; }
dt a { display:inline-flex; align-items:center; min-height:44px; }
dd { margin:2px 0 0; color:var(--muted); }
footer { border-top:1px solid var(--line); padding-block:28px 36px; font:14px/1.5 Arial,sans-serif; color:var(--muted); }
footer p { margin-bottom:10px; }
.small { font-size:13px; margin-top:14px; }
.skip { position:fixed; z-index:2; top:8px; left:8px; padding:12px 18px; background:white; transform:translateY(-180%); }
.skip:focus { transform:translateY(0); }
@media(max-width:760px) { .wrap { width:calc(100% - 36px); } header { display:block; padding-block:22px 16px; } header nav { margin-top:20px; } main { display:block; padding-block:32px 40px; } .intro { border-bottom:1px solid var(--line); margin-bottom:28px; padding-bottom:12px; } .subtitle { max-width:34em; } .lead { font-size:21px; } nav { column-gap:16px; } }
@media print { body { background:white; font-size:12pt; } .wrap { width:100%; } main { display:block; padding:20px 0; } header nav,footer nav,.skip { display:none; } a { color:inherit; } section { break-inside:avoid; } }
