/* ==========================================================================
   Asesoría Aldabe — Tipografía base.
   Body: Inter Medium 500 (no Light). Color de párrafos: --color-text.
   Titulares: Newsreader 400-500 con letter-spacing -0.01em.
   ========================================================================== */

body {
	font-family: var(--font-sans);
	font-weight: 500;            /* Body en Medium 500, regla del brief. */
	font-size: var(--fz-body);
	line-height: var(--lh-body);
	color: var(--color-text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

/* Titulares por defecto en serif Newsreader. Se afinan tamaño/peso por componente. */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-serif);
	font-weight: 500;
	color: var(--color-navy);
	line-height: var(--lh-tight);
	letter-spacing: var(--ls-heading);
}

h1 {
	font-size: var(--fz-h1-hero);
	font-variation-settings: "opsz" 60;
}

h2 {
	font-size: var(--fz-h2-section);
}

h3 {
	font-size: var(--fz-h3-card);
}

h4 {
	font-size: var(--fz-h4);
}

p {
	color: var(--color-text);
	line-height: var(--lh-long);
}

/* Itálica de Newsreader siempre en oro cuando va dentro de titular.
   Patrón firma del producto. */
h1 em,
h2 em,
h3 em {
	font-style: italic;
	color: var(--color-gold);
	font-weight: 400;
}

/* Eyebrow: mayúsculas, letter-spacing alto, opcionalmente con filete. */
.eyebrow {
	display: inline-flex;
	align-items: center;
	gap: var(--space-3);
	font-family: var(--font-sans);
	font-size: var(--fz-eyebrow);
	font-weight: 600;
	letter-spacing: var(--ls-eyebrow);
	text-transform: uppercase;
	color: var(--color-graphite-soft);
}

.eyebrow::before {
	content: "";
	width: var(--space-5);
	height: 1px;
	background: currentColor;
}

.eyebrow--gold {
	color: var(--color-gold);
}

.eyebrow--gold::before {
	background: var(--color-gold);
}

/* Wordmark provisional renderizado en HTML cuando no hay logo SVG. */
.wordmark {
	display: inline-flex;
	flex-direction: column;
	gap: var(--space-2);
	color: var(--color-navy);
	transition: color var(--transition-fast);
}

.wordmark__name {
	font-family: var(--font-serif);
	font-weight: 500;
	font-size: 22px;
	letter-spacing: var(--ls-wordmark);
	text-transform: uppercase;
	line-height: 1;
}

.wordmark__rule {
	width: 62px;
	height: 2px;
	background: var(--color-gold);
}

@media (min-width: 768px) {
	.wordmark__name {
		font-size: 26px;
	}
}
