/* Register your interest (site/register/). Loaded after style.css, on this page only. */
.block { padding-bottom: 28px; }
.reg { padding-top: 56px; padding-bottom: 72px; display: grid; gap: 28px; max-width: 720px; }
.reg-intro { display: grid; gap: 14px; }
.reg-intro h1 { font-size: clamp(56px, 10vw, 96px); margin: 0; }
.reg-intro p { margin: 0; font-size: 18px; color: var(--t2); max-width: 600px; }
.reg-pick { display: inline-flex; gap: 4px; padding: 4px; border: 1.5px solid var(--b); border-radius: 18px; margin-top: 8px; width: max-content; }
.reg-pick button { font: 600 16px Archivo, 'Helvetica Neue', Arial, sans-serif; color: var(--t2); background: none; border: 0; border-radius: 14px; padding: 12px 22px; min-height: 46px; cursor: pointer; }
.reg-pick button[aria-selected="true"] { background: var(--t); color: var(--g); }
.reg-pick button:focus-visible { outline: 2px solid var(--t); outline-offset: 2px; }
.reg-form { display: grid; gap: 20px; border: 1.5px solid var(--b); border-radius: 28px; padding: 28px; }
.reg-form[hidden] { display: none; }
.field { display: grid; gap: 8px; border: 0; margin: 0; padding: 0; min-width: 0; }
.field[hidden] { display: none; }
.field > label, .field legend { font-weight: 600; font-size: 16px; padding: 0; }
.field input[type="text"], .field input[type="email"], .field select {
  font: 400 17px Archivo, 'Helvetica Neue', Arial, sans-serif; color: var(--t); background: rgba(255,224,228,0.08);
  border: 1.5px solid var(--b); border-radius: 14px; min-height: 50px; padding: 0 14px; width: 100%; box-sizing: border-box; }
.field select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--t2) 50%), linear-gradient(135deg, var(--t2) 50%, transparent 50%); background-position: calc(100% - 22px) 50%, calc(100% - 16px) 50%; background-size: 6px 6px; background-repeat: no-repeat; }
.field select option { color: #14100F; }
.field input:focus, .field select:focus { outline: none; border-color: var(--t); }
.field [aria-invalid="true"] { border-color: #F2C230; }
.choices { display: flex; gap: 10px; flex-wrap: wrap; }
.field .choice { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 18px; border: 1.5px solid var(--b); border-radius: 14px; cursor: pointer; font-weight: 500; }
.choice:has(input:checked) { border-color: var(--t); background: rgba(255,224,228,0.08); }
.choice input { accent-color: #F1ECEA; width: 18px; height: 18px; margin: 0; }
.consent { display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start; font-size: 15px; color: var(--t2); cursor: pointer; }
.consent input { accent-color: #F1ECEA; width: 20px; height: 20px; margin: 2px 0 0; }
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.reg-form .pill { justify-self: start; min-height: 52px; padding: 0 26px; font-size: 16px; cursor: pointer; }
.reg-form .pill[disabled] { opacity: 0.6; cursor: progress; }
.reg-status { margin: 0; font-size: 16px; min-height: 1.5em; }
.reg-status.err { color: #F2C230; }
.reg-done { display: grid; gap: 10px; }
.reg-done h2 { margin: 0; font-size: 44px; }
.reg-done p { margin: 0; color: var(--t2); }
@media (max-width: 560px) { .reg-form { padding: 20px; border-radius: 22px; } .reg-pick { width: 100%; } .reg-pick button { flex: 1; } }
