/* Final local polish. Existing identity, loops and desktop hero are preserved. */
#nav-trigger{transition:transform .24s cubic-bezier(.22,.7,.25,1),color .18s ease}
#nav-trigger.nav-away{transform:translateY(calc(-100% - 28px));pointer-events:none}
#nav-trigger:not(.nav-away){transition-duration:.14s,.18s}
/* Keyboard focus reveals the trigger through navigation.js; scrolling may hide it again. */
#tier-title .project-brand,#warn-title .project-brand{font-size:28px;line-height:1.25;margin-bottom:3px}
.chapters{padding-top:65px}
#stations-title em{font-size:1.06em;font-weight:550}
#brh figure img{object-position:50% 35%}
.contact{padding-top:62px}
.zoll-hauptbild{position:absolute;right:55px;top:40px;width:48%;height:45%;z-index:0}
.zoll-hauptbild img{width:100%;height:100%;object-fit:cover;object-position:65% 50%}
.chapter-zoll:after{display:none}
@media(max-width:700px){
 .media-scene{padding-bottom:60px}
 .live-projects{padding-top:48px}
 .pipeline{padding-bottom:60px}
 .capabilities{padding-top:42px}
 .chapters{padding-top:44px;padding-bottom:48px}
 .press{padding-top:27px}
 .press-entry h3{font-size:6.3vw}
 .contact{padding-top:44px}
 #brh figure img{object-position:50% 22%}
 .zoll-bilder{display:flex;flex-direction:column;gap:14px;margin:0 0 8px}
 .zoll-hauptbild{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1.65}
}
@media(max-width:600px){
 .first-name{top:calc(19% - 24px)}
 .last-name,.foreground-name{top:calc(68% - 24px)}
 .hero-person{top:-24px}
 .orange-plane{top:calc(26% - 24px)}
}
@media(prefers-reduced-motion:reduce){#nav-trigger{transition:none}}
.reduced #nav-trigger,.nav-reduced #nav-trigger{transition:none}

.herzen-logo{display:block;width:166px;height:auto;margin-top:18px}
@media(max-width:700px){.herzen-logo{width:146px;margin-top:14px;margin-bottom:24px}}

#einsatz #asp figure img{object-position:50% 30%}
@media(max-width:700px){#einsatz #asp figure img{object-position:50% 24%}}

/* Nah dran: slightly shorter portrait area, preserving the existing image treatment. */
@media(min-width:601px){
 .media-first .scene,.motion .media-first .scene{height:calc(100svh - 100px);min-height:860px}
}
@media(min-width:601px) and (max-width:1100px){
 .media-first .scene,.motion .media-first .scene{min-height:820px}
}
@media(max-width:600px){
 .media-first .media-picture{height:450px}
 .media-first .scene,.motion .media-first .scene{padding-top:460px}
}
@media(max-width:360px){
 .media-first .media-picture{height:390px}
 .media-first .scene,.motion .media-first .scene{padding-top:385px}
}

/* Keep the smiling portrait fully visible in the shorter image area. */
.media-first .media-picture img{object-position:44% 12%}
@media(max-width:600px){.media-first .media-picture img{object-position:45% 15%}}
