:root {
  --type-page-title: clamp(3.25rem, 5.4vw, 5.25rem);
  --type-article-title: clamp(2.5rem, 5vw, 3.75rem);
  --type-section-title: clamp(2.25rem, 4.2vw, 3.625rem);
  --type-content-title: 1.875rem;
  --type-subsection-title: 1.375rem;
  --type-feature-title: clamp(2rem, 3vw, 2.625rem);
  --type-label: 0.75rem;
  --type-meta: 0.8125rem;
  --type-control: 0.875rem;
  --type-copy-small: 0.9375rem;
  --type-copy: 1rem;
  --type-copy-large: 1.125rem;
  --type-card-title: 1.25rem;
  --weight-heading: 700;
  --line-page-title: 0.98;
  --line-section-title: 1.06;
  --line-content-title: 1.2;
  --tracking-page-title: -0.055em;
  --tracking-section-title: -0.045em;
  --page-hero-padding-start: 3rem;
  --page-hero-padding-end: 4.5rem;
  --page-hero-breadcrumb-gap: 2rem;
  --page-hero-grid-gap: clamp(3rem, 4vw, 4rem);
  --heading-copy-gap: 1.25rem;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body { font-size: var(--type-copy); }

h1, h2, h3, h4, h5, h6 { font-family: var(--font-family-site); font-weight: var(--weight-heading); }

/* Structural type and spacing use semantic tokens across every page family. */

.hero h1,
.blog-hero h1,
.authors-hero-copy h1,
.commercial-hero-copy h1,
.download-hero-copy h1,
.hiw-hero-copy h1,
.trust-hero h1,
.ppp-hero h1,
.partnership-hero-copy h1,
.faq-hero h1,
.placeholder-card h1 {
  font-size: var(--type-page-title);
  font-weight: var(--weight-heading);
  line-height: var(--line-page-title);
  letter-spacing: var(--tracking-page-title);
}

html[data-locale="ja"] .hero h1,
html[data-locale="ja"] .download-hero-copy h1 { font-size: var(--type-page-title-cjk, var(--type-page-title)); line-height: 1.08; letter-spacing: -0.025em; overflow-wrap: anywhere; }

html[data-locale="zh-CN"] .hero h1,
html[data-locale="zh-CN"] .download-hero-copy h1 { font-size: var(--type-page-title-cjk, var(--type-page-title)); line-height: 1.08; letter-spacing: 0; overflow-wrap: anywhere; }

.article-header h1 {
  font-size: var(--type-article-title);
  font-weight: var(--weight-heading);
  line-height: 1.05;
  letter-spacing: var(--tracking-section-title);
}

.section-heading h2,
.how-grid h2,
.results-grid h2,
.support-grid h2,
.partnership-copy h2,
.faq-grid h2,
.ppp-page h2,
.commercial-section-heading h2,
.commercial-copy-grid h2,
.commercial-evidence h2,
.commercial-trust h2,
.commercial-related h2,
.commercial-final h2,
.download-heading h2,
.download-after-grid h2,
.download-final h2,
.hiw-heading h2,
.hiw-decision-copy h2,
.hiw-fuel h2,
.hiw-final h2,
.blog-section-title h2,
.blog-section-title .heading-like,
.authors-section h2,
.authors-contact h2,
.final-cta h2 {
  font-size: var(--type-section-title);
  font-weight: var(--weight-heading);
  line-height: var(--line-section-title);
  letter-spacing: var(--tracking-section-title);
}

html[data-locale="zh-CN"] .download-heading h2,
html[data-locale="zh-CN"] .download-after-grid h2,
html[data-locale="zh-CN"] .download-final h2,
html[data-locale="zh-CN"] .final-cta h2 { letter-spacing: 0; }

.partnership-heading h2,
.partnership-product-copy h2,
.partnership-apply-grid > div > h2,
.faq-group h2,
.faq-final h2 {
  font-size: var(--type-section-title);
  font-weight: var(--weight-heading);
  line-height: var(--line-section-title);
  letter-spacing: var(--tracking-section-title);
}

.partnership-card-grid h3,
.partnership-steps h3,
.faq-quick-topics h2 {
  font-size: var(--type-subsection-title);
  font-weight: var(--weight-heading);
  line-height: 1.25;
}

.article-content h2,
.trust-content h2,
.contact-support-card h2,
.contact-form-heading h2,
.contact-social-copy h2,
.commercial-facts h2,
.related-state h2 {
  font-size: var(--type-content-title);
  font-weight: var(--weight-heading);
  line-height: var(--line-content-title);
  letter-spacing: -0.035em;
}

.article-content h3,
.trust-content h3,
.commercial-card-grid h3,
.ppp-step-grid h3,
.ppp-feature-grid h3,
.ppp-status-copy h3 { font-size: var(--type-subsection-title); font-weight: var(--weight-heading); line-height: 1.25; }

.blog-card h2,
.about-author h2,
.trust-glance > h2,
.contact-route-cards h3,
.commercial-scenario-grid h3,
.commercial-workflow h3,
.commercial-platform-grid h3,
.ppp-game-grid h3 { font-size: var(--type-card-title); font-weight: var(--weight-heading); line-height: 1.3; }

.solution-card h3 { font-size: var(--type-feature-title); font-weight: var(--weight-heading); line-height: 1; }

.blog-hero,
.authors-hero,
.commercial-hero,
.download-hero,
.hiw-hero,
.trust-hero,
.faq-hero,
.ppp-hero { padding-block: var(--page-hero-padding-start) var(--page-hero-padding-end); }

.blog-hero .blog-breadcrumbs,
.authors-hero .blog-breadcrumbs,
.commercial-hero .blog-breadcrumbs,
.download-hero .blog-breadcrumbs,
.hiw-hero .blog-breadcrumbs,
.trust-hero .blog-breadcrumbs,
.faq-hero .blog-breadcrumbs,
.ppp-hero .blog-breadcrumbs { margin-bottom: var(--page-hero-breadcrumb-gap); }

.commercial-hero-grid,
.authors-hero-grid,
.hiw-hero-grid,
.trust-hero-grid,
.ppp-hero-grid { gap: var(--page-hero-grid-gap); }

.hero h1,
.blog-hero h1,
.authors-hero-copy h1,
.commercial-hero-copy h1,
.download-hero-copy h1,
.hiw-hero-copy h1,
.trust-hero h1 { margin-bottom: var(--heading-copy-gap); }

.ppp-hero-copy > p { margin-top: var(--heading-copy-gap); }

/* Shared navigation, controls, notices and footer */

.skip-link,
.desktop-nav > a,
.nav-group > button,
.login-link,
.button { font-size: var(--type-control); }

.age-bar,
.menu-label,
.footer-grid strong,
.social-label { font-size: var(--type-label); line-height: 1.45; }

.brand-mark { font-size: var(--type-copy-small); }

.mega-menu strong { font-size: var(--type-copy); }

.mega-menu span,
.language-pill,
.drawer-cards span { font-size: var(--type-meta); }

.drawer-cards strong,
.drawer-links a { font-size: var(--type-copy-small); }

.drawer-footer { font-size: var(--type-control); }

.eyebrow,
.card-kicker { font-size: var(--type-label); }

.hero-lead { font-size: var(--type-copy-large); }

.text-link,
.card-link { font-size: var(--type-control); }

/* The hero product visualization remains compact, but no visible label collapses to 4-7px. */

.workspace-brand strong { font-size: clamp(0.625rem, 1.1vw, 0.8125rem); }

.workspace-brand small,
.workspace-status,
.workspace-panel-meta,
.table-pot,
.table-captured,
.action-card span,
.review-pill { font-size: clamp(0.5625rem, 0.7vw, 0.6875rem); }

.table-seat { font-size: clamp(0.5rem, 0.64vw, 0.625rem); }

.insight-tags span,
.insight-tags b { font-size: clamp(0.5625rem, 0.65vw, 0.6875rem); }

.workspace-insight > small { font-size: clamp(0.625rem, 0.75vw, 0.75rem); }

.action-card strong { font-size: clamp(0.9375rem, 1.7vw, 1.25rem); }

.proof-grid strong,
.result-number span,
.results-proof figcaption span,
.partner-metric span { font-size: var(--type-label); }

.section-heading p,
.how-grid p,
.results-grid > div > p,
.support-grid > div > p,
.partnership-copy > p,
.faq-grid > div > p { font-size: var(--type-copy); line-height: 1.65; }

.solution-card p { font-size: var(--type-copy); line-height: 1.6; }

.solution-card li,
.how-steps span { font-size: var(--type-control); line-height: 1.5; }

.console-top em,
.console-body small { font-size: var(--type-label); }

.console-row { font-size: var(--type-label); }

.video-label span { font-size: var(--type-label); }

.video-label strong { font-size: var(--type-control); }

.platform-card p,
.capability-grid p { font-size: var(--type-control); line-height: 1.6; }

.secondary-platform-label,
.support-links span,
.help-card small,
.article-visual small { font-size: var(--type-label); }

.secondary-platform-room strong,
.results-proof figcaption strong { font-size: var(--type-control); }

.steps-grid p { font-size: var(--type-copy-small); line-height: 1.6; }

.steps-grid .step-index { font-size: 1.25rem; line-height: 1; }

.steps-grid a,
.help-card a { font-size: var(--type-control); }

.support-links strong { font-size: var(--type-copy); }

.help-card p { font-size: var(--type-copy-small); line-height: 1.6; }

.article-meta { font-size: var(--type-meta); }

.faq-list summary { font-size: var(--type-copy); }

.faq-list details p { font-size: var(--type-copy-small); line-height: 1.6; }

.footer-grid a,
.footer-brand p { font-size: var(--type-meta); line-height: 1.6; }

.footer-bottom,
.footer-bottom a,
.footer-bottom button { font-size: var(--type-label); line-height: 1.5; }

.age-gate-card > p { font-size: var(--type-copy); line-height: 1.6; }

.age-gate-card > small { font-size: var(--type-label); line-height: 1.5; }

.cookie-banner-copy strong { font-size: var(--type-control); }

.cookie-banner-copy p { font-size: var(--type-meta); line-height: 1.55; }

.cookie-preferences-intro,
.cookie-category strong { font-size: var(--type-control); }

.cookie-category small { font-size: var(--type-meta); line-height: 1.5; }

/* Blog, article and Editorial Team */

.blog-topic-link { font-size: var(--type-label); }

.blog-breadcrumbs { font-size: var(--type-meta); }

.blog-search label { font-size: var(--type-control); }

.blog-search input { font-size: var(--type-copy); }

.blog-search .button,
.topic-nav a { font-size: var(--type-control); }

.blog-section-title > p { font-size: var(--type-copy); }

.blog-card h2 { font-size: var(--type-card-title); }

.blog-card-copy > p { font-size: var(--type-copy); line-height: 1.62; }

.blog-card-meta { font-size: var(--type-meta); }

.blog-card-read { font-size: var(--type-control); }

.byline-detail,
.article-views { font-size: var(--type-control); }

.byline-detail > span:first-child { font-size: var(--type-label); }

.byline-author > span:first-child { font-size: var(--type-label); }

.article-views > span { font-size: var(--type-meta); }

.share-control .button { font-size: var(--type-control); }

.share-status,
.article-hero-image figcaption { font-size: var(--type-meta); }

.article-checklist > p,
.article-checklist ul { font-size: var(--type-copy); }

.article-callout strong,
.article-callout p,
.source-list { font-size: var(--type-copy); }

.article-inline-figure figcaption,
.article-video figcaption { font-size: var(--type-meta); }

.article-table-wrap table { font-size: var(--type-copy-small); }

.article-table-wrap thead th,
.article-cta span { font-size: var(--type-label); }

.article-table-wrap tbody th { font-size: var(--type-control); }

.article-cta strong { font-size: var(--type-card-title); }

.about-author p { font-size: var(--type-copy); }

.about-author a { font-size: var(--type-control); }

.responsible-note { font-size: var(--type-control); }

.desktop-toc p { font-size: var(--type-control); }

.desktop-toc a { font-size: var(--type-control); }

.desktop-toc a::before { font-size: var(--type-label); }

.authors-workflow-head span,
.authors-workflow-roles span,
.standards-links span { font-size: var(--type-label); }

.expertise-list span { font-size: var(--type-meta); }

.process-grid p { font-size: var(--type-copy-small); }

.standards-links strong { font-size: var(--type-copy-small); }

.mobile-toc a { font-size: var(--type-control); }

/* Commercial product pages */

.commercial-console-top { font-size: var(--type-label); }

.commercial-console-title > span,
.commercial-console-grid small { font-size: var(--type-label); }

.commercial-console-grid strong { font-size: var(--type-copy); }

.commercial-console-body > p { font-size: var(--type-label); line-height: 1.5; }

.commercial-facts h2 { font-size: var(--type-content-title); }

.commercial-facts span { font-size: var(--type-label); }

.commercial-facts strong { font-size: var(--type-copy); }

.commercial-section-heading > p,
.commercial-evidence-grid > div > p,
.commercial-trust p,
.commercial-related p { font-size: var(--type-copy); line-height: 1.65; }

.commercial-card-grid article > span,
.commercial-scenario-grid article > span,
.commercial-workflow li > span,
.commercial-media-card > span { font-size: var(--type-label); }
