/* Consistent square portraits, framed individually without altering the originals. */
.subpage .people{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.subpage .people .person-card{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);padding:0;overflow:hidden;border:1px solid #dce5ee;border-radius:12px;align-items:center}
/* Shared light-grey backdrop and matched eye lines for the edited cutouts. */
.person-photo{position:relative;aspect-ratio:1;overflow:hidden;background:#eef1f4;align-self:start;width:100%}
.person-photo img{position:absolute;display:block;height:auto;max-width:none}
.person-photo--daniel img{width:107.6923%;left:-3.84615%;top:5.6154%}
.person-photo--ivo img{width:100%;left:0;top:7%}
.person-photo--mark img{width:100%;left:0;top:7%}
.person-photo--gabrielle img{width:94%;left:3%;top:6.1%}
.person-details{padding:24px;min-width:0}
.subpage .people .person-details h3{font-size:24px;line-height:1.2;margin:0 0 10px;letter-spacing:-.5px}
.subpage .people .person-details p{font-size:14px;line-height:1.55;margin:0 0 18px}
.subpage .people .person-details a{font-size:14px;line-height:1.65;padding:3px 0;overflow-wrap:anywhere}
.subpage .people .person-details a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
@media(max-width:1150px){.subpage .people .person-card{display:block}.person-details{padding:25px}.subpage .people .person-details h3{font-size:26px}}
@media(max-width:600px){.subpage .people{grid-template-columns:1fr;gap:26px}.person-details{padding:25px}.subpage .people .person-details a{font-size:16px;padding:5px 0}.subpage .people .person-details p{font-size:15px}}
/* Square image surfaces keep product collections whole and portraits well framed. */
.picture img,.subpage-produkte .picture img,.framed-photo img,.project-card img,.subpage .hero-media img,.subpage .hero-media--portrait img,.subpage .gallery img,.subpage .projects-grid img,.subpage .projects-grid article:nth-child(4n+1) img,.subpage .split>div>img,.company-team>img,.company-services img,.company-care img{width:100%;height:auto;aspect-ratio:1;min-height:0;max-height:none}
.picture img,.subpage-produkte .picture img,.project-card img,.subpage .gallery img,.subpage .projects-grid img,.subpage .split>div>img,.company-care img{object-fit:contain;background:#f3f5f7}
.framed-photo img,.company-team>img{object-fit:cover;object-position:50% 24%}
.subpage .hero-media{align-self:center;padding-bottom:0;margin:16px 0 0;max-width:100%}
.subpage .hero-media img{object-fit:contain;background:#edf0f5}
.subpage-kontakt .hero-media img{object-fit:cover;object-position:50% 24%}
.subpage .hero-media::before{display:none}
.subpage .hero-media figcaption{position:static;margin:0;padding:14px 17px;border-radius:0 0 5px 5px;box-shadow:none;font-size:13px}
.subpage .gallery figure:nth-child(2),.subpage .gallery figure:nth-child(3),.subpage-produkte .product-card:nth-child(even),.company-services article:nth-child(2),.company-services article:nth-child(3){padding-top:0}
.subpage .projects-grid article:nth-child(4n+1){grid-template-columns:1fr 1fr;align-items:center}
.subpage .project-photo{background:#f3f5f7;aspect-ratio:1}
.company-services img{object-fit:contain;background:#f3f5f7}
.company-joy>figure{padding:0 0 50px}
.company-joy img{aspect-ratio:1;object-fit:contain;background:#edf0f1}
@media(max-width:760px){.subpage .projects-grid article:nth-child(4n+1){display:block}.subpage .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.subpage .gallery figure:last-child:nth-child(odd){grid-column:auto;display:block}.subpage .gallery figure:last-child:nth-child(odd) figcaption{display:flex;padding-bottom:0}.subpage .gallery figure:last-child:nth-child(odd) .caption-index{display:inline;margin-bottom:0}.subpage .gallery figcaption{align-items:start;flex-wrap:nowrap;font-size:14px;line-height:1.55}}
@media(max-width:600px){.subpage .gallery{grid-template-columns:1fr;gap:30px}.picture img{aspect-ratio:1}.subpage .gallery figcaption{padding-top:16px}}
/* Product-specific windows use the original image pixels at their natural ratio. */
.product-frame{display:block;position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:var(--frame-bg,#f9f9f9);border-radius:6px}
.product-frame img{display:block;border-radius:0}
.company-services .product-frame+div{padding-top:25px}
.company-joy .product-frame{border-radius:0}
.company-joy>figure{display:block}
.subpage .projects-grid .project-photo{align-self:center}
.company-place>figure>img{width:100%;height:auto;aspect-ratio:1.6037;object-fit:cover}
@media(max-width:760px){.company-place>figure>img{aspect-ratio:1;object-position:72% 50%}}
