*{box-sizing:border-box}
:root{--blue:#1766b5;--blue-dark:#105394;--ink:#172536;--muted:#667587;--line:#dce5ef}
body{margin:0;background:#fff;color:var(--ink);font:16px/1.5 Arial,Helvetica,sans-serif}
.header{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(22px,calc((100% - 1060px)/2))}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--blue);font-size:25px;font-weight:800;letter-spacing:-.7px}
.brand img{max-height:54px;max-width:230px;object-fit:contain}
.wrap{max-width:760px;margin:55px auto;padding:0 20px;min-height:65vh}
.panel{border:1px solid #e5ebf2;border-radius:16px;padding:38px 42px;box-shadow:0 12px 38px rgba(24,67,108,.07)}
h1{text-align:center;color:var(--blue);font-size:clamp(30px,5vw,43px);line-height:1.15;margin:5px 0 24px;font-weight:800}
h2{text-align:center;font-size:23px;line-height:1.3;margin:12px 0;color:#24364a}
.progress{text-align:center;color:var(--muted);font-size:12px;letter-spacing:1.4px;font-weight:700}
.intro{text-align:center;color:#48596c;margin:0 auto 25px;max-width:560px}
.choices{display:grid;gap:13px;margin-top:26px}
.button{display:block;width:100%;border:0;border-radius:8px;padding:17px 20px;text-align:center;font-size:17px;font-weight:700;cursor:pointer;text-decoration:none}
.primary{background:var(--blue);color:#fff}
.primary:hover{background:var(--blue-dark)}
.secondary{background:#fff;color:var(--blue);border:2px solid var(--blue)}
.privacy,.small-print{font-size:12px;color:#718093;text-align:center;margin:22px 0 0}
form{max-width:540px;margin:auto;display:grid;gap:14px}
label{display:grid;gap:6px;font-weight:700;font-size:14px;color:#34465a}
input{width:100%;padding:13px;border:1px solid #c9d5e2;border-radius:7px;font:inherit}
input:focus{outline:2px solid #a8d0f5;border-color:var(--blue)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-title{font-size:clamp(25px,4.5vw,36px)}
#form-message{margin:0;color:var(--blue);text-align:center}
.footer{border-top:1px solid var(--line);padding:24px 20px;text-align:center;color:#687789;font-size:13px;position:relative}
#footer-logo-wrap img{max-height:46px;max-width:190px;object-fit:contain;margin-bottom:8px}
.admin-link{display:inline-block;margin-top:12px;color:#8190a0;font-size:11px;text-decoration:none}
.admin-link:hover{color:var(--blue);text-decoration:underline}
[hidden]{display:none!important}
@media(max-width:600px){.wrap{margin:28px auto}.panel{padding:27px 19px}.two-col{grid-template-columns:1fr}.header{height:70px}}
