:root { color-scheme: light; font-family: system-ui, sans-serif; color: #233e38; background: #f1f5f0; }
* { box-sizing: border-box; }
body { max-width: 800px; margin: 0 auto; padding: 32px 24px; line-height: 1.6; overflow-wrap: anywhere; }
a { color: #24564b; }
h1, h2 { font-family: Georgia, serif; line-height: 1.15; }
h1 { font-size: clamp(2rem, 5vw, 2.9rem); }
h2 { font-size: 1.5rem; margin: 0 0 12px; }
.eyebrow { text-transform: uppercase; letter-spacing: .15em; font-size: .75rem; }
.note { font-size: .88rem; }
.example { border-left: 3px solid #367568; padding-left: 16px; font-size: .94rem; }
section { background: #fcfdf9; border: 1px solid #cbdad0; border-radius: 12px; padding: 22px; margin: 18px 0; break-inside: avoid; }
.line { min-height: 30px; border-bottom: 1px solid #a2b8aa; margin-top: 8px; }
button { padding: 10px 20px; border: 0; border-radius: 8px; background: #24564b; color: white; cursor: pointer; font: inherit; }
button:focus-visible, a:focus-visible { outline: 3px solid #367568; outline-offset: 4px; }
@page { size: A4; margin: 12mm; }
@media print {
 :root { background: white; color: black; }
 body { max-width: none; padding: 0; font-size: 10pt; line-height: 1.35; }
 .screen-only { display: none; }
 section { padding: 10px 14px; margin: 10px 0; background: white; }
 section p { margin: 7px 0 0; }
 h1 { font-size: 23pt; margin: 10px 0; }
 h2 { font-size: 15pt; margin-bottom: 6px; }
 .line { min-height: 23px; margin-top: 3px; }
 .note { font-size: 8.5pt; }
 .example { font-size: 9pt; }
 a { color: black; }
}
