/* Responsive hero photography v07. Reusable rule recovered from previous site:
   protect faces, hands, tools and the service contact point when resizing.
   Desktop = top-anchored gentle crop; narrow widths = show entire photo.
   Never turn a landscape photo into an aggressively cropped portrait. */

/* Wide desktop: keep roofline, heads and upper task geometry in view. */
@media (min-width:1101px) {
  .premium-home-hero .premium-slide img {
    object-fit: cover;
    object-position: center 12%;
  }
}

/* Service hero images share landscape proportions with their source artwork.
   The full illustrated job (worker, tool and contact) must stay visible. */
.premium-service-hero .premium-gallery-slides {
  aspect-ratio: 16 / 9;
  height: auto;
  min-height: 0;
}
.premium-service-hero .premium-slide img {
  object-fit: contain;
  object-position: center top;
}

/* Narrow desktop, tablet and phone: a dedicated photograph above the copy.
   Retain the entire image rather than hiding the worker behind headline text. */
@media (max-width:1100px) {
  .premium-home-hero {
    height: auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: visible;
    background: #17324d;
  }
  .premium-home-hero .premium-home-backdrop {
    order: 1;
    position: relative;
    inset: auto;
    display: block;
    width: 100%;
    padding: 18px clamp(16px,3vw,34px) 0;
    background: transparent;
  }
  .premium-home-backdrop > .premium-gallery,
  .premium-home-backdrop .premium-gallery-slides {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
  }
  .premium-home-backdrop .premium-gallery-slides {
    aspect-ratio: 16 / 9 !important;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 40px #09192740;
    background: #233d46;
  }
  .premium-home-hero .premium-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
  .premium-home-hero .premium-slide img {
    width: 100%;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
  }
  .premium-home-hero .premium-shade { display: none; }
  .premium-home-hero .premium-hero-content {
    order: 2;
    width: min(100% - 56px, 1320px);
    height: auto;
    min-height: 0;
    padding: 24px 0 55px;
    justify-content: flex-start;
  }
  .premium-home-hero .premium-hero-content h1 {
    max-width: 900px;
    margin-top: 12px;
  }
  .premium-home-hero .gallery-bar {
    position: relative;
    right: auto;
    bottom: auto;
    display: flex;
    justify-content: flex-end;
    gap: 14px;
    padding: 12px 0 0;
  }
}
@media (max-width:720px) {
  .premium-home-hero .premium-home-backdrop {padding: 12px 12px 0;}
  .premium-home-hero .premium-hero-content {
    width: calc(100% - 36px);
    padding: 19px 0 34px;
  }
  .premium-home-hero .premium-hero-content h1 {
    font-size: clamp(35px, 9.6vw, 54px);
    line-height: 1.1;
  }
  .premium-home-hero .gallery-bar {
    right: auto;
    bottom: auto;
    padding: 9px 3px 0;
  }
  .premium-home-hero .premium-gallery-slides {border-radius: 12px;}
  .premium-service-hero .premium-gallery-slides {
    aspect-ratio: 16 / 9;
  }
  .premium-service-hero .premium-slide figcaption {
    bottom: 8px;
    left: 8px;
    max-width: 92%;
  }
}
@media (max-width:370px) {
  .premium-home-hero .premium-hero-content h1 {font-size:36px;}
  .premium-home-hero .premium-hero-content {padding-bottom:29px;}
}
@media (prefers-reduced-motion:reduce) {
  .premium-home-hero .premium-slide img,
  .premium-service-hero .premium-slide img {
    animation:none !important;
    transform:none !important;
  }
}
