:root{--ink:#171715;--muted:#6d6b65;--paper:#dce4e7;--paper2:#d1dbdf;--line:#b3c0c5;--white:#eef2f3}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300}a{color:inherit}
header{max-width:1240px;margin:auto;padding:32px 34px 21px;display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid var(--line)}
.brand{text-decoration:none;font-size:28px;font-weight:300;line-height:.95;letter-spacing:.11em}.brand span{display:block;margin-top:10px;font-size:10px;letter-spacing:.30em;text-transform:uppercase}
nav{display:flex;gap:34px;font-size:12px;letter-spacing:.18em;font-weight:300}nav a{text-decoration:none;padding-bottom:5px}nav a:hover,.active{border-bottom:1px solid}
.home{max-width:1240px;margin:54px auto 90px;padding:0 34px;display:grid;grid-template-columns:minmax(0,720px) 1fr;gap:82px;align-items:start}.portrait{margin:0}.portrait img{width:100%;height:auto;display:block}.portrait figcaption{text-align:right;font-size:10px;color:var(--muted);margin-top:7px;letter-spacing:.08em}.intro{padding-top:8vh}.eyebrow{font-size:10px;letter-spacing:.27em;text-transform:uppercase;color:var(--muted)}
h1{font-size:clamp(50px,7vw,92px);font-weight:300;letter-spacing:.085em;line-height:.96;margin:16px 0 31px}.intro p{font-size:16px;line-height:1.65;max-width:330px}.intro .montage{font-size:12px;letter-spacing:.18em;line-height:1.7;color:var(--ink);max-width:370px;margin-top:34px}
.page{max-width:1240px;margin:auto;padding:66px 34px 110px}.pagehead{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:64px}.pagehead h1{margin:0}.pagehead p{max-width:470px;color:var(--muted);line-height:1.65}.filters{display:flex;gap:28px;justify-content:flex-end;margin:0 0 44px;font-size:12px;letter-spacing:.08em}.filters button{font:inherit;border:0;background:none;padding:0 0 6px;cursor:pointer;color:var(--muted)}.filters button.on{color:var(--ink);border-bottom:1px solid}
/* Filmographie: zwei Bild/Text-Paare pro Zeile; jede zweite Zeile gespiegelt. */
.filmgrid{display:grid;grid-template-columns:1fr 1fr;column-gap:82px;row-gap:58px}.film{display:grid;grid-template-columns:42% 58%;min-height:190px;border-top:1px solid var(--line);padding-top:18px;align-items:stretch;column-gap:0}.film:nth-child(4n+3),.film:nth-child(4n+4){grid-template-columns:58% 42%}.film:nth-child(4n+3) .still,.film:nth-child(4n+4) .still{order:2}.film:nth-child(4n+3) .filmtext,.film:nth-child(4n+4) .filmtext{order:1;padding-left:0;padding-right:30px}.still{height:170px;overflow:hidden;background:var(--paper2);display:flex;align-items:center;justify-content:center}.still img{width:100%;height:100%;object-fit:cover}.still.empty span{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#aaa39a}.filmtext{padding:5px 0 0 30px}.film h2{font-size:19px;font-weight:300;letter-spacing:.055em;line-height:1.3;margin:0 0 16px}.meta{font-size:12px;line-height:1.65;color:var(--muted);margin:0}
.vita-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:76px}.side-title{position:sticky;top:30px;align-self:start}.side-title h1{font-size:64px;letter-spacing:.12em}.vita-section{border-top:1px solid var(--line);padding:27px 0 58px}.vita-section h2{font-size:11px;text-transform:uppercase;letter-spacing:.22em;font-weight:400;margin:0 0 28px}.entry{display:grid;grid-template-columns:112px minmax(0,1fr);gap:24px;padding:10px 0;font-size:13px;line-height:1.55}.entry time{color:var(--muted);letter-spacing:.02em}.entry b{font-weight:400}.entry.no-year{display:block;padding-left:0}
.contact-page{min-height:67vh;display:grid;grid-template-columns:280px minmax(0,1fr);gap:76px;align-items:start}.contact-title h1{font-size:64px;letter-spacing:.12em;margin-top:16px}.contact-body{border-top:1px solid var(--line);padding-top:29px;display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-details{font-size:13px;line-height:1.75;letter-spacing:.02em}.contact-details p{margin:0 0 4px}.contact-name{font-size:18px;letter-spacing:.08em;margin-bottom:10px!important}.contact-details a{text-decoration:none;border-bottom:1px solid}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding-top:2px}.contact-links a{text-decoration:none;font-size:12px;letter-spacing:.08em;line-height:1.5;border-bottom:1px solid var(--line);padding-bottom:5px}.contact-links a:hover{border-color:var(--ink)}
footer{max-width:1240px;margin:auto;padding:24px 34px 40px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:10px;letter-spacing:.06em}
@media(max-width:900px){.filmgrid{grid-template-columns:1fr;row-gap:44px}.film,.film:nth-child(4n+3),.film:nth-child(4n+4){grid-template-columns:32% 68%}.film:nth-child(even){grid-template-columns:68% 32%}.film:nth-child(even) .still{order:2}.film:nth-child(even) .filmtext{order:1;padding-left:0;padding-right:28px}.film:nth-child(odd) .still{order:1}.film:nth-child(odd) .filmtext{order:2;padding-left:28px;padding-right:0}}
@media(max-width:800px){header{padding:24px 20px 17px;align-items:flex-start;gap:25px}.brand{font-size:22px}nav{gap:14px;flex-wrap:wrap;justify-content:flex-end;font-size:10px}.home{margin:28px auto 60px;padding:0 20px;grid-template-columns:1fr;gap:32px}.intro{padding-top:0}.intro h1{font-size:56px}.page{padding:44px 20px 72px}.pagehead{grid-template-columns:1fr;margin-bottom:34px}.pagehead h1{font-size:55px}.filters{justify-content:flex-start;overflow:auto;white-space:nowrap}.vita-layout,.contact-page{grid-template-columns:1fr;gap:34px}.side-title{position:static}.side-title h1,.contact-title h1{font-size:52px}.entry{grid-template-columns:90px 1fr}.contact-body{grid-template-columns:1fr;gap:34px}footer{padding-left:20px;padding-right:20px}}
@media(max-width:540px){.film,.film:nth-child(n){grid-template-columns:1fr;gap:0}.film:nth-child(n) .still,.film:nth-child(n) .filmtext{order:initial}.still{height:145px}.filmtext,.film:nth-child(n) .filmtext{padding:18px 0 0}.intro p{font-size:15px}.entry{grid-template-columns:74px 1fr;gap:16px}}

/* Entwurf 5 */
.still{height:auto;min-height:150px;background:transparent;overflow:visible}
.still img{width:100%;height:auto;max-height:240px;object-fit:contain;display:block}
.film{align-items:start}
.contact-body{grid-template-columns:1fr;max-width:560px}
.contact-links{margin-top:30px;padding-top:0;gap:13px}

/* Entwurf 6: Schachbrett richtet sich nach sichtbaren Filmen, auch in Filtern */
.film,.film:nth-child(n){grid-template-columns:42% 58%}
.film:nth-child(n) .still{order:1}
.film:nth-child(n) .filmtext{order:2;padding:5px 0 0 30px}
.film.flip,.film.flip:nth-child(n){grid-template-columns:58% 42%}
.film.flip:nth-child(n) .still{order:2}
.film.flip:nth-child(n) .filmtext{order:1;padding-left:0;padding-right:30px}
.contact-details,.contact-details p,.contact-details a,.contact-name,.contact-links a{letter-spacing:.06em}
.contact-details{font-size:13px}
.contact-name{font-size:13px;margin-bottom:4px!important}
.contact-links a{font-size:13px}
@media(max-width:900px){.film,.film:nth-child(n){grid-template-columns:32% 68%}.film.flip,.film.flip:nth-child(n){grid-template-columns:68% 32%}}
@media(max-width:540px){.film,.film:nth-child(n),.film.flip,.film.flip:nth-child(n){grid-template-columns:1fr}.film:nth-child(n) .still,.film:nth-child(n) .filmtext,.film.flip:nth-child(n) .still,.film.flip:nth-child(n) .filmtext{order:initial}.film:nth-child(n) .filmtext,.film.flip:nth-child(n) .filmtext{padding:18px 0 0}}

/* Bildnachweise – bewusst zurückhaltend */
.image-credit{
  margin-top:6px;
  font-size:9px;
  line-height:1.35;
  font-weight:300;
  letter-spacing:.08em;
  color:var(--muted);
}

/* Entwurf 8: Starttypografie auf gemeinsame optische Breite gebracht */
.intro{--intro-width:370px;width:min(100%,var(--intro-width))}
.intro .eyebrow,.intro .balanced-line,.intro .name-line{width:100%;}
.intro .eyebrow{display:block;letter-spacing:.31em;white-space:nowrap}
.intro h1{width:100%;}
.intro .name-line{display:block;white-space:nowrap}
.intro .name-line:first-child{letter-spacing:.145em}
.intro .name-line:last-child{letter-spacing:.155em}
.intro .montage{max-width:none;letter-spacing:.105em;white-space:nowrap}
.still{display:block}
.image-credit{text-align:left}
@media(max-width:800px){.intro{--intro-width:330px}.intro .montage{white-space:normal}}

/* Entwurf 9: Starttypografie wieder wie Entwurf 7 */
.intro{width:auto}
.intro .eyebrow{display:block;letter-spacing:.27em;white-space:normal}
.intro h1{width:auto}
.intro .name-line{width:auto}
.intro .montage{max-width:370px;letter-spacing:.18em;white-space:normal}
/* Kein oberer Trennstrich vor Auszeichnungen/Kontakt */
.vita-layout > div > .vita-section:first-child{border-top:0;padding-top:0}
.contact-body{border-top:0;padding-top:0}

/* Kontakt & Impressum – elegant, leicht und typografisch passend zur Website */
.contact-final .page,
.impressum-final .page{
  max-width:1240px;
  margin:0 auto;
  padding:116px 34px 110px;
  min-height:67vh;
}

.contact-final .contact-title h1,
.impressum-final .imprint-title{
  margin:0 0 82px;
  font-size:clamp(50px,5.2vw,72px);
  line-height:.98;
  font-weight:300;
  letter-spacing:.085em;
  text-transform:none;
}

.contact-final .contact-content{
  display:grid;
  grid-template-columns:280px minmax(0,390px);
  gap:48px;
  align-items:start;
}

.contact-final .contact-details{
  font-size:13px;
  line-height:1.75;
  font-weight:300;
  letter-spacing:.06em;
}

.contact-final .contact-name{
  font-size:13px;
  line-height:1.6;
  font-weight:300;
  letter-spacing:.06em;
  margin:0 0 4px!important;
}

.contact-final .contact-details a{
  font:inherit;
  text-decoration:none;
  border-bottom:1px solid var(--line);
}

.contact-final .contact-links{
  margin:0;
  padding:0 0 0 48px;
  border-left:1px solid var(--line);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:18px;
}

.contact-final .contact-links a{
  font-size:13px;
  line-height:1.5;
  font-weight:300;
  letter-spacing:.06em;
  text-transform:none;
  text-decoration:none;
  border-bottom:1px solid var(--line);
  padding-bottom:5px;
}

.contact-final .contact-links a:hover{
  border-color:var(--ink);
}

.impressum-final .imprint-content{
  margin-left:0;
  max-width:380px;
  font-size:13px;
  line-height:1.75;
  font-weight:300;
  letter-spacing:.04em;
}

.impressum-final .imprint-content p{
  margin:0 0 28px;
}

.impressum-final .imprint-content a{
  font:inherit;
  text-decoration:none;
  border-bottom:1px solid var(--line);
}

.legal-footer{
  max-width:1240px;
  margin:auto;
  padding:24px 34px 40px;
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  color:var(--muted);
  font-size:10px;
  font-weight:300;
  letter-spacing:.06em;
}

.legal-footer > :first-child{justify-self:start}
.legal-footer > :nth-child(2){justify-self:center}
.legal-footer > :last-child{justify-self:end}
.legal-footer a{color:inherit;text-decoration:none}
.legal-footer a:hover{color:var(--ink)}

@media(max-width:800px){
  .contact-final .page,
  .impressum-final .page{
    padding:64px 20px 72px;
  }

  .contact-final .contact-title h1,
  .impressum-final .imprint-title{
    font-size:52px;
    margin-bottom:48px;
  }

  .contact-final .contact-content{
    grid-template-columns:1fr;
    gap:34px;
  }

  .contact-final .contact-links{
    border-left:0;
    border-top:1px solid var(--line);
    padding:30px 0 0;
  }

  .legal-footer{
    padding-left:20px;
    padding-right:20px;
  }
}
