:root { color-scheme: light; --ink:#243e38; --muted:#54655f; --paper:#fffdf8; --line:#d8dfd8; --accent:#315f4c; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:1rem; line-height:1.7; }
a { color:var(--accent); text-underline-offset:.22em; overflow-wrap:anywhere; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible,summary:focus-visible { outline:3px solid #bb7435; outline-offset:5px; }
.skip { position:absolute; top:-5rem; left:1rem; padding:.6rem 1rem; background:var(--paper); }
.skip:focus { top:1rem; }
header { border-top:5px solid var(--ink); border-bottom:1px solid var(--line); }
.header-inner { max-width:68rem; margin:auto; padding:1.4rem 2rem; display:flex; gap:1rem; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.brand { font-weight:750; letter-spacing:.08em; text-decoration:none; font-size:1.2rem; color:var(--ink); }
nav { display:flex; gap:1.6rem; font-size:.95rem; }
nav a[aria-current="page"] { font-weight:700; }
main { max-width:48rem; margin:0 auto; padding:3.5rem 2rem 4.5rem; }
.eyebrow { font-size:.875rem; letter-spacing:.09em; text-transform:uppercase; font-weight:650; color:var(--muted); margin:0 0 .6rem; }
h1,h2,h3 { line-height:1.25; }
h1 { font-family:Georgia,"Times New Roman",serif; font-weight:500; font-size:clamp(2.5rem,7vw,3.8rem); letter-spacing:-.035em; margin:0 0 1.2rem; }
h2 { font-size:1.4rem; margin:2.8rem 0 .9rem; }
h3 { font-size:1.1rem; margin:1.5rem 0 .7rem; }
p { margin:.75rem 0 1rem; }
.lead { font-size:1.15rem; color:var(--muted); }
.contact,.notice { padding:1.3rem 1.5rem; margin:2rem 0; border-left:4px solid var(--accent); background:#edf1eb; }
.contact h2 { margin:0 0 .45rem; font-size:1.15rem; }
.contact p,.notice p { margin:.4rem 0; }
.meta { font-size:.9rem; color:var(--muted); }
details { padding:1.15rem 0; border-bottom:1px solid var(--line); }
summary { cursor:pointer; font-weight:650; line-height:1.5; padding-right:.5rem; }
details p { margin:1rem 0 .25rem; }
li { margin:.45rem 0; }
strong { font-weight:650; }
footer { border-top:1px solid var(--line); max-width:68rem; margin:auto; padding:1.5rem 2rem; color:var(--muted); font-size:.9rem; display:flex; flex-wrap:wrap; justify-content:space-between; gap:.75rem; }
@media(max-width:480px) { .header-inner { padding:1.1rem 1.25rem; } main { padding:2.5rem 1.25rem 3rem; } nav { gap:1.1rem; } .contact,.notice { padding:1rem; } footer { padding:1.25rem; } }
@media(prefers-reduced-motion:no-preference) { a { transition:color .15s; } }
@media print { body { background:white; } header,footer,.skip { display:none; } main { max-width:none; padding:0; } }
