/* Shared Harter's palette and typography, applied to the existing signup components. */
.harters-signup-page {
    --font-sans: Poppins, Arial, Helvetica, sans-serif;
    --font-display: Montserrat, Arial, Helvetica, sans-serif;
    --surface-sunken: #f6f6f6;
    --surface-raised: #fff;
    --surface-inset: #fff;
    --text-primary: #202020;
    --text-secondary: #4a4a4a;
    --text-tertiary: #636363;
    --text-brand: #c4001e;
    --border-subtle: #e3e3e3;
    --border-default: #c9c9c9;
    --action-primary-bg: #c4001e;
    --action-primary-bg-hover: #a9001a;
    --action-primary-fg: #fff;
    --action-secondary-bg: #fff;
    --action-secondary-border: #c9c9c9;
    --action-secondary-fg: #202020;
    --focus-ring: 0 0 0 3px rgba(196,0,30,.2);
    --radius-sm: 3px;
    --radius-md: 4px;
    --radius-lg: 4px;
}
.harters-signup-page .signup { min-height: 0; font-family: var(--font-sans); }
.harters-signup-page .signup-body { max-width: 1140px; padding: 36px 20px 56px; }
.harters-signup-page .signup-rail { max-width: 1140px; padding-top: 32px; }
.harters-signup-page .signup-title { font-family: var(--font-display); font-size: 34px; line-height: 1.25; font-weight: 700; color: var(--text-primary); margin-bottom: 12px; }
.harters-signup-page .signup-lede { font-size: 16px; line-height: 1.65; color: var(--text-secondary); margin-bottom: 32px; }
.harters-signup-page .signup-panel { border-radius: 4px; padding: 28px; }
.harters-signup-page .signup h2, .harters-signup-page .signup h3 { font-family: var(--font-display); font-weight: 700; }
.harters-signup-page .signup h2 { font-size: 25px; }
.harters-signup-page .signup h3 { font-size: 20px; }
.harters-signup-page .signup-section-title { font-family: var(--font-display); font-size: 19px; font-weight: 700; }
.harters-signup-page .signup .input, .harters-signup-page .signup .select, .harters-signup-page .signup .textarea { background: var(--surface-inset); border: 1px solid var(--border-default); border-radius: 3px; font-family: var(--font-sans); font-size: 14px; color: var(--text-primary); box-shadow: none; padding: 10px 12px; min-height: 44px; }
.harters-signup-page .signup .select { padding-right: 32px; }
.harters-signup-page .signup .input:focus, .harters-signup-page .signup .select:focus, .harters-signup-page .signup .textarea:focus { border-color: var(--harter-red); outline: 2px solid rgba(196,0,30,.2); outline-offset: 1px; }
.harters-signup-page .signup .btn { border-radius: 3px; font: 600 14px/1.3 var(--font-sans); padding: 13px 20px; min-height: 44px; height: auto; text-decoration: none; letter-spacing: .5px; }
.harters-signup-page .signup .btn--primary, .harters-signup-page .signup button[type="submit"] { background: var(--harter-red); border-color: var(--harter-red); color: #fff; text-transform: uppercase; }
.harters-signup-page .signup .btn--primary:hover, .harters-signup-page .signup button[type="submit"]:hover { background: #a9001a; }
.harters-signup-page .signup .btn--ghost { background: transparent; color: var(--harter-navy); border: 1px solid transparent; }
.harters-signup-page .signup input[type="radio"], .harters-signup-page .signup input[type="checkbox"] { accent-color: var(--harter-red); }
.harters-signup-page .signup .option:has(input:checked) { border-color: var(--harter-red); background: #fff5f6; }
.harters-signup-page .signup .option:has(input:checked) .option-icon { color: var(--harter-red); }
.harters-signup-page .signup .signup-step[data-state="current"] .signup-step-dot { background: var(--harter-red); border-color: var(--harter-red); color: white; }
.harters-signup-page .signup .signup-step[data-state="done"] .signup-step-dot { background: #fff0f2; border-color: var(--harter-red); color: var(--harter-red); }
.harters-signup-page .signup .signup-step[data-state="done"] .signup-step-line { background: var(--harter-red); }
.harters-signup-page .signup .switch input:checked + .switch-track { background: var(--harter-red); }
.harters-signup-page .signup ul { margin-bottom: 0; }
.harters-signup-page .signup p:last-child { margin-bottom: 0; }
.harters-signup-page .agreement-terms { font-size: 14px; line-height: 1.8; }
@media (max-width: 600px) {
    .harters-signup-page .signup-title { font-size: 27px; }
    .harters-signup-page .signup-body { padding: 28px 18px 40px; }
    .harters-signup-page .signup-panel { padding: 20px; }
    .harters-signup-page .signup .btn { white-space: normal; text-align: center; }
}
