/* The pack supplies transparent photographic cutouts, not viewport-sized backgrounds.
   The surrounding navy and gold stay resolution-independent; pixels keep their original ratio. */
picture.g2-photo-scene{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none}
.hero-art:has(.g2-photo-scene){inset:0}
.hero-art .g2-photo-scene>img,.inner-banner-art .g2-photo-scene>img,.region-art .g2-photo-scene>img{
    display:block;width:100%;height:100%;object-fit:cover;object-position:center;
}
@media(min-width:641px){
    .home-hero .slide-1 .hero-art:has(.g2-photo-scene){inset:0}
    .hero-art picture.g2-d-native{
        background:radial-gradient(ellipse at 63% 68%,#123a59 0,transparent 52%),
                   linear-gradient(113deg,#031a33 0%,#052444 47%,#081c2b 100%);
    }
    .hero-art .g2-d-native>img{
        position:absolute;right:0;top:50%;transform:translateY(-50%);width:min(70%,var(--photo-wide));height:auto;max-height:100%;
        object-fit:contain;object-position:right center;
        mask-image:linear-gradient(to bottom,transparent,#000 6%,#000 92%,transparent);
    }
    /* Small interior cutouts in the alternate slides occupy a deliberate gold-edged inset. */
    .hero-art :is(.g2-d-services-banner,.g2-d-regions-banner)>img{right:clamp(12px,10%,230px)}
    .hero-art picture:is(.g2-d-services-banner,.g2-d-regions-banner)::before{
        content:"";position:absolute;inset:0 0 0 46%;
        background:radial-gradient(ellipse at 72% 49%,#1b4259 2%,#0a2b44 47%,transparent 70%);
    }
    .inner-banner:has(.g2-photo-inner.g2-d-native){
        aspect-ratio:auto;min-height:clamp(136px,12vw,178px);max-height:none;
        background:radial-gradient(ellipse at 63% 76%,#0c3958,transparent 64%),linear-gradient(110deg,#041b35,#062947 71%,#041a2b);
    }
    .inner-banner:has(.g2-photo-inner.g2-d-native) .inner-banner-copy{
        height:auto;min-height:inherit;width:min(66%,calc(100% - min(32%,320px)));
        padding-block:clamp(17px,1.65vw,28px);
    }
    .inner-banner:has(.g2-photo-inner.g2-d-native) .inner-banner-copy h1{font-size:clamp(30px,3.5vw,54px)}
    .inner-banner:has(.g2-photo-inner.g2-d-native) .inner-banner-copy p{font-size:clamp(13px,1.21vw,17px);line-height:1.45}
    .inner-banner-art:has(.g2-photo-inner){inset:0}
    .inner-banner-art:has(.g2-photo-inner)::before{display:none}
    .inner-banner-art .g2-photo-inner.g2-d-native>img{
        width:min(46%,var(--photo-wide));height:auto;max-height:100%;position:absolute;
        top:50%;right:max(0px,calc((100% - var(--wrap)) / 2));transform:translateY(-50%);
        object-fit:contain;object-position:right;opacity:1;
        mask-image:linear-gradient(to bottom,transparent,#000 7%,#000 94%,transparent);
    }
    .why-photo:has(.g2-photo-why.g2-d-native){position:relative;align-self:center;height:auto;max-height:none}
    .why-photo picture.g2-photo-why{position:relative;inset:auto;height:auto}
    .why-photo .g2-photo-why.g2-d-native>img{width:min(100%,var(--photo-wide));height:auto;object-fit:contain;display:block}
    .about-lead:has(.g2-body-photo),.area-lead:has(.g2-body-photo){grid-template-columns:minmax(130px,max-content) minmax(0,1fr)}
    .region-band:has(.g2-photo-region){min-height:174px;max-height:none;aspect-ratio:auto;padding-block:clamp(17px,1.8vw,27px) clamp(44px,4.8vw,66px)}
    .region-art .g2-photo-region.g2-d-native>img{position:absolute;left:24%;bottom:18%;width:min(29%,var(--photo-wide));height:auto;object-fit:contain;
        mask-image:linear-gradient(90deg,transparent,#000 20%,#000 100%)}
    .region-band:has(.g2-photo-region) .band-region-copy{width:31%;text-shadow:0 2px 6px #01182b}
}
.region-art .g2-region-trim{position:absolute;inset:auto 0 0;width:100%;height:clamp(24px,3.6vw,54px);pointer-events:none}
.g2-body-photo{display:block;width:min(100%,var(--body-native));margin-inline:auto}
.about-photo .g2-body-photo>img,.area-map .g2-body-photo>img{width:100%;height:auto;object-fit:contain}
@media(max-width:640px){
    .hero-art .g2-photo-hero.g2-m-native>img{
        width:min(66%,var(--photo-small));height:auto;position:absolute;inset:0 0 auto auto;object-fit:contain;
        mask-image:linear-gradient(to bottom,#000 87%,transparent);
    }
    .hero-art .g2-photo-hero:is(.g2-m-services-banner,.g2-m-regions-banner)>img{top:10%}
    .inner-banner-art:has(.g2-photo-inner){inset:0}
    .inner-banner-art:has(.g2-photo-inner)::before{display:none}
    .inner-banner-art .g2-photo-inner.g2-m-native>img{
        width:min(48%,var(--photo-small));height:auto;max-height:100%;position:absolute;top:50%;right:0;transform:translateY(-50%);
        object-fit:contain;object-position:right;opacity:1;
        mask-image:linear-gradient(to bottom,transparent,#000 6%,#000 93%,transparent);
    }
    .why-photo:has(.g2-photo-why.g2-m-native){position:relative;align-self:center}
    .why-photo picture.g2-photo-why{position:relative;inset:auto;height:auto}
    .why-photo .g2-photo-why.g2-m-native>img{width:min(100%,var(--photo-small));height:auto;object-fit:contain}
}
/* The supplied alpha follows the photo edge, not the printed gold stripe.
   These shadow edges trace the actual contour at each breakpoint. */
@media(min-width:641px){
.hero-art :is(.g2-d-hero-desktop,.g2-d-services-banner,.g2-d-regions-banner)>img,
.inner-banner-art picture:is(.g2-d-services-banner,.g2-d-about-banner,.g2-d-regions-banner,.g2-d-contact-banner)>img{
    filter:drop-shadow(-1px 0 0 #ffe9a7) drop-shadow(-4px 0 0 #d39425) drop-shadow(-2px 0 0 #f5d379);
}
}
@media (min-width:1500px){
    .home-hero .slide:has(.g2-photo-hero.g2-d-native) .hero-copy{
        padding-inline-start:max(4.4cqw,calc((100cqw - 1440px) / 2 + 24px));
        width:calc((100cqw - 1440px) / 2 + 630px);
    }
    .hero-art .g2-photo-hero.g2-d-native>img{right:max(0px,calc((100% - 1510px) / 2))}
    .hero-art .g2-photo-hero.g2-d-native::after{
        content:"";position:absolute;inset:0 0 0 auto;width:calc(max(0px,(100% - 1510px) / 2) + 26px);
        background:linear-gradient(90deg,transparent,#081c2b 26px);pointer-events:none;
    }
}
@media(max-width:640px){
    .hero-art .g2-photo-hero:is(.g2-m-hero-mobile,.g2-m-services-banner,.g2-m-regions-banner)>img,.inner-banner-art picture:is(.g2-m-services-banner,.g2-m-about-banner,.g2-m-regions-banner,.g2-m-contact-banner)>img{filter:drop-shadow(-1px 0 0 #ffe9a7) drop-shadow(-3px 0 0 #d39425) drop-shadow(-1px 0 0 #f5d379)}
}
@media(max-width:640px){
  /* Keep the last line of copy readable where the carpet approaches the text. */
  .hero-art .g2-photo-hero.g2-m-native::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 29%,rgba(4,30,56,.88) 39%,transparent 59%)}
}
