/* Photo-led Empire homepage. Header navigation and all other sections stay intact. */
.home-page .empire-photo-hero {position:relative;display:block;min-height:0;height:min(82vh,850px);background:#080a0d;overflow:hidden;padding:0}
.home-page .empire-photo-hero-image {position:absolute;inset:0;overflow:hidden;background:#080a0d}
.home-page .empire-photo-hero-credit {position:absolute;bottom:33px;left:max(4vw,calc((100vw - 1380px)/2));font-size:10px;font-weight:800;letter-spacing:.18em;color:#fff;text-shadow:0 1px 8px #000}
.home-page .empire-photo-hero-credit span {color:#e0b85f;padding:0 8px}
.home-page .empire-photo-hero-scroll {position:absolute;right:max(4vw,calc((100vw - 1380px)/2));bottom:29px;font-size:10px;letter-spacing:.18em;font-weight:800;color:#fff;display:flex;align-items:center;gap:13px;text-shadow:0 1px 8px #000}
.home-page .empire-photo-hero-scroll span {font-size:20px;color:#e0b85f}
.home-page .visually-hidden {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:767px){.home-page .empire-photo-hero{height:min(70svh,650px);min-height:390px}.home-page .empire-photo-hero-image{background-position:57% center}.home-page .empire-photo-hero-credit{bottom:25px;left:5vw;font-size:8px;letter-spacing:.1em}.home-page .empire-photo-hero-scroll{right:5vw;bottom:19px;font-size:9px}}

/* Mobile width repair: prevents oversized headings and fixed CTA text
   from widening the page. Homepage presentation only. */
@media (max-width: 700px) {
  html, body.home-page { width: 100%; max-width: 100%; overflow-x: clip; }
  .home-page main, .home-page section, .home-page .wrap,
  .home-page .intro-grid, .home-page .heading-row {
    min-width: 0; max-width: 100%; box-sizing: border-box;
  }
  .home-page .intro h2,
  .home-page .heading-row h2,
  .home-page .difference h2,
  .home-page .quote h2,
  .home-page .contact h2 {
    font-size: clamp(32px, 9vw, 48px);
    line-height: 1.04;
    overflow-wrap: anywhere;
    max-width: 100%;
  }
  .home-page .intro-grid > *,
  .home-page .heading-row > * { min-width: 0; max-width: 100%; }
  .home-page .intro-grid .lead { font-size: clamp(19px, 5.2vw, 24px); }
  .home-page .intro-grid p { overflow-wrap: break-word; }
  .home-page .mobile-actions {
    width: 100%; max-width: 100%; grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    overflow: hidden;
  }
  .home-page .mobile-actions a {
    min-width: 0; padding: 0 8px; font-size: clamp(9px, 2.5vw, 11px);
    letter-spacing: .035em; text-align: center; white-space: normal;
    line-height: 1.3;
  }
  .home-page .service h3 { font-size: clamp(36px, 11vw, 60px); overflow-wrap: anywhere; }
}

/* Passive, fixed-size hero slideshow: no manual controls or scrolling. */
.home-page .empire-hero-frame {position:absolute;inset:0;background-position:center 53%;background-size:cover;background-repeat:no-repeat;opacity:0;transition:opacity 1.3s ease-in-out;will-change:opacity}
.home-page .empire-hero-frame.is-active {opacity:1}
.home-page .empire-photo-hero-image::after {content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#080a0d66 0%,transparent 26%,transparent 62%,#080a0da8 100%)}
@media(max-width:767px){.home-page .empire-hero-frame{background-position:center center}}
@media(prefers-reduced-motion:reduce){.home-page .empire-hero-frame{transition:none}}

/* Consistent 16:9 hero framing: real photos, no blurred side panels. */
.home-page .empire-photo-hero { height:clamp(400px, 37vw, 590px); min-height:0; }
.home-page .empire-hero-frame {
  background-image:var(--slide-image) !important;
  background-size:cover;
  background-position:center center;
}
.home-page .empire-photo-hero-credit, .home-page .empire-photo-hero-scroll { z-index:3; }
/* Footer service-area navigation must never float over the mobile hero. */
.home-page footer nav.region-links { position:static !important; inset:auto !important; width:auto !important; display:flex !important; flex-direction:row !important; background:transparent !important; }
@media(max-width:767px) {
 .home-page .empire-photo-hero { height:clamp(280px, 74vw, 430px); min-height:0; }
 .home-page .empire-hero-frame { background-size:cover; background-position:center center; }
 .home-page footer nav.region-links { padding:18px 16px !important; gap:10px 18px; }
 .home-page .empire-photo-hero-credit { bottom:18px; }
 .home-page .empire-photo-hero-scroll { bottom:13px; }
}

/* Hide Explore prompt on phones only. */
@media (max-width: 767px) {
  .home-page .empire-photo-hero-scroll { display: none !important; }
}

/* iOS Safari: keep slideshow and its dark overlay on stable GPU layers.
   This avoids a white flash and prevents the neighboring banner repainting. */
.home-page .empire-photo-hero { isolation:isolate; transform:translateZ(0); }
.home-page .empire-photo-hero-image { isolation:isolate; transform:translateZ(0); }
.home-page .empire-hero-frame {
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  -webkit-transform:translate3d(0,0,0);
  transform:translate3d(0,0,0);
  -webkit-transition:opacity 1.3s ease-in-out;
  transition:opacity 1.3s ease-in-out;
}
.home-page .empire-photo-hero-image::after {
  -webkit-transform:translate3d(0,0,0);
  transform:translate3d(0,0,0);
}
@media(prefers-reduced-motion:reduce){
  .home-page .empire-hero-frame { -webkit-transition:none;transition:none; }
}
