*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; }
a { color: #134E8C; }
a:hover { color: #0B3463; }
[hidden] { display: none !important; }
img, svg { max-width: 100%; }
:focus-visible { outline: 3px solid #F6B547; outline-offset: 3px; }

/* Request-a-call form */
.bar { flex: 1; height: 8px; border-radius: 4px; background: #DCE3EC; }
.bar.on { background: #134E8C; }
.choice { display: flex; align-items: center; gap: 18px; width: 100%; min-height: 84px; padding: 16px 22px; color: #0E2340; background: #FFFFFF; border: 2px solid #9AA8BC; border-radius: 16px; cursor: pointer; }
.choice input, .pill input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.choice .radio { width: 28px; height: 28px; flex-shrink: 0; border-radius: 50%; border: 2px solid #6B7A90; background: #FFFFFF; }
.choice:has(input:checked) { background: #E6EEF8; border-color: #134E8C; }
.choice:has(input:checked) .radio { border: 9px solid #134E8C; }
.choice:has(input:focus-visible), .pill:has(input:focus-visible) { outline: 3px solid #F6B547; outline-offset: 3px; }
.pill span { display: flex; align-items: center; height: 60px; padding: 0 24px; font-size: 19px; font-weight: 700; border-radius: 12px; cursor: pointer; background: #FFFFFF; color: #0E2340; border: 2px solid #9AA8BC; }
.pill input:checked + span { background: #134E8C; color: #FFFFFF; border-color: #134E8C; }
.btn, .btn-next, .btn-back { height: 60px; padding: 0 28px; display: inline-flex; align-items: center; border-radius: 12px; font-family: inherit; font-size: 20px; font-weight: 700; text-decoration: none; cursor: pointer; }
.btn, .btn-next { border: 0; background: #134E8C; color: #FFFFFF; }
.btn:hover { color: #FFFFFF; background: #0B3463; }
.btn-next[aria-disabled="true"] { background: #DCE3EC; color: #44536B; cursor: not-allowed; }
.btn-back { border: 2px solid #9AA8BC; background: #FFFFFF; color: #0E2340; }
input[aria-invalid="true"] { border-color: #B3261E !important; }

/* Privacy policy and terms */
.legal h2 { margin: 24px 0 0; font-family: Lexend, sans-serif; font-size: 26px; line-height: 1.2; }
.legal p, .legal ul { margin: 0; color: #2C3D57; }
.legal ul { padding-left: 24px; display: flex; flex-direction: column; gap: 6px; }
