:root{
  --bg:#000; --fg:#fff; --fg-dim:rgba(255,255,255,.6);
  --accent:#406882; --line:#fff;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body.mt-body{background:var(--bg);color:var(--fg);font-family:'Inter',system-ui,-apple-system,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,.display{font-family:'Poppins',sans-serif;font-weight:900;letter-spacing:-.02em;line-height:.9}
img{max-width:100%}
.wrap{max-width:1400px;margin:0 auto;padding:0 6vw}
.photo{background-size:cover;background-position:center;position:relative}

/* Einblenden beim Scrollen */
.reveal{opacity:0;transform:translate3d(0,22px,0);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}


/* ---------------------------------------------------------------- Navigation */
nav{position:fixed;top:0;left:0;right:0;z-index:40;padding:calc(22px + env(safe-area-inset-top,0px)) 6vw 16px;
  display:flex;justify-content:space-between;align-items:center;transition:background .4s ease,padding .4s ease}
nav.scrolled{background:rgba(0,0,0,.86);padding-top:calc(12px + env(safe-area-inset-top,0px));padding-bottom:12px}
nav a{color:var(--fg-dim);text-decoration:none;font-size:13px;letter-spacing:.03em;margin-left:28px;transition:color .3s}
nav a:hover{color:#fff}
.brand-mark{font-weight:800;font-family:'Poppins',sans-serif;font-size:13px;letter-spacing:.2em;color:#fff}

/* ---------------------------------------------------------------- Hero */
.hero{position:relative;height:100vh;height:100svh;min-height:520px;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:-4% -2%;background-size:cover;background-position:62% 30%}
.hero-bg::after{content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.12) 45%,transparent 62%),
             linear-gradient(0deg,rgba(0,0,0,.7) 0%,transparent 34%)}
.hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:32%;background:linear-gradient(0deg,rgba(0,0,0,.85) 0%,rgba(0,0,0,.4) 45%,transparent 100%);pointer-events:none;z-index:1}
.hero-inner{position:relative;z-index:2;width:100%}
.headline{font-size:clamp(2.4rem,7vw,5.2rem);color:var(--accent);text-transform:uppercase}
.headline span{display:block;overflow:hidden;padding-bottom:.04em}
.headline span b{display:block;transform:translateY(110%);transition:transform 1.1s var(--ease)}
.hero.in .headline span b{transform:none}
.headline span:nth-child(2) b{transition-delay:.12s}
.headline span:nth-child(3) b{transition-delay:.24s}
.vert-logo{position:absolute;right:6vw;top:12%;writing-mode:vertical-rl;font-family:'Poppins',sans-serif;font-weight:800;
  letter-spacing:.15em;font-size:14px;color:#fff;z-index:3}
.scroll-cue{position:absolute;bottom:34px;left:6vw;font-size:11px;letter-spacing:.15em;color:var(--fg-dim);
  display:flex;align-items:center;gap:10px;z-index:3}
.scroll-cue i{width:1px;height:34px;background:var(--fg-dim);position:relative;overflow:hidden}
.scroll-cue i::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:#fff;animation:mt-cue 1.8s ease-in-out infinite}
@keyframes mt-cue{0%{top:-100%}50%{top:0}100%{top:100%}}

section{position:relative}

/* ---------------------------------------------------------------- Filmhaus (stufenloser Projektwechsel) */
.fh-scroll{position:relative;height:calc(var(--n,4) * 100vh);height:calc(var(--n,4) * 100svh);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fh-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.fh-progress{position:absolute;top:0;left:0;right:0;height:2px;background:rgba(255,255,255,.14);z-index:5}
.fh-progress-bar{height:100%;width:0;background:var(--accent)}
.split{display:grid;grid-template-columns:1fr 1fr;height:100%}
.fh-left{padding:70px 6vw;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;min-height:0}
.fh-title{font-size:clamp(3rem,9vw,7rem);text-transform:uppercase}
.fh-copy{color:var(--fg-dim);font-size:12px;letter-spacing:.03em;margin-top:12px}
.fh-desc-wrap{position:relative;min-height:9em}
.fh-desc{position:absolute;left:0;top:0;max-width:420px;color:var(--fg-dim);font-size:15px;line-height:1.7;opacity:0}
.fh-desc:first-child{opacity:1}
.fh-meta{display:flex;align-items:center;gap:14px;margin-top:18px}
.fh-num{font-family:'Poppins',sans-serif;font-weight:800;font-size:13px;color:#fff;min-width:52px;display:inline-block}
.fh-dots{display:flex;gap:8px}
.fh-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.25);transition:background .3s,transform .3s}
.fh-dots i.active{background:var(--accent);transform:scale(1.5)}

.fh-right{position:relative;display:flex;flex-direction:column;min-height:0}
.proj-photos{position:relative;flex:1;overflow:hidden;min-height:0;background:#000}
.proj-photos.has-link{cursor:pointer}
.proj-photo{position:absolute;inset:0;opacity:0}
.proj-photo:first-child{opacity:1}
.proj-photo .photo{position:absolute;inset:-4%;transform:scale(1.06)}
.proj-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.35) 0%,transparent 30%);pointer-events:none}
.mt-live .proj-photo,.mt-live .proj-photo .photo,.mt-live .proj-text,.mt-live .fh-desc{will-change:transform,opacity}

.proj-bar{position:relative;height:130px;background:#000;border-top:1px solid var(--line);overflow:hidden;flex-shrink:0}
.proj-text{position:absolute;inset:0 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;opacity:0;pointer-events:none}
.proj-text:first-child{opacity:1;pointer-events:auto}
.proj-titles{min-width:0}
.proj-text .display{display:block;color:var(--accent);font-size:clamp(1.7rem,3.2vw,2.6rem);text-transform:uppercase}
.proj-text small{display:block;color:var(--fg-dim);font-size:12px;margin-top:6px}
.proj-link{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;color:#fff;text-decoration:none;font:600 11.5px 'Poppins',sans-serif;
  letter-spacing:.13em;text-transform:uppercase;padding:12px 18px;border:1px solid rgba(255,255,255,.65);border-radius:999px;white-space:nowrap;
  transition:background .3s,color .3s,border-color .3s}
.proj-link i{font-style:normal;transition:transform .35s var(--ease)}
.proj-link:hover{background:#fff;color:#000;border-color:#fff}
.proj-link:hover i{transform:translateX(5px)}

/* ---------------------------------------------------------------- Artists */
.artists{padding:100px 0 0}
.artists h2{color:var(--accent);font-size:clamp(2.6rem,8vw,4.6rem);text-transform:lowercase;letter-spacing:-.03em;padding:0 6vw 34px}
.artist-grid{display:grid;grid-template-columns:var(--tpl,682fr 1418fr 780fr);border-top:1px solid var(--line)}
.a-rail{position:relative;min-height:100%}
.quote-v{position:absolute;left:clamp(12px,1.6vw,32px);top:40px;bottom:40px;writing-mode:vertical-rl;transform:rotate(180deg);
  color:var(--fg-dim);font-size:11px;letter-spacing:.04em;max-width:300px}
.artist{padding:40px clamp(16px,2.2vw,40px) 52px;border-left:1px solid var(--line);min-width:0}
.artist .photo{width:min(100%,15.5vw);aspect-ratio:480/690;margin-bottom:18px;overflow:hidden}
.artist .photo .img{position:absolute;inset:0;background-size:cover;background-position:center}
.artist h3{font-family:'Poppins',sans-serif;font-weight:800;font-size:18px;text-transform:uppercase}
.artist p{color:var(--fg-dim);font-size:12px;margin-top:4px}

/* ---------------------------------------------------------------- Bühnen-Bereiche (Streifen, Contact, Footer) */
.mt-stage{position:relative;background:#000;color:#fff;overflow:hidden}
.mt-vline{position:absolute;top:0;bottom:0;left:var(--x);width:1px;background:#fff;z-index:3}
.mt-hline{position:absolute;left:0;right:0;top:var(--y);height:1px;background:#fff;z-index:3}
.mt-hline-half{right:auto;width:49.41%}
.mt-hline-bottom{top:auto;bottom:0}
.mt-ink{margin:0;white-space:nowrap;line-height:1;color:#fff;text-decoration:none}
.js .mt-ink{visibility:hidden;animation:mt-show 0s linear 3s forwards}
.js .mt-ink.mt-placed{visibility:visible}
@keyframes mt-show{to{visibility:visible}}
.mt-f-900{font-family:'Poppins',sans-serif;font-weight:900}
.mt-f-800{font-family:'Poppins',sans-serif;font-weight:800}
.mt-f-300{font-family:'Poppins',sans-serif;font-weight:300}
.mt-os800{font-family:'Open Sans','Poppins',sans-serif;font-weight:800}
.mt-os700{font-family:'Open Sans','Poppins',sans-serif;font-weight:700}
.mt-big,.mt-label,.mt-tag,.mt-word,.mt-flink{text-transform:uppercase}
.mt-outline{color:transparent;-webkit-text-stroke:max(1px,.07cqw) #fff}
.mt-label,.mt-word{color:var(--accent)}
.mt-mail{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em}
.mt-mtn{display:block;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 42%,rgba(0,0,0,.78) 56%,rgba(0,0,0,.5) 70%,rgba(0,0,0,.24) 82%,rgba(0,0,0,.08) 92%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 42%,rgba(0,0,0,.78) 56%,rgba(0,0,0,.5) 70%,rgba(0,0,0,.24) 82%,rgba(0,0,0,.08) 92%,transparent 100%)}
.mt-plate{display:block;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.5) 3.5%,#000 8%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.5) 3.5%,#000 8%)}

/* Mobil: Bereiche untereinander */
.mt-strip{padding:20px 6vw 14px;border-top:1px solid #fff;border-bottom:1px solid #fff;display:flex;justify-content:flex-end}
.mt-strip .mt-vline,.mt-strip .mt-hline,.mt-contact .mt-vline,.mt-footer .mt-vline,.mt-footer .mt-hline{display:none}
.mt-tag{font-size:13px;letter-spacing:-.02em}
.mt-ink{display:block;position:static}
.mt-contact{display:flex;flex-direction:column;position:relative;z-index:2;background:transparent}
.mt-c-title{padding:54px 6vw 6px}
.mt-big{font-size:var(--mfs,19vw);letter-spacing:var(--mls,-.04em);line-height:.95}
.mt-c-info{padding:34px 6vw 26px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.mt-label{font-size:12px;letter-spacing:.04em}
.mt-mail{font-size:clamp(18px,5.6vw,26px);letter-spacing:0}
.mt-mtn{position:static;width:100%;height:auto;margin-top:6px}
.mt-footer{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;min-height:520px;border-bottom:1px solid #fff;margin-top:-19.7vw}
.mt-plate{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% top;z-index:0}
.mt-f-links,.mt-f-brand{position:relative;z-index:2}
.mt-f-links{padding:0 6vw;margin-top:auto}
.mt-flink{font-size:clamp(20px,6vw,28px);padding:15px 0;border-top:1px solid #fff;letter-spacing:-.02em}
.mt-f-brand{padding:22px 6vw 24px;border-top:1px solid #fff}
.mt-word{font-size:var(--mfs,16vw);letter-spacing:var(--mls,-.02em);line-height:.95}
.mt-kr{display:flex;align-items:center;gap:18px;margin-top:22px}
.mt-mark{font-size:clamp(46px,13vw,68px);letter-spacing:.08em}
.mt-tagl{font-size:11.5px;letter-spacing:.4em;line-height:1.35;white-space:nowrap}

@media (min-width:900px){
  .mt-stage{aspect-ratio:var(--ar);container-type:inline-size;display:block;padding:0;min-height:0}
  .mt-stage .mt-vline,.mt-stage .mt-hline{display:block}
  .mt-stage .mt-ink{position:absolute;left:var(--x);top:var(--y);font-size:var(--fs);letter-spacing:var(--ls);padding:0;border:0;display:block;z-index:2}
  .mt-c-title,.mt-c-info,.mt-f-links,.mt-f-brand,.mt-kr,.mt-tagline{display:contents}
  .mt-mtn{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:auto;margin:0;z-index:1}
  .mt-vline-top{z-index:3}
  .mt-plate{object-position:center}
  .mt-footer{min-height:0;border-bottom:0;margin-top:-10.3vw}
  .mt-strip{border-top:0;border-bottom:0}
}

/* ---------------------------------------------------------------- Referenz-Unterseiten */
.mt-ref-page .mt-ref{background:#000}
.mt-ref-hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:#000}
.mt-ref-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.mt-ref-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.35) 48%,rgba(0,0,0,.55) 100%)}
.mt-ref-hero-inner{position:relative;z-index:2;width:100%;padding:130px 6vw 46px}
.mt-ref-back{display:inline-flex;align-items:center;gap:10px;color:var(--fg-dim);text-decoration:none;font-size:13px;letter-spacing:.04em;margin-bottom:30px;transition:color .3s}
.mt-ref-back i{font-style:normal;transition:transform .35s var(--ease)}
.mt-ref-back:hover{color:#fff}
.mt-ref-back:hover i{transform:translateX(-5px)}
.mt-ref-title{font-size:clamp(2.6rem,11vw,9.5rem);text-transform:uppercase;letter-spacing:-.035em;line-height:.88;color:#fff;overflow-wrap:anywhere}
.mt-ref-sub{margin-top:20px;color:#7ea6c4;font-weight:600;font-size:clamp(1.05rem,2.2vw,1.55rem);max-width:30em;line-height:1.4}
.mt-ref-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:46px}
.mt-ref-meta div{padding:0 20px 0 0}
.mt-ref-meta dt{color:#7ea6c4;font:800 11px 'Poppins',sans-serif;letter-spacing:.12em;text-transform:uppercase}
.mt-ref-meta dd{margin-top:7px;font-size:15px}
@keyframes mt-rise{from{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:none}}
.mt-ref-hero-inner > *{animation:mt-rise .8s ease-out both}
.mt-ref-title{animation-delay:.06s!important}
.mt-ref-sub{animation-delay:.12s!important}
.mt-ref-meta{animation-delay:.18s!important}
.mt-ref-page .reveal{transform:translate3d(0,12px,0);transition:opacity .8s ease-out,transform .8s ease-out}
.mt-ref-page .reveal.visible{transform:none}

.mt-ref-text{display:grid;grid-template-columns:1fr 2fr}
.mt-ref-text h2{padding:72px 6vw;color:var(--accent);font-size:clamp(2rem,5vw,3.8rem);letter-spacing:-.03em;text-transform:lowercase;line-height:.95}
.mt-ref-text-body{padding:72px 6vw;font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.85;color:rgba(255,255,255,.78);max-width:62em}
.mt-ref-image{margin:0}
.mt-ref-image.mt-size-wide{padding:56px 6vw 6px}
.mt-ref-image img{width:100%;height:auto;display:block}
.mt-ref-image figcaption,.mt-ref-video figcaption,.mt-ref-gallery figcaption{padding:12px 0;font-size:12px;color:var(--fg-dim);letter-spacing:.04em}
.mt-ref-image.mt-size-full figcaption{padding:12px 6vw}
.mt-ref-video{margin:0;padding:56px 6vw 6px}
.mt-ref-video-box{position:relative;aspect-ratio:16/9;background:#0a0a0a}
.mt-ref-video-box iframe,.mt-ref-video-box video{position:absolute;inset:0;width:100%;height:100%;border:0}
.mt-ref-gallery{display:grid;grid-template-columns:repeat(var(--cols,3),1fr);gap:14px;padding:56px 6vw 10px}
.mt-ref-gallery figure{margin:0;min-width:0}
.mt-ref-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.mt-ref-quote{margin:0;padding:92px 6vw}
.mt-ref-quote p{font-family:'Poppins',sans-serif;font-weight:600;font-size:clamp(1.5rem,3.6vw,3rem);line-height:1.25;letter-spacing:-.02em;max-width:22em}
.mt-ref-quote p::before{content:'\201C';color:var(--accent);font-size:1.6em;line-height:0;vertical-align:-.25em;margin-right:.12em}
.mt-ref-quote cite{display:block;margin-top:26px;font-style:normal;color:var(--accent);font:800 12px 'Poppins',sans-serif;letter-spacing:.12em;text-transform:uppercase}
.mt-ref-next{position:relative;display:block;padding:100px 6vw;text-decoration:none;color:#fff;overflow:hidden}
.mt-ref-next-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.22;transition:opacity .6s ease}
.mt-ref-next:hover .mt-ref-next-bg{opacity:.36}
.mt-ref-next-label,.mt-ref-next-title{position:relative;display:block}
.mt-ref-next-label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:16px}
.mt-ref-next-title{font-family:'Poppins',sans-serif;font-weight:900;font-size:clamp(2.2rem,8.5vw,7rem);text-transform:uppercase;letter-spacing:-.03em;line-height:.92;overflow-wrap:anywhere}
.mt-ref-next-title i{font-style:normal;color:var(--accent);display:inline-block;transition:transform .5s var(--ease)}
.mt-ref-next:hover .mt-ref-next-title i{transform:translateX(6px)}

.mt-edit-link{position:fixed;right:14px;bottom:14px;z-index:99;background:var(--accent);color:#fff;font:600 12px/1 'Inter',sans-serif;padding:10px 14px;border-radius:999px;text-decoration:none;opacity:.92}
.mt-edit-link:hover{opacity:1}

/* ---------------------------------------------------------------- Tablet & Handy */
@media (max-width:899px){
  nav{padding-left:5vw;padding-right:5vw}
  nav a{margin-left:16px;font-size:12px}
  .brand-mark{font-size:12px;letter-spacing:.16em}
  .hero{min-height:480px}
  .vert-logo{top:96px;font-size:11px;right:4vw}
  .headline{font-size:clamp(2.1rem,10.5vw,3.6rem)}
  .scroll-cue{bottom:26px}

  .split{grid-template-columns:1fr;grid-template-rows:38% 62%}
  .fh-right{order:-1}
  .fh-left{border-right:none;border-top:1px solid var(--line);padding:18px 6vw 20px;justify-content:flex-start;gap:22px}
  .fh-title{font-size:clamp(2.2rem,12vw,3.3rem)}
  .fh-copy{margin-top:8px}
  .fh-desc-wrap{min-height:9.5em}
  .fh-desc{font-size:14px;line-height:1.6;max-width:none}
  .fh-meta{margin-top:12px}
  .proj-bar{height:78px}
  .proj-text{inset:0 5vw;gap:10px}
  .proj-text .display{font-size:clamp(1.25rem,6vw,1.7rem)}
  .proj-text small{font-size:11px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .proj-link{padding:9px 13px;font-size:10px;letter-spacing:.09em;gap:7px}

  .artists{padding:60px 0 0}
  .artists h2{padding:0 6vw 26px}
  .a-rail{display:none}
  .artist-grid{grid-template-columns:repeat(2,1fr)}
  .artist{padding:24px 14px 30px;border-left:0}
  .artist:nth-child(odd){border-left:1px solid var(--line)}
  .artist:nth-child(even){padding-left:6vw}
  .artist:nth-child(odd){padding-left:14px}
  .artist .photo{width:100%;max-width:210px}
  .artist h3{font-size:15px}

  .mt-ref-hero-inner{padding:110px 6vw 34px}
  .mt-ref-meta{grid-template-columns:repeat(2,1fr);margin-top:34px}
  .mt-ref-text{grid-template-columns:1fr}
  .mt-ref-text h2{padding:52px 6vw 0}
  .mt-ref-text-body{padding:20px 6vw 56px}
  .mt-ref-image.mt-size-wide,.mt-ref-video,.mt-ref-gallery{padding-top:36px}
  .mt-ref-gallery{grid-template-columns:repeat(min(var(--cols,3),2),1fr);gap:10px}
  .mt-ref-quote{padding:60px 6vw}
  .mt-ref-next{padding:70px 6vw}
}
