/* Reference identities retain their original artwork and colors. */
.reference-strip{padding-block:32px 27px;border-bottom:1px solid var(--line);background:var(--paper)}
.reference-intro{display:flex;align-items:baseline;justify-content:space-between;gap:28px}
.reference-intro h2{font-size:20px;letter-spacing:-.4px;line-height:1.4;color:var(--green)}
.reference-intro p{font-size:14px;line-height:1.6}
.reference-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 16px;list-style:none;padding:22px 0 0;margin:0}
.reference-logos li{min-width:0;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;min-height:110px;padding:7px 12px}
.reference-logos li span{font-size:12px;line-height:1.4;text-align:center;color:#48554c}
.reference-logos .logo-oberhausen{max-width:190px;height:65px}
.reference-logos img{width:100%;max-width:165px;height:51px;object-fit:contain}
.reference-logos .logo-db{max-width:77px;height:50px}
.reference-logos .logo-effectiv{max-width:175px;height:82px}
.reference-logos .logo-music-school{max-width:185px;height:72px}
.reference-logos .logo-kindergarten{max-width:142px;height:96px}
.reference-logos .logo-schneckenhaus{max-width:126px;height:85px}
.reference-photos{padding-block:68px;background:#eeeee4;border-block:1px solid var(--line)}
.reference-photos .eyebrow{font-size:12px}
.reference-photos .section-heading{gap:45px;align-items:flex-end}
.reference-photos .section-heading h2{font-size:clamp(32px,3.4vw,45px)}
.reference-photos .section-heading>p{font-size:16px;max-width:390px}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.photo-card{margin:0;min-width:0}
.photo-card a{position:relative;display:block;border-radius:5px;overflow:hidden;background:#d8dacc;cursor:zoom-in}
.photo-card img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center;transition:transform .25s}
.photo-card a:hover img{transform:scale(1.025)}
.photo-card .photo-ronal{object-position:center 30%}
.photo-card .photo-momento{object-position:center 42%}
.photo-card .photo-expand{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:36px;height:36px;background:var(--paper);color:var(--green);border-radius:50%;font-size:21px;box-shadow:0 2px 6px #0002}
.photo-card figcaption{font-size:14px;line-height:1.5;color:var(--green);padding-top:12px;font-weight:700}
.more-photos{margin-top:28px}
.more-photos>summary{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:15px;font-weight:700;color:var(--green);padding:17px 0;border-top:1px solid #cbd1c2;border-bottom:1px solid #cbd1c2;min-height:52px}
.more-photos>summary::after{content:'+';font-size:24px;font-weight:400}
.more-photos[open]>summary::after{content:'−'}
.more-photos .photo-grid{padding-top:24px;row-gap:28px}
.reference-cta{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:29px}
.reference-cta p{font-size:16px;line-height:1.6;color:var(--green)}
.reference-cta .button{flex-shrink:0}
.photo-viewer{border:0;padding:0;background:transparent;color:white;width:min(1180px,calc(100vw - 36px));max-width:none;max-height:calc(100dvh - 24px);overflow:visible}
.photo-viewer::backdrop{background:#07170feb}
.photo-viewer-panel{background:#10291f;border-radius:8px;padding:16px}
.photo-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}
.photo-viewer-title{font-size:16px;font-weight:700}
.photo-viewer-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}
.photo-viewer button{border:1px solid #ffffff4d;border-radius:4px;min-width:44px;min-height:44px;background:transparent;color:white;padding:6px 12px;font-size:19px}
.photo-viewer button:hover{background:#ffffff1a}
.photo-viewer [data-photo-position]{font-size:14px;min-width:52px;text-align:center}
.photo-viewer figure{margin:0}
.photo-viewer img{display:block;width:100%;height:min(70dvh,780px);object-fit:contain;background:#0a1b13}
.photo-viewer figcaption{font-size:15px;line-height:1.6;padding-top:12px}
body.photo-viewer-open{overflow:hidden}
@media(max-width:1000px){.site-header nav{gap:20px;margin-right:0}.site-header{gap:20px}.reference-logos{gap:12px}.reference-intro{display:block}.reference-intro p{margin-top:7px}.reference-photos .section-heading{display:block}.reference-photos .section-heading>p{max-width:620px;margin-top:18px}.photo-grid{gap:16px}}
@media(max-width:760px){.reference-strip{padding-block:25px 22px}.reference-intro h2{font-size:19px}.reference-intro p{font-size:14px}.reference-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px;padding-top:19px}.reference-logos li{grid-column:auto;min-height:63px;padding:8px}.reference-logos img{max-width:130px;height:36px}.reference-logos .logo-db{height:38px;max-width:59px}.reference-photos{padding-block:40px}.reference-photos .eyebrow{font-size:11px}.reference-photos .section-heading h2{font-size:35px}.reference-photos .section-heading>p{font-size:16px}.photo-grid{grid-template-columns:1fr 1fr;gap:19px 13px}.photo-grid-featured>.photo-card:first-child{grid-column:1/-1}.photo-grid-featured>.photo-card:first-child img{aspect-ratio:1.45}.photo-card img{aspect-ratio:1.15}.photo-card figcaption{font-size:14px;font-weight:600;padding-top:9px}.photo-card .photo-expand{width:31px;height:31px;font-size:19px;right:8px;bottom:8px}.more-photos{margin-top:24px}.reference-cta{display:block;padding-top:24px}.reference-cta p{margin-bottom:17px}.reference-cta .button{width:100%}.photo-viewer{width:calc(100vw - 18px)}.photo-viewer-panel{padding:10px}.photo-viewer-header{flex-wrap:wrap;gap:8px}.photo-viewer-title{font-size:14px}.photo-viewer-controls{width:100%;justify-content:space-between}.photo-viewer img{height:60dvh}.photo-viewer figcaption{font-size:14px}.photo-viewer button{padding-inline:10px}}
@media(prefers-reduced-motion:reduce){.photo-card img{transition:none}}
@media print{.reference-strip,.reference-photos{break-inside:avoid}.more-photos,.photo-expand,.reference-cta,.photo-viewer{display:none}.reference-logos{grid-template-columns:repeat(3,1fr)}.reference-logos li{grid-column:auto}}
