:root { --ink:#14213d; --blue:#1d4ed8; --sky:#eaf2ff; --paper:#fff; --muted:#526077; --line:#dce3ef; --max:72rem; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font:16px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
a { color:var(--blue); }
.wrap { width:min(calc(100% - 2.5rem),var(--max)); margin:auto; }
.site-header { border-bottom:1px solid var(--line); background:#fff; }
.nav { min-height:4.8rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.brand { color:var(--ink); text-decoration:none; font-size:1.3rem; font-weight:800; letter-spacing:-.03em; }.brand span { color:var(--blue); }
.button { display:inline-flex; align-items:center; justify-content:center; border-radius:.55rem; padding:.75rem 1.1rem; background:var(--blue); color:#fff; text-decoration:none; font-weight:700; }.button:hover { background:#173fae; }
.button--light { color:var(--blue); background:#fff; border:1px solid #b8caf5; }.button--light:hover { background:#f5f8ff; }
.hero { background:linear-gradient(135deg,#edf4ff,#fff 65%); padding:6rem 0 5rem; }.eyebrow { color:var(--blue); font-weight:800; text-transform:uppercase; letter-spacing:.1em; font-size:.78rem; }
h1 { max-width:18ch; font-size:clamp(2.5rem,7vw,5rem); line-height:1.04; letter-spacing:-.055em; margin:.5rem 0 1.35rem; } h2 { font-size:clamp(1.7rem,3vw,2.4rem); line-height:1.2; letter-spacing:-.03em; }
.lead { max-width:43rem; color:var(--muted); font-size:1.2rem; }.actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.section { padding:4.5rem 0; }.section--tint { background:var(--sky); }.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }.card { padding:1.5rem; background:#fff; border:1px solid var(--line); border-radius:.8rem; }.card h3 { margin-top:0; }.card p { color:var(--muted); margin-bottom:0; }
.site-footer { padding:2rem 0; border-top:1px solid var(--line); color:var(--muted); font-size:.93rem; }.footer-row { display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; }.footer-links { display:flex; gap:1rem; flex-wrap:wrap; }
.legal { padding:3rem 0 5rem; max-width:55rem; }.legal h1 { font-size:clamp(2.2rem,5vw,3.5rem); }.legal h2 { margin-top:2.5rem; font-size:1.45rem; }.legal h3 { margin-top:1.6rem; font-size:1.1rem; }.legal p,.legal li { color:#27364f; }.notice { padding:1rem 1.2rem; border-left:4px solid var(--blue); background:var(--sky); }
@media (max-width: 42rem) { .hero { padding:4rem 0; }.cards { grid-template-columns:1fr; }.nav { min-height:4.3rem; } }