.rdv-page { min-height: 100vh; background: #f3f6fb; }
.rdv-page * { box-sizing: border-box; }
.rdv-main { padding-bottom: 48px; }
.rdv-intro { padding: 48px 20px 82px; color: #fff; background: linear-gradient(118deg, #142b52, #1d568c 70%, #147a75); }
.rdv-intro-content { width: min(940px, 100%); margin: 0 auto; text-align: center; }
.rdv-eyebrow { color: #a7efdf; font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.rdv-intro h1 { margin: 8px 0 0; color: #fff; font-size: clamp(29px, 4vw, 42px); line-height: 1.3; }
.rdv-intro p { max-width: 690px; margin: 10px auto 0; color: #e0eaf4; font-size: 15px; }
.rdv-form-wrap { width: min(820px, calc(100% - 32px)); margin: -38px auto 0; }
.rdv-form-card { padding: 30px 34px 34px; border: 1px solid #e1e8f1; border-radius: 16px; background: #fff; box-shadow: 0 18px 50px rgba(20, 43, 82, .13); }
.rdv-card-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 24px; }
.rdv-calendar-icon { display: grid; width: 46px; height: 46px; flex: 0 0 46px; place-items: center; border-radius: 13px; color: #2878f0; background: #edf4ff; }
.rdv-calendar-icon svg { width: 23px; height: 23px; }
.rdv-card-heading h2 { margin: 0; color: #19345c; font-size: 19px; font-weight: 800; }
.rdv-card-heading p { margin: 2px 0 0; color: #77869a; font-size: 12px; }
.rdv-alert { margin-bottom: 18px; padding: 12px 15px; border: 1px solid transparent; border-radius: 9px; font-size: 13px; }
.rdv-alert-success { border-color: #bde8d7; color: #145e50; background: #e8f7f0; }
.rdv-alert-error { border-color: #f4c8c8; color: #9c2929; background: #fff0f0; }
.rdv-alert-warning { border-color: #f1dfab; color: #745515; background: #fff9e8; }
.rdv-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.rdv-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px 18px; }
.rdv-field { min-width: 0; }
.rdv-field-wide { grid-column: 1 / -1; }
.rdv-field label { display: block; margin-bottom: 6px; color: #33445c; font-size: 13px; font-weight: 700; }
.rdv-field input, .rdv-field textarea { display: block; width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #dce4ef; border-radius: 8px; color: #263449; background: #fff; font: inherit; font-size: 14px; }
.rdv-field textarea { min-height: 112px; resize: vertical; }
.rdv-field input:focus, .rdv-field textarea:focus { outline: 3px solid rgba(40, 120, 240, .15); border-color: #2878f0; }
.rdv-form fieldset:disabled .rdv-field input, .rdv-form fieldset:disabled .rdv-field textarea { color: #8490a0; background: #f3f5f8; cursor: not-allowed; }
.rdv-disclaimer { margin: 19px 0 17px; padding-inline-start: 12px; border-inline-start: 3px solid #27c2a0; color: #64748b; font-size: 12px; }
.rdv-submit { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 12px; padding: 10px 20px; border: 0; border-radius: 9px; color: #fff; background: #2878f0; font: inherit; font-weight: 800; cursor: pointer; transition: background .15s ease, transform .15s ease; }
.rdv-submit:hover { transform: translateY(-1px); background: #193f91; }
.rdv-form fieldset:disabled .rdv-submit { background: #8ba9d5; cursor: not-allowed; }
.rdv-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 20px; padding: 20px; border-top: 1px solid #e2e9f3; color: #6b7890; background: #fff; font-size: 12px; text-align: center; }
.rdv-footer a { color: #2878f0; font-weight: 800; text-decoration: none; }
@media (max-width: 600px) {
    .rdv-intro { padding: 34px 18px 72px; }
    .rdv-intro p { font-size: 14px; }
    .rdv-form-card { padding: 22px 18px 24px; }
    .rdv-fields { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .rdv-field-wide { grid-column: auto; }
    .rdv-submit { width: 100%; }
}
