:root{
  --ink:#241d17;
  --muted:#786858;
  --paper:#efe0cc;
  --surface:#f7eddf;
  --accent:#9a7047;
  --line:#cdbba5;
  --line-soft:#dfcfbb;
  --max:1160px;
  --reading:820px;
}
*{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-size:17.5px;
  line-height:1.68;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}
.wrap{width:min(var(--max),88vw);margin:0 auto}

/* Kopf: bewusst ruhig und nah an der ursprünglichen, weißen Festivalästhetik */
.site-header{background:var(--paper);padding:28px 0 0}
.brand{display:block;width:min(475px,74vw);margin:0 auto 23px;text-decoration:none}
.brand img{width:100%;height:auto;mix-blend-mode:multiply}
.nav{
  display:flex;justify-content:center;align-items:center;gap:34px;flex-wrap:wrap;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:12px 0 11px;
  font-size:14px;line-height:1.2;letter-spacing:.055em;text-transform:uppercase;
}
.nav a{position:relative;text-decoration:none;padding:3px 0;color:#4b443c}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:-11px;height:1px;background:transparent}
.nav a:hover,.nav a.active{color:#211a14}
.nav a:hover::after,.nav a.active::after{background:var(--accent)}

main{min-height:45vh}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
h1,h2,h3{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:#201c18}
h1{font-weight:300;letter-spacing:-.018em}
h2{font-size:33px;line-height:1.25;font-weight:300;letter-spacing:-.014em;margin:0 0 22px}
h3{font-size:22px;line-height:1.36;font-weight:400;letter-spacing:-.008em;margin:0 0 9px}
p{margin-top:0}

.page-hero{padding:52px 0 36px;text-align:center;border-bottom:1px solid var(--line-soft)}
.page-hero h1,.home-title{font-size:clamp(34px,3.6vw,46px);line-height:1.12;margin:0 0 10px}
.page-hero .lead{margin:0 auto;max-width:750px}
 .lead{font-size:18.5px;line-height:1.65;color:#514941;max-width:780px;font-weight:300}
.archive{display:inline-block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#786d61;margin-bottom:12px}

/* Startseite */
.home-intro{padding:52px 0 58px}
.home-intro .wrap{max-width:980px}
.home-mast-note{text-align:center;font-size:15.5px;letter-spacing:.035em;color:#675e54;margin:0 0 34px}
.home-mast-note strong{font-weight:500;color:#2e2721}
.schirmherr{
  display:grid;grid-template-columns:420px minmax(0,1fr);gap:48px;align-items:center;
  max-width:1040px;margin:0 auto 46px;padding:0 0 38px;border-bottom:1px solid var(--line-soft);
}
.schirmherr img{width:420px;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center top;box-shadow:0 8px 22px rgba(70,48,25,.09)}
.schirmherr p{font-size:17px;margin:0 0 12px}
.quote{
  max-width:820px;margin:0 auto 28px;
  font-family:Georgia,"Times New Roman",serif;font-size:32px;line-height:1.35;font-weight:400;
  text-align:center;letter-spacing:-.01em;color:#3c3025;
}
.intro-copy{max-width:820px;margin:0 auto;font-size:18px;line-height:1.76}
.intro-copy>p:first-of-type{margin-bottom:26px}
.signature-row{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:48px;align-items:center;margin-top:22px}
.signature-row img{width:420px;height:auto;object-fit:contain}
.signature-row p{margin:0 0 2px}

.section{padding:66px 0}
.section+.section{border-top:1px solid var(--line-soft)}
.section.alt{background:#e7d4bb}
.section-title{text-align:center;margin-bottom:42px;font-size:32px}
.section-title::after{content:"";display:block;width:42px;border-top:1px solid var(--accent);margin:17px auto 0}

.event-list{display:grid;gap:62px}
.event{
  display:grid;grid-template-columns:minmax(0,45%) minmax(0,1fr);gap:52px;align-items:center;
  padding-bottom:52px;border-bottom:1px solid var(--line-soft)
}
.event:last-child{border-bottom:0;padding-bottom:0}
.event:nth-child(even){grid-template-columns:minmax(0,45%) minmax(0,1fr)}
.event:nth-child(even) .event-image{order:0}
.event-image img{width:100%;max-height:450px;object-fit:cover;box-shadow:0 10px 28px rgba(70,48,25,.08)}
.event p{margin:.35em 0 1em}
.event ul{margin:.55em 0 1.1em;padding-left:19px}
.meta{font-size:13px;color:var(--muted);margin-bottom:8px;letter-spacing:.02em}

.button{
  display:inline-block;padding:0 0 3px;border:0;border-bottom:1px solid var(--accent);
  text-decoration:none;background:transparent;color:#5d4934;font-size:14px;line-height:1.35;
  letter-spacing:.035em;
}
.button:hover{background:transparent;color:#2d231a;border-bottom-color:#2d231a}
.button+.button{margin-left:18px}

.artist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 38px}
.artist{min-width:0}
.artist img{width:100%;aspect-ratio:4/5;object-fit:cover;margin-bottom:18px;box-shadow:0 10px 28px rgba(70,48,25,.08)}
.artist h3{font-size:21px;margin-bottom:3px}
.artist p{margin:.25em 0 .75em;color:#62594f;font-size:16px}
.artist .excerpt{font-size:16px;line-height:1.67;color:#514941}

.profile{display:grid;grid-template-columns:minmax(270px,36%) minmax(0,1fr);gap:62px;align-items:start;max-width:980px}
.profile>div:first-child{position:sticky;top:28px}
.profile img{width:100%;max-height:590px;object-fit:cover;object-position:center top;box-shadow:0 10px 28px rgba(70,48,25,.08)}
.content{max-width:var(--reading)}
.content.centered{margin-left:auto;margin-right:auto}
.content p{margin:0 0 1.15em}
.content>p:first-child:not(.lead){font-size:18px}
.role{color:var(--muted);font-size:17.5px;margin-top:-4px}

.program-list{display:grid;gap:68px}
.program{display:grid;grid-template-columns:290px minmax(0,1fr);gap:50px;align-items:start}
.program img{width:100%;max-height:370px;object-fit:cover;box-shadow:0 10px 28px rgba(70,48,25,.08)}
.program h3{font-size:24px;font-weight:400}
.program ul{padding-left:19px;margin-top:.5em}
.program .wherewhen{margin:.55em 0 1.15em;color:#413a33}
.program .wherewhen strong{display:inline-block;min-width:58px;font-weight:500}

.support-logo{max-width:360px;margin:0 auto 38px}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:start}
.contact-box{border:1px solid var(--line);padding:32px 34px;background:var(--surface)}
.form{display:grid;gap:14px}
.form label{font-size:14px;font-weight:500}
.form input,.form textarea{width:100%;border:1px solid #b7aa9a;padding:10px 11px;font:inherit;background:var(--surface)}
.form textarea{min-height:150px}
.small{font-size:13px;color:var(--muted)}
.notice,.note{border-left:2px solid var(--accent);padding:11px 15px;background:#e7d4bb;margin:22px 0}
.download-list{display:grid;gap:12px;margin:24px 0}
.download-list a{width:max-content;max-width:100%}
.portrait-credit{font-size:11.5px;color:#777;margin-top:6px;line-height:1.4}
.legal{max-width:850px}
.legal h2{font-size:24px;margin-top:34px}
.legal h3{font-size:19px;margin-top:27px}
.legal p,.legal li{font-size:15.5px;line-height:1.65}
hr.fine{border:0;border-top:1px solid var(--line);margin:48px 0}

.site-footer{margin-top:58px;border-top:1px solid var(--line);padding:36px 0 28px;text-align:center;background:#e7d4bb}
.footer-logo{display:block;width:min(230px,54vw);margin:0 auto 21px;opacity:.92}.footer-logo img{mix-blend-mode:multiply}
.footer-nav{display:flex;justify-content:center;gap:26px;flex-wrap:wrap;font-size:13px;letter-spacing:.035em;margin-bottom:16px}
.footer-nav a{text-decoration:none;color:#514941}
.footer-nav a:hover{color:#211a14}
.footer-meta{font-size:12.5px;color:#776d62;line-height:1.55}
.footer-meta a{text-decoration:none}
.footer-meta a:hover{text-decoration:underline}

@media(max-width:800px){
  .wrap{width:min(var(--max),90vw)}
  .site-header{padding-top:18px}
  .brand{width:min(390px,82vw);margin-bottom:18px}
  .nav{gap:17px;font-size:12px;padding:10px 2px;letter-spacing:.035em}
  .nav a::after{bottom:-10px}
  .home-intro{padding:34px 0 42px}
  .schirmherr{grid-template-columns:280px minmax(0,1fr);gap:32px;margin-bottom:38px;padding-bottom:32px}
  .schirmherr img{width:280px}
  .quote{font-size:27px}
  .signature-row{grid-template-columns:minmax(0,1fr) 280px;gap:32px}
  .signature-row img{width:280px}
  .event,.event:nth-child(even),.profile,.program,.contact-layout{grid-template-columns:1fr}
  .event{gap:24px;align-items:start}
  .event-image img,.program img{max-width:520px;margin:0 auto}
  .artist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 24px}
  .profile{gap:30px}
  .profile>div:first-child{position:static}
  .profile img{max-width:380px;margin:0 auto}
  .section{padding:50px 0}
  .page-hero{padding:42px 0 30px}
}
@media(max-width:540px){
  body{font-size:16.5px}
  .nav{gap:13px 17px}
  .home-mast-note{font-size:13.5px;margin-bottom:27px}
  .schirmherr{grid-template-columns:1fr;text-align:center;max-width:360px}
  .schirmherr img{margin:0 auto;width:min(360px,88vw)}
  .signature-row{grid-template-columns:1fr}
  .signature-row img{width:min(360px,88vw);margin:8px auto 0}
  .artist-grid{grid-template-columns:1fr}
  .artist{max-width:430px;margin:0 auto}
  .section-title{font-size:29px}
  h2{font-size:29px}
  .button+.button{margin-left:12px}
}
@media print{
  .nav,.site-footer,.button,.form{display:none!important}
  .site-header{padding:0;border:0}.brand{width:250px}
  body{font-size:11pt}.section{padding:15pt 0}
  .profile>div:first-child{position:static}
}
