:root { --navy:#0f2747; --ink:#1f2937; --muted:#6b7280; --bg:#f7f8fa; --accent:#3b5bdb; }
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; color:var(--ink); background:var(--bg); line-height:1.55; }
.site-header { background:var(--navy); padding:1rem 1.5rem; }
.site-header .brand { color:#fff; font-weight:800; text-decoration:none; font-size:1.15rem; letter-spacing:0.02em; }
.container { max-width:760px; margin:0 auto; padding:2rem 1.5rem 3rem; }
.hero h1 { font-size:1.9rem; margin:0 0 .25rem; color:var(--navy); }
.tagline { color:var(--muted); font-size:1.05rem; }
h2 { color:var(--navy); font-size:1.2rem; margin-top:2rem; }
ul { padding-left:1.1rem; }
form { display:flex; flex-direction:column; gap:.75rem; max-width:420px; }
form label { display:flex; flex-direction:column; font-size:.85rem; font-weight:600; gap:.25rem; }
form input[type=text], form input[type=tel], form input[type=email] { padding:.55rem .6rem; border:1px solid #cbd5e1; border-radius:6px; font-size:1rem; }
label.consent { flex-direction:row; align-items:flex-start; gap:.5rem; font-weight:400; font-size:.8rem; color:var(--muted); }
label.consent input { margin-top:.2rem; }
button { background:var(--accent); color:#fff; border:0; border-radius:6px; padding:.6rem 1rem; font-size:1rem; font-weight:700; cursor:pointer; align-self:flex-start; }
.thanks { font-weight:700; color:#15803d; }
.legal p, .legal h2 { max-width:680px; }
.site-footer { border-top:1px solid #e5e7eb; padding:1.5rem; text-align:center; color:var(--muted); font-size:.8rem; }
.site-footer a { color:var(--accent); }
