/* Ergänzung für das lokale Hero-Video und die Projektaufnahmen. */
.hero-with-video .hero-stage{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;min-height:640px;min-height:clamp(34rem,72svh,46rem);background:var(--ink-deep)}
.hero-media{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero-media>.hero-video-poster,.hero-media>video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-media>.hero-video-poster{filter:none}
.hero-media>video{background:transparent;opacity:0;transition:opacity .65s ease}
.hero-media>video.is-ready{opacity:1}
.hero-media>video:focus-visible{outline:3px solid var(--accent);outline-offset:-5px}
.hero-video-scrim{position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(0deg,var(--ink) 0%,rgba(23,43,77,.18) 35%,transparent 65%),linear-gradient(90deg,rgba(19,38,68,.9) 0%,rgba(19,38,68,.7) 45%,rgba(19,38,68,.26) 100%)}
.hero-with-video .hero-grid{position:relative;z-index:2;display:flex;align-items:center;flex:1;min-height:0;padding-top:0;pointer-events:none}
.hero-with-video .hero-copy{width:100%;max-width:760px;padding-block:clamp(3rem,5vw,4.75rem) 2.5rem;pointer-events:auto;animation:none}
.hero-with-video .hero-copy h1{font-size:clamp(2.65rem,calc(1.25rem + 4.6vw),5.9rem);letter-spacing:-.045em;text-shadow:0 2px 20px rgba(0,0,0,.16)}
.hero-with-video .hero-copy>*{animation:hero-enter .7s cubic-bezier(.22,1,.36,1) both}
.hero-with-video .hero-copy h1{animation-delay:.08s}
.hero-with-video .hero-lead{animation-delay:.16s}
.hero-with-video .hero-copy .actions{animation-delay:.24s}
.hero-with-video .hero-baseline{animation-delay:.32s}
.hero-with-video .hero-lead{max-width:530px;color:#e8eef8}
.hero-with-video .hero-baseline{color:#d8e2f2;max-width:520px}
.hero-video-tools{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem 2rem;padding-block:1.25rem 1.5rem;border-top:1px solid rgba(232,239,250,.22);pointer-events:none}
.hero-video-tools>*{pointer-events:auto}
.hero-video-caption strong{display:block;font-size:.94rem;font-weight:500;color:var(--paper)}
.hero-video-caption span{display:block;font-size:.73rem;color:#dce5f3}
.hero-video-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.6rem;min-width:0}
.hero-video-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:46px;min-width:168px;max-width:100%;border:1px solid rgba(232,239,250,.65);padding:.7rem 1rem;background:rgba(23,43,77,.78);color:var(--paper);font-size:.79rem;font-weight:600;line-height:1.5;transition:background .2s,color .2s,border-color .2s}
.hero-video-toggle:hover{background:var(--paper);color:var(--ink)}
.hero-video-toggle:focus-visible{outline-color:var(--accent-on-dark)}
.hero-video-toggle svg{width:18px;height:18px}
.hero-with-video .hero-media-status{flex-basis:100%;max-width:650px;margin:0;font-size:.83rem;color:var(--paper)}
.hero-with-video .hero-facts{margin-top:0}
.project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.4rem 1.5rem}
.project-gallery figure{border-bottom:1px solid #c8d3e4;padding-bottom:1.25rem}
.project-image-link{position:relative;display:block;overflow:hidden;background:var(--sand);aspect-ratio:4/3}
.project-image-link img{width:100%;height:100%;object-fit:cover;filter:saturate(.88);transition:transform .45s}
.project-image-link:hover img{transform:scale(1.035)}
.project-zoom-icon{position:absolute;top:.75rem;right:.75rem;display:grid;place-items:center;width:36px;height:36px;color:var(--white);background:rgba(23,43,77,.8);pointer-events:none}
.project-zoom-icon svg{width:19px;height:19px}
.project-gallery figcaption{margin-top:1rem}
.project-gallery figcaption .index{display:block;margin-bottom:.45rem}
.project-gallery h4{margin:0;font-size:1.15rem;font-weight:600;letter-spacing:-.02em;color:var(--ink);line-height:1.35;overflow-wrap:break-word}
.reference-project{padding:clamp(1.25rem,3vw,2.5rem);border:1px solid var(--line);background:var(--paper)}
.reference-project-intro{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:2rem 3rem;margin-bottom:2rem}
.reference-project-intro h3{max-width:640px;font-size:clamp(1.65rem,2.8vw,2.65rem);line-height:1.15}
.reference-project-intro .text-link{margin-top:1.25rem}
.reference-project-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.reference-project-photos .project-image-link{aspect-ratio:2048/1366}
.reference-project-photos img{filter:none}
.reference-project-photos figcaption{margin-top:.75rem}
.reference-gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem 2rem;margin-block:3.5rem 1.75rem}
.reference-gallery-heading h3{font-size:clamp(1.45rem,2.2vw,2rem)}
.reference-gallery-heading p{max-width:430px;font-size:.94rem}
.gallery-caption{margin-top:1.5rem}
body.project-modal-open{overflow:hidden}
.project-lightbox{border:1px solid var(--line);background:var(--paper);color:var(--ink);width:min(1100px,calc(100% - 2rem));max-width:none;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);padding:1.25rem}
.project-lightbox:not([open]){display:none}
.project-lightbox[open]{display:flex;flex-direction:column;gap:1rem;animation:rise-in .2s ease both}
.project-lightbox::backdrop{background:rgba(12,25,46,.9)}
.lightbox-header,.lightbox-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.lightbox-header h2{font-size:1.25rem;letter-spacing:-.02em;line-height:1.35}
.lightbox-stage{display:grid;place-items:center;min-height:0;overflow:auto;background:var(--sand)}
.lightbox-stage img{width:auto;height:auto;max-width:100%;max-height:calc(100vh - 12rem);max-height:calc(100dvh - 12rem);object-fit:contain;filter:none}
.lightbox-button{display:inline-grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);color:var(--ink);background:transparent;flex-shrink:0}
.lightbox-button:hover{background:var(--ink);color:var(--white)}
.lightbox-counter{font-size:.8rem;color:var(--muted)}
.lightbox-footer .caption{margin:0}
.lightbox-nav{display:flex;gap:.5rem}
.upload-credit{max-width:850px;padding-bottom:2rem;margin-bottom:2rem;border-bottom:1px solid var(--line)}
.upload-credit h2{font-size:1.7rem;margin-bottom:1rem}
.upload-credit p{font-size:.94rem}
.symbol-credits-title{font-size:1.7rem;margin-bottom:1.5rem}
@keyframes hero-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:64rem){.hero-with-video .hero-copy{max-width:660px}.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:38rem){.hero-with-video .hero-stage{min-height:0}.hero-with-video .hero-copy{padding-block:2.8rem 2rem}.hero-with-video .hero-copy .actions{align-items:flex-start;gap:1.1rem 1.5rem}.hero-with-video .hero-baseline{gap:1rem;letter-spacing:.12em}.hero-video-tools{gap:1.25rem;padding-block:1.1rem 1.5rem}.hero-video-actions{width:100%;gap:.75rem;justify-content:space-between}.hero-video-actions .text-link{font-size:.74rem;gap:.6rem}.hero-video-caption span{font-size:.68rem}.hero-video-toggle{font-size:.74rem;min-width:152px;padding:.7rem .75rem}.hero-video-scrim{background:linear-gradient(0deg,var(--ink) 0%,rgba(19,38,68,.38) 45%,rgba(19,38,68,.15) 100%),linear-gradient(90deg,rgba(19,38,68,.84),rgba(19,38,68,.55))}.project-gallery{grid-template-columns:1fr;gap:1.75rem}.project-lightbox{padding:.8rem;width:calc(100% - 1rem);max-height:calc(100dvh - 1rem)}.lightbox-header h2{font-size:1.02rem}.lightbox-stage img{max-height:calc(100dvh - 13rem)}.lightbox-footer{flex-wrap:wrap}.lightbox-footer .caption{font-size:.67rem;order:3;width:100%}.lightbox-counter{font-size:.74rem}}
@media(max-width:22.5rem){.hero-video-actions{flex-direction:column;align-items:stretch}.hero-video-actions .text-link{align-self:flex-start}}
@media(max-width:56rem){.reference-project-intro{grid-template-columns:1fr;gap:1.25rem}.reference-gallery-heading{align-items:start;flex-direction:column}}
@media(max-width:38rem){.reference-project-photos{grid-template-columns:1fr;gap:1.25rem}.reference-project-intro{margin-bottom:1.5rem}.reference-gallery-heading{margin-top:2.5rem}.reference-project-intro .text-link{font-size:.8rem;gap:.75rem}}
@media(prefers-reduced-motion:reduce){.project-image-link img{transition:none}.project-image-link:hover img{transform:none}}
@media print{.hero-media video,.hero-video-scrim,.hero-video-tools,.project-lightbox{display:none!important}.hero-media{opacity:.15}.hero-with-video .hero-stage{background:white}.hero-with-video .hero-copy{max-width:none}.hero-with-video .hero-copy h1,.hero-with-video .hero-copy h1 span{color:black;text-shadow:none}.hero-with-video .hero-lead{color:#333}.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.project-gallery figure{break-inside:avoid}.project-zoom-icon{display:none}}
