:root { color-scheme:light; --ink:#15211c; --muted:#57655d; --line:#d7dfd9; --paper:#f8faf9; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
a { color:inherit; text-underline-offset:4px; }
button,a { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:2px solid #25412d; outline-offset:4px; }
header,.legal-nav,main,footer { max-width:1060px; margin:0 auto; padding-left:28px; padding-right:28px; }
header { padding-top:24px; padding-bottom:24px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
header a { font-size:13px; }
.brand img { display:block; max-width:144px; height:auto; }
.legal-nav { display:flex; gap:12px 26px; flex-wrap:wrap; padding-top:18px; padding-bottom:18px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); font-size:13px; }
.legal-nav a { text-decoration:none; }
.legal-nav [aria-current] { text-decoration:underline; font-weight:600; }
main { max-width:850px; padding-top:66px; padding-bottom:90px; }
.eyebrow { text-transform:uppercase; letter-spacing:.12em; font-size:11px; color:var(--muted); }
h1 { font:400 clamp(38px,6vw,66px)/1.08 Georgia,"Times New Roman",serif; letter-spacing:-.045em; margin:20px 0 24px; overflow-wrap:anywhere; }
.lead { font-size:18px; line-height:1.65; }
.meta,.archive-note { color:var(--muted); font-size:12px; }
.archive-note { padding:12px 16px; border:1px solid var(--line); }
.actions { display:flex; gap:20px; align-items:center; flex-wrap:wrap; margin:28px 0; font-size:13px; }
.actions button { border:1px solid #b8c4bc; border-radius:8px; padding:12px 16px; background:#fff; color:var(--ink); font:600 13px/1.5 inherit; cursor:pointer; }
.contents { padding:24px 0; margin:32px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); font-size:13px; }
.contents p { font-weight:600; margin-top:0; }
.contents ol { list-style:none; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:8px 20px; margin-bottom:0; }
.contents a { text-decoration:none; }
.contents a:hover { text-decoration:underline; }
article section { scroll-margin-top:24px; border-bottom:1px solid var(--line); padding:24px 0; }
h2 { font-size:22px; letter-spacing:-.025em; line-height:1.35; margin:12px 0 20px; }
p { margin:0 0 16px; }
ul { padding-left:22px; }
li + li { margin-top:10px; }
.source-links { font-size:13px; }
footer { display:flex; flex-wrap:wrap; gap:12px 24px; padding-top:24px; padding-bottom:28px; border-top:1px solid var(--line); font-size:12px; color:var(--muted); }
footer span { flex-basis:100%; }
.skip-link { position:fixed; top:10px; left:10px; transform:translateY(-160%); padding:10px 16px; background:white; z-index:2; }
.skip-link:focus { transform:none; }
@media(max-width:600px) { header,.legal-nav,main,footer { padding-left:20px; padding-right:20px; } main { padding-top:42px; } .contents ol { grid-template-columns:1fr; } body { font-size:15px; } h2 { font-size:20px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print { @page { margin:20mm 16mm; } body { background:white; color:black; font-size:10pt; } header,.legal-nav,.contents,.actions,footer,.skip-link { display:none; } main { max-width:none; padding:0; } h1 { font-size:28pt; } h2 { font-size:14pt; break-after:avoid; } article section { padding:10px 0; border-color:#ccc; } p,li { orphans:3; widows:3; } a { color:black; } }
