/**
 * Respect CMS Enter key line breaks on simple copy surfaces.
 * Do NOT apply to morph / multi-span composed titles (breaks absolute layout).
 */
.home-hero__lede,
.about-photo-hero__subtitle,
.page-hero__subtitle,
.section__desc,
.about-story__text,
.about-trust__text,
.about-trust__q,
.about-trust__cards p,
.about-own__desc,
.about-own__body p,
.about-approach__desc,
.about-approach__body p,
.why-us-arc__desc,
.service-hero__subtitle,
.service-overview__text,
.service-cta__text,
.moxie-timeline__desc,
.clients-page-teaser__desc,
.about-clients-teaser__desc,
.careers-roles .section__desc,
.careers-benefits .section__desc,
.careers-interns .section__desc,
.careers-process .section__desc,
.careers-apply .section__desc,
.cta-dither__desc,
.services-hub-story .section__desc {
  white-space: pre-line;
}

.about-story--accordion .section__title {
  white-space: normal;
}

/* Titles that are plain text nodes (not morph stacks) */
.page-hero__title,
.section__title,
.service-hero__title,
.service-cta__title,
.service-who .section__title,
.service-included .section__title,
.service-process-section .section__title,
.service-outcomes .section__title,
.service-gallery .section__title,
.service-portfolio .section__title,
.service-faqs-section .section__title,
.service-related .section__title,
.moxie-timeline__title,
.clients-page-teaser__title,
.about-clients-teaser__title,
.careers-roles .section__title,
.careers-benefits .section__title,
.careers-interns .section__title,
.careers-process .section__title,
.careers-apply .section__title,
.team-marquee__title,
.faq-section__title,
.services-hub-story .section__title,
.clients-page-directory__head .section__title {
  white-space: pre-line;
}

/* Ecosystem H2 is one phrase — do not honor CMS Enter mid-title on desktop */
.clients-page-ecosystem__head .section__title {
  white-space: nowrap !important;
}

@media (max-width: 900px) {
  .clients-page-ecosystem__head .section__title {
    white-space: normal !important;
  }
}

/* About approach H2 — phrase + accent sit on one visual line when space allows */
.about-approach__title-main,
.about-approach__title-accent {
  white-space: nowrap;
}

@media (max-width: 520px) {
  .about-approach__title-main,
  .about-approach__title-accent {
    white-space: normal;
  }
}

/* Services approach: "One Partner. Full Journey." stays one line (color split OK) */
.services__title {
  white-space: nowrap !important;
}

@media (max-width: 639px) {
  .services__title {
    white-space: normal !important;
  }
}

/* About “What We Own” phrase — do not honor CMS Enter mid-title on desktop */
.about-own__title {
  white-space: normal !important;
}

.about-own__title-phrase {
  white-space: nowrap !important;
}

@media (max-width: 480px) {
  .about-own__title-phrase {
    white-space: normal !important;
  }
}

/* CTA title: one line on desktop by default; twoline variant keeps intentional <br>. */
.cta-dither__title {
  white-space: nowrap !important;
}

.cta-dither__title--twoline {
  white-space: normal !important;
}

.cta-dither__title-accent {
  white-space: nowrap !important;
}

@media (max-width: 639px) {
  .cta-dither__title,
  .cta-dither__title-accent {
    white-space: normal !important;
  }
}

/* Morph titles: never pre-line. Desktop: keep "Your Marketing Partner" one line. */
.home-hero__title:not(.home-hero__title--manifesto),
.home-hero__title-lead,
.home-hero__title-accent {
  white-space: nowrap !important;
}

.home-hero__title--manifesto {
  white-space: normal !important;
}

.home-hero__title--manifesto .home-hero__line--tight {
  white-space: nowrap !important;
}

@media (max-width: 980px) {
  .home-hero__title:not(.home-hero__title--manifesto),
  .home-hero__title-lead,
  .home-hero__title-accent {
    white-space: normal !important;
  }

  .home-hero__title--manifesto .home-hero__line--tight {
    white-space: nowrap !important;
  }
}

/* CMS section alignment + title style */
.moxie-cms-copy--align-left {
  text-align: left;
}
.moxie-cms-copy--align-center {
  text-align: center;
}
.moxie-cms-copy--align-center .service-included__list,
.moxie-cms-copy--align-center .service-who__list,
.moxie-cms-copy--align-center .service-outcomes__list {
  margin-left: auto;
  margin-right: auto;
}
.moxie-cms-copy--align-right {
  text-align: right;
}
.moxie-cms-copy--style-bold .section__title,
.moxie-cms-copy--style-bold .service-hero__title {
  font-weight: 800;
}
.moxie-cms-copy--style-light .section__title,
.moxie-cms-copy--style-light .service-hero__title {
  font-weight: 400;
}
.moxie-cms-copy--style-display .section__title,
.moxie-cms-copy--style-display .service-hero__title {
  font-size: clamp(2rem, 4vw, 3.25rem);
  letter-spacing: -0.02em;
}
.service-hero__subtitle p {
  margin: 0;
}
.service-hero__subtitle p + p {
  margin-top: 0.75em;
}
