/* =============================================================
   B2B Grow Lab — Typography
   Geist (sans) · Geist Mono · Instrument Serif (italic accent)
   ============================================================= */

html { scroll-behavior: smooth; }

body {
	font-family: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
	font-feature-settings: "ss01", "cv11"; /* alternates limpios de Geist */
	background: var(--paper);
	color: var(--ink);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	font-size: 16px;
	line-height: 1.5;
	overflow-x: hidden;
}

p { text-wrap: pretty; }

/* ----- Family helpers ----- */
.serif {
	font-family: "Instrument Serif", "Times New Roman", serif;
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.01em;
}

.mono {
	font-family: "Geist Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;
}

/* ----- Display scale ----- */
.h-display {
	font-family: "Geist", sans-serif;
	font-weight: 500;
	font-size: clamp(48px, 7.2vw, 108px);
	line-height: 0.95;
	letter-spacing: -0.035em;
	text-wrap: balance;
	margin: 0;
	color: var(--ink);
}

.h-1 {
	font-family: "Geist", sans-serif;
	font-weight: 500;
	font-size: clamp(34px, 4.2vw, 60px);
	line-height: 1.02;
	letter-spacing: -0.03em;
	text-wrap: balance;
	margin: 0;
}

.h-2 {
	font-family: "Geist", sans-serif;
	font-weight: 500;
	font-size: clamp(22px, 2.1vw, 28px);
	line-height: 1.15;
	letter-spacing: -0.018em;
	margin: 0;
}

.h-3 {
	font-family: "Geist", sans-serif;
	font-weight: 500;
	font-size: 17px;
	line-height: 1.3;
	letter-spacing: -0.005em;
	margin: 0;
}

.eyebrow {
	font-family: "Geist Mono", monospace;
	font-size: 11.5px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-3);
}

.eyebrow .dot {
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: var(--radius-pill);
	background: var(--accent);
	vertical-align: 1px;
	margin-right: 8px;
}

.lede {
	font-size: clamp(16.5px, 1.2vw, 19px);
	line-height: 1.5;
	color: var(--ink-2);
	max-width: 60ch;
	text-wrap: pretty;
}

/* Acentos italicos en headlines: clase `.em` */
.h-display .em,
.h-1 .em,
.h-2 .em {
	font-family: "Instrument Serif", serif;
	font-style: italic;
	font-weight: 400;
	color: var(--accent-deep);
	letter-spacing: -0.005em;
	font-size: 1.04em;
}

/* Dark section overrides */
.section.dark .eyebrow { color: var(--night-ink-3); }
.section.dark .lede { color: var(--night-ink-2); }
.section.dark .h-display,
.section.dark .h-1,
.section.dark .h-2,
.section.dark .h-3 { color: var(--night-ink); }
.section.dark .h-display .em,
.section.dark .h-1 .em,
.section.dark .h-2 .em { color: var(--accent-soft); }
