/* Uniform rows, independent of image orientation or theme image styles. */
.dhz-site .reference-section{background:#fff;scroll-margin-top:100px}
.reference-heading{align-items:end;gap:70px}
.reference-heading .lead{font-size:1rem;line-height:1.85;max-width:420px}
.reference-hint{margin-top:18px;font-size:.875rem;color:var(--muted)}
.dhz-site .reference-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;columns:auto;align-items:stretch}
.dhz-site .reference-gallery:has(>.reference-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.dhz-site .reference-gallery:has(>.reference-card:only-child){grid-template-columns:minmax(0,1fr);max-width:640px}
.dhz-site .reference-gallery>.reference-card{display:flex;flex-direction:column;margin:0;padding:0;min-width:0;min-height:0;height:auto;background:#fff;border:1px solid #e2e7ea;border-radius:12px;overflow:hidden;box-shadow:none;break-inside:auto}
.dhz-site .reference-gallery .reference-open{position:relative;display:block;flex:none;aspect-ratio:4/3;width:100%;height:auto;min-height:0;max-height:none;padding:0;margin:0;overflow:hidden;line-height:0;background:#fff}
.dhz-site .reference-gallery .reference-open>img{position:absolute;inset:0;display:block;float:none;width:100%;height:100%;max-width:none;max-height:none;min-height:0;margin:0;padding:0;object-fit:cover;object-position:center;transition:filter .18s}
.reference-open:hover img{filter:brightness(.95)}
.reference-open:focus-visible{outline:4px solid var(--navy);outline-offset:-4px}
.reference-zoom{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:14px;border-radius:8px;padding:9px 14px;background:#fff;color:var(--navy);font-size:.875rem;line-height:1.5;font-weight:700;z-index:1}
.reference-zoom>span{font-size:1.4rem;font-weight:400;line-height:1}
.dhz-site .reference-card figcaption{padding:22px 24px;margin:0;background:#fff;font-size:1rem;font-weight:700;line-height:1.6;color:var(--navy);overflow-wrap:anywhere}
.reference-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:32px;padding-top:28px;border-top:1px solid #e2e7ea}
.reference-bottom p{font-size:1.05rem;color:var(--navy)}
.reference-bottom .text-link{flex-shrink:0;margin:0}
.reference-lightbox{max-width:none;max-height:none;width:100%;height:100%;height:100dvh;padding:24px;margin:0;border:0;background:transparent;color:#fff;box-sizing:border-box}.reference-lightbox:not([open]){display:none}.reference-lightbox[open]{display:flex;align-items:center;justify-content:center}.reference-lightbox::backdrop{background:rgba(9,25,36,.96)}.reference-viewer{width:min(1150px,100%);max-height:100%;display:flex;flex-direction:column;gap:14px;min-height:0}.reference-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-shrink:0}.reference-counter{font-size:.875rem;color:#dce8e5}.reference-close,.reference-controls button{font:inherit;font-size:.875rem;font-weight:700;color:#fff;background:#1b3d4e;border:1px solid #658492;border-radius:99px;padding:11px 20px;min-height:44px;cursor:pointer}.reference-close{display:flex;align-items:center;gap:18px}.reference-close>span{font-size:1.5rem;font-weight:400;line-height:1}.reference-lightbox button:hover{background:#2d5362}.reference-lightbox button:focus-visible{outline:3px solid #b8d5cc;outline-offset:3px}.reference-viewer figure{display:flex;flex-direction:column;align-items:center;gap:14px;margin:0;min-height:0;overflow:auto}.reference-full{display:block;max-width:100%;width:auto;height:auto;max-height:calc(100dvh - 195px);object-fit:contain;min-height:0}.reference-caption{font-size:1rem;line-height:1.6;color:#fff;text-align:center;overflow-wrap:anywhere}.reference-controls{display:flex;justify-content:center;gap:16px;flex-shrink:0}.reference-section [hidden]{display:none!important}
.reference-load-status{text-align:center;color:#dce4e8;font-size:.875rem;line-height:1.5;margin:0;flex-shrink:0}
@media(max-width:960px){.dhz-site .reference-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}.reference-heading{gap:30px}}
@media(max-width:560px){.reference-heading{gap:22px}.dhz-site .reference-gallery,.dhz-site .reference-gallery:has(>.reference-card:nth-child(2):last-child){grid-template-columns:minmax(0,1fr);gap:22px}.dhz-site .reference-card figcaption{padding:16px 18px}.reference-bottom{align-items:flex-start;flex-direction:column;gap:16px;margin-top:28px}.reference-lightbox{padding:16px 14px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}.reference-viewer{gap:12px}.reference-full{max-height:calc(100dvh - 240px)}.reference-controls{gap:10px}.reference-controls button{padding:11px 16px}.reference-zoom{right:12px;bottom:12px}}
@media(prefers-reduced-motion:reduce){.reference-open img{transition:none}}

/* The video shares the photo grid; its portrait player opens only on demand. */
.reference-video-open::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,25,36,.38),rgba(9,25,36,.04) 45%,rgba(9,25,36,.25));pointer-events:none}
.reference-video-badge{position:absolute;left:16px;top:16px;z-index:1;padding:7px 12px;border-radius:99px;background:#fff;color:var(--navy);font-size:.875rem;font-weight:700;line-height:1.5}
.reference-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;display:grid;place-items:center;width:68px;height:68px;border:2px solid #fff;border-radius:50%;background:var(--navy);color:#fff;box-shadow:0 4px 20px #0003}
.reference-video-play svg{display:block;margin-left:3px}
.reference-video-subtitle{display:block;margin-top:4px;font-weight:400}
.reference-video-privacy{display:block;margin-top:12px;color:var(--muted);font-size:.875rem;line-height:1.5;font-weight:400}
.reference-video-dialog{position:fixed;inset:0;box-sizing:border-box;max-width:none;max-height:none;width:100%;height:100%;height:100dvh;margin:0;border:0;padding:24px;background:transparent;color:#fff}
.reference-video-dialog:not([open]){display:none}
.reference-video-dialog[open]{display:flex;align-items:center;justify-content:center}
.reference-video-dialog::backdrop{background:rgba(9,25,36,.96)}
.reference-video-viewer{display:flex;flex-direction:column;align-items:center;gap:14px;width:min(520px,100%);max-height:100%;overflow:auto}
.reference-video-viewer .reference-toolbar{width:100%}
.reference-video-player{width:min(100%,405px,calc((100dvh - 160px) * .5625));min-width:200px;aspect-ratio:9/16;flex-shrink:0;background:#000;border-radius:12px;overflow:hidden}
.dhz-site .reference-video-player iframe{display:block;width:100%;height:100%;min-width:0;max-width:100%;margin:0;border:0}
.reference-video-fallback{color:#fff;font-size:.875rem;line-height:1.6;text-decoration:underline;text-underline-offset:4px;text-align:center}
.reference-video-dialog button:focus-visible,.reference-video-fallback:focus-visible{outline:3px solid #b8d5cc;outline-offset:3px}
@media(max-width:560px){.reference-video-dialog{padding:16px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}.reference-video-viewer{gap:12px}.reference-video-badge{top:12px;left:12px}.reference-video-play{width:60px;height:60px}}
