/* Loaded only on the eleven core pages by build.py. No article-wide overrides.
   Keep display headings; give prose, controls and supporting text a readable scale. */
:root {
  --text-reading: 18px;
  --text-support: 16px;
  --text-caption: 14px;
  --text-label: 12px;
}

/* Reading text. Retain the layout's existing, deliberately short line lengths. */
.hero-copy > p,
.statement > p:last-child,
.section-intro > p,
.workflow-comparison .section-intro > p,
.offer-row > p,
.pilot-layout p,
.case-copy > p,
.care-layout p,
.closing p,
.subhero > div > p,
.detail-list p,
.about-hero p,
.tool-hero p,
.contact-copy > p,
.service-hero > div > p,
.service-cases .section-intro p,
.service-comparison p,
.service-fit > p,
.service-fit .service-fit-note,
.service-page .service-delivery p,
.service-page .price-row p,
.pilot-page .price-row p,
.service-page .faq p,
.pilot-page .faq p,
.pilot-page .product-hero p,
.pilot-benefits p,
.pilot-team p {
  font-size: var(--text-reading);
  line-height: 1.7;
}
.hero-copy > p { max-width: 460px; }
main h1 { overflow-wrap: anywhere; }
.section-intro > p { max-width: 420px; }
.offer-row > p { max-width: 38ch; }
.case-copy blockquote { font-size: 20px; line-height: 1.65; }
.service-case summary > span > span { font-size: var(--text-support); line-height: 1.65; }
.faq summary { font-size: 18px; line-height: 1.5; }

/* Actions, navigation and fields share the same legible support scale. */
.button,
.hero-actions .button,
.service-hero .hero-actions .button,
.contact-form-wrap .button,
.calculator-result .button,
.workflow-comparison .demo-bottom .button,
.text-link,
.hero-actions .text-link,
.pilot-team .text-link,
.workflow-follow .text-link,
.animation-payoff .business-cta,
.text-button { font-size: var(--text-support); line-height: 1.5; }
.button { white-space: normal; }
.hero-actions { flex-wrap: wrap; }
.nav-wrap #navigation > a:not(.nav-mobile-cta),
.nav-trigger,
.menu-toggle { font-size: var(--text-support); }
.nav-wrap .nav-cta { font-size: 15px; gap: 14px; }
.nav-wrap #navigation > .nav-mobile-cta { font-size: var(--text-support); }
.nav-service strong,.nav-editorial strong { font-size: 18px; }
.nav-service small,.nav-editorial small,.nav-product > p,
.nav-product-link,.nav-company > a,.nav-tools > a { font-size: var(--text-support); line-height: 1.6; }
.nav-label { font-size: var(--text-label); }
.nav-panel-bottom { font-size: var(--text-caption); line-height: 1.6; flex-wrap: wrap; }
.nav-service,.nav-editorial { grid-template-columns: 38px minmax(0,1fr) 12px; }

label,
.calculator label,
.check-question label,
.business-inputs label { font-size: var(--text-support); line-height: 1.6; }
input:not([type=range]):not([type=radio]):not([type=checkbox]),textarea,select {
  font-size: 18px; line-height: 1.5;
}
.check-question legend { font-size: 20px; line-height: 1.5; }
.check-question label { padding-block: 15px; }
.check-question input { flex-shrink: 0; }
.calculator label { flex-wrap: wrap; gap: 6px 12px; }
.contact-steps strong,.contact-person strong { font-size: 18px; line-height: 1.5; }
.contact-steps span,.contact-person a { font-size: var(--text-support); line-height: 1.65; }
.contact-person span,.contact-steps li::before { font-size: var(--text-caption); }
.contact-person > div { min-width: 0; }
.contact-person a { overflow-wrap: anywhere; }
.prototype-note,.contact-form-wrap .quiet,#contact-status,#contact-result > p,
.calculator-help,.calculator-result > p,#check-result p,#check-progress,
.check-question .check-error,#consent-dialog p,#consent-dialog label {
  font-size: var(--text-support); line-height: 1.65;
}
.consent-actions .button { font-size: var(--text-support); }
.calculator-result > span { font-size: var(--text-caption); line-height: 1.6; }
.calculator-result > strong { overflow-wrap: anywhere; }
.contact-form-wrap pre { font-size: var(--text-support); }

/* Compact explanatory components stay a step below the main prose. */
.service-cue,.service-case-solution,.service-case-solution > span,
.service-scene-result,.service-scene-rows p > span,
.quiet,.closing .quiet,.price-note,.price-amount > span,
.trust-bar,.trust-bar > span,.offer-end,
.pilot-workbench .pilot-detail > p,
.pilot-workbench .pilot-detail dl > div,
.pilot-insight p,.pilot-insight strong,
.pilot-demo-controls p > span,.pilot-insight-toggle {
  font-size: var(--text-support); line-height: 1.65;
}
.service-scene-rows strong { font-size: 18px; }
.pilot-demo-controls p { font-size: 18px; }
.pilot-workbench .pilot-detail .demo-note { font-size: var(--text-caption); line-height: 1.65; }
.pilot-team-roles span { font-size: var(--text-caption); }
.pilot-insight > span { font-size: var(--text-label); }
.pilot-node strong { font-size: 16px; line-height: 1.3; overflow-wrap: anywhere; }
.pilot-node small { font-size: 11px; letter-spacing: .04em; margin-bottom: 5px; }
.pilot-path-label,.pilot-return-label,.pilot-map-caption,.pilot-issue { font-size: 12px; }
.pilot-node { padding: 10px; }
.pilot-issue { white-space: normal; line-height: 1.35; }
.pilot-workbench .pilot-detail dl > div { grid-template-columns: minmax(0,1fr) minmax(0,1.6fr); }
.pilot-detail dd { overflow-wrap: anywhere; }
.eyebrow,.hero-copy > .eyebrow,.contact-copy .eyebrow,.closing .eyebrow,
.pilot-layout .eyebrow,.tool-hero .eyebrow,.offer-name > span,
.service-scene-label,.service-comparison > div > span { font-size: var(--text-label); }
.person strong { font-size: var(--text-support); }
.person small,.about-hero figcaption,.service-scene figcaption,
.article-card > span { font-size: var(--text-caption); line-height: 1.6; }

/* The working examples need room for their longer labels, including results. */
.workflow-comparison .scenario { font-size: var(--text-support); }
.workflow-comparison .demo-top { font-size: var(--text-support); flex-wrap: wrap; gap: 12px; }
.workflow-comparison .demo-label,.flow-assumptions > span,
.business-label,.payoff-pending > span { font-size: var(--text-label); line-height: 1.6; }
.flow-business-intro > p,#flow-assumption-summary,
.business-assumptions summary,.business-assumptions > p,.business-assumptions > button,
.workflow-comparison .demo-bottom p,.workflow-comparison .process-step p,
.lane-summary,.payoff-pending p,.workflow-comparison .workflow-follow p,
.business-result > p,.business-result > span,#payoff-use {
  font-size: var(--text-support); line-height: 1.65;
}
.manual-copy h3,.workflow-comparison .process-step h3 { font-size: 18px; line-height: 1.4; }
.manual-actor,.workflow-comparison .step-actor,
.manual-system,.workflow-comparison .step-system,
.manual-step .step-effect,.process-step .step-effect,
.approval-simulation,.lane-budget span,
.comparison-note,.animation-payoff .business-context,
#business-equation,.payoff-calculation span { font-size: var(--text-caption); line-height: 1.6; }
.workflow-comparison .process-track,#manual-steps { grid-auto-rows: minmax(190px,auto); }
.workflow-comparison .workflow-follow { flex-wrap: wrap; }
.workflow-comparison .workflow-follow p { max-width: 65ch; }
.payoff-calculation { flex-wrap: wrap; }

/* Footer navigation is part of the core-page reading experience, too. */
.footer-brand p { font-size: var(--text-support); }
.footer-top h3 { font-size: var(--text-support); line-height: 1.5; }
.footer-top > div > a { font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; }
.footer-brand > span,.footer-bottom,.motion-toggle { font-size: var(--text-caption); line-height: 1.6; }
.footer-bottom,.footer-bottom > div { flex-wrap: wrap; }
.review-banner { font-size: var(--text-support); line-height: 1.6; }

@media (min-width:1021px) and (max-width:1280px) {
  .nav-wrap { grid-template-columns: minmax(135px,1fr) auto auto; gap: 12px; padding-inline: 18px; }
  .nav-wrap #navigation > a:not(.nav-mobile-cta),.nav-trigger { padding-inline: 10px; }
}
@media (max-width:1020px) {
  .nav-service { grid-template-columns: 35px minmax(0,1fr); }
  .contact-page,.check-layout { grid-template-columns: 1fr; gap: 40px; }
  .contact-copy > p { max-width: 60ch; }
  #check-result { position: static; }
}
@media (max-width:900px) {
  .pilot-workbench { grid-template-columns: 1fr; }
  .pilot-map { max-width: 540px; width: 100%; margin-inline: auto; }
  .pilot-workbench .pilot-detail { border-left: 0; border-top: 1px solid var(--line); }
  .workflow-comparison .process-track,#manual-steps { grid-auto-rows: minmax(225px,auto); }
  .calculator { grid-template-columns: 1fr; }
}
@media (max-width:720px) {
  .workflow-comparison .process-track,#manual-steps { grid-auto-rows: auto; row-gap: 24px; }
  .manual-step { min-height: 140px; }
  .workflow-comparison .process-step { min-height: 175px; }
  .section-intro > p { max-width: 100%; }
  .footer-top { column-gap: 24px; }
  .pilot-map { height: 510px; }
  .pilot-map-caption { bottom: 4px; }
}
@media (max-width:480px) {
  /* The 320px illustration must not impose its min-content width on the copy. */
  .care-layout { grid-template-columns: minmax(0,1fr); }
  .care-layout > div { min-width: 0; }
  .pilot-workbench .pilot-detail dl > div { grid-template-columns: 1fr; gap: 4px; }
  .pilot-node strong { font-size: 15px; }
  .pilot-return-label { max-width: 35%; line-height: 1.4; }
  .pilot-node { height: 100px; }
  .footer-top { grid-template-columns: 1fr; }
}
@media (max-width:360px) {
  .hero h1 { white-space: normal; }
  .pilot-node { padding-inline: 7px; height: 110px; }
  .pilot-node small { overflow-wrap: anywhere; line-height: 1.25; }
}
