/* Shared page-width system: wide imagery, standard content, readable prose. */
/* Short phrases move together; exceptionally narrow containers can still wrap. */
.copy-phrase {
  display: inline-block;
  max-width: 100%;
  vertical-align: baseline;
  white-space: normal;
  overflow-wrap: break-word;
}

h1,
h2,
h3 {
  line-break: strict;
}

h2,
h3 {
  text-wrap: balance;
}

.audience-lead,
.consult-intro,
.faq-list p {
  line-break: strict;
  text-wrap: pretty;
}

:root {
  --layout-gutter: clamp(20px, 4vw, 56px);
  --layout-hero: 1680px;
  --layout-wide: 1280px;
  --layout-standard: 1120px;
  --layout-reading: 760px;
}

/* Header and opening choice share the same wide outer edge. */
.site-header {
  padding-right: max(16px, calc((100vw - var(--layout-hero)) / 2));
  padding-left: max(16px, calc((100vw - var(--layout-hero)) / 2));
}

.audience-gateway-inner {
  width: min(calc(100% - 32px), var(--layout-hero));
}

/* Keep the opening visual edge-to-edge throughout the bounded desktop range.
   Only ultra-wide screens receive outer whitespace. */
@media (max-width: 1680px) {
  .audience-gateway-inner {
    width: 100%;
  }
}

/* Standard: the primary section baseline. Backgrounds still extend edge to edge. */
.needs,
.about,
.who,
.consult-flow,
.faq,
.contact {
  padding-right: max(var(--layout-gutter), calc((100vw - var(--layout-standard)) / 2));
  padding-left: max(var(--layout-gutter), calc((100vw - var(--layout-standard)) / 2));
}

.needs {
  grid-template-columns: minmax(250px, .78fr) minmax(0, 1.22fr);
  gap: clamp(42px, 6vw, 76px);
}

.about {
  grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr);
  gap: clamp(48px, 7vw, 88px);
}

.about-copy {
  max-width: var(--layout-reading);
}

.who {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(48px, 7vw, 86px);
}

.consult-flow .consult-steps {
  max-width: var(--layout-standard);
}

.consult-flow .section-head {
  max-width: var(--layout-standard);
}

.consult-assurance {
  max-width: var(--layout-reading);
}

.faq .section-head,
.faq-list {
  max-width: var(--layout-reading);
}

/* Wide editorial sections share the same outer edge as the first screen. */
.story,
.trust {
  padding-right: max(var(--layout-gutter), calc((100vw - var(--layout-wide)) / 2));
  padding-left: max(var(--layout-gutter), calc((100vw - var(--layout-wide)) / 2));
}

.story-tabs,
.story .story-cases,
.trust-heading,
.trust-layout,
.trust-local-scene {
  max-width: var(--layout-wide);
}

.trust-heading {
  margin-left: auto;
}

.trust-heading>p:last-child {
  max-width: var(--layout-reading);
}

.story-intro {
  max-width: var(--layout-standard);
}

.story-intro>p:last-of-type {
  max-width: 100%;
  text-wrap: pretty;
}

/* Services deliberately remain full-bleed chapters; only their copy aligns. */
.services .service-copy {
  padding-left: max(var(--layout-gutter), calc((100vw - var(--layout-standard)) / 2));
  padding-right: clamp(40px, 5vw, 80px);
}

.services .service-row.reverse .service-copy {
  padding-right: max(var(--layout-gutter), calc((100vw - var(--layout-standard)) / 2));
  padding-left: clamp(40px, 5vw, 80px);
}

.services .service-no {
  left: max(var(--layout-gutter), calc((100vw - var(--layout-standard)) / 2));
}

.services .service-row.reverse .service-no {
  left: calc(50% + clamp(40px, 5vw, 80px));
}

.contact-actions {
  flex: 0 0 auto;
}

footer {
  padding-right: max(var(--layout-gutter), calc((100vw - var(--layout-wide)) / 2));
  padding-left: max(var(--layout-gutter), calc((100vw - var(--layout-wide)) / 2));
}

@media (min-width: 681px) {
  footer>small {
    margin-left: auto;
    text-align: right;
  }
}

@media (max-width: 980px) {

  .needs,
  .about,
  .who {
    padding-right: var(--layout-gutter);
    padding-left: var(--layout-gutter);
  }

  .needs {
    grid-template-columns: 1fr;
  }

  .about {
    grid-template-columns: minmax(160px, .55fr) minmax(0, 1.45fr);
  }

  .story,
  .trust,
  .consult-flow,
  .faq,
  .contact,
  footer {
    padding-right: var(--layout-gutter);
    padding-left: var(--layout-gutter);
  }

  .services .service-copy {
    padding-left: var(--layout-gutter);
  }

  .services .service-row.reverse .service-copy {
    padding-right: var(--layout-gutter);
  }

  .services .service-no {
    left: var(--layout-gutter);
  }
}

@media (max-width: 680px) {
  .site-header {
    padding-right: var(--layout-gutter);
    padding-left: var(--layout-gutter);
  }

  .audience-gateway-inner {
    width: 100%;
  }

  .needs,
  .about,
  .who,
  .story,
  .consult-flow,
  .trust,
  .faq,
  .contact,
  footer {
    padding-right: var(--layout-gutter);
    padding-left: var(--layout-gutter);
  }

  .about {
    display: block;
  }

  .about-brand {
    margin-bottom: 36px;
  }

  .services .service-copy,
  .services .service-row.reverse .service-copy {
    padding-right: var(--layout-gutter);
    padding-left: var(--layout-gutter);
  }

  .services .service-no,
  .services .service-row.reverse .service-no {
    left: var(--layout-gutter);
  }
}
/* Preserve the intended phrasing while allowing wrapping on narrow screens. */
#operator-title,
.trust .about-copy {
  white-space: pre-line;
  overflow-wrap: anywhere;
}
