/* Preserve the semantic section layout while Elementor owns the content. */
.cb-elementor-page > .elementor,
.cb-elementor-global,
.cb-elementor-global > .elementor,
body:not(.elementor-editor-active) .elementor-widget-clean_team_section,
body:not(.elementor-editor-active) .elementor-widget-clean_team_section > .elementor-widget-container { display:contents; }
.elementor-widget-clean_team_section { width:100%; margin:0; }
/* Theme content uses its established typography, including inside kit styles. */
.elementor-widget-clean_team_section img { border-radius:inherit; }

/* Elementor's own "figure{margin:0}" reset outranks the theme's photo spacing
   (four classes vs. one), which flattens and left-aligns the standard-page
   feature photos instead of centering them with their bottom gap. */
.elementor-widget-clean_team_section .standard-section-photo-wide { margin:12px auto 0 !important; }
.elementor-widget-clean_team_section .standard-section-photo-feature { margin:0 auto 58px !important; }

/* Keep the Services hero photo inside its padded frame when Elementor resets images. */
.services-archive .services-hero-image > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 20px;
}

/* Preserve the About collage dimensions and frames against Elementor image resets. */
.about-premium .about-visual > .about-main-image {
    height: 100%;
    border-radius: 24px;
    box-shadow: 0 30px 70px #051b0f70;
}
.about-premium .about-visual > .about-small-image {
    height: 190px;
    border: 1px solid #fff4;
    border-radius: 18px;
}
@media (max-width: 900px) {
    .about-premium .about-visual > .about-small-image { height: 145px; }
}

/* The static homepage header already follows the contact strip in normal flow. */
.home.page .site-header:not(.is-scrolled) { top: 0; }

/* Retain the homepage photo frame and collage borders inside Elementor. */
.premium-home .hero-image-frame > .home-hero-main-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
}
.premium-home .hero-showcase > .hero-mini-photo {
    border: 7px solid #fff;
    border-radius: 17px;
    box-shadow: 0 18px 38px #051b0f4a;
}
@media (max-width: 900px) {
    .premium-home .hero-showcase > .hero-mini-photo { border-width: 5px; }
}
