/* Full component copy flow. Loaded last on the active website so legacy
   editorial caps and balanced wrapping cannot shorten usable text tracks. */
body main :is(h1, h2, h3, h4, p, figcaption, summary, li, label, [data-ui-copy], .screen-caption, .v12-outcome-verb):not(.brief-artifact-h2):not(.sr-only),
body .site-footer :is(h2, h3, p),
body .footer-brand p,
body .footer-meta {
  max-width: none !important;
  min-width: 0;
  text-wrap: wrap !important;
}

/* These are copy wrappers inside established layout columns, not columns
   themselves. Their parent continues to define the real component. */
body :is(.v11-hero-side, .article-deck, .article-answer, .article-prose,
  .article-prose > ul, .article-prose > ol, .article-review-record p,
  .screen-handoff__execution p, .screen-handoff__support, .v10-prose, .section-intro,
  .about-select-summary) {
  max-width: none !important;
}

body main :is(h1, h2, h3, h4, p, figcaption):not(.brief-artifact-h2):not(.sr-only) {
  justify-self: stretch;
}

/* Image-backed heroes have no foreground sibling in their second track. */
body .v10-image-hero--metaphor .v10-image-hero-grid > :is(h1, p),
body .v10-image-hero--cinematic .v10-image-hero-grid > :is(h1, p) {
  width: 100% !important;
  margin-inline: 0 !important;
}

body .v10-image-hero--metaphor .v10-image-hero-grid > .action-row,
body .v10-image-hero--cinematic .v10-image-hero-grid > .action-row {
  margin-left: 0 !important;
}

/* Historical line spans must not prescribe where a heading or sentence wraps. */
body .v10-metaphor-hero-title > span:not(.terminal-lock),
body .v10-image-hero--metaphor .v10-image-hero-lead > span,
body .v10-image-hero--metaphor .v10-select-hero-lead > span {
  display: inline;
  width: auto;
  white-space: normal;
}

body .v10-hero-statement > span {
  display: inline !important;
  width: auto !important;
  white-space: normal !important;
}

body .v10-metaphor-hero-title .terminal-lock {
  display: inline-block !important;
  width: auto !important;
}
body .v11-title-pair {
  display: inline;
  white-space: normal;
}
body.screen-page-v3 .v10-image-hero-grid > .v10-screen-hero-title {
  font-size: clamp(2rem, 5vw, 4.5rem) !important;
}

/* The Screen uses the same FAQ hierarchy as the active SELECT pages. */
body.screen-page-v3 .v10-faq-heading h2 {
  font-size: clamp(1.7rem, 2.6vw, 2.65rem);
}
body.screen-page-v3 :is(.screen-outcome__heading, .screen-inputs__copy, .screen-handoff) h2 {
  font-size: clamp(2rem, 4vw, 3.5rem);
}
body.screen-page-v3 .screen-handoff__execution h3 {
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.08;
}
body.screen-page-v3 .screen-handoff__support h3 {
  font-size: clamp(1.55rem, 2.2vw, 2rem);
  line-height: 1.12;
}
@media (max-width: 48rem) {
  body.screen-page-v3 .v10-faq-heading h2 { font-size: clamp(1.35rem, 4.2vw, 1.8rem); }
}

/* Pricing uses the amount itself as the hero statement. The smaller period
   keeps the complete price readable as one unit without prescribing a line
   break at narrow viewports. */
body.pricing-page .v10-price-period {
  font-size: .48em;
  letter-spacing: -.02em;
}

body.pricing-page #pricing-service-title {
  font-size: clamp(1.5rem, 4vw, 4rem) !important;
}

body.pricing-page :is(#pricing-proposal-title, #pricing-questions-title) {
  font-size: clamp(1.625rem, 4vw, 4rem) !important;
}

body.pricing-page #pricing-start-title {
  font-size: clamp(2rem, 5vw, 4.5rem) !important;
}

body :is(#client-authority-title, .artifact-heading .artifact-label, .about-select-summary) {
  width: 100% !important;
}

/* Legacy journey openings contain prose only inside the page shell. */
body :is(#client-hero, #opportunity-hero, #relationship-hero) > .shell > :is(h1,p,.action-row),
body .page-hero--marketing:not(.v10-image-hero) > .shell > :is(h1,p,.action-row) {
  width: 100%;
  margin-left: 0;
}

/* Keep deliberate table scrolling inside its own component on small screens. */
body .article-table-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-inline: 0;
  padding-inline: 0;
}

/* A utility label must not reserve a separate column beside explanatory prose. */
body .screen-outcome__layer > p {
  grid-column: 1 / -1;
}

body .wlead > .eyebrow { width: 100%; }

/* Only elements measured with a real final-word orphan receive native pretty.
   The helper never changes words, line breaks, padding or component geometry. */
body main :is(h1,h2,h3,h4,p,figcaption,summary,li,label,[data-ui-copy],.screen-caption,.v12-outcome-verb)[data-copy-flow-orphan]:not(.brief-artifact-h2):not(.sr-only),
body .footer-brand [data-copy-flow-orphan],
body [data-copy-flow-orphan].footer-meta {
  text-wrap: pretty !important;
}

body main :is(h1,h2,h3,h4,p,figcaption,summary,li,label,[data-ui-copy],.screen-caption,.v12-outcome-verb)[data-copy-flow-balance]:not(.brief-artifact-h2):not(.sr-only),
body .footer-brand [data-copy-flow-balance],
body [data-copy-flow-balance].footer-meta {
  text-wrap: balance !important;
}

body .v10-phase .v10-branches {
  display: block;
  list-style: disc;
  padding-left: 1.25rem;
}
body .v10-phase .v10-branches li {
  border: 0;
  border-radius: 0;
  padding: .5rem 0;
}

@media (min-width: 48.0625rem) and (max-width: 75rem) {
  .v12-home .v12-outcome-band { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v12-home .v12-outcome-station:nth-child(2) { border-right: 0; }
  .v12-home .v12-outcome-station:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}

/* Context and the reason for review each need a readable report field. */
body .screen .report-decision {
  grid-template-columns: minmax(0, 1fr) minmax(12rem, .5fr);
}
@media (max-width: 75rem) {
  body .screen .report-decision { grid-template-columns: 1fr; }
  .v12-home .v12-section-head { grid-template-columns: 1fr; gap: 2rem; }
}
@media (max-width: 48rem) {
  body .screen .report-commercial,
  body .screen .report-prep-grid { grid-template-columns: 1fr; }
  body .screen .report-commercial {
    padding: 0;
    border: 0;
  }
}
