* { box-sizing: border-box; }
body { margin: 0; background: #f4faf8; color: #193d48; font: 18px/1.9 Tahoma, sans-serif; }
.container { width: min(1100px, calc(100% - 32px)); margin-inline: auto; }
header, footer, section { padding-block: 24px; }
.hero { padding-block: 56px; }
h1 { font-size: clamp(28px, 4vw, 48px); line-height: 1.5; }
h2 { font-size: 26px; }
h3 { font-size: 21px; }
a, .label { color: #08786e; }
.button { display: inline-block; background: #08786e; color: white; padding: 10px 22px; border-radius: 12px; }
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 20px; }
.cards article { background: white; border: 1px solid #cddfd9; border-radius: 16px; padding: 24px; }
a:focus-visible { outline: 3px solid #a34704; outline-offset: 5px; }
