/* Photographic frames keep their page-specific design dimensions and crops.
   Logos, portraits and editorial media retain their existing contain/auto rules. */
/* Mobile sections own their leading gap without a second trailing spacer. */
@media (max-width: 768px) {
    .contact-hero, .cf-section, .offices-section, .contact-map-section { padding-inline: 16px; }
    .contact-hero-inner { padding-bottom: 24px; }
    .cf-section { padding-top: 48px; }
    .offices-section { padding-top: 48px; padding-bottom: 0; }
    .offices-section .section-header { margin-bottom: 24px; }
    .office-card-new + .office-card-new { margin-top: 32px; }
    .contact-map-section { padding-top: 32px; padding-bottom: 48px; }

    .blog-page, .single-blog { padding-bottom: 48px; }
    .single-blog__cta { margin-top: 48px; }
    .careers-application { padding-bottom: 48px; }
    .single-career__hero { padding-block: calc(var(--nav-height) + 32px) 48px; }
    .single-career__application { padding-block: 48px; }
    .expertise-single__approach { padding-top: 48px; }
    .expertise-single__story { margin-bottom: 48px; }
    .expertise-single__cta { padding-block: 48px; }
}

@media (max-width: 600px) {
    .partners-clients { padding-top: 48px; }
    .partners-cta { padding-top: 48px; }
    .partners-cta .cta-section-curve { margin-top: -32px; margin-bottom: 48px; }
    .solution-single__cta { padding-block: 48px; }
}
