:root { color-scheme: light; font-family: system-ui, sans-serif; color: #21312f; background: #f6f8f6; line-height: 1.65; }
* { box-sizing: border-box; }
body { margin: 0; }
.wrap { max-width: 960px; margin: 0 auto; padding: 24px; }
header { background: transparent; border-bottom: 1px solid #d6dfd9; }
a { color: #17664e; text-underline-offset: 3px; }
a:focus-visible { outline: 3px solid #b45309; outline-offset: 5px; }
.brand { font-weight: 700; font-size: 1.1rem; }
h1 { font-size: clamp(2rem, 5vw, 3.25rem); line-height: 1.15; margin: 12px 0 24px; }
h2 { font-size: 1.3rem; }
.eyebrow { margin-top: 32px; font-weight: 600; color: #52635c; }
.lead { font-size: 1.15rem; max-width: 70ch; }
section { margin: 24px 0; padding: 8px 24px; border: 1px solid #d6dfd9; border-radius: 12px; background: transparent; }
.cards { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 20px; }
.cards li { padding: 24px; border: 1px solid #d6dfd9; border-radius: 12px; background: transparent; }
.cards a { font-size: 1.25rem; font-weight: 700; }
.cards p { margin-bottom: 0; }
.location-links { display: flex; flex-wrap: wrap; gap: 12px 28px; list-style: none; padding: 0; }
footer { color: #52635c; font-size: .9rem; }
.skip-link { position: absolute; top: -100px; left: 16px; background: transparent; padding: 12px; }
.skip-link:focus { top: 12px; }


/* be-fix: dark theme alignment */
:root { color-scheme: dark; }
html { background-color: #0f0b13; }
body { background-color: transparent; }
section, section.page-intro, .page-intro { background: transparent; }
.page-intro h1, .page-intro h2, .page-intro h3 { color: var(--ink, #f7ecf2); }
.page-intro p, .page-intro li, .page-intro span { color: var(--muted, #c9aeba); }
