/* Homepage scene sized by artwork proportions; browser toolbar changes do not crop it. */
.home-shell .home-main { width:100%; max-width:none; margin:0; padding:0; }
.home-shell .home-main .service-home { width:100%; max-width:none; margin:0; transform:none; }
.home-shell .service-banner { border-radius:0; box-shadow:none; }
.theme-artworkonly picture::after { display:none; }
.theme-artworkonly img { object-fit:cover; }
body.home-artwork { min-height:100dvh; }
.home-artwork .home-main { flex:0 0 auto; display:block; }
.home-artwork .home-banner-stage { height:var(--banner-frame-height,33.333vw); min-height:0; }
.home-artwork .service-banner-slide { position:absolute; inset:0; min-height:0; }
.home-artwork .service-banner picture { display:block; position:absolute; inset:0; }
.home-artwork .service-banner img { display:block; width:100%; height:100%; object-fit:contain; }
.home-shell .service-banner:focus-visible { outline:4px solid #fff; outline-offset:-4px; }
@media(prefers-reduced-motion:reduce) { .home-shell .service-banner-slide.use-fade { transition:none; } }
/* Natural-proportion fallback before JavaScript or when it is unavailable. */
@media(max-width:1100px){.home-artwork .home-banner-stage{height:var(--banner-frame-height,66.667vw)}}
@media(max-width:760px){.home-artwork .home-banner-stage{height:var(--banner-frame-height,100vw)}}
@media(max-width:539px){.home-artwork .home-banner-stage{height:var(--banner-frame-height,125vw)}}
