/**
 * Responsive typography normalization.
 *
 * Breakpoints:
 * - Desktop: 1081px and wider
 * - Tablet: 681px–1080px
 * - Mobile: up to 680px
 */

@media (min-width: 1081px) {
	:root {
		--dz-type-h1: 60px;
		--dz-type-h2: 40px;
		--dz-type-body: 18px;
		--dz-type-button: 18px;
		--dz-type-card-title: 18px;
		--dz-type-card-text: 16px;
		--dz-type-card-link: 16px;
		--dz-type-eyebrow: 18px;
		--dz-type-filter: 18px;
		--dz-type-footer-link: 14px;
		--dz-type-footer-title: 18px;
		--dz-type-footer-legal: 12px;
		--dz-type-header-link: 18px;
	}
}

@media (min-width: 681px) and (max-width: 1080px) {
	:root {
		--dz-type-h1: 30px;
		--dz-type-h2: 25px;
		--dz-type-body: 18px;
		--dz-type-button: 16px;
		--dz-type-card-title: 16px;
		--dz-type-card-text: 16px;
		--dz-type-card-link: 16px;
		--dz-type-eyebrow: 18px;
		--dz-type-filter: 14px;
		--dz-type-footer-link: 14px;
		--dz-type-footer-title: 18px;
		--dz-type-footer-legal: 12px;
		--dz-type-header-link: 18px;
	}
}

@media (max-width: 680px) {
	:root {
		--dz-type-h1: 30px;
		--dz-type-h2: 25px;
		--dz-type-body: 18px;
		--dz-type-button: 16px;
		--dz-type-card-title: 16px;
		--dz-type-card-text: 16px;
		--dz-type-card-link: 16px;
		--dz-type-eyebrow: 18px;
		--dz-type-filter: 14px;
		--dz-type-footer-link: 14px;
		--dz-type-footer-title: 18px;
		--dz-type-footer-legal: 12px;
		--dz-type-header-link: 18px;
	}
}

/* Main page headings */
h1,
.dz-hero__title {
	font-size: var(--dz-type-h1);
}

h2,
.dz-audience__title,
.dz-services__title,
.dz-tasks__title,
.dz-cases__title,
.dz-about__title,
.dz-process__title,
.dz-blog__title,
.dz-reviews__title,
.dz-seo-faq__title,
.dz-hero__stat strong {
	font-size: var(--dz-type-h2);
}

/* Regular text outside cards */
body {
	font-size: var(--dz-type-body);
}

.entry-content p,
.entry-content li,
.page-content p,
.page-content li,
.dz-hero__description,
.dz-hero__description p,
.dz-audience__lead,
.dz-services__lead,
.dz-tasks__lead,
.dz-cases__lead,
.dz-about__text p,
.dz-process__lead,
.dz-blog__lead,
.dz-reviews__lead,
.dz-seo-faq__text p,
.dz-seo-faq__more p,
.dz-seo-faq__cta-copy p,
.site-footer__description,
.site-footer__copyright,
.site-footer__made {
	font-size: var(--dz-type-body);
}

/* Buttons and CTA controls */
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.site-header__cta,
.dz-button,
.dz-hero__button,
.dz-audience__cta-button,
.dz-services__all-link,
.dz-tasks__cta-button,
.dz-about__button,
.dz-blog__all-link,
.dz-reviews__all-link,
.dz-seo-faq__read-more,
.dz-seo-faq__cta-button {
	font-size: var(--dz-type-button);
}

/* Card headings */
.dz-audience-card__heading h3,
.dz-audience-card h3,
.dz-audience__cta-copy h3,
.dz-service-card__title,
.dz-task-card h3,
.dz-tasks__cta-copy h3,
.dz-case-card h3,
.dz-process-card__copy h3,
.dz-process-advantage h3,
.dz-blog-card h3,
.dz-blog-card--compact h3,
.dz-review-card__identity h3,
.dz-about-stat__copy strong,
.dz-seo-faq__question-text,
.dz-seo-faq__cta-copy h3,
.site-footer-advantage__copy strong {
	font-size: var(--dz-type-card-title);
}

/* Card text */
.dz-hero__stat span,
.dz-audience-card > p,
.dz-audience__cta-copy p,
.dz-service-card__description,
.dz-task-card,
.dz-tasks__cta-copy p,
.dz-case-card__meta,
.dz-case-card__tag,
.dz-case-card__metrics span,
.dz-process-card__copy p,
.dz-process-card__result,
.dz-process-card__result p,
.dz-process-advantage p,
.dz-blog-card__meta,
.dz-blog-card__tag,
.dz-blog-card__excerpt,
.dz-blog-card--compact .dz-blog-card__excerpt,
.dz-blog-card__author span,
.dz-review-card__identity p,
.dz-review-card__service,
.dz-review-card__quote p,
.dz-review-card--compact .dz-review-card__quote p,
.dz-review-card__summary-item strong,
.dz-review-card__summary-item span,
.dz-about-stat__copy span,
.dz-seo-faq__answer p,
.site-footer-advantage__copy span {
	font-size: var(--dz-type-card-text);
}

/* Links inside cards */
.dz-service-card__link,
.dz-case-card__link,
.dz-blog-card__link {
	font-size: var(--dz-type-card-link);
}

/* Section labels / eyebrows */
.dz-hero__eyebrow,
.dz-audience__eyebrow,
.dz-services__eyebrow,
.dz-tasks__eyebrow,
.dz-cases__eyebrow,
.dz-about__eyebrow,
.dz-process__eyebrow,
.dz-blog__eyebrow,
.dz-reviews__eyebrow,
.dz-seo-faq__eyebrow {
	font-size: var(--dz-type-eyebrow);
}

/* Filter labels */
.dz-cases__filter,
.dz-blog__filter {
	font-size: var(--dz-type-filter);
}

/* Header navigation */
.site-header__menu a,
.site-header__menu .sub-menu a {
	font-size: var(--dz-type-header-link);
}

/* Footer navigation */
.site-footer__column h2 {
	font-size: var(--dz-type-footer-title);
}

.site-footer__column a {
	font-size: var(--dz-type-footer-link);
}

.site-footer__legal a {
	font-size: var(--dz-type-footer-legal);
}
