/* Clearer registration text and consistent Font Awesome icon sizing. */
.registration-modal { font-size: 14px; }
.registration-brand>span:last-child { margin-left: 0; }
.registration-step-count { font-size: 12px; }
.registration-panel h2 { font-size: 27px; }
.registration-subtitle { font-size: 14px; }
.choice-card { gap: 14px; }
.choice-emoji { font-size: 17px; }
.choice-emoji i { line-height: 1; }
.choice-card strong { font-size: 14px; }
.choice-card small { font-size: 11px; line-height: 1.45; }
.role-list .choice-card strong { font-size: 12px; }
.role-list .choice-emoji { font-size: 14px; }
.choice-check { font-size: 10px; }
.form-label { font-size: 12px; }
.registration-input { font-size: 14px; }
.salutation-choice { font-size: 13px; }
.country-lock small, .field-hint, .verification-note { font-size: 11px; }
.country-lock strong, .verification-info strong { font-size: 13px; }
.verification-info p, .password-rules, .professional-consent { font-size: 11px; }
.registration-back, .registration-next, .registration-submit { font-size: 12px; }
.registration-cancel button { font-size: 11px; }
.registration-password button { font-size: 15px; }
.registration-next span, .registration-submit span { font-size: 12px; }
.marketing-page .floating-card strong { font-size: 12px; }
.marketing-page .floating-card small { font-size: 10px; }
.marketing-page .hero-caption, .marketing-page .login-security { font-size: 11px; }
.marketing-page .resource-card p, .marketing-page .feature-card p { font-size: 13px; line-height: 1.7; }
.marketing-page .stat-card p { font-size: 12px; line-height: 1.6; }
.marketing-page .social-links a { display: grid; place-items: center; }
.marketing-page .password-input button { font-size: 15px; }
.login-modal { width: min(520px, calc(100% - 28px)); }
.login-modal-content { min-height: 0; overflow: auto; flex: 1; padding: 26px 42px 30px; text-align: center; }
.login-modal-icon { display: grid; place-items: center; width: 54px; height: 54px; margin: 2px auto 13px; border-radius: 16px; background: #eaf5f2; color: var(--teal); font-size: 22px; }
.login-modal-content h2 { margin: 0; color: #213137; font-family: var(--font-display); font-size: 28px; font-weight: 800; letter-spacing: -.8px; }
.login-modal-content .registration-subtitle { margin: 7px 0 19px; }
.login-modal-content .form-label { text-align: left; }
.login-password-label { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 3px; }
.login-password-label a { margin-top: 6px; color: var(--teal); font-size: 11px; font-weight: 700; }
.login-modal-note { display: flex; justify-content: center; align-items: center; gap: 7px; margin: 14px 0 18px; color: #74837f; font-size: 11px; }
.login-modal-note i { color: #5c9c79; }
.login-modal-submit { display: flex; align-items: center; justify-content: center; gap: 9px; width: 100%; min-height: 47px; font-size: 14px; }
.login-modal-back { display: block; width: 100%; min-height: 43px; margin-top: 9px; border: 1px solid #85aaa6; border-radius: 9px; background: #fff; color: #397a78; font-size: 13px; font-weight: 700; cursor: pointer; }
.login-modal-back:hover { background: #f4faf8; }
.login-modal-register { margin: 19px 0 0; color: #778588; font-size: 12px; }
.login-modal-register a { color: var(--teal); font-weight: 800; }
.login-modal .registration-error-summary { text-align: left; }
@media (max-width: 620px) {
  .registration-panel h2 { font-size: 24px; }
  .registration-subtitle { font-size: 13px; }
  .choice-card strong { font-size: 13px; }
  .choice-card small { font-size: 11px; }
  .role-list .choice-card strong { font-size: 13px; }
  .login-modal-content { padding: 21px 20px 25px; }
  .login-modal-content h2 { font-size: 25px; }
  .login-modal-note { font-size: 10px; }
}
