/* Compact content spacing shared by every page. The homepage hero and
   desktop pinned scenes retain the dimensions their animations require. */
body.site-unified-font {
  --section-space: clamp(32px, 3vw, 48px);
  --content-gap: clamp(20px, 2.5vw, 36px);
}

body.site-unified-font #main > :is(.built, .brands, .divisions, .ranking, .contact,
  .about-story, .about-purpose, .about-journey, .about-values, .about-next) {
  padding-block: var(--section-space);
}
body.site-unified-font #main :is(.section-head, .brands__head, .about-section-head) {
  margin-bottom: 28px;
  gap: var(--content-gap);
}
body.site-unified-font #main :is(.about-story, .about-next) {
  gap: var(--content-gap);
  align-items: start;
}
body.site-unified-font .about-story__copy { align-self: start; }
body.site-unified-font #main :is(.about-story__heading h2, .about-section-head h2, .about-next h2) {
  margin-top: 16px;
}
body.site-unified-font .about-story__copy > p + p { margin-top: 16px; }

/* Let About content determine its height instead of filling the viewport. */
body.site-unified-font .about-hero {
  min-height: 0;
  padding-top: 112px;
  padding-bottom: 28px;
  grid-template-rows: auto auto auto;
  gap: 24px;
}
body.site-unified-font .about-hero__copy { padding-block: 8px; }
body.site-unified-font .about-hero__intro { margin-bottom: 0; }
body.site-unified-font .about-hero__intro::before { margin-bottom: 20px; }
body.site-unified-font :is(.purpose-card, .value-card) {
  min-height: 0;
  justify-content: flex-start;
  gap: 24px;
}
body.site-unified-font .value-card h3 { margin-top: 0; }
body.site-unified-font .about-stats { margin-top: 24px; }
body.site-unified-font .about-network { padding-top: var(--section-space); padding-bottom: 16px; }
body.site-unified-font .about-network__title { padding-bottom: 24px; }
body.site-unified-font .about-journey .about-section-head { margin-bottom: 32px; }
body.site-unified-font .journey-grid li { margin-bottom: 24px; }
body.site-unified-font .journey-grid li:last-child { margin-bottom: 0; }

/* Homepage content between the existing scroll scenes. */
body.site-unified-font #main .built__eyebrow { margin-bottom: 24px; }
body.site-unified-font #main .places { margin-block: 24px; }
body.site-unified-font #main .contact__direct { margin-top: 20px; }
body.site-unified-font #main .work--vertical { padding-block: var(--section-space); }
body.site-unified-font #main .work--vertical .work__head { margin-bottom: 28px; }

/* Legacy content pages use the same compact spacing, keeping the top
   clearance needed below the floating navigation. */
body.site-unified-font :is(.team-sec2, .team-sec3, .work-sec2, .contact-sec2,
  .service-sec3, .service-sec4, .innovation-showcase, .marketing-packages,
  .testimonial-section, .recent-blogs, .growth-section) {
  padding-block: var(--section-space);
  margin-block: 0;
}
body.site-unified-font :is(.team-sec1, .work-sec1, .contact-sec1, .service-sec1, .gallery-sec) {
  padding-top: 112px;
  padding-bottom: 28px;
  margin-top: 0;
  min-height: 0;
}
body.site-unified-font .growth-hero { padding-top: 112px; padding-bottom: 40px; min-height: 0; }
body.site-unified-font section.map-section { padding-block: var(--section-space) !important; }
body.site-unified-font section.pad { padding-block: 20px; margin-block: 0; }
body.site-unified-font :is(.testimonial-heading, .testimonial-subtitle) { margin-bottom: 16px; }
body.site-unified-font .contact-info-panel { padding-top: 0; }
body.site-unified-font .contact-flex1 { gap: var(--content-gap); }
body.site-unified-font .work-flex h1 { margin-top: 0; }
body.site-unified-font .legal-page { padding-bottom: var(--section-space); }

/* Remove fixed-height empty space from the shared footer call to action. */
body.site-unified-font .footer__cta { min-height: 0; padding-block: 32px; gap: 28px; }
body.site-unified-font .footer__headline { margin-top: 24px; }
body.site-unified-font .footer__word { margin-top: 28px; margin-bottom: 24px; }

@media (max-width: 900px) {
  body.site-unified-font #main .story__panel--intro { padding-top: 40px; padding-bottom: 24px; }
}
@media (max-width: 760px) {
  body.site-unified-font { --section-space: 28px; --content-gap: 20px; }
  body.site-unified-font :is(.team-sec1, .work-sec1, .contact-sec1, .service-sec1, .gallery-sec, .growth-hero, .about-hero) {
    padding-top: 92px;
    padding-bottom: 24px;
  }
  body.site-unified-font .about-hero__intro { margin-top: 24px; }
  body.site-unified-font #main :is(.section-head, .brands__head, .about-section-head) { margin-bottom: 24px; }
  body.site-unified-font .value-card { padding-block: 24px; }
  body.site-unified-font .footer__cta { padding-block: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  body.site-unified-font #main :is(.story, .work, .awards) { padding-block: var(--section-space); }
}
