/* Escala tipográfica consistente (responsive con clamp) */
h1, .h1 { font-weight: 700; line-height: 1.2; font-size: clamp(1.75rem, 1.2rem + 2vw, 2.5rem); }
h2, .h2 { font-weight: 700; line-height: 1.25; font-size: clamp(1.5rem, 1.05rem + 1.6vw, 2rem); }
h3, .h3 { font-weight: 600; line-height: 1.3; font-size: clamp(1.25rem, 0.95rem + 1vw, 1.5rem); }
h4, .h4 { font-weight: 600; line-height: 1.3; font-size: 1.125rem; }
h5, .h5 { font-weight: 600; line-height: 1.3; font-size: 1rem; }
h6, .h6 { font-weight: 600; line-height: 1.3; font-size: 0.875rem; letter-spacing: .02em; text-transform: uppercase; }

/* Displays de Bootstrap */
.display-1 { font-weight: 700; font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3.5rem); line-height: 1.1; }
.display-2 { font-weight: 700; font-size: clamp(2rem, 1.6rem + 2vw, 3rem); line-height: 1.1; }
.display-3 { font-weight: 700; font-size: clamp(1.75rem, 1.4rem + 1.6vw, 2.5rem); line-height: 1.1; }
.display-4 { font-weight: 700; font-size: clamp(1.5rem, 1.25rem + 1.2vw, 2rem); line-height: 1.1; }

/* Texto y utilidades */
.lead { font-size: 1.125rem; font-weight: 400; color: var(--app-text-color); }
small, .small { font-size: 0.875rem; }
.text-muted { color: var(--app-muted-color) !important; }

/* Enlaces */
a { text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }

/* Código */
code, pre, kbd, samp { font-family: var(--app-font-mono); }