/* Typography — legacy i3D Mobility scale (16px base, readable hierarchy) */

:root {
	--wh-type-body: 16px;
	--wh-type-body-lg: 18px;
	--wh-type-lead: 18px;
	--wh-type-card-title: clamp(1.25rem, 1.4vw, 1.375rem);
	--wh-type-card-body: 16px;
	--wh-type-meta: 12px;
	--wh-type-on-dark: rgba(255, 255, 255, 0.92);
	--wh-type-on-dark-muted: rgba(255, 255, 255, 0.84);
}

html {
	font-size: var(--tx-font-size, 16px);
}

body {
	font-size: 1rem;
	line-height: var(--tx-line-height, 1.6);
}

h1 {
	font-size: var(--tx-font-h1, 3rem);
	line-height: 1.12;
}

h2 {
	font-size: var(--tx-font-h2, 2.25rem);
	line-height: 1.18;
}

h3 {
	font-size: var(--tx-font-h3, 1.375rem);
	line-height: 1.25;
}

.i3d-kicker,
.wh-cs-card__eyebrow,
.i3d-about-fact span,
.wh-section-eyebrow {
	font-size: max(0.75rem, 12px);
}

.i3d-btn,
button.i3d-btn,
a.i3d-btn,
.wh-btn,
.wh-btn--primary {
	font-size: var(--tx-btn-font-size, 15px);
	min-height: 44px;
	padding-inline: clamp(18px, 2vw, 24px);
}

.main-navigation a,
.site-header .menu a,
.wh-mobile-drawer .menu a,
.terea-nav a,
.wh-nav-menu > li > a {
	font-size: var(--tx-nav-font-size, 16px);
}

.entry-content:not(.i3d-about-content),
.i3d-about-hero__lead,
.wh-rnd-hero__lead,
.i3d-section-lead,
.wh-cs-hub-hero__lead,
.wh-contact-lead,
.i3d-masthead__lead,
.i3d-hero__lead,
.i3d-intro__lead,
p,
li {
	font-size: var(--wh-type-body, 16px);
	line-height: 1.6;
}

.i3d-hero__lead,
.i3d-intro__lead,
.i3d-about-hero__lead,
.wh-rnd-hero__lead,
.wh-landing-hero__lead,
.i3d-section-lead,
.wh-cs-hub-hero__lead {
	font-size: var(--wh-type-lead, 18px);
}

.i3d-about-fact strong {
	font-size: clamp(2.25rem, 3.5vw, 3rem);
}

.wh-contact-form label {
	font-size: max(0.8125rem, 13px) !important;
}

.wh-contact-form input,
.wh-contact-form select,
.wh-contact-form textarea {
	font-size: max(1rem, 16px) !important;
	min-height: 42px;
	padding: 10px 14px !important;
}

.wh-contact-form textarea {
	min-height: 120px;
}

.wh-contact-title {
	font-size: clamp(1.5rem, 2vw, 1.875rem) !important;
}

.wh-contact-consent {
	font-size: max(0.8125rem, 13px) !important;
}

.wh-contact-form .wh-contact-submit {
	font-size: max(0.9375rem, 15px) !important;
	min-height: 44px !important;
	padding-inline: 22px !important;
	text-transform: none !important;
	letter-spacing: 0.02em !important;
	justify-self: start;
	width: auto;
}

.terea-product-card-title,
.terea-product-card-title a {
	font-size: var(--wh-type-card-title, clamp(1.25rem, 1.4vw, 1.375rem)) !important;
	line-height: 1.35 !important;
}

.wh-archive-grid .terea-product-card-title,
.wh-archive-grid .terea-product-card-title a {
	font-size: clamp(1.125rem, 1.2vw, 1.25rem) !important;
}

.wh-related-card__title {
	font-size: max(1.25rem, 20px) !important;
}

.wh-cat-card__title a {
	font-size: max(1.25rem, 20px) !important;
}

.wh-banner-child-cats__title {
	font-size: clamp(1.5rem, 2.2vw, 1.875rem) !important;
}

.wh-banner-child-cat__eyebrow {
	font-size: max(12px, 0.75rem) !important;
}

.wh-banner-child-cat__name {
	font-size: clamp(1.125rem, 1.6vw, 1.375rem) !important;
}

.wh-banner-child-cat__text {
	font-size: max(16px, 1rem) !important;
}

.wh-product-main--landing .wh-banner-child-cats .wh-banner-child-cat__media {
	flex: 0 0 112px !important;
	width: 112px !important;
	height: 112px !important;
}

.wh-product-main--landing .wh-banner-child-cats .wh-banner-child-cat__name {
	font-size: clamp(1.125rem, 1.6vw, 1.375rem) !important;
}

.wh-product-main--landing .wh-banner-child-cats .wh-banner-child-cat__text {
	font-size: max(16px, 1rem) !important;
	display: block !important;
	-webkit-line-clamp: unset !important;
}

@media (max-width: 720px) {
	.wh-product-main--landing .wh-banner-child-cats .wh-banner-child-cat__media {
		flex: 0 0 92px !important;
		width: 92px !important;
		height: 92px !important;
	}
}

.wh-rnd-prose,
.wh-rnd-prose p,
.wh-rnd-pillar p,
.wh-rnd-process__steps span,
.wh-rnd-outcomes__grid p,
.wh-rnd-partners__grid p {
	font-size: var(--wh-type-card-body, 16px);
	line-height: 1.6;
}

.wh-rnd-problem .i3d-section-lead,
.wh-rnd-hero__lead {
	font-size: var(--wh-type-lead, 18px);
	line-height: 1.6;
}

.wh-rnd-problem__grid strong,
.wh-rnd-pillar h3,
.wh-rnd-process__steps strong,
.wh-rnd-partners__grid h3 {
	font-size: var(--wh-type-card-title);
}

.wh-rnd-problem__grid span {
	font-size: var(--wh-type-card-body);
}

.wh-rnd-problem .i3d-section-lead {
	color: var(--wh-type-on-dark-muted);
}

.wh-about-value p,
.wh-about-mission-copy,
.wh-contact-lead,
.wh-dealers-card p {
	font-size: var(--wh-type-body, 16px);
	line-height: 1.6;
}

.wh-about-value h3 {
	font-size: clamp(1.25rem, 1.5vw, 1.375rem);
}

.wh-about-stat span {
	font-size: var(--wh-type-meta);
}

@media (prefers-reduced-motion: reduce) {
	.wh-cs-card {
		transition: none;
	}
}
