:root{--ink:#11243a;--navy:#0a2746;--blue:#1678c8;--paper:#f5f8fb;--white:#fff;--muted:#5e6d7d;--line:#d8e2ec}
*{box-sizing:border-box}
html{font-size:16px}
body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.6 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit}
header{max-width:1120px;margin:auto;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.identity{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800}
.monogram{display:grid;place-items:center;width:42px;height:42px;background:var(--navy);color:var(--white);border-radius:9px;font-size:.78rem;letter-spacing:.06em}
.contact{font-weight:700;color:var(--blue);text-underline-offset:4px}
main{max-width:1120px;margin:auto;padding:68px 28px 88px}
.intro{max-width:800px;margin-bottom:96px}
.kicker{margin:0 0 12px;color:var(--blue);font-size:.78rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
h1{margin:0 0 25px;font-size:clamp(2.7rem,7vw,5.8rem);line-height:.98;letter-spacing:-.06em;color:var(--navy)}
.intro>p:last-child{max-width:690px;color:var(--muted);font-size:1.25rem}
h2{margin:0 0 30px;font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.1;letter-spacing:-.035em}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
article{min-height:360px;padding:28px;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 30px rgba(10,39,70,.05)}
.number{color:#8aa0b6;font-size:.8rem;font-weight:800;letter-spacing:.12em}
h3{margin:42px 0 12px;font-size:1.55rem;letter-spacing:-.025em}
article p{margin:0 0 18px;color:var(--muted)}
article .legal-note{font-size:.88rem;color:#516274}
article a{margin-top:auto;color:var(--blue);font-weight:800;text-decoration:none}
article a:hover,article a:focus-visible{text-decoration:underline;text-underline-offset:4px}
footer{background:var(--navy);color:#d5e1ec;padding:32px max(28px,calc((100vw - 1064px)/2));display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer div:last-child{text-align:right}
footer a{color:var(--white)}
@media(max-width:760px){main{padding-top:44px}.intro{margin-bottom:62px}.grid{grid-template-columns:1fr}article{min-height:300px}h1{letter-spacing:-.045em}footer div:last-child{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
