/**
 * DBM accessible type scale — single source of truth for v6 shell, ICP, brand pages.
 *
 * Targets WCAG 2.2 readability:
 * - Body copy ≥ 19px (1.1875rem) at default browser settings
 * - Secondary UI ≥ 16px (1rem)
 * - Labels / eyebrows ≥ 14px (0.875rem), uppercase + tracking
 * - Prose line-height ≥ 1.65 (exceeds 1.5 recommendation)
 * - rem units so user font preferences scale correctly
 */

:root,
.dbm-landing,
.dbm-landing--v6,
body.dbm-landing--v6-inner {
	--dbm-text-xs: 1rem;           /* 16px — kicker, label, mono */
	--dbm-text-sm: 1.125rem;       /* 18px — meta, trust */
	--dbm-text-btn: 1.125rem;      /* 18px — buttons */
	--dbm-text-base: 1.3125rem;    /* 21px — body */
	--dbm-text-md: 1.4375rem;      /* 23px — lead / card body */
	--dbm-text-lg: 1.5rem;         /* 24px — card titles, h3 */
	--dbm-text-xl: 1.75rem;        /* 28px */
	--dbm-line-tight: 1.25;
	--dbm-line-body: 1.65;
	--dbm-line-loose: 1.75;
}

/* ── Root size on all managed landings ── */
.dbm-landing--v6,
body.dbm-landing--v6-inner,
.dbm-icp,
body.dbm-landing--v6-inner .dbm-icp {
	font-size: var(--dbm-text-base);
	line-height: var(--dbm-line-body);
}

/* ICP aliases → shared tokens */
.dbm-icp,
body.dbm-landing--v6-inner .dbm-icp {
	--icp-text-sm: var(--dbm-text-sm);
	--icp-text-md: var(--dbm-text-base);
	--icp-text-lg: var(--dbm-text-lg);
	--icp-step-title: var(--dbm-text-lg);
	--icp-step-body: var(--dbm-text-md);
}

/* ── Home v6 — section & hero ── */
.dbm-landing--v6 .dbm-sec-h2,
.dbm-landing--v6 .dbm-v6-human-h {
	font-size: clamp(1.875rem, 3.5vw, 2.875rem) !important;
	line-height: var(--dbm-line-tight) !important;
}

.dbm-landing--v6 .dbm-sec-sub,
.dbm-landing--v6 .dbm-v6-sub,
.dbm-landing--v6 .dbm-band-problem .dbm-sec-sub {
	font-size: var(--dbm-text-md) !important;
	line-height: var(--dbm-line-body) !important;
}

.dbm-landing--v6 .dbm-sec-label,
.dbm-landing--v6 .dbm-v6-eyebrow,
.dbm-landing--v6 .dbm-v6-eyebrow-mark + span,
.dbm-landing--v6 .dbm-logos-label,
.dbm-landing--v6 .dbm-logos-band-label {
	font-size: var(--dbm-text-xs) !important;
	line-height: 1.45 !important;
}

.dbm-landing--v6 .dbm-v6-display {
	font-size: clamp(2.35rem, 5.2vw, 3.5rem) !important;
	line-height: 1.08 !important;
}

.dbm-landing--v6 .dbm-stat-cell-v {
	font-size: clamp(1.75rem, 3.2vw, 2.5rem) !important;
}

.dbm-landing--v6 .dbm-stat-cell-l,
.dbm-landing--v6 .dbm-proof-stat span {
	font-size: var(--dbm-text-xs) !important;
	line-height: 1.45 !important;
}

.dbm-landing--v6 .dbm-proof-stat strong {
	font-size: clamp(1.75rem, 3.2vw, 2.5rem) !important;
}

/* ── Buttons & UI chrome ── */
.dbm-landing--v6 .dbm-btn,
.dbm-landing--v6 .dbm-v6-btn,
.dbm-landing .dbm-btn,
body.dbm-landing--v6-inner .dbm-v6-shell .dbm-btn {
	font-size: var(--dbm-text-btn) !important;
	line-height: 1.35 !important;
	min-height: 52px;
}

.dbm-landing--v6 .dbm-micro-trust,
.dbm-landing--v6 .dbm-v6-trust,
.dbm-landing--v6 .dbm-hero-trust {
	font-size: var(--dbm-text-sm) !important;
	line-height: var(--dbm-line-body) !important;
}

/* ── Cards, matrix, FAQ on home v6 ── */
.dbm-landing--v6 .dbm-v6-human-card-title,
.dbm-landing--v6 .dbm-cmp-matrix__cell,
.dbm-landing--v6 .dbm-faq-q,
.dbm-landing--v6 .dbm-faq-a,
.dbm-landing--v6 .dbm-v6-card-h,
.dbm-landing--v6 .dbm-v6-card-p {
	font-size: var(--dbm-text-base) !important;
	line-height: var(--dbm-line-body) !important;
}

.dbm-landing--v6 .dbm-cmp-matrix__head,
.dbm-landing--v6 .dbm-fx-card-head {
	font-size: var(--dbm-text-xs) !important;
	line-height: 1.45 !important;
}

.dbm-landing--v6 .dbm-fx-card-head strong {
	font-size: var(--dbm-text-sm) !important;
}

/* ── Brand / company / services inner pages ── */
body.dbm-landing--v6-inner .dbm-brand-kicker {
	font-size: var(--dbm-text-xs) !important;
	line-height: 1.45 !important;
}

body.dbm-landing--v6-inner .dbm-brand-h1 {
	font-size: clamp(2rem, 3.75vw, 2.75rem) !important;
	line-height: var(--dbm-line-tight) !important;
}

body.dbm-landing--v6-inner .dbm-brand-h2 {
	font-size: clamp(1.5rem, 2.5vw, 1.875rem) !important;
	line-height: var(--dbm-line-tight) !important;
}

body.dbm-landing--v6-inner .dbm-brand-h3 {
	font-size: var(--dbm-text-lg) !important;
	line-height: var(--dbm-line-tight) !important;
}

body.dbm-landing--v6-inner .dbm-brand-lede,
body.dbm-landing--v6-inner .dbm-brand-doc p,
body.dbm-landing--v6-inner .dbm-brand-list li,
body.dbm-landing--v6-inner .dbm-brand-co-panel p {
	font-size: var(--dbm-text-md) !important;
	line-height: var(--dbm-line-body) !important;
}

body.dbm-landing--v6-inner .dbm-brand-btn {
	font-size: var(--dbm-text-btn) !important;
	min-height: 52px;
}

body.dbm-landing--v6-inner .dbm-stat-cell-v {
	font-size: clamp(1.75rem, 3.2vw, 2.5rem) !important;
}

body.dbm-landing--v6-inner .dbm-stat-cell-l {
	font-size: var(--dbm-text-xs) !important;
}

.dbm-icp-proof-num {
	font-size: clamp(1.75rem, 3.2vw, 2.5rem) !important;
}

.dbm-icp-result-stat {
	font-size: clamp(1.75rem, 3vw, 2.35rem) !important;
}

body.dbm-landing--v6-inner .dbm-brand-inline-nav a,
body.dbm-landing--v6-inner .dbm-co-jump-nav a {
	font-size: var(--dbm-text-xs) !important;
}

body.dbm-landing--v6-inner .dbm-brand-faq dt,
body.dbm-landing--v6-inner .dbm-faq-wrap .dbm-faq-q {
	font-size: var(--dbm-text-md) !important;
	line-height: var(--dbm-line-body) !important;
	font-weight: 600 !important;
}

body.dbm-landing--v6-inner .dbm-brand-faq dd,
body.dbm-landing--v6-inner .dbm-faq-wrap .dbm-faq-a {
	font-size: var(--dbm-text-base) !important;
	line-height: var(--dbm-line-body) !important;
}

.dbm-icp-compare-head {
	font-size: var(--dbm-text-sm) !important;
}

.dbm-icp-compare-list li {
	font-size: var(--dbm-text-base) !important;
	line-height: var(--dbm-line-body) !important;
}

.dbm-icp-cta-note,
.dbm-icp-cta-eyebrow {
	font-size: var(--dbm-text-sm) !important;
}

/* ── ICP pages ── */
.dbm-icp-eyebrow,
.dbm-icp-label,
.dbm-icp-cta-eyebrow {
	font-size: var(--dbm-text-xs) !important;
	line-height: 1.45 !important;
}

.dbm-icp-h1,
.dbm-icp-section h1,
.dbm-icp-hero h1 {
	font-size: clamp(2.35rem, 5.2vw, 3.5rem) !important;
	line-height: 1.08 !important;
}

.dbm-icp-h2,
.dbm-icp-section h2,
.dbm-icp-wrap h2 {
	font-size: clamp(1.875rem, 3.5vw, 2.875rem) !important;
	line-height: var(--dbm-line-tight) !important;
}

.dbm-icp-cta .dbm-icp-cta-h,
.dbm-icp-cta h2,
.dbm-icp-section.dbm-icp-cta h2 {
	font-size: clamp(1.875rem, 3.5vw, 2.875rem) !important;
	line-height: var(--dbm-line-tight) !important;
	color: #ffffff !important;
}

.dbm-icp-sub,
.dbm-icp-sec-sub,
.dbm-icp-cta-sub {
	font-size: var(--dbm-text-md) !important;
	line-height: var(--dbm-line-body) !important;
}

.dbm-icp-cta .dbm-icp-cta-sub {
	color: #cbd5e1 !important;
}

.dbm-icp-cta .dbm-icp-cta-note {
	color: #94a3b8 !important;
}

.dbm-icp-section h3,
.dbm-icp-wrap h3,
.dbm-icp-card-h {
	font-size: var(--dbm-text-lg) !important;
	line-height: var(--dbm-line-tight) !important;
}

.dbm-icp-card-p,
.dbm-icp .elementor-widget-text-editor p,
.dbm-icp-section p:not([class]),
.dbm-icp-compare-list li,
.dbm-icp-faq-a {
	font-size: var(--dbm-text-base) !important;
	line-height: var(--dbm-line-body) !important;
}

.dbm-icp-btn {
	font-size: var(--dbm-text-btn) !important;
	min-height: 52px;
}

.dbm-icp-step h3,
.dbm-icp-step .dbm-icp-step-h,
.dbm-icp-step .dbm-icp-step-title,
.dbm-icp-step-title {
	font-size: var(--dbm-text-lg) !important;
	line-height: var(--dbm-line-tight) !important;
}

.dbm-icp-step p,
.dbm-icp-step .dbm-icp-step-p,
.dbm-icp-step .dbm-icp-step-desc,
.dbm-icp-step-desc {
	font-size: var(--dbm-text-md) !important;
	line-height: var(--dbm-line-body) !important;
}

.dbm-icp-step-num {
	font-size: var(--dbm-text-base) !important;
}

.dbm-icp-step-time {
	font-size: var(--dbm-text-xs) !important;
}

.dbm-icp-section .dbm-icp-faq-q,
.dbm-icp-wrap .dbm-icp-faq-q,
.dbm-icp-faq-q,
.dbm-landing--v6 .dbm-faq-q {
	font-size: var(--dbm-text-md) !important;
	line-height: var(--dbm-line-body) !important;
	font-weight: 600 !important;
}

.dbm-icp-faq-a,
.dbm-landing--v6 .dbm-faq-a {
	font-size: var(--dbm-text-base) !important;
	line-height: var(--dbm-line-body) !important;
}

.dbm-icp-proof-lbl,
.dbm-landing--v6 .dbm-proof-stat span {
	font-size: var(--dbm-text-sm) !important;
	line-height: 1.5 !important;
}

.dbm-icp-breadcrumb,
.dbm-icp-hero-trust,
.dbm-icp-cta-note,
.dbm-icp-result-desc {
	font-size: var(--dbm-text-sm) !important;
	line-height: var(--dbm-line-body) !important;
}

.dbm-icp-result-label {
	font-size: var(--dbm-text-base) !important;
}

/* ── Elementor prose on v6 inner pages ── */
body.dbm-landing--v6-inner .elementor-widget-text-editor,
body.dbm-landing--v6-inner .elementor-widget-text-editor p,
body.dbm-landing--v6-inner .elementor-widget-theme-post-content p {
	font-size: var(--dbm-text-base) !important;
	line-height: var(--dbm-line-body) !important;
}

body.dbm-landing--v6-inner .elementor-heading-title {
	line-height: var(--dbm-line-tight) !important;
}

/* ── v6 shell header / footer nav ── */
.dbm-v6-mega__trigger,
.dbm-v6-mega__link,
.dbm-v6-sitehead__burger,
.dbm-v6-sitehead__ghost,
.dbm-v6-sitehead__solid,
.dbm-v6-mega__col a,
.dbm-v6-mega__col p {
	font-size: var(--dbm-text-base) !important;
	line-height: var(--dbm-line-body) !important;
}

.dbm-v6-sitefoot:not(.dbm-v6-sitefoot--enterprise) a,
.dbm-v6-sitefoot:not(.dbm-v6-sitefoot--enterprise) p {
	font-size: var(--dbm-text-sm) !important;
	line-height: var(--dbm-line-body) !important;
}

.dbm-v6-mega__link--quiet {
	font-size: var(--dbm-text-sm) !important;
}

.dbm-v6-mega__k {
	font-size: var(--dbm-text-xs) !important;
	line-height: 1.45 !important;
}

.dbm-v6-mega__entry strong {
	font-size: var(--dbm-text-sm) !important;
	line-height: 1.35 !important;
}

.dbm-v6-mega__entry em {
	font-size: var(--dbm-text-xs) !important;
	line-height: 1.45 !important;
}

/* ── Blog (when v6-blog loaded) ── */
body.dbm-landing--v6-inner.dbm-landing--v6-blog .dbm-blog-card-excerpt,
body.dbm-landing--v6-inner.dbm-landing--v6-post .dbm-post-prose p {
	font-size: var(--dbm-text-base) !important;
	line-height: var(--dbm-line-loose) !important;
}

/* Respect user motion preferences — no type animation here */
@media (prefers-reduced-motion: reduce) {
	.dbm-icp-step,
	.dbm-landing--v6 .dbm-reveal {
		transition-duration: 0.01ms !important;
	}
}
