/* Keep the page rhythm native so wheel momentum cannot trigger extra jumps. */
.snap-approach .approach-funnel iframe { height: 339px; }
@media (max-height: 620px) { .snap-approach .approach-funnel iframe { height: 289px; } }
@media (min-width: 901px) {
  html { scroll-snap-type: y mandatory; }
  main > .hero, main > .choice-intro, main > .why-page, main > .snap-panel,
  main > .capabilities, body > .site-footer { scroll-snap-stop: always; }
  .approach-funnel iframe { pointer-events: none; }
  .snap-approach > .sequence-section { align-items: center; align-content: center; }
  .snap-approach .sequence-intro { position: static; top: auto; align-self: center; }
  .snap-clients > .clients { align-items: flex-start; justify-content: flex-start; padding-top: clamp(55px, 8svh, 76px); }
  #approach .chapter-title { overflow: visible; line-height: 1.14; padding-bottom: .2em; }
  .snap-company > .company, .snap-contact > .contact-section {
    display: flex; flex-direction: column; justify-content: center;
  }
  main > .capabilities { display: flex; flex-direction: column; justify-content: center; }
  .snap-communicate > .sequence-section { padding-top: var(--page-content-inset); }
  .snap-communicate .communicate-visual-slot { min-height: 0; }
}

@media (min-width: 901px) and (max-height: 700px) {
  :root { --page-chapter-height: 186px; --page-content-inset: 20px; }
  .why-page > .chapter-divider, .snap-panel > .chapter-divider { padding-top: 112px; padding-bottom: 8px; }
  .why-page .chapter-title, .snap-panel .chapter-title { font-size: clamp(42px, 4vw, 52px); }
  .snap-approach > .sequence-section { padding-top: 18px; padding-bottom: 30px; }
  .snap-approach .sequence-intro h2 { font-size: clamp(38px, 3.4vw, 46px); }
  .snap-clients > .clients { padding-top: 28px; padding-bottom: 22px; }
}
@media (max-width: 700px) {
  html { scroll-snap-type: y mandatory; }
  main > .hero, main > .choice-intro, main > .why-page, main > .snap-panel,
  main > .capabilities, body > .site-footer { scroll-snap-stop: always; }
  .snap-tail, .snap-interior { scroll-snap-align: none; }
  .why-page, .snap-approach { overflow-anchor: none; }
  .choice-intro { min-height: 100svh; padding: 92px var(--pad) 92px; }
  .choice-intro-inner { align-self: center; transform: translateY(-2svh); }

  /* Chapter headlines remain short bands, then fold up and release their space. */
  .why-page:not(.why-page-capability),
  .snap-approach:not(.snap-communicate) { min-height: 100svh; display: flex; flex-direction: column; perspective: 900px; }
  .why-page:not(.why-page-capability) > .chapter-divider,
  .snap-approach:not(.snap-communicate) > .chapter-divider {
    position: relative; inset: auto; z-index: 5; flex: 0 0 auto;
    display: grid; align-content: end;
    height: 180px; min-height: 180px; padding: 120px var(--pad) 16px;
    overflow: hidden; transform-origin: 50% 100%; backface-visibility: hidden;
    transition: transform .62s cubic-bezier(.45,.04,.16,1),
      height .45s cubic-bezier(.22,.72,.18,1) .38s,
      min-height .45s cubic-bezier(.22,.72,.18,1) .38s,
      padding .45s cubic-bezier(.22,.72,.18,1) .38s;
  }
  .why-page:not(.why-page-capability) > .chapter-divider {
    border-bottom-color: rgba(22, 54, 38, .22);
  }
  .why-page.heading-sequence.is-heading-done::after {
    content: "";
    position: absolute;
    z-index: 4;
    top: 110px;
    left: var(--pad);
    right: var(--pad);
    border-top: 1px solid rgba(22, 54, 38, .22);
    pointer-events: none;
  }
  .why-page.heading-sequence.is-heading-receding > .chapter-divider,
  .snap-approach.heading-sequence.is-heading-receding > .chapter-divider {
    height: 0; min-height: 0; padding-top: 0; padding-bottom: 0;
    transform: rotateX(88deg); opacity: 1;
    animation: none;
  }
  .why-page.heading-sequence.is-heading-done > .chapter-divider,
  .snap-approach.heading-sequence.is-heading-done > .chapter-divider { visibility: hidden; }
  .why-page.heading-sequence > .chapter-divider,
  .snap-approach.heading-sequence > .chapter-divider { animation: none; opacity: 1; }
  .why-page:not(.why-page-capability) > .chapter-divider .chapter-title > span,
  .snap-approach:not(.snap-communicate) > .chapter-divider .chapter-title > span {
    opacity: 1; clip-path: none; transform: none; transition: none;
  }
  .why-page:not(.why-page-capability) > .chapter-divider .chapter-title,
  .snap-approach:not(.snap-communicate) > .chapter-divider .chapter-title {
    font-size: clamp(32px, 8.3vw, 40px); line-height: 1.08; white-space: nowrap;
  }
  .snap-approach:not(.snap-communicate) { background: var(--continuity-bg); }
  .snap-approach:not(.snap-communicate) > .chapter-divider,
  .snap-approach:not(.snap-communicate) > .sequence-section { background: var(--continuity-bg); }
  .why-page:not(.why-page-capability) > .agency-section,
  .snap-approach:not(.snap-communicate) > .sequence-section {
    flex: 1 1 auto; min-height: 0; height: auto;
    padding-top: clamp(112px, 15svh, 130px);
    padding-bottom: clamp(32px, 6svh, 55px);
    align-content: center;
  }
  .why-page:not(.why-page-capability) > .agency-section { display: grid; align-items: center; }
  .snap-approach:not(.snap-communicate) > .sequence-section { align-items: center; gap: 14px; }
  .why-page.heading-sequence > .agency-section,
  .snap-approach.heading-sequence > .sequence-section {
    opacity: 1; transform: none;
    transition: padding-top .68s cubic-bezier(.22,.72,.18,1), padding-bottom .68s cubic-bezier(.22,.72,.18,1);
  }
  .why-page.heading-sequence:not(.is-heading-receding) > .agency-section,
  .snap-approach.heading-sequence:not(.is-heading-receding) > .sequence-section {
    opacity: 1; transform: none; padding-top: 80px; padding-bottom: 28px;
  }
  .why-page.heading-sequence.is-heading-receding > .agency-section,
  .snap-approach.heading-sequence.is-heading-receding > .sequence-section {
    opacity: 1; transform: none;
  }
  .snap-approach .sequence-intro { position: static; top: auto; }
  .snap-approach .sequence-intro h2 { font-size: clamp(25px, 6.8vw, 30px); }
  .snap-approach .approach-funnel iframe { pointer-events: none; }
  .snap-clients > .chapter-divider { height: 200px; min-height: 200px; padding-top: 140px; }
  .snap-clients > .clients { align-items: flex-start; justify-content: center; padding-top: 25px; }
  .snap-clients .client-roster { height: min(100%, 420px); }
  .snap-communicate > .sequence-section { padding-top: 118px; align-content: center; }
  .snap-communicate .communicate-visual-slot { min-height: 0; }
  .snap-contact > .contact-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-bottom: clamp(76px, 11svh, 112px);
  }
}
/* The logo panels inherit the gallery paper; the edge light provides separation. */
.client-roster .client-logo { background: var(--editorial-paper); }
@media (max-width: 700px) and (max-height: 720px) {
  .choice-intro { padding-top: 82px; padding-bottom: 50px; }
  .choice-intro-inner { transform: translateY(-1svh); }
  .snap-approach:not(.snap-communicate) > .sequence-section { padding-top: 112px; padding-bottom: 28px; }
  .snap-clients > .clients { padding-top: 18px; }
}
@media (prefers-reduced-motion: reduce) and (max-width: 700px) {
  .why-page:not(.why-page-capability) > .chapter-divider,
  .snap-approach:not(.snap-communicate) > .chapter-divider { display: none; }
}

.footer-contact a { display: block; }
@media (max-width: 700px) {
  body > .site-footer {
    display: grid; grid-template-columns: 1fr; gap: 8px;
    min-height: 0; padding: 34px var(--pad) 42px;
    line-height: 1.45; font-size: 12px;
  }
  .site-footer > div:first-child { grid-column: auto; margin-bottom: 5px; }
  .site-footer > div:first-child img { width: 118px; }
  .site-footer .footer-address p { white-space: nowrap; font-size: clamp(9px, 2.65vw, 11px); }
  .site-footer .footer-phone { display: none; }
  .site-footer .footer-company p { line-height: 1.5; }
  .site-footer small { position: static; margin-top: 8px; font-size: 10px; letter-spacing: 0; }
}

/* Keep the closing chapter together around the viewport center. */
.snap-contact { justify-content: center; background: var(--lime); }
.snap-contact > .chapter-divider {
  flex: 0 0 auto;
  display: block;
  height: auto;
  min-height: 0;
  padding: 0 var(--pad) 18px;
  border-top: 0;
  background: var(--lime);
}
.snap-contact > .contact-section {
  flex: 0 0 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 22px var(--pad) 0;
}

/* One stable mobile composition while both chapter labels fold upward. */
@media (max-width: 700px) {
  .choice-intro.motion-ready .choice-intro-inner { opacity: 0; }
  .choice-intro.motion-ready.is-centered .choice-intro-inner {
    opacity: 1;
    transition: opacity .32s ease;
  }
  .why-page:not(.why-page-capability),
  .snap-approach:not(.snap-communicate) { min-height: 100svh; }
  .why-page:not(.why-page-capability) > .chapter-divider,
  .snap-approach:not(.snap-communicate) > .chapter-divider {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 180px;
    min-height: 180px;
    padding: 120px var(--pad) 16px;
    transform-origin: center bottom;
    transition: transform .62s cubic-bezier(.45,.04,.16,1), opacity .62s ease;
  }
  .why-page:not(.why-page-capability):not(.heading-sequence) > .chapter-divider,
  .snap-approach:not(.snap-communicate):not(.heading-sequence) > .chapter-divider {
    opacity: 0;
    visibility: hidden;
  }
  .why-page.heading-sequence > .chapter-divider,
  .snap-approach.heading-sequence > .chapter-divider { visibility: visible; }
  .why-page.heading-sequence.is-heading-receding > .chapter-divider,
  .snap-approach.heading-sequence.is-heading-receding > .chapter-divider {
    height: 180px;
    min-height: 180px;
    padding: 120px var(--pad) 16px;
    transform: rotateX(88deg);
    opacity: 0;
  }
  .why-page:not(.why-page-capability) > .agency-section,
  .snap-approach:not(.snap-communicate) > .sequence-section,
  .why-page.heading-sequence:not(.is-heading-receding) > .agency-section,
  .snap-approach.heading-sequence:not(.is-heading-receding) > .sequence-section {
    min-height: 100svh;
    padding-top: clamp(112px, 15svh, 130px);
    padding-bottom: clamp(32px, 6svh, 55px);
  }
  .why-page:not(.why-page-capability):not(.is-heading-receding) > .agency-section,
  .snap-approach:not(.snap-communicate):not(.is-heading-receding) > .sequence-section {
    opacity: 0;
  }
  .why-page.heading-sequence.is-heading-receding > .agency-section,
  .snap-approach.heading-sequence.is-heading-receding > .sequence-section {
    opacity: 1;
    transition: opacity .5s ease .18s;
  }
}

.capability h3 { transition: color .7s ease, text-shadow .7s ease; }
.capability.is-activated h3 {
  color: #58d495;
  text-shadow: 0 0 15px rgba(62, 196, 125, .2);
}
.contact-main {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-width: 238px;
  margin-top: 38px;
  padding: 18px 25px;
  border: 1.5px solid #073525;
  border-radius: 999px;
  background: #0b4430;
  color: #f3fff6;
  box-shadow: 0 13px 28px rgba(3, 44, 28, .16), inset 0 1px rgba(255, 255, 255, .18);
  font: 700 16px/1 "Manrope", Arial, sans-serif;
  cursor: pointer;
  transition: transform .3s ease, background .3s ease, box-shadow .3s ease;
}
.contact-main span { margin: 0; }
.contact-main span:last-child { font-size: 22px; line-height: .6; }
.contact-main:hover,.contact-main:focus-visible {
  transform: translateY(-2px);
  background: #073725;
  box-shadow: 0 16px 30px rgba(3, 44, 28, .22), 0 0 18px rgba(255, 255, 255, .2);
}
.mobile-nav-contact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 60px;
  padding: 19px 24px;
  font-size: 16px;
  box-shadow: 0 0 24px rgba(31, 186, 135, .25);
}
.mobile-nav-contact span:last-child { font-size: 22px; line-height: .7; }

/* The two introductory chapter folds use the same upward content handoff. */
@media (max-width: 700px) {
  .why-page.heading-sequence > .agency-section,
  .snap-approach.heading-sequence > .sequence-section {
    transition: opacity .5s ease .14s, transform .72s cubic-bezier(.22,.72,.18,1);
  }
  .why-page.heading-sequence:not(.is-heading-receding) > .agency-section,
  .snap-approach.heading-sequence:not(.is-heading-receding) > .sequence-section {
    transform: translateY(68px);
  }
  .why-page.heading-sequence.is-heading-receding > .agency-section,
  .snap-approach.heading-sequence.is-heading-receding > .sequence-section {
    transform: translateY(0);
  }
  .capabilities .section-heading h2.type-reveal {
    font-size: clamp(25px, 6.35vw, 29px);
    letter-spacing: -.055em;
  }
}

/* Four values replace generic mission and vision statements. */
.snap-company .company { gap: 0; }
.snap-company .company-top { margin-bottom: clamp(26px, 4svh, 42px); }
.snap-company .company-top h2 { margin: 0; }
.company-values { width: 100%; }
.company-values-label {
  margin: 0 0 17px;
  color: #7fd3a1;
  font: 700 12px/1.2 "Manrope", Arial, sans-serif;
  letter-spacing: .16em;
}
.company-values-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(24px, 4vw, 52px);
}
.company-value {
  min-width: 0;
  padding: 15px 0 17px;
  border-top: 1px solid rgba(186, 229, 202, .24);
}
.company-value h3 {
  margin: 0 0 7px;
  color: #f7faf6;
  font: 600 clamp(17px, 1.55vw, 21px)/1.2 "Manrope", Arial, sans-serif;
  letter-spacing: -.025em;
}
.company-value strong {
  color: #83d4a6;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
}
.company-value p {
  max-width: 38ch;
  margin: 7px 0 0;
  color: rgba(238, 246, 240, .74);
  font-size: 14px;
  line-height: 1.55;
  word-break: keep-all;
}
@media (max-width: 700px) {
  .snap-company > .company { padding-top: 18px; padding-bottom: 38px; }
  .snap-company .company-top { margin-bottom: 22px; }
  .snap-company .company-top h2.type-reveal { font-size: clamp(29px, 7.2vw, 35px); line-height: 1.17; }
  .company-values-label { margin-bottom: 10px; font-size: 10px; }
  .company-values-grid { grid-template-columns: minmax(0, 1fr); }
  .company-value { padding: 10px 0 11px; }
  .company-value h3 { margin-bottom: 3px; font-size: 16px; }
  .company-value strong { font-size: 13px; }
  .company-value p { max-width: none; margin-top: 3px; font-size: 12px; line-height: 1.4; }
}
@media (max-width: 700px) and (max-height: 720px) {
  .snap-company > .company { padding-top: 8px; padding-bottom: 22px; }
  .snap-company .company-top { margin-bottom: 16px; }
  .company-value { padding: 8px 0 9px; }
}

/* The closing question supports the action instead of overpowering it. */
.snap-contact .contact-section h2.type-reveal {
  font-size: clamp(35px, 3.5vw, 46px);
  line-height: 1.18;
}
@media (max-width: 700px) {
  .snap-contact .contact-section h2.type-reveal {
    font-size: clamp(27px, 7vw, 31px);
    line-height: 1.24;
  }
}

/* Keep the Why Choied label visible on both proof pages. */
@media (min-width: 701px) {
  .why-page-capability > .chapter-divider { position: absolute; inset: 0 0 auto; z-index: 1; }
  .why-page-capability > .agency-section { min-height: 100svh; }
}
@media (max-width: 700px) {
  html { scroll-behavior: auto; }
  .why-page,
  .why-page:not(.why-page-capability) { min-height: 100svh; display: flex; flex-direction: column; }
  .why-page > .chapter-divider,
  .why-page:not(.why-page-capability) > .chapter-divider,
  .why-page:not(.why-page-capability):not(.heading-sequence) > .chapter-divider {
    position: relative; inset: auto; z-index: 1;
    flex: 0 0 180px;
    height: 180px; min-height: 180px;
    padding: 120px var(--pad) 16px;
    opacity: 1; visibility: visible; transform: none;
    border-bottom: 1px solid rgba(22, 54, 38, .22);
  }
  .why-page > .agency-section,
  .why-page:not(.why-page-capability) > .agency-section,
  .why-page:not(.why-page-capability):not(.is-heading-receding) > .agency-section {
    flex: 1 1 auto; min-height: 0; height: auto;
    display: grid; align-items: center;
    padding: 16px var(--pad) 35px;
    opacity: 1; transform: none;
  }
  .why-page > .chapter-divider .chapter-title > span {
    opacity: 1; clip-path: none; transform: none;
  }
  .why-page > .chapter-divider .chapter-title {
    font-size: clamp(32px, 8.3vw, 40px);
    line-height: 1.08;
    white-space: nowrap;
  }

  /* Company is a single viewport: the chapter flap yields its space to the values. */
  .snap-company { height: 100svh; min-height: 100svh; overflow: hidden; perspective: 900px; overflow-anchor: none; background: var(--continuity-bg); }
  .snap-company > .chapter-divider {
    position: relative; flex: 0 0 185px;
    height: 185px; min-height: 185px;
    transform-origin: center bottom; backface-visibility: hidden;
    transition: transform .62s cubic-bezier(.45,.04,.16,1),
      flex-basis .48s cubic-bezier(.22,.72,.18,1) .25s,
      height .48s cubic-bezier(.22,.72,.18,1) .25s,
      min-height .48s cubic-bezier(.22,.72,.18,1) .25s,
      padding .48s cubic-bezier(.22,.72,.18,1) .25s;
  }
  .snap-company:not(.heading-sequence) > .chapter-divider { opacity: 0; }
  .snap-company.heading-sequence > .chapter-divider { opacity: 1; }
  .snap-company.heading-sequence.is-heading-receding > .chapter-divider {
    flex-basis: 0; height: 0; min-height: 0;
    padding-top: 0; padding-bottom: 0;
    transform: rotateX(88deg); opacity: 0;
  }
  .snap-company.heading-sequence.is-heading-done > .chapter-divider { visibility: hidden; }
  .snap-company > .company {
    flex: 1 1 auto; min-height: 0;
    display: flex; flex-direction: column; justify-content: center;
    padding-top: 25px; padding-bottom: 30px;
  }
  .snap-company:not(.heading-sequence) > .company,
  .snap-company.heading-sequence:not(.is-heading-receding) > .company { opacity: 0; transform: translateY(44px); }
  .snap-company.heading-sequence.is-heading-receding > .company {
    opacity: 1; transform: translateY(0);
    transition: opacity .52s ease .1s, transform .7s cubic-bezier(.22,.72,.18,1);
  }
  .snap-company .company-top h2.type-reveal { font-size: clamp(26px, 6.9vw, 31px); line-height: 1.3; }
  .company-value { padding-top: 13px; padding-bottom: 14px; }
  .company-value h3 { margin-bottom: 6px; font-size: 17px; line-height: 1.35; }
  .company-value strong { font-size: 14px; line-height: 1.5; }
  .company-value p { margin-top: 5px; font-size: 13px; line-height: 1.65; }
}
@media (max-width: 700px) and (max-height: 720px) {
  .snap-company > .company { padding-top: 14px; padding-bottom: 18px; }
  .snap-company .company-top { margin-bottom: 14px; }
  .company-value { padding-top: 8px; padding-bottom: 9px; }
  .company-value h3 { font-size: 15px; }
  .company-value strong { font-size: 12px; }
  .company-value p { font-size: 11px; line-height: 1.5; }
}
@media (prefers-reduced-motion: reduce) and (max-width: 700px) {
  .snap-company > .chapter-divider { display: none; }
  .snap-company > .company { opacity: 1; transform: none; }
}

/* Editorial descriptions carry a separate color from the service names. */
.capabilities .capability p { color: #f1f7f2; font-weight: 500; }
.capabilities .capability:first-child p { color: #f1f7f2; }
.capabilities .capability p span { display: block; }

@media (min-width: 901px) {
  main > .capabilities {
    padding-left: clamp(38px, 4vw, 95px);
    padding-right: clamp(38px, 4vw, 95px);
  }
  .capabilities .section-heading { display: block; margin-bottom: clamp(24px, 4svh, 38px); }
  .capabilities .section-heading h2.type-reveal {
    max-width: 1050px;
    font-size: clamp(38px, 3.4vw, 54px);
    line-height: 1.16;
  }
  .capabilities .section-heading > p {
    max-width: none;
    margin: 17px 0 0;
    justify-self: start;
    font-size: 16px;
  }
  .capabilities .capability {
    min-width: 0;
    padding-left: clamp(10px, 1vw, 18px);
    padding-right: clamp(10px, 1vw, 18px);
  }
  .capabilities .capability:first-child { padding-left: 0; }
  .capabilities .capability:last-child { padding-right: 0; }
  .capabilities .capability p {
    color: #f1f7f2;
    font-size: clamp(14px, 1.05vw, 17px);
    line-height: 1.65;
  }
  .capabilities .capability p span { white-space: nowrap; }

  .snap-company > .chapter-divider {
    position: absolute;
    inset: 0 0 auto;
    z-index: 1;
  }
  .snap-company > .company {
    flex: 0 0 auto;
    min-height: 100svh;
    padding-top: var(--page-chapter-height);
    padding-bottom: var(--page-chapter-height);
  }
}

@media (min-width: 901px) and (max-width: 1320px) {
  .capabilities .capability-list { grid-template-columns: 1fr; }
  .capabilities .capability {
    display: grid;
    grid-template-columns: minmax(185px, .7fr) minmax(0, 1.6fr) minmax(155px, .8fr);
    gap: 22px;
    min-height: 0;
    padding: 17px 0;
    border-right: 0;
    border-bottom: 1px solid var(--continuity-rule);
  }
  .capabilities .capability ul { margin-top: 0; }
}

/* Mobile chapters fold upward without a large 3D rotation. */
@media (max-width: 700px) {
  .choice-intro.motion-ready.is-title-lit .choice-intro-title strong,
  .choice-intro.motion-ready.is-copy-visible .agency-headline-last {
    animation-name: choied-copy-ignite-mobile;
    transition-property: opacity;
  }
  .why-page > .agency-section,
  .why-page:not(.why-page-capability) > .agency-section,
  .why-page:not(.why-page-capability):not(.is-heading-receding) > .agency-section {
    padding-bottom: 75px;
  }
  .snap-approach:not(.snap-communicate) > .chapter-divider,
  .snap-company > .chapter-divider {
    transform-origin: center top;
    transition: transform .48s cubic-bezier(.32,.02,.18,1), opacity .3s ease .18s;
  }
  .snap-company.heading-sequence > .chapter-divider .chapter-title > span {
    opacity: 1;
    clip-path: none;
    transform: none;
  }
  .snap-company.heading-sequence:not(.is-heading-receding) > .chapter-divider {
    opacity: 1;
    animation: none;
    transition: none;
  }
  .snap-approach.heading-sequence.is-heading-receding > .chapter-divider {
    transform: scaleY(0);
    opacity: 0;
  }
  .snap-company.heading-sequence.is-heading-receding > .chapter-divider {
    transform: scaleY(0);
    opacity: 0;
  }
  .snap-company > .company {
    justify-content: flex-start;
    padding-top: clamp(128px, 16svh, 145px);
  }
  .snap-company .company-top { margin-bottom: 20px; }
  .snap-company .company-value { padding-top: 21px; padding-bottom: 22px; }
}
@keyframes choied-copy-ignite-mobile {
  from { transform: translate3d(0, 6px, 0) scale(.985); filter: brightness(.95); text-shadow: 0 0 0 rgba(41, 197, 141, 0); }
  to { transform: translate3d(0, 0, 0) scale(1); filter: brightness(1.06); text-shadow: 0 0 12px rgba(41, 197, 141, .45), 0 0 25px rgba(41, 197, 141, .18); }
}
@media (max-width: 700px) and (max-height: 720px) {
  .why-page > .agency-section,
  .why-page:not(.why-page-capability) > .agency-section { padding-bottom: 50px; }
  .snap-company > .company { padding-top: 108px; }
  .snap-company .company-top { margin-bottom: 14px; }
  .snap-company .company-value { padding-top: 9px; padding-bottom: 10px; }
}
@media (prefers-reduced-motion: reduce) and (max-width: 700px) {
  .choice-intro.motion-ready.is-title-lit .choice-intro-title strong,
  .choice-intro.motion-ready.is-copy-visible .agency-headline-last { animation: none; }
}

/* Keep the inquiry form as legible and recognizably actionable as the site CTAs. */
.contact-dialog .dialog-intro h2 {
  font-size: clamp(34px, 3.6vw, 54px);
  line-height: 1.15;
  letter-spacing: -.055em;
  white-space: nowrap;
}
.contact-form button[type="submit"] {
  min-height: 58px;
  align-items: center;
  padding: 16px 24px;
  border-radius: 999px;
  background: #58b989;
  color: #0b3424;
  font-weight: 700;
  box-shadow: 0 10px 28px rgba(36, 151, 98, .2);
  cursor: pointer;
}
.contact-form button[type="submit"]:hover,
.contact-form button[type="submit"]:focus-visible { background: #72d09c; }
.contact-form button[type="submit"] span { font-size: 23px; line-height: 1; }
@media (max-width: 700px) {
  .contact-dialog .dialog-intro h2 { font-size: clamp(26px, 7.4vw, 40px); }
}

/* Lead with the structural promise, then give its explanation room to breathe. */
.why-page-capability .agency-perspective .capability-lead {
  color: #213e2d;
  font-weight: 700;
}
.why-page-capability .agency-perspective .capability-detail { font-weight: 400; }

@media (min-width: 901px) {
  /* The reveal mask must include the descenders in Growth Logic. */
  .snap-approach #approach .chapter-title {
    line-height: 1.22;
    padding-bottom: .12em;
  }
  .snap-approach #approach .chapter-title > span {
    line-height: inherit;
    padding-bottom: .12em;
    clip-path: inset(-.12em 100% -.28em 0);
  }
  .snap-approach #approach.visible .chapter-title > span {
    clip-path: inset(-.12em 0 -.28em 0);
  }

  /* Match the two Growth Logic spreads: copy on one baseline, art on another. */
  .snap-approach:not(.snap-communicate) .sequence-intro {
    position: relative;
    top: calc(24px - min(12svh, 108px));
  }
  .snap-approach:not(.snap-communicate) .approach-funnel {
    position: relative;
    top: 24px;
  }
  .snap-communicate .sequence-intro {
    position: relative;
    top: 24px;
  }
  .snap-communicate .communicate-visual-slot {
    position: relative;
    top: 24px;
    height: 339px;
    min-height: 339px;
  }

  /* Set all reading spreads slightly lower, while Company stays centered. */
  .identity-stage,
  .choice-intro-inner,
  .why-page .agency-perspectives,
  .snap-clients .client-roster,
  .capabilities .section-heading,
  .capabilities .capability-list,
  .snap-contact > .chapter-divider,
  .snap-contact > .contact-section {
    position: relative;
    top: 24px;
  }
}

/* Supporting copy is white on the dark Execution spread. */
.capabilities .capability p,
.capabilities .capability:not(:first-child) p { color: #f1f7f2; }

@media (max-width: 700px) {
  /* Show the whole spread first, then lift it as the chapter label folds. */
  .snap-approach:not(.snap-communicate):not(.is-heading-receding) > .sequence-section,
  .snap-company:not(.is-heading-receding) > .company {
    opacity: 1;
    visibility: visible;
  }
  .snap-approach.heading-sequence:not(.is-heading-receding) > .sequence-section {
    transform: translateY(42px);
  }
  .snap-approach.heading-sequence.is-heading-receding > .sequence-section {
    transform: translateY(0);
    transition: transform .68s cubic-bezier(.22,.72,.18,1);
  }
  .snap-company.heading-sequence:not(.is-heading-receding) > .company {
    transform: translateY(18px);
  }
  .snap-company.heading-sequence.is-heading-receding > .company {
    transform: translateY(0);
    transition: transform .68s cubic-bezier(.22,.72,.18,1);
  }
  .snap-approach .sequence-section .reveal,
  .snap-company .company .reveal {
    opacity: 1;
    transform: none;
  }
}
