@font-face{font-family:Rubik;src:url('./assets/Rubik-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Rubik;src:url('./assets/Rubik-Bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
*{box-sizing:border-box}
html{min-height:100%;background:#1b28b8;color:#fff;font-family:Rubik,sans-serif}
/* Center the complete panel in the viewport; allow short screens to scroll. */
body{margin:0;min-height:100vh;min-height:100dvh;padding:40px 24px;display:flex;align-items:center;justify-content:center;background:linear-gradient(rgba(8,14,40,.06),rgba(8,14,40,.24)),#1b28b8 url('./assets/Signature-Dash-Ribbon-Flow-Square.svg') center center/cover no-repeat}
.panel{width:790px;max-width:100%;padding:50px 70px 36px;border-radius:38px;background:rgba(13,24,83,.28);backdrop-filter:blur(8px);text-align:center}
.logo{display:block;width:100%;height:auto;margin:0 auto}
h1{font-size:27px;font-weight:400;line-height:1.4;margin:18px 0 36px}
form{text-align:left;position:relative}
label{display:block;font-size:16px;line-height:1.5;margin-bottom:8px}
.controls{display:flex;gap:12px}
input,button{font:inherit;font-size:16px;min-height:52px;border-radius:10px;border:2px solid transparent}
input{min-width:0;flex:1;width:100%;padding:12px 14px;background:#fff;color:#111b46;border-color:#fff}
button{flex-shrink:0;padding:12px 20px;background:#fff;color:#111b46;font-weight:700;cursor:pointer}
button:hover:not(:disabled){background:#e4faff}
button:disabled{cursor:wait;background:#e5e7ef;color:#29334f}
input:focus-visible,button:focus-visible{outline:3px solid #8ceaff;outline-offset:4px}
input[aria-invalid=true]{border-color:#ffb7bd}
#consent{font-size:14px;line-height:1.5;margin:14px 0 0;color:#fff}
#status{font-size:16px;line-height:1.5;min-height:24px;margin:12px 0 0;overflow-wrap:anywhere}
.trap{position:absolute;left:-10000px;top:0;width:1px;height:1px;overflow:hidden}
@media(max-width:600px){body{padding:28px 18px}.panel{padding:36px 24px 24px;border-radius:24px}h1{font-size:20px;margin:20px 0 28px}.controls{flex-direction:column}button{width:100%}#consent{font-size:13px}}
@media(prefers-reduced-transparency:reduce){.panel{background:#172577;backdrop-filter:none}}
@media(forced-colors:active){input,button{border:2px solid ButtonText}.panel{border:1px solid CanvasText}}
