:root { font-family: Inter, system-ui, sans-serif; color: #16213a; background: #f6f8fb; }
* { box-sizing: border-box; }
body { margin: 0; }
header, footer { padding: 1rem max(1rem, calc((100% - 980px) / 2)); background: #fff; border-bottom: 1px solid #e3e8ef; }
header a { color: #0b1f4d; font-weight: 800; text-decoration: none; }
main { width: min(980px, calc(100% - 2rem)); margin: 0 auto; padding: 4rem 0; }
.intro { max-width: 760px; margin-bottom: 2rem; }
.eyebrow { color: #087a43; font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
h1 { margin: .5rem 0 1rem; color: #0b1f4d; font-size: clamp(2rem, 6vw, 3.75rem); line-height: 1.05; }
.intro > p:last-child { color: #667085; font-size: 1.1rem; line-height: 1.65; }
form { display: grid; gap: 1rem; padding: clamp(1rem, 4vw, 2rem); background: #fff; border: 1px solid #e3e8ef; border-radius: 1rem; box-shadow: 0 1rem 3rem rgba(11,31,77,.08); }
label { display: grid; gap: .45rem; font-weight: 700; }
label span { color: #667085; font-size: .82rem; font-weight: 500; }
input, textarea { width: 100%; padding: .85rem; border: 1px solid #cbd5e1; border-radius: .6rem; font: inherit; }
input:focus, textarea:focus { outline: 3px solid rgba(12,143,79,.2); border-color: #0c8f4f; }
.consent { display: flex; align-items: flex-start; gap: .65rem; font-weight: 500; }
.consent input { width: 1.15rem; margin-top: .2rem; }
button { min-height: 3.2rem; border: 0; border-radius: .7rem; background: #0c8f4f; color: #fff; cursor: pointer; font-family: inherit; font-size: 1rem; font-weight: 800; }
button:disabled { cursor: wait; opacity: .65; }
#form-status { margin: 0; min-height: 1.5rem; color: #087a43; font-weight: 700; }
footer { border-top: 1px solid #e3e8ef; border-bottom: 0; color: #667085; }
footer a { margin-right: 1rem; }
@media (min-width: 720px) { form { grid-template-columns: repeat(2, minmax(0, 1fr)); } .full, button, #form-status { grid-column: 1 / -1; } }
