:root { color-scheme:light; --red:#b72232; --ink:#243047; --muted:#596274; --line:#d9dee6; }
* { box-sizing:border-box; }
body { margin:0; font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif; color:var(--ink); background:#f3f5f8; }
.masthead { padding:18px max(24px,calc((100% - 920px)/2)); background:white; border-bottom:3px solid var(--red); display:flex; justify-content:space-between; align-items:center; gap:20px; }
.brand { color:var(--ink); text-decoration:none; font-size:22px; font-weight:850; letter-spacing:-.6px; }
.brand span { color:var(--red); }
main { max-width:840px; padding:32px 24px 56px; margin:auto; }
h1 { font-size:clamp(28px,5vw,38px); line-height:1.2; margin:10px 0 16px; }
h2 { margin:0 0 14px; font-size:23px; line-height:1.3; }
p { margin:0 0 16px; }
.intro { margin:10px 0 30px; }
.intro>p:last-child { color:var(--muted); max-width:590px; }
.eyebrow { text-transform:uppercase; color:var(--red); letter-spacing:.08em; font-size:12px; font-weight:750; margin-bottom:6px; }
.card { background:white; border:1px solid var(--line); border-radius:12px; padding:28px; margin:0 0 20px; box-shadow:0 3px 15px #24304706; }
label,legend { display:block; font-weight:650; margin:18px 0 6px; }
input,textarea,select { font:inherit; width:100%; border:1px solid #9ca5b3; border-radius:6px; padding:10px 12px; color:var(--ink); background:white; }
input[readonly] { background:#edf0f4; color:var(--muted); }
input[type=checkbox] { width:20px; height:20px; flex:none; accent-color:var(--red); }
fieldset { border:0; padding:0; margin:18px 0; }
legend { margin:0 0 6px; }
.checks { display:flex; flex-wrap:wrap; gap:12px 24px; }
.check { display:flex; align-items:center; gap:9px; margin:4px 0; font-weight:500; }
.grid { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
.help { color:var(--muted); font-size:14px; margin:6px 0 14px; }
button { font:inherit; font-weight:650; border:1px solid var(--red); background:var(--red); color:white; border-radius:6px; padding:11px 18px; cursor:pointer; margin-top:22px; max-width:100%; }
button:hover { filter:brightness(.94); }
button:disabled { opacity:.6; cursor:wait; }
button.secondary { background:white; color:var(--ink); border-color:var(--line); }
button.text-button { padding:6px 0; border:0; color:var(--red); background:none; text-align:left; }
.section-heading { display:flex; justify-content:space-between; gap:16px; align-items:center; }
.section-heading button { margin-top:0; }
#feedback { padding:16px 20px; margin-bottom:20px; border:1px solid #79a38c; background:#ebf6ee; border-radius:8px; }
#feedback.error { border-color:#c7868d; background:#fff1f1; }
[aria-invalid=true] { border-color:var(--red); box-shadow:0 0 0 1px var(--red); }
:focus-visible { outline:3px solid #1e6bd6; outline-offset:3px; }
footer { max-width:920px; margin:auto; border-top:1px solid var(--line); padding:20px 24px; font-size:13px; color:var(--muted); display:flex; justify-content:space-between; gap:20px; }
[hidden] { display:none!important; }
@media(max-width:540px) { main { padding:22px 16px 32px; } .card { padding:22px 18px; } .grid { grid-template-columns:1fr; } .masthead { padding:16px; font-size:14px; } footer { flex-direction:column; gap:6px; } }
