/* Escala tipográfica legible en páginas públicas, perfiles, acceso e intranet. */
body { font-size: 17px; }

.main-nav a,
.product-nav nav a { font-size: 16px !important; }
.btn,
.product-btn,
.portal-btn,
.auth-submit,
.nav-login,
.intranet-link,
.nav-request { font-size: 15px !important; }

.eyebrow,
.mini-label,
.section-label,
.product-kicker,
.visual-label,
.request-copy > span,
.uses-copy > span,
.protected-label,
.auth-eyebrow,
.portal-section-head span,
.welcome-label,
.help-card > span { font-size: 13px !important; }

.text-link,
.hero-text-link,
.back-link,
.uses-cta,
.other-profile-link,
.profiles-help,
.story-copy a { font-size: 15px !important; }

.home-trust strong,
.request-security strong,
.form-profile-badge strong,
.visual-note b { font-size: 15px !important; }
.home-trust small,
.request-security small,
.form-profile-badge small,
.visual-note p,
.home-photo-card small { font-size: 13px !important; }

.benefit-item p,
.benefit-card p,
.steps-card p,
.uses-grid .use-card p,
.requirements-card li,
.requirements-card > small { font-size: 14px !important; }

.profile-form label,
.application-card form > label,
.application-card .form-row label,
.contact-form label,
.privacy,
.check-label { font-size: 14px !important; }
.profile-form input,
.profile-form select,
.application-card input,
.application-card select,
.contact-form input,
.contact-form textarea { font-size: 16px !important; }
.form-intro,
.secure-note,
.simulator-disclaimer,
.simulator-result p,
.simulator-result small,
.simulator-limits { font-size: 13px !important; }

.product-footer p,
.product-footer strong,
.product-footer a,
.product-footer span,
.footer-grid > div > a,
.footer-grid > div > p,
.footer-bottom,
.compact-footer { font-size: 13px !important; }

/* Acceso interno. */
.auth-back { font-size: 18px !important; line-height: 1.5; }
.auth-subtitle,
.auth-message > p { font-size: 16px !important; }
.auth-form label { font-size: 14px !important; }
.auth-form input { font-size: 16px !important; }
.auth-help,
.auth-rule,
.auth-secondary,
.auth-error { font-size: 13px !important; }
.role-preview strong { font-size: 14px !important; }
.role-preview small { font-size: 12px !important; }
.role-preview i { font-size: 11px !important; }

/* Intranet. */
.side-brand p,
.side-nav small,
.side-progress p,
.portal-header > div:first-of-type p,
.profile-button small { font-size: 12px !important; }
.side-nav div,
.back-site,
.profile-button strong { font-size: 15px !important; }
.progress-label { font-size: 14px !important; }
.quick-stats p,
.quick-stats article > small { font-size: 12px !important; }
.course-cover small,
.course-tag,
.course-meta,
.course-progress > div { font-size: 11px !important; }
.course-body > p,
.resource-list small,
.policy-grid p,
.policy-warning,
.help-card small { font-size: 13px !important; }
.course-action,
.training-complete,
.resource-list strong { font-size: 13px !important; }
.video-card-copy span { font-size: 12px !important; }
.portal-footer { font-size: 12px !important; }
.team-heading p,
.user-create-form > p,
.user-create-form label,
.users-panel table,
.users-panel-head button,
.team-count,
.logout-button { font-size: 13px !important; }
.user-create-form input,
.user-create-form select,
.user-create-form > button { font-size: 14px !important; }
.user-identity strong { font-size: 14px !important; }
.user-identity small { font-size: 12px !important; }

@media (max-width: 760px) {
  body { font-size: 16px; }
  .main-nav a,
  .product-nav nav a { font-size: 15px !important; }
  .auth-back { font-size: 16px !important; }
}

/* Revisión global: ningún contenido informativo debe depender de texto diminuto. */
p { font-size: max(17px, 1em) !important; }
small { font-size: 14px !important; line-height: 1.45 !important; }

.main-nav a,
.product-nav nav a { font-size: 17px !important; }
.btn,
.product-btn,
.portal-btn,
.auth-submit,
.uses-cta,
.course-action,
.training-complete,
.user-create-form > button { font-size: 16px !important; }

.eyebrow,
.mini-label,
.section-label,
.product-kicker,
.visual-label,
.request-copy > span,
.uses-copy > span,
.protected-label,
.auth-eyebrow,
.welcome-label,
.portal-section-head span,
.help-card > span { font-size: 15px !important; }

.uses-copy > p,
.request-copy p,
.section-title p,
.product-hero-copy > p,
.profile-simulator-copy p,
.story-copy p,
.contact-copy p { font-size: 18px !important; }

.hero-points,
.profile-link,
.other-profile-link,
.requirements-card li,
.steps-card p,
.uses-grid .use-card p,
.benefit-item p { font-size: 15px !important; }

.profile-form label,
.application-card form > label,
.form-row label,
.contact-form label,
.auth-form label,
.user-create-form label { font-size: 15px !important; }

.simulator-field label,
.simulator-limits,
.simulator-result small,
.simulator-result p,
.simulator-disclaimer,
.form-intro,
.secure-note,
.auth-help,
.auth-rule,
.auth-secondary,
.auth-error { font-size: 14px !important; }

.auth-back { font-size: 20px !important; }
.role-preview strong { font-size: 15px !important; }
.role-preview small { font-size: 14px !important; }

.side-brand p,
.side-nav small,
.side-progress p,
.portal-header > div:first-of-type p,
.profile-button small,
.quick-stats article > small,
.course-cover small,
.course-tag,
.course-meta,
.course-progress > div,
.video-card-copy span { font-size: 13px !important; }

.quick-stats p,
.course-body > p,
.resource-list small,
.policy-grid p,
.policy-warning,
.help-card small,
.team-heading p,
.user-create-form > p,
.users-panel table,
.team-count,
.logout-button { font-size: 14px !important; }

.product-footer p,
.product-footer strong,
.product-footer a,
.product-footer span,
.footer-grid > div > a,
.footer-grid > div > p,
.footer-bottom,
.compact-footer,
.portal-footer { font-size: 14px !important; }

@media (max-width: 760px) {
  p { font-size: max(16px, 1em) !important; }
  small { font-size: 13px !important; }
  .main-nav a,
  .product-nav nav a { font-size: 16px !important; }
}

/* Escala cómoda definitiva para etiquetas y contenido auxiliar. */
p { font-size: max(18px, 1em) !important; }
small { font-size: 15px !important; }

.section-title > span,
.other-profiles > .product-container > div:first-child > span,
.home-contact-card > div > span,
.home-photo-label,
.story-stats span,
.profile-number,
.use-number,
.card-badge,
.form-heading p,
.visual-label,
.product-kicker,
.uses-copy > span,
.request-copy > span { font-size: 16px !important; }

.btn,
.product-btn,
.uses-cta,
.hero-text-link,
.text-link,
.other-profile-link,
.auth-submit { font-size: 17px !important; }

.visual-note p,
.home-photo-card small,
.request-security small,
.form-profile-badge small,
.profile-selection p,
.secure-note,
.simulator-limits,
.simulator-result small,
.simulator-result p,
.simulator-disclaimer { font-size: 15px !important; }

.profile-card small,
.benefit-item p,
.steps-card p,
.uses-grid .use-card p,
.requirements-card li,
.requirements-card > small,
.product-footer p,
.product-footer a,
.product-footer span { font-size: 16px !important; }

.side-nav small,
.side-progress p,
.portal-header > div:first-of-type p,
.profile-button small,
.quick-stats article > small,
.course-cover small,
.course-tag,
.course-meta,
.course-progress > div,
.video-card-copy span { font-size: 14px !important; }

.quick-stats p,
.course-body > p,
.resource-list small,
.policy-grid p,
.policy-warning,
.help-card small,
.team-heading p,
.user-create-form > p,
.users-panel table,
.team-count,
.logout-button { font-size: 15px !important; }

@media (max-width: 760px) {
  p { font-size: max(17px, 1em) !important; }
  small { font-size: 14px !important; }
  .section-title > span,
  .uses-copy > span,
  .request-copy > span { font-size: 15px !important; }
}

/* Última barrera de legibilidad: controles, ayudas y microtextos en todo el sitio. */
small { font-size: 16px !important; }
label,
input,
select,
textarea,
button { font-size: max(16px, 1em) !important; }

.eyebrow,
.mini-label,
.section-label,
.section-title > span,
.product-kicker,
.visual-label,
.uses-copy > span,
.request-copy > span,
.protected-label,
.auth-eyebrow,
.welcome-label,
.portal-section-head span,
.help-card > span,
.profile-simulator-copy > span,
.other-profiles > .product-container > div:first-child > span { font-size: 17px !important; }

.benefit-card p,
.benefit-item p,
.profile-card small,
.profile-link,
.other-profile-link,
.uses-grid .use-card p,
.requirements-card li,
.requirements-card > small,
.steps-card p,
.visual-note p,
.request-security small,
.form-profile-badge small,
.profile-selection p { font-size: 16px !important; }

.side-brand p,
.side-nav small,
.side-progress p,
.progress-label,
.back-site,
.portal-header > div:first-of-type p,
.profile-button strong,
.profile-button small,
.quick-stats p,
.quick-stats article > small,
.portal-section-head > a,
.course-cover small,
.course-tag,
.course-meta,
.course-body > p,
.course-progress > div,
.course-action,
.training-complete,
.resource-list strong,
.resource-list small,
.help-card p,
.help-card small,
.policy-grid article > span,
.policy-grid p,
.policy-warning,
.video-card-copy span,
.team-heading p,
.user-create-form > p,
.users-panel table,
.users-table-wrap,
.team-count,
.logout-button,
.portal-footer { font-size: 16px !important; }

@media (max-width: 760px) {
  small { font-size: 15px !important; }
  .eyebrow,
  .mini-label,
  .section-label,
  .section-title > span,
  .product-kicker,
  .uses-copy > span,
  .request-copy > span,
  .portal-section-head span { font-size: 16px !important; }
}
