* { box-sizing: border-box; }
body { margin: 0; background: #f2f6f4; color: #182c2a; font: 1rem/1.6 system-ui, sans-serif; }
.wrap { width: min(100% - 2rem, 48rem); margin-inline: auto; }
header { background: #133632; padding: 1rem 0; }
header a { color: white; font-weight: 700; }
main { padding-block: clamp(2rem, 7vw, 4.5rem); }
h1, h2 { line-height: 1.15; }
h1 { font-size: clamp(2.25rem, 7vw, 3.8rem); margin: .4rem 0; }
h2 { margin-top: 0; }
.label { color: #3b6057; font-size: .8rem; font-weight: 750; letter-spacing: .13em; }
.intro { font-size: 1.2rem; }
section { background: white; border: 1px solid #cbdad4; border-radius: .8rem; padding: clamp(1rem, 4vw, 2rem); margin-block: 1.4rem; }
.card { border-top: .35rem solid #377763; }
.card .label { margin-top: 0; }
a { color: #155e50; text-underline-offset: .18em; }
.button { display: inline-block; padding: .65rem 1rem; background: #195849; color: white; border-radius: .4rem; font-weight: 700; }
a:focus-visible { outline: .2rem solid #bd561a; outline-offset: .25rem; }
li + li { margin-top: .4rem; }

