/* Approved typography repair, 9 September 2026.
   This final layer adjusts large display type without scaling body text or controls. */
:root {
  --bt-repair-h1: clamp(2.5rem, 1.75rem + 2vw, 3.5rem);
  --bt-repair-h2: clamp(1.875rem, 1.25rem + 1.8vw, 2.875rem);
}

body h1 {
  font-size: var(--bt-repair-h1) !important;
  line-height: 1.1 !important;
  letter-spacing: -.035em !important;
  overflow-wrap: anywhere;
}

body :is(.hp-hero, .aud-hero, .rp-hero, .held-hero, .sc-hero, .block-hero, .iq-hero) h1 {
  font-size: clamp(2.25rem, 1.35rem + 2vw, 3rem) !important;
}

body :where(
  .about-company h2,
  .about-origin h2,
  .about-people h2,
  .about-principles h2,
  .about-products h2,
  .about-story h2,
  .access-genai h2,
  .access-route-card h2,
  .access-steps h2,
  .access-what-next h2,
  .answer-guide-check h2,
  .answer-guide-section h2,
  .architecture-heading h2,
  .architecture-images h2,
  .aud-evidence-status h2,
  .aud-independent h2,
  .aud-journey-heading h2,
  .aud-outcome h2,
  .aud-section-heading h2,
  .aud-worked-example-heading h2,
  .aud-workflow h2,
  .block-boundary h2,
  .block-interest-form-heading h2,
  .block-interest-success h2,
  .block-problem h2,
  .block-questions h2,
  .block-scope h2,
  .block-visuals h2,
  .bt-journey-map-heading h2,
  .c7-persona-section>h2,
  .c7-positioning-spine h2,
  .calc-result-heading h2,
  .calculator-shell h2,
  .calculator-tool .tool-intro h2,
  .common-path h2,
  .control-protected h2,
  .control-rule h2,
  .control-score-summary h2,
  .control-section-heading h2,
  .decision-heading h2,
  .decision-journey-heading h2,
  .engagement-band h2,
  .estate-map-layers h2,
  .estate-map-next h2,
  .estate-map-output h2,
  .estate-map-profile h2,
  .estate-map-why h2,
  .evidence-register-copy h2,
  .evidence-types h2,
  .fix-library-boundary h2,
  .fix-library-groups h2,
  .gdp-boundary h2,
  .gdp-card h2,
  .guide-groups h2,
  .guide-help h2,
  .guide-official h2,
  .held-next h2,
  .hp-difference-copy h2,
  .hp-genai-conversion h2,
  .hp-market-evidence-heading h2,
  .hp-method h2,
  .hp-one-lease .hp-offer-copy h2,
  .hp-one-lease h2,
  .hp-origin-copy h2,
  .hp-page .c7-proof-grid h2,
  .hp-page .hp-method h2,
  .hp-page .hp-one-lease h2,
  .hp-page .hp-products-heading h2,
  .hp-page .hp-proof h2,
  .hp-page .hp-section-heading h2,
  .hp-page h2,
  .hp-products-heading h2,
  .hp-proof h2,
  .hp-questions h2,
  .hp-section-heading h2,
  .hp-stories-heading h2,
  .integrated-quick-case-route h2,
  .iq-boundary h2,
  .iq-demo-copy h2,
  .iq-evidence-status h2,
  .iq-hero-proof h2,
  .iq-section-title h2,
  .iq-visual-proof h2,
  .layering-heading h2,
  .lease-explainer-heading h2,
  .lease-prompt-card-compact .lease-prompt-heading h2,
  .lease-prompt-heading h2,
  .legal-gate h2,
  .option-header h2,
  .page-map-heading h2,
  .pricing-boundary h2,
  .pricing-decision h2,
  .pricing-intro h2,
  .pricing-readiness-heading h2,
  .proof-case-heading h2,
  .proof-next h2,
  .proof-reading h2,
  .proof-register-heading h2,
  .proof-standard h2,
  .record-check-intro h2,
  .record-check-next h2,
  .record-check-output h2,
  .resources-boundary h2,
  .resources-register h2,
  .resources-section-heading h2,
  .route-register h2,
  .rp-related h2,
  .rp-section-heading h2,
  .rp-sources h2,
  .sc-related h2,
  .sc-section-heading h2,
  .sc-tool h2,
  .section-heading h2,
  .source-panel h2,
  .tool-held h2,
  .tool-privacy h2,
  .unified-next-route h2,
  .updates-boundary h2,
  .updates-register h2,
  .verify-brief h2,
  .verify-links h2,
  .verify-professional h2,
  .verify-rate h2,
  .verify-verdicts h2
) {
  font-size: var(--bt-repair-h2) !important;
  line-height: 1.15 !important;
  letter-spacing: -.03em !important;
  overflow-wrap: anywhere;
}

/* Proof headings sit inside cards, so they use the card scale. */
body .c7-proof-grid .hp-proof h2 {
  font-size: clamp(1.75rem, 1.25rem + 1vw, 2rem) !important;
}

/* Allow content to shrink within tracks before wrapping long words. */
:where(section, article, aside, nav, header, footer, main, figure, form, fieldset, div) {
  min-width: 0;
}
:where(h1, h2, h3, p, blockquote, cite, li, label, summary) {
  overflow-wrap: break-word;
}
:where(p, li, cite) a {
  overflow-wrap: anywhere;
}
:where(.hp-button, .bt-public-cta, .unified-next-actions a, .held-actions a, .held-actions button) {
  max-width: 100%;
  white-space: normal;
  height: auto;
  text-align: center;
}

@media (max-width: 720px) {
  :root {
    --bt-repair-h1: clamp(2.25rem, 1.75rem + 2vw, 2.75rem);
    --bt-repair-h2: clamp(1.75rem, 1.375rem + 1.6vw, 2.5rem);
  }
}

/* The hero already owns copy padding. Avoid a second gutter around it. */
body .hp-hero.hp-wrap { padding: 0 !important; min-height: 0; }
body .hp-hero-copy { padding: 52px 48px; }
body .hp-hero-image { min-height: 520px; }
body .hp-lead { font-size: 18px; line-height: 1.6; }

/* Room for the full ascenders and descenders in prominent proof figures. */
body .hp-market-evidence-grid a > strong,
body .evidence-register-number strong,
body .hp-proof-grid strong { line-height: 1.2; }

@media (max-width: 900px) {
  body .hp-human-bridge {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    min-height: 0;
    padding: 28px 24px;
  }
  body .hp-human-bridge strong {
    font-size: 28px;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }
  body .hp-hero-copy { padding: 36px 24px; }
  body .hp-hero-image { min-height: 320px; }
}

/* Native selects must fit the form track even when an option is long. */
.ij-leak-form { grid-template-columns: minmax(0, 1fr); }
.ij-leak-form label { min-width: 0; }
.ij-leak-form select { min-width: 0; width: 100%; box-sizing: border-box; }

/* Retain the footer's smaller original scale while applying the mobile cap. */
body .engagement-band h2 {
  font-size: min(clamp(28px, 3vw, 42px), var(--bt-repair-h2)) !important;
}
body .hp-page .c7-persona-final h2 {
  font-size: min(30px, var(--bt-repair-h2)) !important;
}
body .c7-positioning-spine h2 {
  font-size: min(clamp(28px, 3.5vw, 44px), var(--bt-repair-h2)) !important;
}
body .aud-independent h2 {
  font-size: min(clamp(30px, 3vw, 46px), var(--bt-repair-h2)) !important;
}
body .record-check-groups > section > h2 {
  font-size: min(28px, var(--bt-repair-h2)) !important;
}
body .resources-boundary h2 {
  font-size: min(34px, var(--bt-repair-h2)) !important;
}
body .integrated-quick-case-route h2 {
  font-size: min(clamp(1.75rem, 3vw, 3rem), var(--bt-repair-h2)) !important;
}
@media (min-width: 721px) {
  body .ij-paper h1 {
    font-size: min(clamp(2rem, 3.6vw, 3rem), var(--bt-repair-h1)) !important;
  }
}

/* Keep the proof number inside the narrow desktop evidence card. */
body .c7-proof-grid .hp-proof-grid strong {
  font-size: clamp(2rem, 3.5vw, 3rem) !important;
  overflow-wrap: anywhere;
}

/* Quick Case entry links need to wrap when the introductory copy is wide. */
body .ij-direct-entry { flex-wrap: wrap; }
body .ij-direct-entry > div { min-width: 0; }
body .ij-direct-links { flex-wrap: wrap; white-space: normal; }

/* Keep desktop navigation clear of the actions just above its breakpoint. */
@media (min-width: 1281px) and (max-width: 1360px) {
  body .bt-public-desktop-nav { gap: 8px !important; }
  body .bt-public-desktop-nav a { font-size: 13px !important; }
}
