@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Sans:ital,wght@0,400;0,500;0,700;1,500&display=swap');

:root { --ink:#082b61; --orange:#ff6b2d; --paper:#f7f2e8; --line:#cbd7e8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans",sans-serif; }
.page { min-height:100vh; padding:clamp(42px,8vw,92px) 24px; }
.wrap { width:min(720px,100%); margin:0 auto; }
.eyebrow { margin:0 0 15px; color:var(--orange); font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
h1 { max-width:620px; margin:0; font-family:"Archivo Black",sans-serif; font-size:clamp(2.25rem,5vw,3.85rem); letter-spacing:-.045em; line-height:.98; }
.intro { max-width:590px; margin:20px 0 26px; color:#315a8c; font-size:1rem; line-height:1.55; }
form { padding:clamp(20px,4vw,32px); border:1px solid #d7deea; border-radius:15px; background:#fff; box-shadow:0 16px 40px rgba(8,43,97,.07); }
fieldset { margin:0 0 30px; padding:0; border:0; }
legend,.field-label { display:block; margin:0 0 10px; color:var(--ink); font-size:.86rem; font-weight:700; line-height:1.45; }
input,textarea { font:inherit; }
.text-input,textarea { width:100%; padding:13px 14px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:#fff; outline:0; transition:border-color .16s ease,box-shadow .16s ease; }
.text-input:focus,textarea:focus { border-color:var(--orange); box-shadow:0 0 0 3px rgba(255,107,45,.14); }
textarea { min-height:108px; resize:vertical; }
.options { display:grid; gap:7px; }
.option { display:flex; align-items:center; gap:10px; min-height:39px; padding:8px 10px; border:1px solid var(--line); border-radius:8px; color:#254d7e; font-size:.84rem; cursor:pointer; transition:border-color .15s ease,background .15s ease; }
.option:hover { border-color:var(--orange); background:#fff9f5; }
.option input { width:15px; height:15px; margin:0; accent-color:var(--orange); }
.consent { margin:0 0 22px; color:#4b5563; font-size:.78rem; line-height:1.5; }
.submit { display:flex; justify-content:center; }
.submit button,.back { padding:13px 23px; border:0; border-radius:9px; color:#fff; background:var(--orange); box-shadow:0 7px 14px rgba(255,107,45,.25); font:inherit; font-size:.85rem; font-weight:700; cursor:pointer; text-decoration:none; }
.submit button:hover { background:#e75a20; }
.submit button:disabled { cursor:wait; opacity:.72; }
.form-error { display:none; margin:18px 0 0; padding:12px 14px; border-radius:8px; color:#a6231c; background:#fff0ee; font-size:.9rem; font-weight:700; }
.form-error.visible { display:block; }
.thanks { display:none; padding:clamp(42px,8vw,78px) 20px; border:1px solid #d7deea; border-radius:15px; background:#fff; box-shadow:0 16px 40px rgba(8,43,97,.07); text-align:center; }
.thanks.visible { display:block; }
.thanks .check { display:grid; width:64px; height:64px; margin:0 auto 20px; place-items:center; border-radius:50%; color:#fff; background:#27a65b; font-size:2rem; font-weight:700; }
.thanks h2 { margin:0 0 12px; font-family:"Archivo Black",sans-serif; font-size:clamp(2rem,4vw,3rem); letter-spacing:-.04em; line-height:1; }
.thanks p { max-width:430px; margin:0 auto 28px; color:#315a8c; line-height:1.55; }
footer { padding:26px 24px; color:#d7e7ff; background:var(--ink); font-size:.75rem; text-align:center; }
footer p { margin:0; }
footer p + p { margin-top:4px; }
