:root { color-scheme: light; font-family: system-ui, -apple-system, "Segoe UI", sans-serif; color: #202a2a; background: #fff; }
* { box-sizing: border-box; }
body { margin: 0; font-size: 16px; line-height: 1.85; letter-spacing: 0; }
header, main, footer { max-width: 880px; margin-inline: auto; padding-inline: 24px; }
header { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 100px; border-bottom: 1px solid #dce4e4; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: #202a2a; font-size: 24px; font-weight: 700; text-decoration: none; }
.brand img { object-fit: contain; }
main { padding-block: 36px 48px; }
h1 { margin: 0; font-size: 32px; line-height: 1.4; }
h2 { margin: 0 0 12px; font-size: 22px; line-height: 1.5; }
p { margin: 0 0 16px; overflow-wrap: anywhere; }
.intro { margin-top: 8px; color: #596767; font-size: 18px; }
section { margin-top: 32px; }
a { color: #006d6f; text-underline-offset: 4px; }
a:focus-visible, summary:focus-visible { outline: 2px solid #be5145; outline-offset: 4px; }
details { border-block-end: 1px solid #dce4e4; }
summary { padding-block: 16px; cursor: pointer; font-weight: 600; }
details p { padding-inline: 20px; color: #455353; }
.region { margin: 32px 0 0; color: #596767; }
footer { display: flex; flex-wrap: wrap; gap: 12px 24px; border-top: 1px solid #dce4e4; padding-block: 22px 32px; font-size: 14px; }
@media (max-width: 480px) { header, main, footer { padding-inline: 20px; } h1 { font-size: 28px; } h2 { font-size: 20px; } }
