/* Shared readability refinements on top of the current master-site release. */
:root {
  --type-lead: clamp(1.125rem, 1rem + 0.4vw, 1.375rem);
  --type-body: 1rem;
  --type-small: 0.875rem;
  --type-caption: 0.8125rem;
}

/* Keep the existing display sizes, with enough room for multiline titles.
   Match the legacy override scope because page styles also use !important. */
html:not(#legacy-typeface) body h1 {
  line-height: 1.1 !important;
  letter-spacing: -0.045em !important;
  text-wrap: balance;
}

html:not(#legacy-typeface) body h2 {
  line-height: 1.18 !important;
  letter-spacing: -0.035em !important;
}

html:not(#legacy-typeface) body h3 {
  line-height: 1.25 !important;
  letter-spacing: -0.025em !important;
}

html:not(#legacy-typeface) body .weekly-item :is(h2, h3) {
  font-size: 1.25rem !important;
  line-height: 1.4 !important;
}

/* Lead copy stays readable at every breakpoint. Color is deliberately scoped
   to the dark hero surfaces below, rather than forced onto light sections. */
html:not(#legacy-typeface) body :is(
  .idx-hero-sub, .hero-sub, .pricing-hero-desc, .podcast-hero-sub,
  .research-hero-sub, .archive-hero-sub, .vendors-hero-desc,
  .careers-hero-sub, .events-hero-sub, .mm-subtitle,
  .editorial-hero-copy, .weekly-hero-copy, .reports-hero-copy,
  .work-hero-copy > p, .campaign-hero-intro > p
) {
  font-size: var(--type-lead) !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  letter-spacing: -0.01em !important;
  text-wrap: pretty;
}

html:not(#legacy-typeface) body :is(
  .idx-hero-sub, .hero-sub, .pricing-hero-desc, .podcast-hero-sub,
  .research-hero-sub, .archive-hero-sub, .vendors-hero-desc,
  .careers-hero-sub, .events-hero-sub, .mm-subtitle,
  .editorial-hero-copy, .weekly-hero-copy, .work-hero-copy > p, .campaign-hero-intro > p
) {
  color: #c5c7ce !important;
}

html:not(#legacy-typeface) body :is(
  .section-desc, .bento-desc, .feature-desc, .category-card-desc,
  .iaas-card-desc, .report-showcase-desc, .editorial-card-excerpt,
  .weekly-item-excerpt, .intake-subtitle, .intake-success-sub
) {
  font-size: var(--type-body) !important;
  line-height: 1.65 !important;
  letter-spacing: 0;
  text-wrap: pretty;
}

html:not(#legacy-typeface) body :is(
  .site-final-cta-sub, .idx-final-cta-sub, .newsletter-cta-sub, .guest-cta-sub
) {
  font-size: var(--type-lead) !important;
  line-height: 1.6 !important;
}

html:not(#legacy-typeface) body :is(.nav-link, .nav-actions .btn) {
  font-size: 0.9375rem;
}

html:not(#legacy-typeface) body :is(.footer-desc, .footer-link, .footer-copy) {
  font-size: var(--type-small);
  line-height: 1.6;
}

/* Small supporting text should still read as text, not visual texture. */
html:not(#legacy-typeface) body :is(
  .hero-proof, .research-hero-proof, .podcast-hero-badge,
  .hero-eyebrow, .research-hero-badge, .editorial-hero-label
) {
  font-size: var(--type-caption) !important;
  line-height: 1.5 !important;
  letter-spacing: 0.04em;
}

/* A readable input size also avoids automatic input zoom on mobile Safari. */
html:not(#legacy-typeface) body :is(
  .home-hero-signup, .signup-form, .editorial-signup, .intake-form
) :is(input:not([type='checkbox']):not([type='radio']), select, textarea) {
  font-size: var(--type-body) !important;
}

/* Retain the master homepage and dedicated Insights page layouts. */
html[data-theme] body.home-refined.home-openai-clean {
  --home-body: #bfc0bb;
  --home-muted: #a0a19c;
}
html:not(#legacy-typeface) body .nav .nav-links .nav-link {
  font-size: 0.9375rem !important;
}
html:not(#legacy-typeface) body .nav .nav-actions > .btn {
  font-size: var(--type-small) !important;
}
html:not(#legacy-typeface) body :is(
  .home-hero-signup-status, .home-hero-trust > p, .home-publications-updated,
  .home-publication-meta, .home-research-meta, .home-platform-proof,
  .master-reader-trust > p, .master-eyebrow, .campaign-hero-metrics dt
) {
  font-size: var(--type-caption) !important;
  line-height: 1.5;
}
html:not(#legacy-typeface) body :is(
  .home-publication-row p, .home-research-feature p, .home-research-row p,
  .master-capabilities a span:nth-child(2), .campaign-outcomes p,
  .campaign-disclosure-body > p, .campaign-case > p
) {
  font-size: var(--type-body) !important;
  line-height: 1.6;
}
.master-home :is(.master-offering p, .master-capabilities a span:nth-child(2), .master-perspective-copy p) {
  color: #bfc0bb;
}
.home-openai-clean .home-research-meta { flex-wrap: wrap; }
@media (max-width: 1000px) {
  .home-openai-clean .home-publication-row p { display: block; grid-column: 2; grid-row: 2; }
  .home-openai-clean .home-publication-arrow { grid-column: 3; grid-row: 1; }
}
@media (max-width: 700px) {
  .home-openai-clean .home-publication-row p { grid-column: 1; grid-row: 3; }
  .home-openai-clean .home-publication-arrow { grid-column: 2; grid-row: 1 / span 2; }
  .home-openai-clean .home-section-head { align-items: flex-start; flex-direction: column; gap: 12px; }
  .home-openai-clean .home-section-head a { font-size: var(--type-small); white-space: nowrap; }
}
