:root { --ink:#17212b; --muted:#5d6a77; --line:#dce4e9; --blue:#0a6982; --dark:#0d2f3d; --paper:#f7fafb; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font:16px/1.65 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { color:var(--blue); }
.shell { width:min(1100px, calc(100% - 40px)); margin:auto; }
header { background:#fff; border-bottom:1px solid var(--line); }
.top { min-height:74px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { color:var(--dark); font-weight:800; font-size:1.16rem; text-decoration:none; letter-spacing:-.02em; }
.brand small { display:block; color:var(--blue); font-weight:700; font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; }
nav { display:flex; flex-wrap:wrap; gap:19px; }
nav a { color:var(--muted); font-size:.92rem; font-weight:650; text-decoration:none; }
nav a:hover, nav a[aria-current="page"] { color:var(--blue); }
.hero { padding:105px 0 90px; background:linear-gradient(120deg,#eaf6f8 0%,#fff 57%,#eff7f4 100%); border-bottom:1px solid var(--line); }
.eyebrow { margin:0 0 15px; color:var(--blue); font-size:.75rem; letter-spacing:.14em; font-weight:800; text-transform:uppercase; }
h1 { max-width:800px; margin:0; font-size:clamp(2.65rem, 7vw, 5.6rem); line-height:1.04; letter-spacing:-.055em; }
.lede { max-width:650px; margin:25px 0 0; color:var(--muted); font-size:1.22rem; }
.actions { margin-top:33px; display:flex; flex-wrap:wrap; gap:14px; }
.button { display:inline-block; border:1px solid var(--dark); border-radius:7px; padding:11px 17px; color:#fff; background:var(--dark); font-size:.92rem; font-weight:750; text-decoration:none; }
.button.alt { color:var(--dark); background:transparent; }
.main { padding:70px 0; }
.grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.card { padding:27px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.card h2 { margin:0 0 10px; font-size:1.25rem; letter-spacing:-.025em; }
.card p { margin:0 0 16px; color:var(--muted); }
.legal { width:min(800px, calc(100% - 40px)); margin:0 auto; padding:70px 0 88px; }
.legal h1 { font-size:clamp(2.2rem,5vw,3.7rem); }
.updated { margin:12px 0 42px; color:var(--muted); }
.legal h2 { margin:39px 0 9px; font-size:1.28rem; letter-spacing:-.025em; }
.legal p, .legal li { color:#35424d; }
.legal ul { padding-left:22px; }
.notice { margin:27px 0; padding:17px 19px; border-left:4px solid var(--blue); border-radius:4px; background:#eaf6f8; }
footer { padding:35px 0; color:#cfdee3; background:var(--dark); }
footer p { margin:7px 0 0; font-size:.9rem; }
footer a { color:#fff; }
@media (max-width:650px) { .top { padding:14px 0; align-items:flex-start; flex-direction:column; } nav { gap:12px 16px; } .hero { padding:72px 0 62px; } .grid { grid-template-columns:1fr; } }
