/* Separate photo pilot. The approved MZ styles remain the foundation. */
.photo-preview .hero picture.hero-picture{position:absolute;inset:0;z-index:0;display:block}
.photo-preview .hero picture.hero-picture img{position:static;width:100%;height:100%;object-fit:cover;object-position:center 58%;opacity:1;z-index:auto;animation:none;transform:none}
.photo-preview .hero:has(.hero-picture):after{z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.64),rgba(0,0,0,.26))}
.photo-preview .hero-inner{position:relative;z-index:2;text-shadow:0 2px 16px #0008}
.photo-preview.quality-site .hero.has-photo{height:clamp(660px,60vw,860px);min-height:0;max-height:none}
.photo-preview .hero picture.hero-picture img{object-position:center 12%}
.photo-preview .hero-actions{text-shadow:none}
.photo-preview .quality-service-image{aspect-ratio:3/4;max-height:670px;display:block;overflow:hidden}
.photo-preview .quality-service-image img{height:100%;object-fit:cover;object-position:center}
.photo-preview .home-detail-tall{height:600px!important}
.photo-preview .home-detail-short{height:420px!important}
.photo-preview .home-detail-short img{object-position:center!important}
.photo-preview .san-visual-interlude.photo-interlude{max-width:660px;margin:48px auto 0}
.photo-preview .san-visual-interlude.photo-interlude img{height:auto;max-height:760px;object-fit:contain;object-position:center}
.photo-preview .san-detail figure img{height:auto;max-height:760px;object-fit:contain;object-position:center}
.photo-preview .san-detail-copy{align-self:center}
.photo-preview .quality-editorial-figure img{height:100%;object-position:center;object-fit:cover}
.photo-preview .photo-series{padding-block:80px}
.photo-preview .photo-series:nth-of-type(even){background:#f5f3ef}
.photo-preview .photo-series .section-heading{max-width:740px;margin-bottom:36px}
.photo-preview .photo-series h2{margin-bottom:16px}
.photo-preview .photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.photo-preview .photo-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.photo-preview .photo-grid .portfolio-tile{display:block;width:100%;height:auto;aspect-ratio:3/4;padding:0;border:0;border-radius:0;background:#e9e5df;cursor:zoom-in;overflow:hidden}
.photo-preview .photo-grid .media-slot{height:100%;border-radius:0}
.photo-preview .photo-grid img{height:100%;width:100%;object-fit:cover;object-position:center}
.photo-preview .photo-grid .photo-landscape{aspect-ratio:4/3}
.photo-preview .photo-grid .photo-landscape img{object-fit:contain}
.photo-preview .portfolio-tile:focus-visible{outline:3px solid #981b1f;outline-offset:5px}
.photo-preview .photo-preview-note{padding:14px 24px;background:#f5f3ef;text-align:center;font-size:12px;color:#58504b}
.photo-preview .photo-preview-note a{margin-left:14px;text-decoration:underline;text-underline-offset:3px}
.photo-preview .lightbox-content .media-slot{height:auto;max-height:calc(100dvh - 140px);background:transparent}
.photo-preview .lightbox-content img{width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 150px);object-fit:contain}
@media(max-width:740px){
 .photo-preview.quality-site .hero.has-photo{height:740px;max-height:calc(100svh - 90px);min-height:560px}
 .photo-preview .hero picture.hero-picture img{object-position:center 45%}
 .photo-preview .hero:has(.hero-picture):after{background:rgba(0,0,0,.46)}
 .photo-preview .quality-service-image{max-height:none;aspect-ratio:3/4}
 .photo-preview .quality-service-image img{height:100%}
 .photo-preview .home-detail-tall{height:310px!important}
 .photo-preview .home-detail-short{height:240px!important}
 .photo-preview .photo-series{padding-block:52px}
 .photo-preview .photo-grid,.photo-preview .photo-grid.three{grid-template-columns:1fr;gap:20px}
 .photo-preview .san-visual-interlude.photo-interlude{margin-top:32px}
 .photo-preview .photo-preview-note a{display:inline-block;margin:6px 10px 0}
}
@media(prefers-reduced-motion:reduce){.photo-preview *{scroll-behavior:auto!important}}

/* The content stays still while the photos crossfade. */
.photo-preview .photo-background-rotator{position:absolute;inset:0;z-index:0}
.photo-preview .photo-slide{position:absolute;inset:0;display:block;opacity:0;transition:opacity 1.1s ease;pointer-events:none}
.photo-preview .photo-slide.is-active{opacity:1}
.photo-preview .hero .photo-slide img{width:100%;height:100%;object-fit:cover;object-position:center 38%;animation:none;transform:none;position:static;opacity:1}
.photo-preview .photo-slide:first-child img{object-position:center 12%}
.photo-preview .hero:has(.photo-background-rotator):after{z-index:1;background:linear-gradient(90deg,#0009,#0006)}
.photo-preview .photo-editorial-rotator{position:relative;aspect-ratio:3/4;min-height:0;overflow:hidden;background:#e9e5df}
.photo-preview .photo-editorial-rotator .photo-slide img{object-position:center;height:100%;max-height:none;aspect-ratio:auto}
.photo-preview #bisherige-projekte{background:#f5f3ef}
.photo-preview #bisherige-projekte .media-slot img{object-position:center}
@media(max-width:740px){
 .photo-preview .hero .photo-slide img{object-position:center}
 .photo-preview .photo-editorial-rotator{aspect-ratio:3/4}
}
@media(prefers-reduced-motion:reduce){.photo-preview .photo-slide{transition:none}}
