/* Shared reading hierarchy. Loaded after each page's component styles.
   Keep hero sizes and native product UI typography under their own styles. */
:root {
  --paper: #faf7f2;
  --secondary: #50525f;
  --muted: var(--secondary);
}

/* Cabo has a real bold face: use it for structure, not every line of copy. */
main :is(.section-intro, .scribe-copy, .assist-copy, .intake-intro,
  .audiences-heading, .getting-started-intro, .about-section-intro,
  .audience-section-heading, .audience-closing, .about-closing) h2,
.founders-section--editorial > h2,
.closing-layout--type > h2,
.trust-page h2,
.booking-card h2,
.booking-details h2,
.native-legal-document h2 {
  font-weight: 700;
  letter-spacing: -.025em;
}

.home-audiences .audience-options h3,
.getting-started-steps h3,
.home-integrations h3,
.trust-practice-grid h3,
.trust-review-list dt,
.audience-page :is(.cx-priority-list, .cx-conversation, .cx-note-paper,
  .cx-scale-grid, .cx-measures, .cx-start-steps, .cx-map-nurse,
  .cx-map-review, .cx-enterprise-grid, .cx-capacity-split,
  .cx-handoff-steps, .cx-shift-grid) h3,
.booking-agenda h3,
.booking-confirmation h3 {
  font-family: var(--font);
  font-weight: 700;
  letter-spacing: -.015em;
}

/* Shared navigation and footer: labels remain secondary, but readable. */
.site-header :is(.nav-trigger, .nav-audience-link, .nav-secondary a, .nav-panel a) {
  font-size: 15px;
  font-weight: 600;
}
.site-header .nav-cta { font-size: 14px; }
.site-footer .footer-main nav { font-size: 15px; line-height: 1.6; }
.site-footer .footer-main nav > span {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 600;
  color: var(--secondary);
}
.site-footer .footer-brand .footer-social { font-size: 14px; }
.site-footer .footer-bottom { font-size: 13px; line-height: 1.6; }

/* The supporting home sections share the editorial scale of the product story. */
.getting-started-steps p,
.home-integrations > div > p:not(.integration-label),
.home-audiences .audience-options p {
  font-size: 17px;
  line-height: 1.75;
}
.getting-started-steps li > span,
.home-integrations .integration-label {
  font-size: 14px;
  line-height: 1.5;
}
.home-audiences .audience-options > a > span { font-size: 15px; }

/* About: names keep their lighter display treatment; roles and bios carry weight. */
.about-main .about-hero-photo figcaption,
.about-main .experience-band > p,
.about-main .person-role,
.about-main .nursing-group-label,
#nursing-advisors .nursing-advisor .person-role,
#nursing-advisors .nursing-affiliation > span,
#advisors .advisor-affiliation .advisor-role,
#advisors .advisor-prior-roles .advisor-role,
#advisors .advisor-role small {
  font-size: 14px;
  line-height: 1.55;
}
.about-main .person-bio,
.about-main .team-person .person-details .person-bio,
#advisors .advisor-copy .person-bio,
#nursing-advisors .nursing-advisor .person-bio,
.about-main .angel-list p {
  font-size: 16px;
  line-height: 1.75;
  color: var(--secondary);
}
.about-main .person-details > summary { font-size: 15px; }
.about-main .investor-origin { font-size: 16px; line-height: 1.75; }

/* Security: the assurance scope and review requirements are essential content. */
.trust-page .trust-eyebrow { font-size: 14px; line-height: 1.5; }
.trust-page .breadcrumb { font-size: 14px; }
.trust-assurance-copy > p:not(.trust-eyebrow),
.trust-practice-grid p,
.trust-contact-layout p {
  font-size: 17px;
  line-height: 1.75;
}
.trust-assurance-copy > p.trust-scope {
  font-size: 14px;
  line-height: 1.7;
}
.trust-assurance-actions > p { font-size: 14px; line-height: 1.65; }
.trust-review-list dd,
.trust-clinical p { font-size: 16px; line-height: 1.75; }
.trust-legal-links { font-size: 15px; line-height: 1.6; }

/* Customer pages: prioritize explanatory copy over decorative small labels. */
.audience-page .breadcrumb,
.audience-page .audience-kicker,
.audience-page .cx-scale-grid .audience-kicker,
.audience-page .cx-capacity-split .audience-kicker,
.audience-page .cx-small-label,
.audience-page .cx-map-nurse .cx-small-label {
  font-size: 14px;
  line-height: 1.5;
}
.audience-page .audience-jump a { font-size: 15px; line-height: 1.5; }
.audience-page .audience-jump a > span { font-size: 12px; }
.audience-page :is(.cx-priority-list, .cx-measures, .cx-start-steps,
  .cx-handoff-steps, .cx-shift-grid, .cx-enterprise-grid) p,
.audience-page .cx-scale-grid article > p:not(.audience-kicker),
.audience-page .cx-capacity-split p:not(.audience-kicker),
.audience-page .audience-faq-list details > p {
  font-size: 16px;
  line-height: 1.75;
}
.audience-page .cx-scale-grid li { font-size: 15px; line-height: 1.7; }
.audience-page .cx-product-mini strong,
.audience-page .cx-handoff-destination strong,
.audience-page .cx-handoff-document dt { font-size: 15px; }
.audience-page :is(.cx-product-mini, .cx-support-lanes, .cx-map-review,
  .cx-handoff-destination) p,
.audience-page .cx-handoff-document dd,
.audience-page .cx-conversation > p:not(.cx-small-label) {
  font-size: 15px;
  line-height: 1.7;
}
.audience-page .cx-support-lanes h4 { font-weight: 700; }
.audience-page .cx-request-list li,
.audience-page .cx-review-stamp,
.audience-page .cx-note-heading,
.audience-page .cx-workflow-foot,
.audience-page .cx-quote footer,
.audience-page .cx-assurance p { font-size: 14px; line-height: 1.6; }
.audience-page .cx-enterprise-grid .text-link { font-size: 15px; }
.audience-page .audience-faq-list summary { font-weight: 700; }

/* Booking/contact: keep privacy guidance and next steps easy to read.
   The external form's own typography is controlled by its provider. */
.booking-agenda p,
.booking-details > p,
.booking-next { font-size: 16px; line-height: 1.75; }
.booking-details h2 { font-size: 21px; }
.booking-care-note,
.booking-form-status,
.booking-form-footer,
.booking-form-footer .booking-form-link { font-size: 15px; line-height: 1.7; }
.booking-agenda summary { font-size: 16px; }
.booking-email { font-size: 16px; }

/* Legal pages retain a reading-document hierarchy instead of display-sized copy. */
.native-legal-document { font-size: 17px; line-height: 1.8; }
.native-legal-document h3 { font-weight: 700; }
.legal-contact,
.native-legal-document .legal-action-note,
.native-legal-document > div:last-of-type { font-size: 15px; line-height: 1.75; }
.legal-contents a { font-size: 15px; }
.native-legal-document > a:last-child { font-size: 14px; }

@media (min-width: 901px) {
  /* Longer roles can grow without colliding with an advisor's name. */
  #nursing-advisors .nursing-advisor > div:not(.nursing-monogram) {
    grid-template-rows: minmax(24px, auto) auto 1fr auto;
  }
}

@media (min-width: 981px) and (max-width: 1200px) {
  .site-header :is(.nav-trigger, .nav-audience-link, .nav-secondary a) { font-size: 14px; }
  .site-header .nav-cta { font-size: 13px; }
}

@media (max-width: 980px) {
  .site-header .nav-mobile-heading { font-size: 14px; line-height: 1.5; }
  .site-header .nav-panel a,
  .site-header .nav-secondary a { font-size: 17px; line-height: 1.5; }
  .site-header .nav-cta { font-size: 13px; }
}

@media (max-width: 720px) {
  .getting-started-steps p,
  .home-integrations > div > p:not(.integration-label),
  .home-audiences .audience-options p { font-size: 16px; }
  .about-main .about-section-intro > p,
  .about-main .about-section-intro > div > p:not(.nursing-group-label) {
    font-size: 17px;
    line-height: 1.7;
  }
  .trust-practice-grid p,
  .trust-assurance-copy > p:not(.trust-eyebrow),
  .trust-contact-layout p { font-size: 16px; }
  /* Match the existing component's important mobile scope rule: this
     qualification is essential reading, not small decorative fine print. */
  .trust-assurance-copy > p.trust-scope {
    font-size: 14px !important;
    line-height: 1.75;
    color: var(--secondary);
  }
  .audience-page .audience-section-heading > p:not(.audience-kicker),
  .audience-page .audience-closing p { font-size: 16px; line-height: 1.75; }
  .native-legal-document { font-size: 16px; line-height: 1.8; }
}

@media (max-width: 620px) {
  .audience-page .audience-jump a { font-size: 14px; padding-inline: 10px; }
  .audience-page .audience-jump a:first-child { padding-left: 0; }
  .audience-page .audience-jump a:last-child { padding-right: 0; }
  .audience-page .cx-measures article {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }
  .site-footer .footer-bottom > div { flex-wrap: wrap; gap: 8px 20px; }
}

@media (max-width: 360px) {
  .site-header .nav-cta { font-size: 12px; }
  .site-header .nav-panel a,
  .site-header .nav-secondary a { font-size: 16px; }
}

@media(max-width:980px){.site-header a.nav-audience-link{font-size:17px;line-height:1.5}}
@media(max-width:360px){.site-header a.nav-audience-link{font-size:16px}}
