/* Project references and a quiet, original on-site video in the existing brand. */
.hero.has-project-video .hero-image{display:none}
.hero-motion{position:absolute;inset:0 0 0 43%;z-index:-3;overflow:hidden;pointer-events:none;background:#0a0d13;mask-image:linear-gradient(90deg,transparent,#000 32%);opacity:.55}
.hero-motion img,.hero-motion video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 47%;opacity:1}
.hero-motion video{opacity:0;transition:opacity .6s ease}
.hero-motion video.is-ready{opacity:1}
.hero.has-project-video .hero-shade{background:linear-gradient(90deg,#0a0d13 0%,rgba(10,13,19,.98) 30%,rgba(10,13,19,.8) 47%,rgba(10,13,19,.15) 78%),linear-gradient(0deg,#0a0d13 0%,transparent 42%)}
.hero-film-control{position:absolute;right:max(40px,calc((100vw - 1280px)/2));bottom:90px;display:flex;gap:16px;align-items:center;color:#d0d9e8}
.hero-film-control>span{font:.72rem var(--mono);letter-spacing:.045em;line-height:1.6}
.hero-film-control button{min-height:44px;min-width:44px;border:1px solid #77859d;background:#0a0d13d9;color:#fff;font:600 .78rem var(--font);padding:11px 15px;cursor:pointer}
.hero-film-control button:hover{background:#1f2c44}
.hero-film-control button[hidden]{display:none}
.featured-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-bottom:65px}
.featured-project{min-width:0;background:#fff;border-bottom:3px solid #315cff;scroll-margin-top:110px}
.featured-project-media{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.53fr);gap:4px;height:340px;background:#111722;overflow:hidden}
.featured-project-media>.reference-open{height:100%}
.featured-project-media .reference-open img{height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}
.featured-project-media>.reference-open:first-child img{object-position:center 42%}
.featured-project-media .project-secondary{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:4px;min-height:0}
.featured-project-media .project-secondary .reference-open{height:100%;min-height:0}
.featured-project-media .project-secondary .reference-zoom{display:none}
.featured-project-media.project-media-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.featured-project-media.project-media-single{grid-template-columns:minmax(0,1fr)}
#rathaus-ampfing .featured-project-media .reference-open img{object-position:center 15%}
.project-media-pair>.reference-open{grid-row:auto}
.project-media-pair .reference-open:last-child img{object-position:center}
.featured-project-copy{padding:30px 32px 33px}
.project-label{font:700 .72rem var(--mono);letter-spacing:.06em;color:#4d6799;display:block;line-height:1.6;margin-bottom:18px}
.featured-project h3{font-size:clamp(1.7rem,2.5vw,2.25rem);letter-spacing:-.045em;line-height:1.12;margin:0 0 18px}
.featured-project-copy>p{color:#5e6d81;font-size:.96rem;line-height:1.7;margin:18px 0 24px}
.project-facts{display:flex;flex-wrap:wrap;gap:8px 20px;padding:0;margin:0;list-style:none;font:.76rem var(--mono);color:#344866;line-height:1.6}
.project-facts li+li{border-left:1px solid #c9d3e3;padding-left:20px}
.featured-project .text-link{font-size:.87rem}
.reference-continuation{font:.74rem var(--mono);color:#536783;letter-spacing:.05em;border-top:1px solid #c5cedd;padding-top:30px;margin:0 0 30px}
.detail-project-reference{background:#e9edf3}
.detail-project-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:center}
.detail-project-grid>*{min-width:0}
.detail-project-copy h2{font-size:clamp(2rem,3.7vw,3.3rem);line-height:1.08;margin-bottom:25px}
.detail-project-copy>p:not(.eyebrow){color:#5e6d81;line-height:1.75;font-size:1rem;margin:25px 0}
.detail-project-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.detail-project-images figure{margin:0;min-width:0}
.detail-project-images img{width:100%;height:310px;object-fit:cover;object-position:center}
.detail-project-images figcaption{font-size:.78rem;line-height:1.6;color:#576b87;padding-top:12px}
@media(min-width:1550px){.hero-motion{left:48%}}
@media(max-width:1100px){.featured-project-media{height:290px}.featured-project-copy{padding:27px}.detail-project-grid{gap:40px}.hero-film-control{right:32px;bottom:85px}.hero-film-control>span{display:none}}
@media(max-width:900px){.featured-projects{grid-template-columns:1fr;gap:35px}.featured-project-media{height:430px;grid-template-columns:1fr .6fr}.featured-project-copy{padding:32px}.detail-project-grid{grid-template-columns:1fr;gap:35px}.hero-film-control{bottom:80px}.hero-film-control button{font-size:.72rem;padding:10px 12px}}
@media(max-width:760px){.hero-motion{left:18%}.hero-motion{opacity:.4}.hero.has-project-video .hero-shade{background:linear-gradient(90deg,rgba(10,13,19,.97),rgba(10,13,19,.75) 64%,rgba(10,13,19,.45)),linear-gradient(0deg,#0a0d13 0%,transparent 65%)}.hero-film-control{right:20px;bottom:68px}.featured-projects{margin-bottom:45px;gap:30px}.featured-project-media{height:330px;grid-template-columns:1fr .58fr}.featured-project-copy{padding:27px 24px}.featured-project h3{font-size:1.9rem}.featured-project-copy>p{font-size:.97rem}.project-facts{font-size:.73rem;gap:7px 13px}.project-facts li+li{padding-left:13px}.project-label{font-size:.7rem}.reference-continuation{font-size:.7rem;line-height:1.7}.detail-project-images{gap:10px}.detail-project-images img{height:250px}.detail-project-images figcaption{font-size:.75rem}.hero-film-control button{padding:8px 10px}.featured-project{scroll-margin-top:90px}}
@media(max-width:400px){.featured-project-media{height:285px}.featured-project-copy{padding:24px 20px}.featured-project h3{font-size:1.7rem}.hero-film-control{bottom:64px}.detail-project-images img{height:220px}}
@media(prefers-reduced-motion:reduce){.hero-motion video{display:none}.hero-motion video.is-ready{transition:none}}

.featured-project-media .reference-open:focus-visible{outline-offset:-5px}
.reference-current-label{font:700 .76rem var(--mono);letter-spacing:.05em;color:#355da8;line-height:1.7;margin:0 0 25px}
.current-project .featured-project-media{background:#e1e6ed}
.current-project .featured-project-media .reference-open img{object-fit:contain;object-position:center}
.current-project .featured-project-media.project-media-single{grid-template-columns:1fr}
.current-project .featured-project-copy{min-height:300px}
@media(max-width:760px){.hero.has-project-video .hero-content{padding-bottom:145px}}

/* Preserve the complete square before/after comparison in the project card. */
.current-project .featured-project-media.project-media-collage{height:auto;aspect-ratio:1;grid-template-columns:minmax(0,1fr)}
.current-project .project-media-collage .reference-open{height:auto}
.current-project .project-media-collage .reference-open img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}

.reference-card-comparison {
  scroll-margin-top: 110px;
}

.reference-comparison {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
}

.reference-card .reference-comparison .reference-open img {
  display: block;
  aspect-ratio: 1;
  object-position: center 65%;
}

.reference-comparison .reference-zoom {
  right: 6px;
  bottom: 6px;
  padding: 5px 7px;
}
