/* Reading rhythm across wide desktop displays and scaled viewports. */
p, blockquote { text-wrap: pretty; }
.reading-phrase { white-space: nowrap; }
.lens-panel p:last-child { max-width: none; text-wrap: balance; }
.founder-question { text-wrap: balance; }
.working-steps details p { text-wrap: balance; }
.iory-perspective-copy > p:last-child { max-width: none; width: 100%; text-wrap: pretty; }
#capabilities .cap-copy > p:not(.eyebrow) { max-width: none; width: 100%; text-wrap: pretty; }
.perspective-intro > .reading-intro { max-width: none; text-align: right; text-wrap: pretty; }
.reading-intro .reading-followup { display: block; }
.footer { display: flex !important; flex-wrap: wrap; align-items: center !important; justify-content: flex-end !important; gap: 14px 28px !important; min-height: 64px; }
.footer > img, .footer > a:has(img) { margin-right: auto; flex: 0 0 auto; }
.footer > a, .footer > small { white-space: nowrap; flex: 0 0 auto; }
.footer > small { margin: 0; }
@media (max-width: 1050px) {
  body { -webkit-text-size-adjust: 100%; }
  .cinema-nav nav a { min-height: 44px; display: flex; flex-direction: column; justify-content: center; }
  .cinema-nav .intro-return { min-height: 44px; }
  .lens-tabs button, .iory-journeys button, .ecosystem-switch button { min-height: 44px; }
  .story-topic-content p, .perspective-copy > p, .lens-panel p:last-child { text-wrap: pretty; }
  .working-final-phrase { display: inline; white-space: normal; }
  .working > div > p:not(.eyebrow) { max-width: none; text-wrap: pretty; }
}
@media (min-width: 601px) and (max-width: 1050px) {
  #capabilities .section-title h2 { font-size: clamp(30px, 4vw, 40px); }
  #capabilities .cap-heading-main { white-space: nowrap; }
  #ecosystem-heading { font-size: clamp(34px, 4.8vw, 49px); }
  .lens-panel { min-height: 260px; }
}
@media (min-width: 901px) {
  #capabilities { height: auto; min-height: 0; }
  #capabilities .cap-stage { flex: none; height: clamp(390px, 49vh, 540px); }
  .lens-panel { min-height: 240px; }
}
@media (max-width: 480px) {
  #capabilities .section-title h2 .cap-heading-main { font-size: clamp(25px, 7.2vw, 34px); white-space: nowrap; }
  #capabilities .section-title h2 .cap-heading-purpose { display: block; font-size: clamp(22px, 6vw, 28px); line-height: 1.4; text-wrap: balance; }
  #ecosystem-heading { font-size: clamp(27px, 7.3vw, 34px); text-wrap: balance; }
  #ecosystem-heading .type-inner { display: block; text-wrap: balance; }
  .working > div > p:not(.eyebrow) { text-align: left; text-wrap: pretty; }
  .story-panel p, .story-topic-panel p { text-wrap: pretty; }
  .footer { gap: 10px 16px !important; }
  .footer > img, .footer > a:has(img) { width: 94px !important; }
}
@media (max-width: 700px) {
  .working { min-height: 0; }
  .working > div:first-child > p:last-child { text-align: left; }
  .working-steps { grid-template-columns: 1fr; gap: 0; }
  .working-steps details { min-height: 0; padding: 14px 0 !important; border-bottom: 1px solid #ddc7cc24 !important; }
  .working-steps summary { flex-direction: row; align-items: center; gap: 14px; min-height: 48px; padding-right: 32px !important; }
  .working-steps summary > span { width: 44px; height: 44px; flex: 0 0 44px; font-size: 23px; }
  .working-steps summary:after { top: 12px; }
  .working-steps details p { max-width: none; margin: 10px 0 0 58px !important; text-wrap: pretty; }
}

/* Phone phrase grouping requested after physical iPhone review. */
.phone-break { display: none; }
@media (max-width: 600px) {
  .phone-break { display: initial; }
  .phone-heading-line, .phone-copy-line { display: block; }
  #story-panel-integrated h3 { font-size: clamp(24px, 7vw, 32px); line-height: 1.35; }
  #capabilities .section-title h2 .cap-heading-purpose { font-size: clamp(16px, 4.8vw, 24px); white-space: nowrap; letter-spacing: -.025em; }
  .reading-intro { text-wrap: initial; }
}

@media (max-width: 600px) {
  #ecosystem-heading .ecosystem-phrase, #partner-heading .partner-ability-phrase { white-space: nowrap; display: inline-block; }
  #ecosystem-heading, #ecosystem-heading .type-inner { text-wrap: initial; }
}
