:root { color-scheme: light; font-family: system-ui, sans-serif; color: #202720; background: #f5f3ed; }
* { box-sizing: border-box; }
body { margin: 0; }
header, main, footer { max-width: 920px; margin: auto; padding-left: 28px; padding-right: 28px; }
header { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-top: 28px; padding-bottom: 28px; border-bottom: 1px solid #d4d7cd; }
a { color: #355f40; text-underline-offset: .22em; }
a:focus-visible { outline: 3px solid #355f40; outline-offset: 5px; }
.brand { color: #202720; text-decoration: none; font-weight: 750; }
.brand span { font-weight: 400; color: #596155; }
main { padding-top: 72px; padding-bottom: 60px; }
.eyebrow { color: #52644b; font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; }
h1 { font-size: clamp(2.5rem, 7vw, 4.7rem); letter-spacing: -.055em; line-height: 1.08; font-weight: 650; margin: 24px 0; overflow-wrap: anywhere; }
.intro { font-size: 1.25rem; max-width: 650px; line-height: 1.7; color: #4c554a; }
section { margin-top: 44px; max-width: 720px; }
h2 { font-size: 1.25rem; font-weight: 650; }
p { line-height: 1.8; }
.button { display: inline-block; margin-top: 12px; padding: 14px 18px; border-radius: 5px; background: #284b33; color: white; text-decoration: none; }
.button span { padding-left: 15px; }
.policy h1 { font-size: clamp(2.2rem, 6vw, 4rem); }
footer { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding-top: 24px; padding-bottom: 32px; border-top: 1px solid #d4d7cd; font-size: .85rem; color: #596155; }
@media (max-width: 540px) { header { flex-wrap: wrap; } .brand span { display: block; font-size: .8rem; margin-top: 5px; } main { padding-top: 40px; } }
