@font-face { font-family:'Open Sans'; font-style:normal; font-weight:400; font-display:swap; src:url('fonts/open-sans-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family:'Open Sans'; font-style:normal; font-weight:600; font-display:swap; src:url('fonts/open-sans-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family:'Open Sans'; font-style:normal; font-weight:700; font-display:swap; src:url('fonts/open-sans-latin-700-normal.woff2') format('woff2'); }

:root { --navy:#1F3864; --navy-dark:#172a4b; --grey:#F2F4F7; --line:#e3e7ee; --text:#1d2433; --muted:#5b6578; }
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:'Open Sans',system-ui,-apple-system,sans-serif; color:var(--text); background:#fff; line-height:1.65; min-height:100vh; display:flex; flex-direction:column; }
a { color:var(--navy); }
.wrap { max-width:1040px; margin:0 auto; padding:0 24px; }

header.site { background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:10; }
header.site .wrap { display:flex; align-items:center; justify-content:space-between; height:68px; gap:16px; }
.brand { font-weight:700; color:var(--navy); text-decoration:none; font-size:1.05rem; letter-spacing:.01em; }
nav a { color:var(--text); text-decoration:none; font-size:.95rem; margin-left:24px; }
nav a:hover { color:var(--navy); }

.hero { background:var(--navy); color:#fff; padding:96px 0 88px; }
.hero h1 { font-size:clamp(2rem,5vw,3.1rem); line-height:1.15; margin-bottom:20px; max-width:760px; }
.hero p { font-size:1.15rem; color:#d6deec; max-width:620px; margin-bottom:32px; }
.btn { display:inline-block; background:#fff; color:var(--navy); font-weight:600; text-decoration:none; padding:12px 24px; border-radius:6px; }
.btn:hover { background:var(--grey); }

section { padding:80px 0; }
section.alt { background:var(--grey); }
h2 { color:var(--navy); font-size:clamp(1.5rem,3vw,2rem); margin-bottom:12px; }
.lead { color:var(--muted); max-width:640px; margin-bottom:40px; }

.pillars { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px; }
.pillar { background:#fff; border:1px solid var(--line); border-radius:10px; padding:32px; }
.pillar h3 { color:var(--navy); font-size:1.25rem; margin-bottom:8px; }
.pillar p { color:var(--muted); margin-bottom:16px; }
.pillar ul { list-style:none; }
.pillar li { padding:8px 0; border-top:1px solid var(--line); font-size:.95rem; }

.contact { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; }
.contact div { background:#fff; border-radius:10px; padding:20px 24px; border:1px solid var(--line); }
.contact span { display:block; font-size:.8rem; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin-bottom:4px; }
.contact a { text-decoration:none; font-weight:600; }

main.legal { flex:1; padding:64px 0 80px; }
main.legal h1 { color:var(--navy); font-size:2rem; margin-bottom:32px; }
main.legal h2 { font-size:1.1rem; margin:32px 0 8px; }
main.legal p { margin-bottom:8px; }

footer.site { margin-top:auto; background:var(--navy-dark); color:#c4cde0; font-size:.9rem; padding:28px 0; }
footer.site .wrap { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; }
footer.site a { color:#fff; text-decoration:none; margin-left:20px; }
footer.site a:first-child { margin-left:0; }

@media (max-width:600px) {
  nav { white-space:nowrap; }
  .brand { font-size:.95rem; }
  nav a { margin-left:14px; font-size:.88rem; }
  nav a.hide-sm { display:none; }
  .hero { padding:64px 0 56px; }
  section { padding:56px 0; }
}
