/* Shared page-fit rules for PHP page heroes and narrow displays. */
main, section, .container, [class$="-hero"], [class$="-hero-in"] { min-width: 0; }
.ab-hero, .ai-hero, .careers-hero, .exp-hero, .cx-hero, .cmp-hero, .ep-hero, .pp-hero { max-width: 100%; overflow: hidden; }
.ab-hero h1, .ai-hero h1, .careers-hero h1, .exp-hero h1, .cx-hero h1, .cmp-hero h1, .ep-hero h1, .pp-hero h1 { overflow-wrap: anywhere; }

@media (max-width: 820px) {
    .pp-hero, .cx-hero { grid-template-columns: minmax(0, 1fr) !important; }
    .pp-hero > *, .cx-hero > *, .ab-hero-in > *, .ep-hero-in > * { min-width: 0; max-width: 100%; }
    .pp-hero-img, .pp-hero-img-wrap, .pp-hero-img-wrap img { max-width: 100%; }
}

@media (max-width: 600px) {
    .ab-hero, .ai-hero, .careers-hero, .exp-hero, .ep-hero { padding-left: 16px !important; padding-right: 16px !important; }
    .cx-hero, .pp-hero { padding-left: 16px !important; padding-right: 16px !important; }
    .pp-hero h1, .ab-hero h1, .ai-hero h1, .careers-hero h1, .exp-hero h1, .cx-hero h1, .ep-hero h1 { font-size: clamp(28px, 9vw, 38px) !important; line-height: 1.12 !important; }
    .pp-hero-img-wrap img { height: auto !important; max-height: 360px !important; object-fit: cover; }
    .pp-hero-floating-card { max-width: calc(100% - 24px); }
}
