/* Photographic layer for the four digital services. Recruiting is not touched. */
.photo-refresh.home .fan-panel[href="/ki-automatisierung/"]::before{background-position:54% 38%}
.photo-refresh.home .fan-panel[href="/software/"]::before{background-position:55% 45%}
.photo-refresh.home .fan-panel:not([href="/recruiting/"])::before{opacity:.88;filter:saturate(.92);background-position:50% 38%}
.photo-refresh.home .fan-panel:not([href="/recruiting/"])::after{background:linear-gradient(0deg,#04070dfa 0%,#04070dba 32%,#04070d12 73%,#04070d16)}
.photo-refresh.home .fan-panel:not([href="/recruiting/"]).is-open::before{opacity:1}
.photo-refresh .editorial-screen{transform:rotateY(-4deg);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}
.photo-refresh .editorial-screen::after{background:linear-gradient(0deg,#04070deb,transparent 34%)}
.photo-refresh .editorial-screen img{height:clamp(360px,47vw,570px);object-position:center;animation:none}
.editorial-caption{position:absolute;bottom:23px;left:24px;right:24px;z-index:2;font-size:16px;font-weight:700;line-height:1.6;color:#fff}
.editorial-caption>span{display:block;font-size:12px;font-weight:400;color:#c6d0de}
.media-topics{display:flex;flex-wrap:wrap;gap:8px;padding:20px 4px 0}
.media-topics>span{font-size:13px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:30px;background:#0a1529b3;animation:topic-light 6s ease-in-out infinite;animation-delay:calc(var(--order)*1.3s)}
.work-visual{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);overflow:hidden;margin:22px 0 46px;isolation:isolate}
.work-photo{margin:0;position:relative;min-height:540px;overflow:hidden;background:#111b23}
.work-photo>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;object-position:50% 45%;transition:transform 1.2s ease}
.work-photo:hover>img{transform:scale(1.035)}
.work-photo::after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#060c18ed);pointer-events:none}
.work-photo figcaption{position:absolute;left:24px;right:24px;bottom:22px;z-index:1;color:#fff;font-size:14px;line-height:1.6}
.work-photo figcaption span{display:block;font-size:12px;color:#bac6d8}
.work-copy{padding:clamp(24px,3.2vw,48px);min-width:0}
.work-copy h2{font-size:clamp(28px,2.5vw,40px);line-height:1.16;letter-spacing:-.025em;margin:14px 0 18px}
.work-copy>p{font-size:16px;color:#c4cede;line-height:1.75}
.flow-graphic{list-style:none;padding:0;margin:28px 0;display:grid;gap:0}
.flow-graphic li{position:relative;display:flex;gap:16px;align-items:flex-start;min-height:89px;padding-bottom:20px}
.flow-graphic li:last-child{min-height:0;padding-bottom:0}
.flow-number{flex:none;display:grid;place-items:center;position:relative;z-index:2;width:42px;height:42px;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);background:#0d182c;border-radius:12px;color:var(--accent);font:14px var(--mono);animation:flow-node 8s ease-in-out infinite;animation-delay:calc(var(--step)*1.5s)}
.flow-graphic li:not(:last-child)::before{content:'';position:absolute;top:42px;bottom:0;left:21px;width:1px;background:color-mix(in srgb,var(--accent) 25%,transparent)}
.flow-graphic li:not(:last-child)::after{content:'';position:absolute;top:42px;left:19px;width:5px;height:9px;background:var(--accent);border-radius:9px;box-shadow:0 0 12px var(--accent);animation:flow-packet 3s ease-in-out infinite;animation-delay:calc(var(--step)*.75s)}
.flow-graphic h3{font-size:17px;color:#fff;margin:0 0 4px;line-height:1.4}
.flow-graphic p{font-size:14px;color:#b7c5db;margin:0;line-height:1.6}
.work-copy .flow-note{font-size:12px;color:#a9b7ce;margin:0;border-top:1px solid #ffffff1a;padding-top:16px}
.work-visual:not(.is-visible) .flow-number,.work-visual:not(.is-visible) .flow-graphic li::after{animation-play-state:paused}
.motion-paused *,.motion-paused *::before,.motion-paused *::after,.tab-hidden *,.tab-hidden *::before,.tab-hidden *::after{animation-play-state:paused!important}
@keyframes flow-node{0%,45%,100%{box-shadow:none;background:#0d182c}15%,30%{box-shadow:0 0 20px color-mix(in srgb,var(--accent) 28%,transparent);background:color-mix(in srgb,var(--accent) 18%,#0d182c)}}
@keyframes flow-packet{0%{transform:translateY(0);opacity:0}20%{opacity:1}80%{opacity:1}100%{transform:translateY(38px);opacity:0}}
@keyframes topic-light{50%{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,#0a1529)}}
@media(max-width:1000px){.work-visual{grid-template-columns:1fr}.work-photo{min-height:390px}.work-photo>img{object-position:center 40%}.flow-graphic{grid-template-columns:1fr 1fr;gap:22px}.flow-graphic li{min-height:0;padding-bottom:0}.flow-graphic li::before,.flow-graphic li::after{display:none}}
@media(max-width:600px){.photo-refresh .editorial-screen{transform:none}.photo-refresh .editorial-screen img{height:350px}.work-photo{min-height:320px}.work-copy{padding:25px 20px}.flow-graphic{grid-template-columns:1fr;gap:22px}.editorial-caption{left:18px;bottom:18px}.photo-refresh.home .fan-panel:not([href="/recruiting/"])::before{opacity:.85}.media-topics{gap:6px}.media-topics>span{font-size:12px}}
@media(prefers-reduced-motion:reduce){.photo-refresh *,.photo-refresh *::before,.photo-refresh *::after{animation:none!important;transition:none!important}.flow-graphic li::after{display:none}}
