:root { color-scheme: light; }
* { box-sizing: border-box; }
body { margin: 0; color: #20332a; background: #fafaf6; font: 19px/1.75 Georgia, serif; }
header { border-bottom: 1px solid #dce3d9; background: #fff; }
header nav, footer { max-width: 1000px; margin: auto; padding: 22px 28px; }
nav { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px 24px; font: 600 15px/1.5 system-ui, sans-serif; }
.brand { display: inline-flex; align-items: center; gap: 12px; font-size: 25px; font-weight: 800; text-decoration: none; }
.brand img { object-fit: contain; }
main { max-width: 820px; margin: auto; padding: 44px 28px 64px; }
h1, h2 { color: #19472f; font-family: system-ui, sans-serif; line-height: 1.3; }
h1 { font-size: clamp(30px, 5vw, 42px); margin: 0 0 12px; }
h2 { font-size: 25px; margin: 2em 0 .7em; scroll-margin-top: 20px; }
p { margin: 1em 0; }
.effective { font-family: system-ui, sans-serif; color: #526457; margin-bottom: 28px; }
a { color: #215a39; text-underline-offset: 3px; overflow-wrap: anywhere; }
a:focus-visible { outline: 3px solid #668f20; outline-offset: 4px; }
li { margin: .8em 0; }
ul { padding-left: 25px; }
code { font-size: .85em; overflow-wrap: anywhere; }
.data-entry { border-top: 1px solid #d4ddd1; padding: 10px 0; }
.data-entry p { margin: .7em 0; }
footer { border-top: 1px solid #dce3d9; font: 14px/1.6 system-ui, sans-serif; color: #526457; }
footer nav { justify-content: flex-start; }
.skip-link { position: absolute; top: -100px; left: 16px; padding: 10px 16px; background: white; z-index: 2; }
.skip-link:focus { top: 10px; }
@media (max-width: 500px) { main { padding: 30px 20px 48px; } header nav, footer { padding: 18px 20px; } body { font-size: 18px; } h2 { font-size: 23px; } }
@media print { header, footer, .skip-link { display: none; } body { background: white; font-size: 11pt; } main { max-width: none; padding: 0; } h2 { break-after: avoid; } }
