:root { color-scheme: light; --paper:#f7f6f0; --sheet:#fffefa; --ink:#183b32; --muted:#496159; --rule:#d9e1d5; --accent:#215c4e; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font: 1rem/1.65 -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.skip-link { position:absolute; top:.5rem; left:.5rem; transform:translateY(-180%); padding:.6rem 1rem; background:var(--sheet); z-index:1; }
.skip-link:focus { transform:translateY(0); }
header { border-bottom:1px solid var(--rule); }
.top, main, footer { width:min(100% - 2.5rem, 46rem); margin:auto; }
.top { display:flex; gap:1rem; justify-content:space-between; align-items:center; min-height:4.5rem; flex-wrap:wrap; padding:.65rem 0; }
.brand { font:700 1.35rem Georgia, serif; text-decoration:none; }
nav { display:flex; gap:1.2rem; }
nav a { display:inline-flex; align-items:center; min-height:44px; }
a { color:var(--accent); text-underline-offset:.22em; overflow-wrap:anywhere; }
a:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
a[aria-current="page"] { font-weight:700; }
main { padding:3.6rem 0 3rem; }
h1, h2 { font-family:Georgia, serif; line-height:1.14; letter-spacing:-.02em; }
h1 { font-size:clamp(2.45rem, 6vw, 4rem); margin:.45rem 0 1rem; }
h2 { font-size:1.55rem; margin:0 0 .7rem; }
p, ol, ul { margin:0 0 1rem; }
li + li { margin-top:.4rem; }
.lede { font-size:1.13rem; color:var(--muted); max-width:39rem; margin-bottom:2rem; }
.eyebrow, .effective-date { color:var(--muted); font-size:.9rem; }
.eyebrow { letter-spacing:.04em; margin-bottom:.6rem; }
.contact-card { background:var(--sheet); border:1px solid var(--rule); border-radius:1rem; padding:1.5rem; margin-bottom:1.75rem; }
.contact-email { font-weight:600; }
section { padding:1.45rem 0; border-top:1px solid var(--rule); }
section > :last-child { margin-bottom:0; }
.note { padding:1.15rem 1.25rem; border:1px solid var(--rule); border-radius:1rem; background:var(--sheet); }
footer { display:flex; flex-wrap:wrap; column-gap:1.25rem; padding:1.15rem 0 2rem; border-top:1px solid var(--rule); color:var(--muted); font-size:.9rem; }
footer > * { display:inline-flex; align-items:center; min-height:44px; }
@media (max-width:30rem) { main { padding-top:2.35rem; } }
