@font-face{font-family:"Libre Franklin";src:url(/assets/LibreFranklin-Variable.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/assets/CormorantGaramond-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
:root{--navy:#0a1a4f;--body:#4a5163;--muted:#5c6275;--action:#0a4fb0;--focus:#0b6bd6;--field:#eaf4fd;--field-hover:#dcecfb;--surface:#f3f6fa;--line:#e4e8ef;--edge:#7a8399;--error:#b3141f;--error-bg:#fbe9ea}
*{box-sizing:border-box}
body{margin:0;background:var(--surface);color:var(--body);font-family:"Libre Franklin","Helvetica Neue",Arial,sans-serif;font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}
.bar{background:#fff;border-bottom:1px solid var(--line);padding:14px 20px}
.brand{display:block;width:176px;height:auto}
.card{width:calc(100% - 32px);max-width:35rem;margin:24px auto;padding:24px 20px;border-radius:8px;background:#fff;box-shadow:0 18px 44px rgb(10 26 79 / .12)}
h1{margin:0 0 12px;font-family:"Cormorant Garamond",Garamond,Georgia,"Times New Roman",serif;font-size:2.25rem;font-weight:700;line-height:1.1;letter-spacing:-.005em;color:var(--navy);text-wrap:balance}
p{margin:0 0 12px}
form{display:grid;gap:16px;margin:20px 0 0}
.notice{margin:16px 0;padding:16px;border-radius:6px;background:var(--surface);font-size:.9375rem}
.notice p:last-child{margin:0}
fieldset{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0;margin:0;padding:0;border:0}
legend{margin:0 0 8px;padding:0;color:var(--navy);font-weight:700;line-height:1.35}
fieldset label{display:flex;align-items:center;justify-content:center;gap:10px;min-height:3.25rem;padding:8px 12px;border-radius:6px;background:var(--field);color:var(--navy);font-weight:700;cursor:pointer}
fieldset label:hover{background:var(--field-hover)}
fieldset label:has(:checked){background:var(--field-hover);box-shadow:inset 0 0 0 2px var(--action)}
fieldset label:has(:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
input[type=radio],input[type=checkbox]{flex:none;width:24px;height:24px;margin:0;accent-color:var(--action);cursor:pointer}
.check{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;min-height:44px;color:var(--navy)}
.field{display:grid;gap:8px;color:var(--navy);font-size:.9375rem;font-weight:700;line-height:1.35}
.field input{width:100%;min-height:3.5rem;padding:0 16px;border:0;border-radius:6px;background:var(--field);box-shadow:inset 0 0 0 1px var(--edge);color:var(--navy);font:inherit;font-size:max(16px,1rem);font-weight:400}
.field input:hover{background:var(--field-hover)}
.field input:focus{outline:3px solid var(--focus);outline-offset:0;background:#fff}
button{display:flex;align-items:center;justify-content:center;width:100%;min-height:3.5rem;margin-top:4px;padding:0 2rem;border:0;border-radius:6px;background-color:var(--action);background-image:linear-gradient(110deg,#0a2e6e 0%,#0a4fb0 32%,#0b6bd6 64%,#0b74de 100%);background-size:160% 100%;box-shadow:inset 0 1px 0 rgb(255 255 255 / .28),0 8px 22px rgb(11 107 214 / .42);color:#fff;font:inherit;font-size:1.125rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;transition:background-position .3s,box-shadow .3s}
button:hover{background-position:100% 0;box-shadow:inset 0 1px 0 rgb(255 255 255 / .32),0 12px 30px rgb(11 116 222 / .55)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
button:focus-visible{outline-offset:3px}
.error{margin:12px 0 0;padding:12px 16px;border-radius:6px;background:var(--error-bg);color:var(--error);font-size:.9375rem;font-weight:700}
.small{margin:16px 0 0;font-size:.875rem;color:var(--muted)}
@media (min-width:48rem){.bar{padding:16px 40px}.brand{width:208px}.card{margin:48px auto;padding:40px}h1{font-size:2.75rem}}
@media (prefers-reduced-motion:reduce){button{transition:none}}
