/* Single typography scale for index 4. Layout and animation sheets do not set its final type sizes. */
body.hybrid-page {
  --type-body: 1rem;
  --type-small: .875rem;
  --type-card: clamp(1.5rem, 2vw, 1.75rem);
  --type-heading: clamp(2rem, 3.1vw, 2.75rem);
  --type-display: clamp(2.75rem, 5vw, 4.5rem);
  --muted: #675a59;
  font-size: var(--type-body);
  line-height: 1.75;
}
/* Main copy always uses the same 16px base, on both mobile and desktop. */
body.hybrid-page .hero-intro,
body.hybrid-page .section-intro,
body.hybrid-page .section-heading > p,
body.hybrid-page .compact-paths .path-card > p,
body.hybrid-page .process-card p,
body.hybrid-page .quiet-list,
body.hybrid-page .founder-layout > div > p:not(.section-intro),
body.hybrid-page blockquote,
body.hybrid-page .hybrid-method-card > p,
body.hybrid-page .method-next-step p,
body.hybrid-page .faq-layout .section-intro,
body.hybrid-page .faq-item p,
body.hybrid-page .enquiry-result > p:not(.privacy-note),
body.hybrid-page .enquiry-result dl > div,
body.hybrid-page .quick-enquiry-review dl > div,
body.hybrid-page .footer-top > div > p,
body.hybrid-page .footer-top > div > a:not(.brand) {
  font-size: var(--type-body);
  line-height: 1.8;
}
/* 14px minimum for readable supporting text, labels, navigation and actions. */
body.hybrid-page .header-inner nav,
body.hybrid-page .header-inner .button,
body.hybrid-page .nav-toggle,
body.hybrid-page .button,
body.hybrid-page .hero-contact-panel .button,
body.hybrid-page .actions .button,
body.hybrid-page .text-link,
body.hybrid-page .actions .text-link,
body.hybrid-page .faq-item .text-link,
body.hybrid-page .eyebrow,
body.hybrid-page .hero .eyebrow,
body.hybrid-page .hero-contact-panel > .eyebrow,
body.hybrid-page .compact-paths .path-card > .eyebrow,
body.hybrid-page .wagon-wheel-heading .eyebrow,
body.hybrid-page .hybrid-voice-card figcaption .eyebrow,
body.hybrid-page .microcopy,
body.hybrid-page .hero-contact-intro,
body.hybrid-page .quick-enquiry-form label:not(.quick-consent),
body.hybrid-page .quick-enquiry-form label > span,
body.hybrid-page .quick-consent span,
body.hybrid-page .quick-note,
body.hybrid-page .quick-enquiry-review > p,
body.hybrid-page .quick-edit,
body.hybrid-page .compact-paths .paths-heading > p,
body.hybrid-page .compact-paths .path-action,
body.hybrid-page .compact-paths .trust-strip,
body.hybrid-page .step-number,
body.hybrid-page .help-note,
body.hybrid-page .privacy-note,
body.hybrid-page .edit-button,
body.hybrid-page .founder-facts span,
body.hybrid-page .founder-photo figcaption > span,
body.hybrid-page .testimonial figcaption > span,
body.hybrid-page .wagon-wheel-card figcaption,
body.hybrid-page .wagon-wheel-card figcaption .text-link,
body.hybrid-page .wagon-wheel-note,
body.hybrid-page .footer-socials,
body.hybrid-page .footer-bottom,
body.hybrid-page .mobile-enquiry-rail > span,
body.hybrid-page .mobile-enquiry-rail .button,
body.hybrid-page .hero-contact-panel noscript {
  font-size: var(--type-small);
  line-height: 1.65;
}
body.hybrid-page .eyebrow,
body.hybrid-page .hero .eyebrow,
body.hybrid-page .hero-contact-panel > .eyebrow {
  letter-spacing: .075em;
}
body.hybrid-page .quick-enquiry-form input:not([type=checkbox]),
body.hybrid-page .quick-enquiry-form select,
body.hybrid-page .enquiry-panel select,
body.hybrid-page .radio-options label > span {
  font-size: var(--type-body);
  line-height: 1.5;
}
body.hybrid-page .enquiry-panel legend,
body.hybrid-page .field-label {
  font-size: var(--type-small);
  font-weight: 500;
  line-height: 1.65;
}
/* Three heading levels, with smaller titles inside cards and forms. */
body.hybrid-page .hero h1 {
  font-size: var(--type-display);
  line-height: 1.08;
}
body.hybrid-page h2,
body.hybrid-page .founder-layout h2,
body.hybrid-page .compact-paths .paths-heading h2 {
  font-size: var(--type-heading);
  line-height: 1.18;
}
body.hybrid-page h3,
body.hybrid-page .compact-paths .path-card > h3,
body.hybrid-page .process-card h3,
body.hybrid-page .hybrid-method-header h3,
body.hybrid-page .hybrid-support-card h3,
body.hybrid-page .hybrid-voice-card h3,
body.hybrid-page .wagon-wheel-heading h3,
body.hybrid-page .testimonial figcaption,
body.hybrid-page .founder-photo figcaption {
  font-size: var(--type-card);
  line-height: 1.25;
}
body.hybrid-page .hero-contact-panel > h2,
body.hybrid-page .enquiry-result h3,
body.hybrid-page .quick-enquiry-review h3 {
  font-size: 2rem;
  line-height: 1.2;
}
body.hybrid-page .faq-item summary,
body.hybrid-page .founder-facts strong {
  font-size: 1.375rem;
  line-height: 1.4;
}
body.hybrid-page .footer-top h2 {
  font: 500 var(--type-small)/1.65 Inter, Arial, sans-serif;
  letter-spacing: .075em;
}
/* Let enlarged text wrap naturally instead of clipping cards or narrow captions. */
body.hybrid-page .hero .line-label { flex-wrap: wrap; }
body.hybrid-page .quick-form-grid { gap: 14px; }
body.hybrid-page .quick-consent { align-items: flex-start; }
body.hybrid-page .quick-note { text-align: left; }
body.hybrid-page .wagon-wheel-card figcaption { flex-wrap: wrap; }
body.hybrid-page .wagon-wheel-card figcaption > span { max-width: none; }
body.hybrid-page .wagon-wheel-card figcaption .text-link { white-space: normal; }
body.hybrid-page .footer-bottom { gap: 14px 24px; }
body.hybrid-page .footer-bottom p { overflow-wrap: anywhere; }
body.hybrid-page .mobile-enquiry-rail > span { max-width: 145px; }
body.hybrid-page .mobile-enquiry-rail .button { flex-shrink: 0; }
@media (max-width: 1100px) and (min-width: 851px) {
  body.hybrid-page .header-inner nav { gap: 15px; }
  body.hybrid-page .header-inner .button { padding-inline: 14px; gap: 16px; }
}
@media (max-width: 850px) {
  body.hybrid-page { --type-display: clamp(2.75rem, 7.6vw, 4rem); }
}
@media (max-width: 575px) {
  body.hybrid-page {
    --type-heading: 2rem;
    --type-card: 1.5rem;
    --type-display: clamp(2.625rem, 11.5vw, 3.25rem);
  }
  body.hybrid-page .hero-contact-panel > h2,
  body.hybrid-page .enquiry-result h3,
  body.hybrid-page .quick-enquiry-review h3 { font-size: 1.875rem; }
  body.hybrid-page .quick-form-grid { grid-template-columns: 1fr; gap: 0; }
  body.hybrid-page .hero-contact-panel > .eyebrow { max-width: 100%; }
  body.hybrid-page .quick-enquiry-review dl > div { grid-template-columns: 65px minmax(0,1fr); }
  body.hybrid-page .hybrid-voice-card figcaption { padding-inline: 22px; }
}
