/* Editorial film direction — layered scenes begin only at #work. */
.editorial{--scene-ink:#111311;--round:0px}
.editorial .nav-contact{border:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding-right:0}
.editorial .header.scrolled .nav-links{box-shadow:none;background:#17191844;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.editorial .hero{height:100svh;min-height:660px;max-height:none;border-radius:0;overflow:hidden}
.editorial .hero-media{inset:0;transform:none;will-change:auto}
.editorial .hero-heading{bottom:-.05em;inset-inline:0;z-index:2}
.editorial .hero-kicker{margin-bottom:22px;font-size:.8rem;text-transform:uppercase;letter-spacing:.14em}
.editorial .hero h1{font-size:clamp(5.5rem,13.8vw,16rem);font-weight:800;max-width:11ch;line-height:.88;letter-spacing:-.065em;text-transform:uppercase;text-wrap:balance;padding-bottom:.12em}
.editorial .hero-scrim{background:linear-gradient(0deg,#1113119c,transparent 72%)}
.editorial .intro-world{margin:0;padding:130px 0 90px;min-height:110svh;border-radius:0;overflow:hidden;background:var(--bg);z-index:2}
.editorial .intro-world:after{background:linear-gradient(var(--bg),transparent 25%,transparent 70%,var(--bg))}
.about-atmosphere{position:absolute;z-index:-2;inset:0;background:radial-gradient(ellipse at 80% 30%,#7263546b,transparent 55%),radial-gradient(ellipse at 15% 75%,#3c424e88,transparent 55%)}
.editorial .intro-copy{width:min(1260px,calc(100% - var(--gutter)*2));max-width:none;padding:0;text-align:left}
.editorial .intro-copy h2{max-width:24ch;font-size:clamp(2.9rem,5.8vw,6.3rem);font-weight:800;line-height:1.08;letter-spacing:-.055em;text-transform:uppercase}
.editorial .intro-copy .about-statement{margin:70px 0 0 auto;max-width:22ch;font-size:clamp(2rem,3.7vw,4.3rem);line-height:1.14;font-weight:600;letter-spacing:-.04em;color:#d4cec4}
.editorial .intro-copy .about-fields{display:flex;flex-wrap:wrap;gap:4px 28px;max-width:950px;font-size:clamp(1.2rem,2.6vw,2.7rem);line-height:1.35;margin:80px 0 0;font-weight:500;letter-spacing:-.025em;color:#bab5ad}
.about-fields span:not(:last-child):after{content:' /';color:#7e786e}
.editorial .clients{margin-top:110px}.editorial .clients-heading{justify-content:flex-start}.editorial .clients-heading h3{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;opacity:.6}
.editorial .client-group{gap:clamp(80px,9vw,150px);padding-inline:clamp(40px,4.5vw,75px);min-width:100vw}
.editorial .client-group li{width:110px;height:80px}.editorial .client-group img{max-width:110px;max-height:30px;opacity:.52}
.editorial .clients:hover .marquee-track,.editorial .clients:focus-within .marquee-track{animation-play-state:running}
.editorial .marquee.paused .marquee-track{animation-play-state:paused}
.editorial .worlds{margin:0;position:relative;isolation:isolate;z-index:3}
.scene-track{--scene-height:max(600px,100svh,min(56.25vw,120svh));position:relative;height:calc(var(--scene-height) + 45svh);z-index:var(--scene-order);pointer-events:none}
.scene-track+.scene-track{margin-top:-45svh}.scene-track:last-child{height:calc(var(--scene-height) + 45svh)}
.editorial .category-scene{position:sticky;top:0;width:100%;height:var(--scene-height);min-height:600px;max-height:none;border-radius:0;overflow:visible;pointer-events:auto;background:var(--bg);isolation:isolate}
.category-scene:after{content:'';position:absolute;z-index:6;top:calc(100% - 1px);inset-inline:0;height:clamp(55px,12vh,150px);background:linear-gradient(#0709078c,#07090744 35%,transparent);pointer-events:none}
.editorial .category-scene .film-media{inset:0;transform:none;overflow:hidden;z-index:-2}
.editorial .category-scene .film-media img,.editorial .category-scene .film-media video{transform:translateY(var(--scene-shift,0px)) scale(var(--scene-scale,1));width:100%;height:calc(100% + 42px);margin-top:-21px;transition:opacity .55s ease;object-fit:cover}
.editorial .category-scene .film-shade{background:linear-gradient(transparent 30%,#06080722 50%,#060807aa 100%)}
.editorial .category-scene .scene-copy{left:3%;right:3%;bottom:8%;text-align:center;transform:translateY(var(--title-shift,0px));transition:none;pointer-events:none}
.editorial .category-scene h3{font-size:clamp(4rem,9.6vw,11rem);font-weight:800;line-height:.96;letter-spacing:-.055em;text-transform:uppercase;max-width:15ch;margin-inline:auto;text-wrap:balance}
.editorial .category-scene h3 span{white-space:nowrap}
.editorial .category-scene[data-category="dokumentation"] h3{font-size:clamp(3rem,8.4vw,10rem);max-width:none}
.editorial .surface-link{border-radius:0}.editorial .category-scene .surface-link:focus-visible{outline-offset:-10px}
.editorial .category-scene[data-category="people-brands"] .film-media img,.editorial .category-scene[data-category="people-brands"] video{object-position:50% center}
.editorial .explore{padding:150px 0 110px;background:var(--bg);isolation:isolate;z-index:4;overflow:hidden}
.editorial .explore-heading h2{font-size:clamp(2.4rem,5vw,5rem);font-weight:700;letter-spacing:-.055em}
.editorial .explore:before{display:none}.editorial .explore-heading{position:relative;z-index:1;margin-bottom:40px}
.editorial .work-rail{gap:24px;padding-top:0;padding-bottom:20px;position:relative;z-index:1;align-items:stretch}
.editorial .film-card{flex:0 0 clamp(290px,43vw,690px);height:clamp(280px,32vw,460px);margin:0;border-radius:3px;transform:none;box-shadow:none}
.editorial .film-card:nth-child(even){margin-top:0}.editorial .film-card:hover{transform:none;box-shadow:none}
.editorial .film-card .card-copy{left:30px;right:30px;bottom:30px}.editorial .film-card h3{font-size:clamp(1.7rem,2.8vw,3rem);font-weight:700}
.editorial .film-card .card-copy p{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px;opacity:.8}
.editorial .rail-controls button{border:0;box-shadow:none;backdrop-filter:none;background:none;font-size:1.6rem}
.film-burn{position:absolute;inset:-10% -15%;z-index:0;pointer-events:none;opacity:var(--burn-opacity,.35);transform:translate3d(var(--burn-x,0),0,0) rotate(var(--burn-rotation,0deg));will-change:transform,opacity}
.film-burn i{position:absolute;inset:0;background:radial-gradient(ellipse at 74% 45%,#e8c997 0, #d987484d 12%,#863d181a 34%,transparent 55%);filter:blur(30px)}
.film-burn i:nth-child(2){inset:12% 30% -5% -15%;background:radial-gradient(ellipse at 20% 70%,#b95d3277,transparent 53%);transform:rotate(-24deg)}
.film-burn video{width:100%;height:100%;object-fit:cover;mix-blend-mode:screen}
.editorial .capabilities{padding:80px 0 130px;background:var(--bg)}.editorial .service-intro h2{font-weight:700}
.editorial .service-list{gap:0}.editorial .service-list details,.editorial .service-list details[open]{border:0;border-radius:0;background:transparent;border-bottom:1px solid #ffffff12}
.editorial summary{padding:24px 0}.editorial .detail-copy{padding:0 0 26px}.editorial .service-intro .approach-note{display:none}
.editorial .contact-scene{height:100svh;min-height:680px;max-height:none;border-radius:0;margin:0;background:var(--bg)}
.editorial .contact-media{inset:0;transform:none}.contact-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s}
.contact-media video.ready{opacity:1}.editorial .contact-media img{object-position:center}
.editorial .contact-scrim{background:linear-gradient(transparent 30%,#171918bb 85%,var(--bg))}
.editorial .contact-content{display:flex;align-items:flex-start;justify-content:flex-end;flex-direction:column;padding-block:100px;gap:28px}
.editorial .contact-content h2{font-size:clamp(4rem,9vw,11rem);font-weight:800;letter-spacing:-.06em;max-width:11ch;line-height:.98}
.editorial .contact-content .email{font-size:clamp(1rem,2vw,1.6rem);margin:0;color:var(--text);min-height:44px;padding-block:8px}
.editorial .viewport-glass{height:clamp(95px,17svh,200px);z-index:25;overflow:hidden}
.editorial .viewport-glass i{mask-image:linear-gradient(transparent,#000);-webkit-mask-image:linear-gradient(transparent,#000)}
.editorial .viewport-glass i:nth-child(1){backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);mask-image:radial-gradient(ellipse at 25% 120%,#000,transparent 72%)}
.editorial .viewport-glass i:nth-child(2){top:12%;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);mask-image:radial-gradient(ellipse at 75% 130%,#000,transparent 72%)}
.editorial .viewport-glass i:nth-child(3){top:36%;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);background:none}
.editorial .viewport-glass i:nth-child(4){top:70%;backdrop-filter:blur(16px) saturate(.85);-webkit-backdrop-filter:blur(16px) saturate(.85);background:#17191808}
/* Project routes share the same quiet navigation and media language. */
.editorial>.header{position:absolute;inset:0 0 auto;background:linear-gradient(#10121070,transparent);padding:0}
.editorial>.header.enhanced{position:fixed}
.project-heading{position:absolute;inset:auto 0 70px;text-align:center}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:500}
.editorial .project-heading h1{font-size:clamp(4rem,8.5vw,10rem);margin:20px auto 0;max-width:18ch;line-height:.96;text-wrap:balance}
.project-story{display:grid;grid-template-columns:1fr 2fr;gap:10%;padding-block:120px;max-width:1250px}
.project-story>div>p:not(.eyebrow,.content-note,.draft-label){font-size:clamp(1.6rem,3vw,3rem);line-height:1.25;letter-spacing:-.035em}
.project-story .content-note{font-size:.85rem;color:var(--text-secondary);margin-top:28px;max-width:58ch}
.draft-label{font-size:.7rem;color:var(--text-muted);margin-top:28px}.project-meta{margin-top:32px}.project-meta div,.project-credits dl div{margin-block:12px}.project-meta dt,.project-credits dt{font-size:.75rem;color:var(--text-muted)}.project-meta dd,.project-credits dd{margin:2px 0 0}
.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:0 20px}.project-gallery figure{min-width:0}.project-gallery img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}.project-gallery figcaption{font-size:.85rem;padding:14px 0;color:var(--text-secondary)}
.additional-films,.project-credits,.project-partners,.project-links{padding-block:80px}.additional-films figure{position:relative;margin-top:30px}.additional-films video{width:100%;display:block}.additional-films figure>img{display:none}.project-partners{display:flex;gap:50px;align-items:center}.project-partners img{max-width:160px;max-height:70px;object-fit:contain}.project-links{display:flex;gap:35px}
.work-index{padding-block:160px 120px;min-height:80svh}.work-index h1{font-size:clamp(3rem,8vw,9rem);text-transform:uppercase;margin-top:24px;max-width:16ch;font-weight:800}
.category-filter{display:flex;flex-wrap:wrap;gap:10px 28px;margin-block:50px}.category-filter a{font-size:.85rem;min-height:44px;display:flex;align-items:center;color:var(--text-secondary)}.category-filter a[aria-current]{color:var(--text);text-decoration:underline;text-underline-offset:8px}
.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.editorial .project-grid .film-card{height:clamp(280px,30vw,450px);width:100%}
@media(min-width:1900px){.editorial .intro-copy{max-width:1500px}.editorial .hero-heading{bottom:0}}
@media(max-width:1100px){.editorial .intro-copy h2{font-size:5.9vw}.project-gallery{gap:14px;padding:0 14px}}
@media(max-width:760px){
.editorial .hero{min-height:620px;height:100svh}.editorial .hero-heading{bottom:10px}.editorial .hero h1{font-size:clamp(4.1rem,16vw,7rem);max-width:10ch;line-height:.94}.editorial .hero-kicker{font-size:.65rem;margin-bottom:20px}
.editorial .intro-world{min-height:0;padding:100px 0 60px}.editorial .intro-copy h2{font-size:clamp(2rem,8vw,3.5rem);line-height:1.12;max-width:24ch}
.editorial .intro-copy .about-statement{font-size:clamp(1.7rem,6.8vw,2.7rem);margin-top:60px;max-width:23ch}.editorial .intro-copy .about-fields{font-size:1.1rem;gap:7px 14px;margin-top:55px}
.editorial .clients{margin-top:65px}.editorial .client-group{gap:64px;padding-inline:32px}.editorial .client-group li{width:85px;height:65px}.editorial .client-group img{max-width:85px;max-height:26px}.editorial .clients-heading h3{font-size:.6rem}
.scene-track,.scene-track:last-child{height:auto}.scene-track+.scene-track{margin:0}.editorial .category-scene{position:relative;height:92svh;min-height:560px;overflow:hidden}.category-scene:after{display:none}
.editorial .category-scene .film-media img,.editorial .category-scene .film-media video{transform:none!important;height:100%;margin:0}.editorial .category-scene .scene-copy{bottom:10%;left:16px;right:16px;transform:none}
.editorial .category-scene h3{font-size:clamp(2.5rem,10.7vw,5rem);line-height:1.02}.editorial .category-scene[data-category="dokumentation"] h3{font-size:clamp(1.7rem,6.7vw,3.7rem)}
.editorial .category-scene[data-category="people-brands"] .film-media img{object-position:58% center}.editorial .category-scene[data-category="sport"] .film-media img{object-position:35% center}
.editorial .explore{padding:80px 0 70px}.editorial .explore-heading{margin-bottom:30px}.editorial .explore-heading h2{font-size:2.4rem}.editorial .rail-controls{flex-direction:row;gap:0}.editorial .work-rail{gap:16px}.editorial .film-card{flex-basis:84vw;height:320px;border-radius:0}.editorial .film-card .card-copy{left:22px;right:22px;bottom:24px}.editorial .film-card h3{font-size:1.85rem}.editorial .film-card .card-copy p{font-size:.6rem}
.editorial .capabilities{padding:40px 0 75px}.editorial .contact-scene{height:85svh;min-height:600px}.editorial .contact-content{padding-block:95px;gap:22px}.editorial .contact-content h2{font-size:clamp(3.8rem,14vw,6rem);max-width:10ch}.editorial .contact-media img,.editorial .contact-media video{object-position:42% center}
.editorial .viewport-glass{height:100px}.editorial .viewport-glass i:nth-child(4){backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.editorial .project-heading{bottom:65px}.editorial .project-heading h1{font-size:clamp(3rem,12vw,6rem);max-width:14ch}.project-story{display:block;padding-block:65px}.project-story>div+div{margin-top:35px}.project-story>div>p:not(.eyebrow,.content-note,.draft-label){font-size:1.7rem}.project-gallery{grid-template-columns:1fr;padding:0;gap:16px}.project-gallery img{aspect-ratio:auto}.project-meta{display:flex;gap:30px}.draft-label{margin-top:12px}
.work-index{padding-top:130px;padding-bottom:65px}.work-index h1{font-size:clamp(2.7rem,10vw,5rem)}.category-filter{margin-block:28px;gap:0 20px}.category-filter a{font-size:.75rem}.project-grid{grid-template-columns:1fr;gap:24px}.editorial .project-grid .film-card{height:320px}
}
@media(prefers-reduced-motion:reduce){
.scene-track,.scene-track:last-child{height:auto}.scene-track+.scene-track{margin:0}.editorial .category-scene{position:relative;overflow:hidden}.category-scene:after{display:none}.editorial .category-scene .film-media img,.editorial .category-scene .film-media video,.editorial .category-scene .scene-copy{transform:none!important}.editorial .viewport-glass{display:none}.film-burn{will-change:auto;transform:none!important;opacity:.14!important}.editorial .client-group{min-width:0}.editorial .clients:hover .marquee-track{animation:none}.editorial .hero-heading{bottom:22px}
}

/* Three independent header zones. The centre is anchored to the viewport. */
.editorial .header-inner{position:relative;max-width:none;width:calc(100% - var(--gutter)*2);margin-inline:var(--gutter)}
.editorial .header nav{display:contents}
.editorial .nav-center,.editorial .nav-right{display:flex;align-items:center;gap:32px;background:none;border:0;box-shadow:none;backdrop-filter:none}
.editorial .nav-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.editorial .nav-right{margin-left:auto}
.editorial .header nav a{text-shadow:0 1px 16px #0009}
.editorial .header .brand{filter:drop-shadow(0 2px 12px #0005)}
@media(max-width:760px){
.editorial .header nav{display:flex;width:100%;padding:16px 0 24px;gap:8px 28px;margin:0}
.editorial .header.enhanced nav{display:none}.editorial .header.enhanced nav.open{display:flex}
.editorial .nav-center,.editorial .nav-right{position:static;transform:none;display:flex;gap:24px;margin:0;flex-wrap:wrap}
.editorial .header nav a{font-size:.9375rem}
}

/* Homepage filmstrip only; project detail layouts remain unchanged. */
.editorial.homepage .explore.has-burn{padding:0 0 24px}
.editorial.homepage .explore.has-burn .work-rail{padding-bottom:20px}
.film-burn:has(video){mix-blend-mode:screen}
.film-burn:has(video) i{display:none}
.editorial .client-group .client-petra img{width:48px;max-height:50px;opacity:.65;filter:grayscale(1)}
.editorial .client-group .client-ph img{max-width:110px;max-height:41px;opacity:.65}
.editorial .client-group .client-regio img{max-width:130px;max-height:34px;opacity:1;filter:grayscale(1) brightness(2)}
.editorial .client-group .client-regio{width:130px}
@media(max-width:760px){
 .editorial .client-group .client-petra img{width:40px;max-height:42px}
 .editorial .client-group .client-ph img{max-width:85px;max-height:33px}
 .editorial .client-group .client-regio img{max-width:110px}
 .editorial .client-group .client-regio{width:110px}
}

/* Intrinsic sequences: one normal gap also at the loop boundary. */
.editorial .marquee.enhanced .client-group{--client-gap:clamp(80px,9vw,150px);flex:0 0 auto;width:max-content;min-width:0;gap:var(--client-gap);padding-inline:calc(var(--client-gap)/2)}
.editorial .marquee.enhanced .marquee-track{animation-name:clients-seamless}
@keyframes clients-seamless{to{transform:translateX(calc(-1 * var(--marquee-distance)))}}
@media(max-width:760px){.editorial .marquee.enhanced .client-group{--client-gap:64px}}

/* Data-driven homepage project strip; native touch/keyboard/reduced-motion browsing. */
.editorial.homepage .explore.has-burn{padding:clamp(32px,4vw,64px) 0 32px}
.project-marquee{position:relative;z-index:1;margin-inline:clamp(16px,2vw,32px);overflow-x:auto;scrollbar-width:none}
.project-marquee::-webkit-scrollbar{display:none}
.project-track{display:flex;width:max-content}
.project-sequence{display:flex;flex:0 0 auto;gap:clamp(12px,1.4vw,24px);padding:0 clamp(12px,1.4vw,24px) 0 0}
.editorial.homepage .project-marquee .film-card{flex:0 0 var(--project-card-width,calc(25vw - 32px));width:var(--project-card-width,calc(25vw - 32px));height:auto;min-height:0;aspect-ratio:4/3;margin:0;border-radius:12px;overflow:hidden;isolation:isolate;transform:none}
.editorial.homepage .project-marquee .film-media,.editorial.homepage .project-marquee .film-shade,.editorial.homepage .project-marquee .surface-link{border-radius:inherit}
.editorial.homepage .project-marquee .film-media img,.editorial.homepage .project-marquee .film-media video{width:100%;height:100%;object-fit:cover}
.editorial.homepage .project-marquee .card-copy{left:clamp(14px,1.5vw,24px);right:clamp(14px,1.5vw,24px);bottom:clamp(16px,1.5vw,24px)}
.editorial.homepage .project-marquee h3{font-size:clamp(1.1rem,1.65vw,2rem)}
.project-marquee.is-moving{overflow:hidden}
.project-marquee.is-moving .project-track{animation:project-flow var(--project-duration) linear infinite}
.project-marquee.is-paused .project-track,.project-marquee:has(.film-card:hover) .project-track{animation-play-state:paused}
@keyframes project-flow{to{transform:translateX(calc(-1 * var(--project-distance)))}}
.editorial.homepage .film-burn{inset:0;transform:none;opacity:.45;will-change:auto;mask-image:linear-gradient(transparent,#000 12%,#000 82%,transparent)}
.photo-card .film-media img{transition:transform 1.2s ease}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.editorial .photo-card:hover .film-media img{transform:scale(1.03)}}
.project-gallery--photo{align-items:start;max-width:1600px;margin-inline:auto}
.project-gallery--photo img{aspect-ratio:auto;object-fit:contain}
.project-gallery--photo figure[data-layout="wide"]{grid-column:1/-1}
@media(max-width:1023px){.editorial.homepage .project-marquee h3{font-size:clamp(1.25rem,2.8vw,1.8rem)}}
@media(max-width:599px){.editorial.homepage .project-marquee h3{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){.project-marquee .project-track{animation:none!important}.photo-card .film-media img{transform:none!important}}

/* Keep footer text above the unchanged viewport blur at the page end. */
.editorial>footer{padding-bottom:calc(clamp(95px,17svh,200px) + 24px + env(safe-area-inset-bottom,0px))}
@media(max-width:760px){.editorial>footer{padding-bottom:calc(124px + env(safe-area-inset-bottom,0px))}}
