:root { font-family: system-ui, sans-serif; color: #193b42; background: #f6faf9; }
* { box-sizing: border-box; }
body { margin: 0; }
header, main, footer { max-width: 1160px; margin: auto; padding: 28px; }
header { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
header nav { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; justify-content: flex-end; }
.login-link { color: #165a54; font-weight: 650; text-underline-offset: 4px; }
.hero-login { display: inline-block; margin: 20px 0 0 24px; }
.brand { color: #165a54; font-size: 1.4rem; font-weight: 750; text-decoration: none; }
.badge { border: 1px solid #b6d2cb; border-radius: 24px; padding: 7px 14px; font-size: .8rem; }
.hero { padding: 72px 0 96px; }
.eyebrow { color: #376e61; font-weight: 650; letter-spacing: .07em; }
h1 { font-size: clamp(2.7rem, 6vw, 4.8rem); line-height: 1.12; letter-spacing: -.04em; margin: 24px 0; }
.intro { max-width: 700px; font-size: 1.2rem; line-height: 1.7; }
.button { display: inline-block; background: #175f54; color: white; padding: 14px 24px; border-radius: 8px; text-decoration: none; margin-top: 20px; }
.button:focus-visible, a:focus-visible { outline: 3px solid #c0711c; outline-offset: 4px; }
h2 { font-size: 1.8rem; }
.grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 32px 0 64px; }
article { background: white; border: 1px solid #d5e4df; border-radius: 12px; padding: 28px; }
article span { color: #587e73; }
p { line-height: 1.65; }
.note { border-top: 1px solid #cbded8; padding: 32px 0; max-width: 760px; }
footer { color: #47675f; font-size: .9rem; }
@media (max-width: 700px) { .grid { grid-template-columns: 1fr; } .hero { padding: 40px 0 64px; } }
