/*! DSI 1.0 — Typography roles */

.dxp-type-display-hero { font-family: var(--dxp-font-display); font-size: var(--dxp-fs-display-hero); font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; }
.dxp-type-display-section { font-family: var(--dxp-font-display); font-size: var(--dxp-fs-display-section); font-weight: 800; line-height: 1.15; }
.dxp-type-h1, .dxp-main h1.dxp-page-title, .dxp-main .dxp-product-title { font-size: var(--dxp-fs-h1); font-weight: 800; line-height: 1.15; color: var(--dxp-color-text-primary); }
.dxp-type-h2, .dxp-main .dxp-section-title { font-size: var(--dxp-fs-h2); font-weight: 800; line-height: 1.2; color: var(--dxp-color-text-primary); }
.dxp-type-h3 { font-size: var(--dxp-fs-h3); font-weight: 700; }
.dxp-type-h4 { font-size: var(--dxp-fs-h4); font-weight: 700; }
.dxp-type-body-lg { font-size: var(--dxp-fs-body-lg); line-height: 1.5; }
.dxp-type-body, .dxp-main .dxp-lede { font-size: var(--dxp-fs-body); line-height: 1.5; color: var(--dxp-color-text-secondary); }
.dxp-type-body-sm { font-size: var(--dxp-fs-body-sm); line-height: 1.45; }
.dxp-type-label, .dxp-main .dxp-chip-label { font-size: var(--dxp-fs-label); font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.dxp-type-caption { font-size: var(--dxp-fs-caption); color: var(--dxp-color-text-muted); }
.dxp-type-overline, .dxp-main .dxp-eyebrow, .dxp-main .dxp-intelligence-kicker {
	font-size: var(--dxp-fs-overline);
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--dxp-brand-accent);
}
.dxp-type-price { font-size: var(--dxp-fs-price); font-weight: 800; color: var(--dxp-brand-accent); }
.dxp-type-metric { font-size: var(--dxp-fs-metric); font-weight: 800; }
