/* APEX v3 — replaces v2. Remove upload or restore v2 to undo.
   Existing hero fixes retained; additions scoped to the page with #about. */
.apex-hero-slider.apex-hero-slider--has-sidebar { grid-template-columns:minmax(0,1fr) !important; }
.apex-hero-slider > .apex-hero-slider__sidebar { display:none !important; }
.header.header--logo-breakout .header__logo { background:transparent !important; }
.review .review__review blockquote { font-size:22px !important; line-height:1.45 !important; }

/* About: natural spacing, independent media sizing. */
body:has(#about) .text-media:has(#about) .text-media__inner { align-items:start !important; }
body:has(#about) .text-media:has(#about) .text-media__content { display:block !important; min-width:0; }
body:has(#about) .text-media:has(#about) .headline { margin:0 0 24px !important; }
body:has(#about) .text-media:has(#about) .text-media__text p {
 font-size:20px !important; line-height:1.6 !important; margin:0 0 20px !important;
}
body:has(#about) .text-media:has(#about) .text-media__text p:last-child { margin-bottom:0 !important; }
body:has(#about) .text-media:has(#about) .text-media__media {
 width:100% !important; min-width:0 !important; align-self:start !important;
 margin-top:76px; padding:0 0 32px 24px !important; animation:none !important;
}
body:has(#about) .text-media:has(#about) .text-media__media .splide,
body:has(#about) .text-media:has(#about) .text-media__media .splide__track,
body:has(#about) .text-media:has(#about) .text-media__media .splide__list {
 width:100% !important; min-width:0 !important; max-width:none !important;
}
body:has(#about) .text-media:has(#about) .text-media__media .splide { flex:0 0 100% !important; }
body:has(#about) .text-media:has(#about) .text-media__media .splide__slide { width:100% !important; flex:0 0 100% !important; }
body:has(#about) .text-media:has(#about) .text-media__media picture { width:100% !important; }
body:has(#about) .text-media:has(#about) .text-media__media img {
 width:100% !important; max-width:none !important; height:auto !important; aspect-ratio:3/2 !important; object-fit:cover !important;
}
body:has(#about) .text-media:has(#about) .text-media__frame { animation:none !important; inset:24px 24px 8px 0 !important; width:auto !important; aspect-ratio:auto !important; }
body:has(#about) .text-media:has(#about) .text-media__caption {
 animation:none !important; right:16px !important; bottom:-16px !important; padding:12px 24px !important; font-size:24px !important;
}
/* Services */
body:has(#about) .services-grid__item h4 { margin:0 0 12px !important; }
body:has(#about) .services-grid__item p { font-size:18px !important; line-height:1.45 !important; margin:0 !important; }
/* Three equally sized team portraits; names also accessible without hover. */
body:has(#about) .people-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
body:has(#about) .people-grid__item { opacity:1 !important; min-width:0; padding-bottom:0 !important; margin-bottom:24px !important; }
body:has(#about) .people-grid__item .ui-image { width:100% !important; aspect-ratio:1/1 !important; }
body:has(#about) .people-grid__item .ui-image img { width:100% !important; height:100% !important; object-fit:cover !important; object-position:center 25% !important; }
body:has(#about) .people-grid__content { position:static !important; opacity:1 !important; width:100%; margin-top:16px; }
/* Mobile: undo the earlier wide inline hero text workaround. */
@media(max-width:768px) {
 .review .review__review blockquote { font-size:20px !important; }
 body:has(#about) .text-media:has(#about) .text-media__media { margin-top:0; padding-left:16px !important; }
 body:has(#about) .text-media:has(#about) .text-media__text p { font-size:18px !important; line-height:1.55 !important; }
 body:has(#about) .people-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:20px !important; }
 body:has(#about) .apex-hero-slider__content-inner { right:0 !important; left:0 !important; width:auto !important; max-width:none !important; padding:24px !important; bottom:100px !important; transform:none !important; }
 body:has(#about) .apex-hero-slider__content-inner p { width:auto !important; max-width:100% !important; position:static !important; left:auto !important; transform:none !important; font-size:22px !important; line-height:1.4 !important; }
 body:has(#about) .apex-hero-slider .splide__arrows { left:24px !important; bottom:24px !important; }
 body:has(#about) .apex-hero-slider .splide__arrow { width:44px !important; height:44px !important; }
 body:has(#about) .apex-hero-slider .splide__arrow--next { left:64px !important; }
}
@media(max-width:480px) {
 body:has(#about) .people-grid { grid-template-columns:minmax(0,1fr) !important; }
 body:has(#about) .text-media:has(#about) .text-media__caption { font-size:20px !important; padding:10px 16px !important; }
}
