@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@500;600&display=swap');
:root{
  --ink:#171717;
  --paper:#fbfaf6;
  --line:#dedbd2;
  --accent:#e6007e;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}

.site-header{
  position:fixed;
  top:20px;
  left:0;
  right:0;
  z-index:40;
  padding:0 24px;
  pointer-events:none;
}
.nav-shell{
  position:relative;
  max-width:1380px;
  min-height:116px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:52px;
  padding:16px 30px;
  border:1px solid rgba(255,255,255,.62);
  border-radius:27px;
  background:
    linear-gradient(100deg,
      rgba(255,255,255,.95) 0%,
      rgba(255,249,252,.91) 34%,
      rgba(252,249,232,.90) 54%,
      rgba(241,250,250,.91) 72%,
      rgba(255,255,255,.95) 100%);
  box-shadow:
    0 20px 56px rgba(28,22,20,.16),
    inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:blur(20px) saturate(145%);
  -webkit-backdrop-filter:blur(20px) saturate(145%);
  transition:min-height .28s ease,background .28s ease,box-shadow .28s ease,transform .28s ease,padding .28s ease;
  pointer-events:auto;
}
.site-header.scrolled .nav-shell{
  min-height:82px;
  padding-top:10px;
  padding-bottom:10px;
  padding-left:30px;
  background:rgba(255,255,255,.96);
  box-shadow:0 14px 38px rgba(24,20,18,.18);
  transform:translateY(-7px);
}
.brand{
  position:absolute;
  left:26px;
  top:112px;
  width:min(760px,48vw);
  display:block;
  padding:0;
  background:transparent;
  box-shadow:none;
  border-radius:0;
  overflow:visible;
  z-index:3;
}
.brand::after{display:none}
.logo-spectrum{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:755 / 353;
  filter:
    drop-shadow(0 0 10px rgba(255,45,149,.34))
    drop-shadow(0 0 26px rgba(255,45,149,.16));
  transition:width .3s ease,filter .3s ease,transform .3s ease;
}
.logo-base,
.logo-ae{
  position:absolute;
  inset:0;
  display:block;
  -webkit-mask:url("assets/spaektrum-logo.svg") center/contain no-repeat;
  mask:url("assets/spaektrum-logo.svg") center/contain no-repeat;
}
.logo-base{background:#ff2d95}
.logo-ae-window{
  position:absolute;
  left:37.3%;
  top:28.4%;
  width:14.9%;
  height:27.8%;
  overflow:visible;
  transform-origin:center;
  animation:aePulse 14s ease-in-out infinite;
}
.logo-ae{
  width:671%;
  height:360%;
  left:-250%;
  top:-102%;
  inset:auto;
  animation:aeSpectrum 28s ease-in-out infinite;
  filter:
    drop-shadow(0 0 10px currentColor)
    drop-shadow(0 0 24px currentColor);
}
.site-header.scrolled .brand{
  top:90px;
  width:min(650px,42vw);
}
.site-header.scrolled .logo-spectrum{transform:scale(.96)}
.sr-only{
  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;
}
@keyframes aeSpectrum{
  0%,100%{background:#55ad89;color:#55ad89}
  16%{background:#009274;color:#009274}
  32%{background:#b18ebc;color:#b18ebc}
  48%{background:#ec008c;color:#ec008c}
  64%{background:#f5b817;color:#f5b817}
  80%{background:#087db4;color:#087db4}
  92%{background:#f4797e;color:#f4797e}
}
@keyframes aePulse{
  0%,100%{transform:scale(1)}
  25%{transform:scale(1.025)}
  50%{transform:scale(1.08)}
  75%{transform:scale(1.035)}
}
@media (prefers-reduced-motion:reduce){
  .logo-ae-window,.logo-ae{animation:none}
  .logo-ae{background:#ec008c}
}

.nav{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:42px;
}
.nav a,.nav-button{
  position:relative;
  flex:0 0 auto;
  font:700 15px/1 Arial;
  text-transform:none;
  letter-spacing:.01em;
  color:inherit;
  text-decoration:none;
  background:none;
  border:0;
  cursor:pointer;
  padding:19px 2px 17px;
}
.nav-link::after{
  content:"";
  position:absolute;
  left:-8px;
  right:-8px;
  bottom:4px;
  height:4px;
  border-radius:999px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .24s ease;
}
.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1)}
.ticket-button{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:11px;
  min-width:148px;
  padding:17px 25px!important;
  border:1px solid var(--accent)!important;
  border-radius:999px;
  color:#fff!important;
  background:var(--accent);
  box-shadow:0 10px 25px rgba(230,0,126,.22);
  transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.ticket-button:hover{
  color:#fff!important;
  transform:translateY(-2px) scale(1.015);
  box-shadow:0 14px 30px rgba(230,0,126,.28);
}
.ticket-icon{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  font-size:18px;
  line-height:1;
  transform:rotate(45deg);
}
.menu-toggle{
  display:none;
  width:52px;
  height:48px;
  border:0;
  background:transparent;
  padding:9px;
  cursor:pointer;
}
.menu-toggle span{
  display:block;
  width:100%;
  height:2px;
  margin:7px 0;
  background:#171717;
  transition:.22s ease;
}

.hero{
  min-height:650px;display:grid;grid-template-columns:minmax(420px,46%) 1fr;
  position:relative;overflow:hidden;background:var(--hero-color);
  padding-top:300px
}
.hero-copy{
  padding:62px 6vw 64px max(24px,calc((100vw - var(--max))/2));
  color:#fff;position:relative;z-index:4;background:var(--hero-color)
}
.hero-copy:after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(120deg,rgba(0,0,0,.18),rgba(0,0,0,.02))
}
.hero-media{position:relative;min-height:560px;overflow:hidden;background:var(--hero-color)}
.hero-image{position:absolute;inset:0;background-size:cover;background-position:center}
.hero-image:after{
  content:"";position:absolute;inset:0;background:var(--hero-color);opacity:.48;mix-blend-mode:multiply
}
.hero-media:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,var(--hero-color) 0%,rgba(0,0,0,0) 22%,rgba(0,0,0,.08) 100%);
  pointer-events:none
}
.hero-copy .kicker{font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.hero h1{font-family:Georgia,serif;font-size:clamp(42px,5vw,76px);line-height:.98;margin:18px 0 12px}
.hero h1 small{display:block;font:500 24px/1.2 Arial;margin-top:18px}
.meta{display:flex;flex-wrap:wrap;gap:12px 26px;margin:28px 0;font-weight:700}
.actions{display:flex;gap:14px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;gap:10px;padding:15px 22px;border:1px solid currentColor;color:inherit;text-decoration:none;font-weight:700;text-transform:uppercase;font-size:13px;cursor:pointer;background:transparent}
.button.solid{background:#fff;color:#222;border-color:#fff}
.hero-stripes{
  position:absolute;z-index:3;right:-3%;bottom:-110px;width:42%;height:260px;
  display:flex;transform:skewX(-18deg);opacity:.98;pointer-events:none
}
.hero-stripes span{flex:1;background:var(--c)}

.program-section{max-width:var(--max);margin:auto;padding:64px 22px}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}
.section-head span{color:var(--accent);font-size:13px;font-weight:700;text-transform:uppercase}
.section-head h2{font-family:Georgia,serif;font-size:42px;margin:5px 0}
.section-head a{color:inherit}
.event-list{display:grid;gap:8px}
.event-row{
  display:grid;grid-template-columns:240px 100px 1fr auto;min-height:128px;
  background:var(--event-color);color:#fff;overflow:hidden;transform:skewY(-.65deg)
}
.event-row>*{transform:skewY(.65deg)}
.event-media{position:relative;overflow:hidden;background:var(--event-color)}
.event-media img{width:100%;height:100%;object-fit:cover;display:block}
.event-media:after{content:"";position:absolute;inset:0;background:var(--event-color);opacity:.55;mix-blend-mode:multiply;pointer-events:none}
.event-date{display:grid;place-content:center;text-align:center;font-weight:700}
.event-date strong{font-size:34px}
.event-copy{padding:22px 24px}
.event-copy h3{font:400 30px/1 Georgia;margin:0 0 8px;text-transform:uppercase}
.event-copy p{margin:4px 0}
.more{align-self:center;margin-right:22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.9);color:#fff;padding:13px 18px;font-weight:700;text-transform:uppercase;cursor:pointer;transition:.25s ease;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.more:hover{background:#fff;color:#171717;transform:translateY(-1px)}

.info-grid{max-width:var(--max);margin:0 auto 70px;padding:0 22px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}
.info-grid article{background:#fff;padding:28px;min-height:230px}.info-grid h3{margin-top:0}.info-grid a{color:var(--accent);font-weight:700}
.footer{background:#171717;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px max(22px,calc((100vw - var(--max))/2))}
.footer-logo{width:220px;height:auto;max-height:82px;object-fit:contain;filter:brightness(0) invert(1)}
.footer a{color:#fff}

.dialog{width:min(900px,92vw);border:0;padding:0;box-shadow:0 24px 80px #0007;border-radius:2px}
.dialog::backdrop{background:#0009}
.dialog-close{position:absolute;right:15px;top:12px;background:#fff;border:0;border-radius:50%;width:38px;height:38px;font-size:26px;cursor:pointer;z-index:2}
.dialog-event{display:grid;grid-template-columns:42% 58%}
.dialog-media{position:relative;min-height:560px;background:var(--dialog-color)}
.dialog-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.dialog-media:after{content:"";position:absolute;inset:0;background:var(--dialog-color);opacity:.45;mix-blend-mode:multiply}
.dialog-text{padding:46px}
.dialog-text h2{font:42px/1 Georgia;margin:0 0 8px}
.dialog-text .actions{margin-top:28px}
.dialog-links{display:grid;gap:10px;margin-top:28px}
.dialog-link{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:15px 17px;border:1px solid #d8d4cc;color:#171717;text-decoration:none;
  font-weight:700;background:#fff;transition:.22s ease
}
.dialog-link:hover{border-color:var(--dialog-color);box-shadow:0 8px 22px rgba(0,0,0,.08);transform:translateY(-1px)}
.dialog-link .label{display:flex;align-items:center;gap:12px}
.dialog-link .icon{width:28px;height:28px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:14px}
.dialog-link.ticket{background:var(--dialog-color);color:#fff;border-color:var(--dialog-color)}
.name-dialog{padding:55px}.name-transform{font:42px/1 Georgia;display:flex;gap:20px;align-items:center}.name-transform span span{color:var(--accent)}

@media(max-width:850px){
  .site-header{top:10px;padding:0 10px}
  .nav-shell{
    min-height:72px;
    border-radius:18px;
    padding:8px 10px 8px 16px;
    gap:12px
  }
  .site-header.scrolled .nav-shell{
    min-height:66px;
    padding-left:16px;
    transform:none
  }
  .brand{
    left:18px;
    top:92px;
    width:min(470px,84vw)
  }
  .site-header.scrolled .brand{
    top:82px;
    width:min(430px,80vw)
  }
  .menu-toggle{
    display:block;
    margin-left:auto;
    position:relative;
    z-index:3
  }
  .nav{
    display:none;
    position:absolute;
    top:80px;
    left:10px;
    right:10px;
    width:auto;
    background:rgba(255,255,255,.98);
    border:1px solid #ece8df;
    border-radius:18px;
    box-shadow:0 18px 44px rgba(0,0,0,.17);
    padding:18px;
    flex-direction:column;
    align-items:stretch;
    gap:5px
  }
  .nav.open{display:flex}
  .nav a,.nav-button{
    width:100%;
    text-align:left;
    padding:15px 4px
  }
  .ticket-button{margin-top:7px;text-align:center!important}
  .hero{grid-template-columns:1fr;padding-top:265px}
  .hero-copy{padding:40px 24px 36px;min-height:360px}
  .hero-media{min-height:310px;order:-1}
  .hero-image{min-height:310px}
  .hero-media:after{background:linear-gradient(180deg,rgba(0,0,0,0) 55%,var(--hero-color) 100%)}
  .hero-stripes{width:74%;height:180px;right:-24%;bottom:-85px}
  .event-row{grid-template-columns:90px 75px 1fr;min-height:102px}
  .event-media{height:102px}
  .event-copy{padding:13px 12px}
  .event-copy h3{font-size:19px}
  .event-copy p:last-child{display:none}
  .more{display:none}
  .info-grid{grid-template-columns:1fr}
  .section-head{align-items:flex-start;gap:12px;flex-direction:column}
  .dialog-event{grid-template-columns:1fr}
  .dialog-media{min-height:260px}
  .dialog-text{padding:30px}
  .footer{align-items:flex-start;flex-direction:column}
  .name-transform{font-size:30px;gap:10px}
}

@media (max-width:760px){.brand{left:14px;top:86px;width:min(430px,88vw)}.site-header.scrolled .brand{top:80px;width:min(390px,84vw)}.hero{padding-top:245px}}.brand{width:220px}.logo-spectrum-svg{width:188px}.site-header.scrolled .brand{width:205px}.site-header.scrolled .logo-spectrum-svg{width:174px}}.brand{width:190px}.brand-logo,.site-header.scrolled .brand-logo{width:160px;max-height:52px}}}


/* Sponsoren-Seite */
.sponsors-page{background:#fbfaf6}
.sponsors-hero{
  position:relative;
  min-height:760px;
  padding:230px max(28px,calc((100vw - var(--max))/2)) 130px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 15% 20%,rgba(85,173,137,.11),transparent 28%),
    radial-gradient(circle at 85% 18%,rgba(236,0,140,.09),transparent 30%),
    linear-gradient(122deg,#fff 0%,#fbf7f0 56%,#f7eee9 100%)
}
.sponsors-hero-copy{
  position:relative;
  z-index:3;
  max-width:980px
}
.sponsors-hero .kicker,.sponsors-intro .kicker{
  margin:0 0 18px;
  color:var(--accent);
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase
}
.sponsors-hero h1{
  max-width:980px;
  margin:0 0 30px;
  font:clamp(48px,6.2vw,88px)/.88 Georgia,serif;
  letter-spacing:-.035em
}
.sponsors-lead{
  max-width:780px;
  margin:0;
  font-size:clamp(20px,2.3vw,31px);
  line-height:1.42
}
.sponsors-signature{
  margin:34px 0 0;
  font-size:17px;
  font-weight:700;
  letter-spacing:.02em
}
.sponsors-ribbons{
  position:absolute;z-index:3;right:-3%;bottom:-110px;width:42%;height:260px;
  display:flex;transform:skewX(-18deg);opacity:.98;pointer-events:none
}
.sponsors-ribbons::before{
  content:"";
  position:absolute;
  inset:-40px;
  background:linear-gradient(180deg,rgba(255,255,255,.22),transparent 55%);
  pointer-events:none
}
.sponsors-ribbons span{flex:1;background:var(--c)}
.sponsors-section{
  max-width:var(--max);
  margin:0 auto;
  padding:82px 22px 100px
}
.sponsors-intro{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  align-items:end;
  gap:70px;
  margin-bottom:48px;
  padding-bottom:30px;
  border-bottom:1px solid var(--line)
}
.sponsors-intro h2{
  margin:0;
  font:clamp(34px,5vw,62px)/1 Georgia,serif
}
.sponsors-intro>p{
  margin:0;
  font-size:18px;
  line-height:1.6
}
.sponsor-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px
}
.sponsor-card{
  min-height:180px;
  margin:0;
  padding:30px;
  display:grid;
  place-items:center;
  background:#fff;
  border:1px solid #e8e4dc;
  box-shadow:0 8px 26px rgba(32,27,24,.05);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease
}
.sponsor-card:hover{
  transform:translateY(-4px);
  border-color:#d6d0c5;
  box-shadow:0 18px 38px rgba(32,27,24,.10)
}
.sponsor-card img{
  display:block;
  width:100%;
  height:100px;
  object-fit:contain
}
@media(max-width:950px){
  .sponsor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .sponsors-hero{
    min-height:620px;
    padding:150px 24px 92px;
    align-items:flex-start
  }
  .sponsors-hero h1{font-size:clamp(58px,17vw,88px)}
  .sponsors-lead{font-size:20px}
  .sponsors-signature{font-size:15px}
  .sponsors-ribbons{width:96vw;height:310px;right:-33vw;bottom:-128px}
  .sponsors-intro{grid-template-columns:1fr;gap:22px}
  .sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .sponsor-card{min-height:132px;padding:20px}
  .sponsor-card img{height:78px}
}
@media(max-width:430px){
  .sponsor-grid{grid-template-columns:1fr}
  .sponsor-card{min-height:126px}
}


/* Veranstaltungslokale */
.venues-page{background:#fbfaf6}
.venues-hero{
  position:relative;
  min-height:650px;
  padding:215px max(28px,calc((100vw - var(--max))/2)) 120px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 18%,rgba(85,173,137,.12),transparent 28%),
    radial-gradient(circle at 84% 22%,rgba(177,142,188,.11),transparent 30%),
    linear-gradient(122deg,#fff 0%,#fbf7f0 56%,#f7eee9 100%)
}
.venues-hero-copy{position:relative;z-index:3;max-width:920px}
.venues-hero .kicker,.venues-intro .kicker{
  margin:0 0 18px;
  color:var(--accent);
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase
}
.venues-hero h1{
  max-width:1000px;
  margin:0 0 28px;
  font:clamp(48px,6.2vw,88px)/.9 Georgia,serif;
  letter-spacing:-.035em
}
.venues-hero-copy>p:last-child{
  max-width:760px;
  margin:0;
  font-size:clamp(20px,2.2vw,29px);
  line-height:1.45
}
.venues-ribbons{
  position:absolute;z-index:3;right:-3%;bottom:-110px;width:42%;height:260px;
  display:flex;transform:skewX(-18deg);opacity:.98;pointer-events:none
}
.venues-ribbons span{flex:1;background:var(--c)}
.venues-section{
  max-width:var(--max);
  margin:0 auto;
  padding:82px 22px 110px
}
.venues-intro{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  align-items:end;
  gap:70px;
  margin-bottom:46px;
  padding-bottom:30px;
  border-bottom:1px solid var(--line)
}
.venues-intro h2{
  margin:0;
  font:clamp(36px,5vw,64px)/1 Georgia,serif
}
.venues-intro>p{
  margin:0;
  font-size:18px;
  line-height:1.6
}
.venue-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px
}
.venue-card{
  position:relative;
  min-height:250px;
  display:grid;
  grid-template-columns:90px 1fr;
  align-items:end;
  overflow:hidden;
  background:#fff;
  border:1px solid #e8e4dc;
  box-shadow:0 10px 30px rgba(32,27,24,.06);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease
}
.venue-card:hover{
  transform:translateY(-5px);
  border-color:color-mix(in srgb,var(--venue-color) 38%,#ddd);
  box-shadow:0 20px 42px rgba(32,27,24,.12)
}
.venue-number{
  position:relative;
  z-index:2;
  align-self:stretch;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:0 0 26px;
  font:700 26px/1 Arial;
  color:var(--venue-color)
}
.venue-content{
  position:relative;
  z-index:2;
  padding:34px 34px 30px 0
}
.venue-content h2{
  max-width:480px;
  margin:0 0 14px;
  font:clamp(28px,3vw,44px)/1.03 Georgia,serif
}
.venue-content p{
  margin:0 0 24px;
  font-size:18px
}
.venue-map-link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#171717;
  text-decoration:none;
  font-weight:700;
  border-bottom:2px solid var(--venue-color);
  padding-bottom:4px
}
.venue-map-link::after{
  content:"↗";
  color:var(--venue-color);
  font-size:18px
}
.venue-accent{
  position:absolute;
  right:-74px;
  top:-64px;
  width:185px;
  height:360px;
  background:color-mix(in srgb,var(--venue-color) 72%,transparent);
  transform:rotate(24deg);
  opacity:.6
}
@media(max-width:800px){
  .venues-hero{
    min-height:590px;
    padding:145px 24px 92px;
    align-items:flex-start
  }
  .venues-ribbons{
    width:92vw;
    height:300px;
    right:-31vw;
    bottom:-132px
  }
  .venues-intro{grid-template-columns:1fr;gap:22px}
  .venue-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .venues-hero h1{font-size:clamp(50px,16vw,78px)}
  .venue-card{grid-template-columns:62px 1fr;min-height:210px}
  .venue-number{font-size:20px;padding-bottom:22px}
  .venue-content{padding:28px 24px 24px 0}
  .venue-content h2{font-size:30px}
  .venue-content p{font-size:16px}
}


/* Späktrum-Seite */
.about-page{background:#fbfaf6}
.about-hero{
  position:relative;
  min-height:760px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:#1a1a1a
}
.about-hero>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 42%
}
.about-hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(11,19,17,.80) 0%,rgba(11,19,17,.47) 48%,rgba(11,19,17,.12) 100%),
    linear-gradient(0deg,rgba(11,19,17,.54),transparent 55%)
}
.about-hero-copy{
  position:relative;
  z-index:2;
  max-width:var(--max);
  width:100%;
  margin:0 auto;
  padding:220px 24px 92px;
  color:#fff
}
.about-hero .kicker,
.ae-story .kicker,
.history-section .kicker,
.values-section .kicker,
.board-section .kicker,
.contact-section .kicker{
  margin:0 0 16px;
  color:var(--accent);
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase
}
.about-hero h1{
  max-width:930px;
  margin:0 0 28px;
  font:clamp(58px,8.4vw,120px)/.9 Georgia,serif;
  letter-spacing:-.04em
}
.about-hero-copy>p:last-child{
  max-width:760px;
  margin:0;
  font-size:clamp(20px,2.2vw,30px);
  line-height:1.46
}
.ae-story{
  max-width:var(--max);
  margin:0 auto;
  padding:110px 24px;
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:90px;
  align-items:center
}
.ae-symbol{
  font:clamp(220px,30vw,430px)/.72 Georgia,serif;
  color:var(--accent);
  text-align:center;
  animation:logoHue 24s linear infinite
}
.ae-copy h2,
.history-intro h2,
.values-section h2,
.board-copy h2,
.contact-section h2{
  margin:0 0 26px;
  font:clamp(42px,6vw,78px)/.96 Georgia,serif;
  letter-spacing:-.03em
}
.ae-copy>p{
  max-width:760px;
  font-size:20px;
  line-height:1.62
}
.ae-claim{
  display:flex;
  align-items:center;
  gap:20px;
  margin-top:38px!important;
  font:clamp(28px,4vw,52px)/1 Georgia,serif!important
}
.ae-claim b{color:var(--accent)}
.history-section{
  padding:110px max(24px,calc((100vw - var(--max))/2));
  background:#f2eee6
}
.history-intro{max-width:900px;margin-bottom:70px}
.history-intro>p:last-child{max-width:760px;font-size:20px;line-height:1.6}
.timeline{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px
}
.timeline::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:34px;
  height:2px;
  background:linear-gradient(90deg,#55ad89,#009274,#b18ebc,#ec008c,#f5b817,#087db4,#f4797e)
}
.timeline article{
  position:relative;
  padding:72px 24px 30px;
  background:#fff;
  border:1px solid #e6e1d7;
  box-shadow:0 10px 28px rgba(32,27,24,.05)
}
.timeline-year{
  position:absolute;
  top:18px;
  left:24px;
  color:var(--accent);
  font-weight:700;
  letter-spacing:.05em
}
.timeline article h3{margin:0 0 16px;font:30px/1.05 Georgia,serif}
.timeline article p{margin:0;line-height:1.55}
.values-section{
  max-width:var(--max);
  margin:0 auto;
  padding:110px 24px
}
.values-section>header{max-width:780px;margin-bottom:46px}
.values-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px
}
.values-grid article{
  min-height:240px;
  padding:34px;
  background:#fff;
  border:1px solid #e7e2d8;
  position:relative;
  overflow:hidden
}
.values-grid article::after{
  content:"";
  position:absolute;
  right:-55px;
  bottom:-95px;
  width:190px;
  height:230px;
  background:var(--accent);
  opacity:.10;
  transform:rotate(27deg)
}
.values-grid span{color:var(--accent);font-weight:700}
.values-grid h3{margin:34px 0 12px;font:34px/1.05 Georgia,serif}
.values-grid p{max-width:520px;margin:0;font-size:18px;line-height:1.55}
.board-section{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:0;
  background:#18211f;
  color:#fff
}
.board-photo img{display:block;width:100%;height:100%;min-height:680px;object-fit:cover}
.board-copy{padding:90px max(30px,calc((100vw - var(--max))/2)) 90px 70px}
.board-copy>p:not(.kicker){font-size:18px}
.board-list{list-style:none;margin:26px 0 0;padding:0}
.board-list li{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:22px;
  padding:13px 0;
  border-bottom:1px solid rgba(255,255,255,.16)
}
.board-list strong{font-weight:700}
.board-list span{color:rgba(255,255,255,.72)}
.contact-section{
  max-width:var(--max);
  margin:0 auto;
  padding:100px 24px;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:80px;
  align-items:start
}
.contact-details{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  font-size:18px;
  line-height:1.55
}
.contact-details a{color:inherit}
@media(max-width:960px){
  .timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
  .timeline::before{display:none}
  .board-section{grid-template-columns:1fr}
  .board-copy{padding:70px 24px}
  .board-photo img{min-height:520px}
}
@media(max-width:760px){
  .about-hero{min-height:650px}
  .about-hero-copy{padding:170px 24px 68px}
  .about-hero>img{object-position:58% center}
  .ae-story{grid-template-columns:1fr;gap:28px;padding:82px 24px}
  .ae-symbol{text-align:left;font-size:190px}
  .timeline{grid-template-columns:1fr}
  .values-grid{grid-template-columns:1fr}
  .contact-section{grid-template-columns:1fr;gap:26px}
}
@media(max-width:520px){
  .about-hero h1{font-size:58px}
  .ae-claim{gap:12px;font-size:27px!important}
  .board-list li{grid-template-columns:1fr;gap:4px}
  .contact-details{grid-template-columns:1fr}
}


/* LOGO-FIX V0.4
   Diese Regeln stehen bewusst ganz am Ende und überschreiben ältere,
   versehentlich zu kleine Grössenangaben. */
.site-header .brand{
  position:absolute !important;
  left:clamp(20px,4vw,70px) !important;
  top:118px !important;
  bottom:auto !important;
  width:min(1180px,78vw) !important;
  max-width:none !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  overflow:visible !important;
  z-index:5 !important;
}
.site-header .brand::after{display:none !important}
.site-header .logo-spectrum-svg{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  overflow:visible !important;
  filter:
    drop-shadow(0 0 12px rgba(255,45,149,.36))
    drop-shadow(0 0 30px rgba(255,45,149,.18)) !important;
}
.site-header.scrolled .brand{
  top:100px !important;
  width:min(1060px,70vw) !important;
}
.site-header.scrolled .logo-spectrum-svg{
  width:100% !important;
  transform:none !important;
}
.hero{
  padding-top:460px !important;
}

@media(max-width:1100px){
  .site-header .brand{
    width:min(920px,84vw) !important;
    top:108px !important;
  }
  .site-header.scrolled .brand{
    width:min(840px,78vw) !important;
    top:96px !important;
  }
  .hero{padding-top:400px !important}
}

@media(max-width:850px){
  .site-header .brand{
    left:16px !important;
    top:90px !important;
    width:94vw !important;
  }
  .site-header.scrolled .brand{
    top:82px !important;
    width:90vw !important;
  }
  .hero{padding-top:330px !important}
}

@media(max-width:520px){
  .site-header .brand{
    left:10px !important;
    top:84px !important;
    width:96vw !important;
  }
  .site-header.scrolled .brand{
    top:78px !important;
    width:94vw !important;
  }
  .hero{padding-top:285px !important}
}


/* HEADER-PROTOTYP V0.5
   Logo links neben dem Navigationsband – nicht im Hero und nicht eingeklemmt. */
.site-header{
  position:fixed !important;
  top:18px !important;
  left:0 !important;
  right:0 !important;
  z-index:50 !important;
  padding:0 24px !important;
  pointer-events:none !important;
}
.header-frame{
  width:min(1480px,calc(100vw - 48px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(340px,430px) minmax(0,1fr);
  align-items:center;
  gap:24px;
  pointer-events:none;
}
.site-header .brand{
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  height:112px !important;
  display:flex !important;
  align-items:center !important;
  padding:9px 8px !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
  z-index:auto !important;
  pointer-events:auto !important;
}
.site-header .brand::after{display:none !important}
.site-header .logo-spectrum-svg{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  overflow:visible !important;
  filter:
    drop-shadow(0 0 7px rgba(255,45,149,.24))
    drop-shadow(0 0 16px rgba(255,45,149,.10)) !important;
}
.logo-base-path{
  fill:#ff2d95;
}
.logo-ae-path{
  animation:headerAeSpectrum 26s ease-in-out infinite;
  transform-box:fill-box;
  transform-origin:center;
}
.logo-ae-group{
  animation:headerAePulse 13s ease-in-out infinite;
  transform-box:fill-box;
  transform-origin:center;
}
@keyframes headerAeSpectrum{
  0%,100%{fill:#55ad89}
  16%{fill:#009274}
  32%{fill:#b18ebc}
  48%{fill:#ec008c}
  64%{fill:#f5b817}
  80%{fill:#087db4}
  92%{fill:#f4797e}
}
@keyframes headerAePulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.07)}
}
.header-frame .nav-shell{
  position:relative !important;
  width:100% !important;
  max-width:none !important;
  min-height:88px !important;
  margin:0 !important;
  padding:12px 24px !important;
  border-radius:24px !important;
  pointer-events:auto !important;
}
.header-frame .nav{
  width:100% !important;
  justify-content:space-between !important;
  gap:28px !important;
}
.site-header.scrolled .header-frame{
  grid-template-columns:minmax(300px,370px) minmax(0,1fr);
}
.site-header.scrolled .brand{
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  height:92px !important;
  padding:7px 8px !important;
}
.site-header.scrolled .logo-spectrum-svg{
  width:100% !important;
  height:100% !important;
  transform:none !important;
}
.site-header.scrolled .nav-shell{
  min-height:74px !important;
  padding:8px 22px !important;
  transform:translateY(-3px) !important;
}

/* The previous floating-logo experiments added excessive top padding. */
.hero{
  padding-top:138px !important;
}
.sponsors-hero,
.venues-hero{
  padding-top:178px !important;
}
.about-hero-copy{
  padding-top:190px !important;
}

@media(max-width:1050px){
  .header-frame{
    grid-template-columns:minmax(270px,330px) minmax(0,1fr);
    gap:14px;
  }
  .header-frame .nav{gap:17px !important}
  .nav a,.nav-button{font-size:13px !important}
  .ticket-button{min-width:126px !important;padding:14px 18px !important}
}

@media(max-width:850px){
  .site-header{
    top:10px !important;
    padding:0 10px !important;
  }
  .header-frame{
    width:100%;
    grid-template-columns:minmax(205px,260px) minmax(72px,1fr);
    gap:9px;
  }
  .site-header .brand,
  .site-header.scrolled .brand{
    height:76px !important;
    padding:5px 2px !important;
  }
  .header-frame .nav-shell,
  .site-header.scrolled .nav-shell{
    min-height:66px !important;
    padding:7px 9px !important;
    border-radius:18px !important;
    transform:none !important;
  }
  .menu-toggle{
    display:block !important;
    margin-left:auto !important;
  }
  .header-frame .nav{
    display:none;
    position:absolute;
    top:76px;
    right:0;
    left:auto;
    width:min(330px,calc(100vw - 20px)) !important;
    padding:18px !important;
    background:rgba(255,255,255,.98);
    border:1px solid #ece8df;
    border-radius:18px;
    box-shadow:0 18px 44px rgba(0,0,0,.17);
    flex-direction:column;
    align-items:stretch;
    gap:5px !important;
  }
  .header-frame .nav.open{display:flex}
  .header-frame .nav a,
  .header-frame .nav-button{
    width:100%;
    text-align:left;
    padding:15px 4px;
  }
  .hero{padding-top:102px !important}
  .sponsors-hero,.venues-hero{padding-top:132px !important}
  .about-hero-copy{padding-top:145px !important}
}

@media(max-width:520px){
  .header-frame{
    grid-template-columns:minmax(170px,215px) minmax(64px,1fr);
    gap:6px;
  }
  .site-header .brand,
  .site-header.scrolled .brand{
    height:66px !important;
  }
  .header-frame .nav-shell,
  .site-header.scrolled .nav-shell{
    min-height:60px !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .logo-ae-path,.logo-ae-group{animation:none !important}
  .logo-ae-path{fill:#ec008c}
}


/* V0.6 – freischwebendes Logo verschwindet beim Scrollen */
.site-header .brand{
  opacity:1 !important;
  transform:translateY(0) scale(1) !important;
  transition:
    opacity .45s ease,
    transform .45s ease,
    visibility .45s ease !important;
  visibility:visible !important;
}
.site-header.scrolled .brand{
  opacity:0 !important;
  transform:translateY(-22px) scale(.96) !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.site-header.scrolled .header-frame{
  grid-template-columns:1fr !important;
}
.site-header.scrolled .nav-shell{
  width:100% !important;
}

@media(max-width:850px){
  .site-header.scrolled .header-frame{
    grid-template-columns:1fr !important;
  }
}


/* V0.7 – definitive scroll behavior for floating logo */
.site-header .brand{
  opacity:1 !important;
  visibility:visible !important;
  transform:translate3d(0,0,0) scale(1) !important;
  pointer-events:auto !important;
  transition:
    opacity .5s ease,
    transform .5s ease,
    visibility 0s linear 0s !important;
  will-change:opacity,transform;
}

.site-header.logo-hidden .brand{
  opacity:0 !important;
  visibility:hidden !important;
  transform:translate3d(0,-28px,0) scale(.965) !important;
  pointer-events:none !important;
  transition:
    opacity .5s ease,
    transform .5s ease,
    visibility 0s linear .5s !important;
}

/* Während des Ausblendens bleibt das Raster unverändert,
   damit das Logo an seiner Position ausfadet. */
.site-header.logo-gone .header-frame{
  grid-template-columns:1fr !important;
}

.site-header.logo-gone .nav-shell{
  width:100% !important;
  max-width:none !important;
}

@media(max-width:850px){
  .site-header.logo-gone .header-frame{
    grid-template-columns:1fr !important;
  }
}


/* V0.10 – endgültige Reihenfolge beim Logo-Ausblenden */
.site-header.logo-hidden:not(.logo-gone) .header-frame{
  grid-template-columns:minmax(340px,430px) minmax(0,1fr) !important;
}
.site-header.logo-hidden:not(.logo-gone) .nav-shell{
  width:100% !important;
}
.site-header.logo-hidden:not(.logo-gone) .brand{
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  height:112px !important;
  opacity:0 !important;
  visibility:hidden !important;
  transform:translate3d(0,-28px,0) scale(.965) !important;
}
.site-header.logo-gone .header-frame{
  grid-template-columns:1fr !important;
}
.site-header.logo-gone .nav-shell{
  width:100% !important;
  max-width:none !important;
}

@media(max-width:1050px){
  .site-header.logo-hidden:not(.logo-gone) .header-frame{
    grid-template-columns:minmax(270px,330px) minmax(0,1fr) !important;
  }
}
@media(max-width:850px){
  .site-header.logo-hidden:not(.logo-gone) .header-frame{
    grid-template-columns:minmax(205px,260px) minmax(72px,1fr) !important;
  }
  .site-header.logo-hidden:not(.logo-gone) .brand{
    height:76px !important;
  }
}
@media(max-width:520px){
  .site-header.logo-hidden:not(.logo-gone) .header-frame{
    grid-template-columns:minmax(170px,215px) minmax(64px,1fr) !important;
  }
  .site-header.logo-hidden:not(.logo-gone) .brand{
    height:66px !important;
  }
}


/* V0.12 – Platzierung aus V0.10, passgenaues Ä aus V0.11 */
.logo-ae-path,
.logo-ae-group{
  animation:none !important;
  display:none !important;
}

.logo-ae-exact-group{
  transform-box:fill-box;
  transform-origin:center;
  animation:aeExactPulseV12 16s ease-in-out infinite;
}

.logo-ae-exact{
  fill:#55ad89;
  animation:aeExactSpectrumV12 30s ease-in-out infinite;
  filter:none;
}

@keyframes aeExactSpectrumV12{
  0%,100%{fill:#55ad89;color:#55ad89}
  16%{fill:#009274;color:#009274}
  32%{fill:#b18ebc;color:#b18ebc}
  48%{fill:#ec008c;color:#ec008c}
  64%{fill:#f5b817;color:#f5b817}
  80%{fill:#087db4;color:#087db4}
  92%{fill:#f4797e;color:#f4797e}
}

@keyframes aeExactPulseV12{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.03)}
}

@media(prefers-reduced-motion:reduce){
  .logo-ae-exact-group,
  .logo-ae-exact{
    animation:none !important;
  }
  .logo-ae-exact{fill:#ec008c}
}


/* V0.13 – Glow des animierten Ä deaktiviert */
.logo-ae-exact{
  filter:none !important;
}


/* M3.1 – leicht trapezförmige Veranstaltungsflächen */
.event-row{
  position:relative;
  overflow:visible;
  isolation:isolate;
  transition:transform .22s ease;
}

.event-row::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:var(--event-color);
  clip-path:polygon(0 5%,100% 0,100% 95%,0 100%);
  transition:transform .22s ease,clip-path .22s ease;
}

.event-row:hover::before{
  transform:translateY(-3px);
}

.event-row > *{
  position:relative;
  z-index:1;
}

/* Das Foto bleibt rechteckig, die farbige Fläche bildet die leichte Schräge. */
.event-media{
  overflow:hidden;
  background:transparent !important;
}

.event-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Alte vollflächige Hintergrundfarbe neutralisieren. */
.event-row{
  background:transparent !important;
}

/* Mobile: Schräge etwas zurückhaltender. */
@media(max-width:850px){
  .event-row::before{
    clip-path:polygon(0 3%,100% 0,100% 97%,0 100%);
  }
}


/* M3.2 – Verzahnte Trapez-Veranstaltungen */
.event-list{
  display:flex;
  flex-direction:column;
  gap:0 !important;
}
.event-row{
  margin:0 !important;
  border:none !important;
  border-radius:0 !important;
}
.event-row::before{
  display:none !important;
}
.event-row{
  background:var(--event-color) !important;
  overflow:hidden !important;
}
.event-media,
.event-copy,
.event-date,
.more{
  background:transparent !important;
}
.event-media{
  clip-path:polygon(0 0,100% 4%,100% 96%,0 100%);
}
.event-row:nth-child(odd){
  clip-path:polygon(0 0,100% 4%,100% 100%,0 96%);
}
.event-row:nth-child(even){
  clip-path:polygon(0 4%,100% 0,100% 96%,0 100%);
}
.event-row:nth-child(odd) .event-media{
  clip-path:polygon(0 0,100% 4%,100% 96%,0 100%);
}
.event-row:nth-child(even) .event-media{
  clip-path:polygon(0 4%,100% 0,100% 100%,0 96%);
}
.event-row + .event-row{
  margin-top:-8px !important;
}
@media(max-width:850px){
 .event-row:nth-child(odd),
 .event-row:nth-child(even),
 .event-row:nth-child(odd) .event-media,
 .event-row:nth-child(even) .event-media{
   clip-path:polygon(0 2%,100% 0,100% 98%,0 100%);
 }
 .event-row + .event-row{margin-top:-4px !important;}
}

/* M3.3 */
.event-row{
  min-height:180px !important;
  padding:0 !important;
  cursor:pointer;
  transition:transform .18s ease;
}
.event-row:hover{transform:translateY(-2px)}
.event-copy{padding:28px 24px !important}
.event-copy h3{font-size:2rem !important;margin-bottom:12px}
.event-copy p{font-size:1.05rem !important}
.more{display:none !important}
.event-row + .event-row{margin-top:-10px !important}
.event-row:nth-child(odd){clip-path:polygon(0 0,100% 3.5%,100% 100%,0 96.5%)}
.event-row:nth-child(even){clip-path:polygon(0 3.5%,100% 0,100% 96.5%,0 100%)}
.event-media img{
 width:100%;height:100%;object-fit:cover;
}


/* M3.4 – Veranstaltungsdetail als Kulturmagazin */
#event-dialog{
  width:min(1180px,calc(100vw - 34px));
  max-width:none;
  max-height:calc(100vh - 34px);
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  overflow:auto;
  box-shadow:none;
}
#event-dialog::backdrop{
  background:rgba(18,18,18,.58);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
#event-dialog[open]{
  animation:magazineOpen .34s ease both;
}
@keyframes magazineOpen{
  from{opacity:0;transform:translateY(20px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.event-magazine{
  min-height:min(760px,calc(100vh - 34px));
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
  background:#fbfaf6;
  color:#171717;
  overflow:hidden;
}
.event-magazine-image{
  position:relative;
  min-height:760px;
  overflow:hidden;
}
.event-magazine-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.event-magazine-tint{
  position:absolute;
  inset:0;
  background:var(--dialog-color);
  mix-blend-mode:multiply;
  opacity:.28;
  pointer-events:none;
}
.event-magazine-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(0deg,rgba(0,0,0,.45),transparent 42%),
    linear-gradient(90deg,transparent 72%,rgba(251,250,246,.16));
  pointer-events:none;
}
.event-magazine-date{
  position:absolute;
  left:34px;
  bottom:32px;
  z-index:2;
  color:#fff;
  display:flex;
  flex-direction:column;
  gap:7px;
  text-shadow:0 2px 14px rgba(0,0,0,.35);
}
.event-magazine-date span{
  font:700 16px/1.2 Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.event-magazine-date strong{
  font:clamp(38px,5vw,72px)/.9 Georgia,serif;
}
.event-magazine-content{
  position:relative;
  padding:42px 48px 44px;
  display:flex;
  flex-direction:column;
}
.event-magazine-close{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 50px;
  padding:0 0 6px;
  border:0;
  border-bottom:2px solid var(--dialog-color);
  background:transparent;
  color:#171717;
  font:700 14px/1 Arial,sans-serif;
  cursor:pointer;
}
.event-magazine-kicker{
  margin:0 0 14px;
  color:var(--dialog-color);
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.event-magazine h2{
  margin:0;
  font:clamp(46px,6vw,82px)/.9 Georgia,serif;
  letter-spacing:-.04em;
}
.event-magazine h3{
  margin:18px 0 34px;
  font:400 clamp(23px,2.3vw,34px)/1.15 Georgia,serif;
  color:#55504a;
}
.event-magazine-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin:0 0 32px;
  border-top:1px solid #dcd6cc;
  border-left:1px solid #dcd6cc;
}
.event-magazine-meta div{
  padding:16px 18px 18px;
  border-right:1px solid #dcd6cc;
  border-bottom:1px solid #dcd6cc;
}
.event-magazine-meta dt{
  margin-bottom:6px;
  color:#77716a;
  font-size:12px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.event-magazine-meta dd{
  margin:0;
  font-weight:700;
  line-height:1.35;
}
.event-magazine-text{
  font-size:18px;
  line-height:1.68;
}
.event-magazine-text p{
  margin:0;
}
.event-magazine-actions{
  margin-top:auto;
  padding-top:38px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:18px;
}
.event-magazine-ticket{
  display:inline-flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
  min-width:280px;
  padding:18px 22px;
  border-radius:999px;
  background:var(--dialog-color);
  color:#fff;
  text-decoration:none;
  font-weight:700;
  box-shadow:0 12px 28px color-mix(in srgb,var(--dialog-color) 28%,transparent);
  transition:transform .2s ease,box-shadow .2s ease;
}
.event-magazine-ticket:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px color-mix(in srgb,var(--dialog-color) 34%,transparent);
}
.event-magazine-artist{
  color:#171717;
  text-decoration:none;
  border-bottom:1px solid #171717;
  padding-bottom:4px;
  font-weight:700;
}
.event-magazine-note{
  margin:34px 0 0;
  padding-top:22px;
  border-top:1px solid #dcd6cc;
  color:#6d675f;
  font:italic 18px/1.4 Georgia,serif;
}

@media(max-width:900px){
  #event-dialog{
    width:min(760px,calc(100vw - 20px));
    max-height:calc(100vh - 20px);
  }
  .event-magazine{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .event-magazine-image{
    min-height:420px;
    max-height:54vh;
  }
  .event-magazine-content{
    padding:30px 26px 34px;
  }
  .event-magazine-close{
    margin-bottom:34px;
  }
}

@media(max-width:520px){
  #event-dialog{
    width:100vw;
    max-height:100vh;
  }
  .event-magazine-image{
    min-height:330px;
  }
  .event-magazine-content{
    padding:24px 20px 30px;
  }
  .event-magazine h2{
    font-size:48px;
  }
  .event-magazine-meta{
    grid-template-columns:1fr;
  }
  .event-magazine-ticket{
    width:100%;
    min-width:0;
  }
}


/* M3.6 – passgenaues Trapezsystem ohne weisse Blitzer
   Die gesamte Veranstaltung inklusive Bild wird nur noch einmal
   durch den Karten-Container zugeschnitten. */
.event-list{
  overflow:hidden;
  background:#fbfaf6;
}

.event-media,
.event-row:nth-child(odd) .event-media,
.event-row:nth-child(even) .event-media{
  clip-path:none !important;
}

.event-row{
  overflow:hidden !important;
  transform:none !important;
  will-change:auto;
}

/* Etwas stärkere Überlappung verhindert Anti-Aliasing-Blitzer
   zwischen zwei gegensätzlich geneigten Kanten. */
.event-row + .event-row{
  margin-top:-14px !important;
}

/* Kein Verschieben der ganzen Karte beim Hover, da dies kurz Spalten öffnen kann. */
.event-row:hover{
  transform:none !important;
  filter:brightness(1.025);
}

@media(max-width:850px){
  .event-row + .event-row{
    margin-top:-8px !important;
  }
}


/* M3.7 – deutlicher Hover-Effekt ohne Öffnen weisser Zwischenräume */
.event-row{
  transition:
    filter .24s ease,
    box-shadow .24s ease !important;
}

.event-row:hover{
  transform:none !important;
  filter:
    brightness(1.045)
    saturate(1.06)
    drop-shadow(0 12px 18px rgba(20,18,16,.18)) !important;
  z-index:3;
}

.event-row .event-media img{
  transition:transform .38s ease,filter .3s ease;
}

.event-row:hover .event-media img{
  transform:scale(1.035);
  filter:contrast(1.03) saturate(1.06);
}

.event-row .event-copy,
.event-row .event-date{
  transition:transform .24s ease;
}

.event-row:hover .event-copy,
.event-row:hover .event-date{
  transform:translateX(6px);
}

.event-row::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,.00) 0%,
    rgba(255,255,255,.10) 52%,
    rgba(255,255,255,.00) 100%
  );
  opacity:0;
  transition:opacity .24s ease;
}

.event-row:hover::after{
  opacity:1;
}

@media (hover:none){
  .event-row:hover{
    filter:none !important;
  }
  .event-row:hover .event-media img,
  .event-row:hover .event-copy,
  .event-row:hover .event-date{
    transform:none !important;
  }
}


/* M3.8 – alternierender Schräg-Hover für ganze Veranstaltungsbereiche */
.event-row{
  position:relative;
  z-index:1;
  transform-origin:center;
  transition:
    transform .24s ease,
    filter .24s ease,
    box-shadow .24s ease !important;
  will-change:transform;
}

/* Alte Teilanimationen aus M3.7 neutralisieren */
.event-row .event-media img,
.event-row .event-copy,
.event-row .event-date{
  transition:none !important;
}
.event-row:hover .event-media img,
.event-row:hover .event-copy,
.event-row:hover .event-date{
  transform:none !important;
  filter:none !important;
}
.event-row::after{
  display:none !important;
}

/* Ganze Karte kippt abwechselnd leicht nach links/rechts */
.event-row:nth-child(odd):hover{
  transform:rotate(-1deg) scale(1.012) !important;
}
.event-row:nth-child(even):hover{
  transform:rotate(1deg) scale(1.012) !important;
}

.event-row:hover{
  z-index:6;
  filter:
    brightness(1.025)
    saturate(1.035)
    drop-shadow(0 14px 20px rgba(20,18,16,.20)) !important;
}

/* Die leicht grössere Karte darf Nachbarn überdecken, ohne Lücken zu öffnen. */
.event-list{
  overflow:visible !important;
}

/* Touch-Geräte bleiben ohne Hover-Bewegung. */
@media (hover:none){
  .event-row:nth-child(odd):hover,
  .event-row:nth-child(even):hover{
    transform:none !important;
    filter:none !important;
  }
}

/* Mobile etwas zurückhaltender, falls ein Gerät Hover emuliert. */
@media(max-width:850px) and (hover:hover){
  .event-row:nth-child(odd):hover{
    transform:rotate(-.55deg) scale(1.006) !important;
  }
  .event-row:nth-child(even):hover{
    transform:rotate(.55deg) scale(1.006) !important;
  }
}


/* V5.0 – Floating Navigation
   Oben: Logo und Navigation frei im Raum.
   Beim Scrollen: kompakter, ruhiger Header. */

.site-header{
  top:22px !important;
  padding:0 34px !important;
}

.header-frame{
  width:min(1500px,calc(100vw - 68px)) !important;
  grid-template-columns:minmax(350px,445px) minmax(0,1fr) !important;
  gap:56px !important;
  align-items:center !important;
}

/* Grosses freischwebendes Logo bleibt unverändert und ohne Box. */
.site-header .brand{
  height:116px !important;
  padding:7px 0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* Am Seitenanfang gibt es bewusst kein Band. */
.header-frame .nav-shell{
  min-height:96px !important;
  padding:8px 0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  transition:
    min-height .42s ease,
    padding .42s ease,
    background .42s ease,
    box-shadow .42s ease,
    border-color .42s ease,
    border-radius .42s ease,
    transform .42s ease !important;
}

.header-frame .nav{
  justify-content:flex-end !important;
  gap:clamp(30px,3.4vw,64px) !important;
}

.header-frame .nav a,
.header-frame .nav-button{
  position:relative;
  padding:25px 0 19px !important;
  color:#181818 !important;
  font:700 clamp(15px,1.15vw,18px)/1 Arial,sans-serif !important;
  letter-spacing:.01em !important;
  text-transform:none !important;
  white-space:nowrap;
  transition:
    color .22s ease,
    transform .22s ease !important;
}

/* Klassische Unterstreichung vollständig entfernen. */
.header-frame .nav-link::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  bottom:7px !important;
  width:31px !important;
  height:5px !important;
  border-radius:0 !important;
  background:var(--accent) !important;
  transform:translateX(-50%) skewX(-30deg) scaleX(0) !important;
  transform-origin:center !important;
  transition:transform .24s ease !important;
}

.header-frame .nav-link:hover{
  color:var(--accent) !important;
  transform:translateY(-2px);
}

.header-frame .nav-link:hover::after,
.header-frame .nav-link.active::after{
  transform:translateX(-50%) skewX(-30deg) scaleX(1) !important;
}

/* Ticket-Button bleibt auch gegen ältere Regeln sicher entfernt. */
.ticket-button{
  display:none !important;
}

/* Nach dem Scrollen: Logo weg, Navigation wird zum kompakten Header. */
.site-header.logo-gone{
  top:10px !important;
  padding:0 18px !important;
}

.site-header.logo-gone .header-frame{
  width:min(1240px,calc(100vw - 36px)) !important;
  grid-template-columns:1fr !important;
  gap:0 !important;
}

.site-header.logo-gone .nav-shell{
  min-height:72px !important;
  padding:7px 34px !important;
  background:rgba(255,255,255,.91) !important;
  border:1px solid rgba(255,255,255,.74) !important;
  border-radius:22px !important;
  box-shadow:
    0 14px 40px rgba(24,20,18,.13),
    inset 0 1px 0 rgba(255,255,255,.9) !important;
  backdrop-filter:blur(18px) saturate(135%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(135%) !important;
  transform:none !important;
}

.site-header.logo-gone .nav{
  justify-content:center !important;
  gap:clamp(34px,5vw,76px) !important;
}

.site-header.logo-gone .nav a,
.site-header.logo-gone .nav-button{
  padding:20px 0 16px !important;
  font-size:15px !important;
}

/* Während des Ausblendens bleibt die freie Anfangskomposition erhalten. */
.site-header.logo-hidden:not(.logo-gone) .nav-shell{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
}

/* Mobile: Logo links, nur Menüknopf rechts; Menü als leichtes Overlay. */
@media(max-width:850px){
  .site-header{
    top:10px !important;
    padding:0 12px !important;
  }

  .header-frame{
    width:100% !important;
    grid-template-columns:minmax(205px,285px) 74px !important;
    gap:12px !important;
  }

  .site-header .brand,
  .site-header.scrolled .brand{
    height:78px !important;
    padding:4px 0 !important;
  }

  .header-frame .nav-shell,
  .site-header.scrolled .nav-shell{
    min-height:66px !important;
    padding:5px 8px !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  .menu-toggle{
    display:block !important;
    width:54px !important;
    height:54px !important;
    margin-left:auto !important;
    border-radius:50% !important;
    background:rgba(255,255,255,.88) !important;
    box-shadow:0 8px 24px rgba(20,18,16,.12) !important;
  }

  .header-frame .nav{
    top:76px !important;
    right:0 !important;
    left:auto !important;
    width:min(350px,calc(100vw - 24px)) !important;
    padding:24px !important;
    gap:6px !important;
    background:rgba(255,255,255,.97) !important;
    border:1px solid rgba(255,255,255,.8) !important;
    border-radius:22px !important;
    box-shadow:0 20px 52px rgba(20,18,16,.17) !important;
    backdrop-filter:blur(18px) !important;
    -webkit-backdrop-filter:blur(18px) !important;
  }

  .header-frame .nav a,
  .header-frame .nav-button{
    padding:17px 4px !important;
    font-size:17px !important;
  }

  .header-frame .nav-link::after{
    left:4px !important;
    bottom:8px !important;
    transform:skewX(-30deg) scaleX(0) !important;
  }

  .header-frame .nav-link:hover::after,
  .header-frame .nav-link.active::after{
    transform:skewX(-30deg) scaleX(1) !important;
  }

  .site-header.logo-gone{
    padding:0 10px !important;
  }

  .site-header.logo-gone .header-frame{
    width:100% !important;
    grid-template-columns:1fr !important;
  }

  .site-header.logo-gone .nav-shell{
    min-height:64px !important;
    padding:5px 9px !important;
    background:rgba(255,255,255,.92) !important;
    border-radius:20px !important;
    box-shadow:0 12px 32px rgba(20,18,16,.14) !important;
    backdrop-filter:blur(16px) !important;
    -webkit-backdrop-filter:blur(16px) !important;
  }
}

@media(max-width:520px){
  .header-frame{
    grid-template-columns:minmax(176px,226px) 66px !important;
    gap:7px !important;
  }

  .site-header .brand,
  .site-header.scrolled .brand{
    height:68px !important;
  }

  .menu-toggle{
    width:50px !important;
    height:50px !important;
  }
}


/* M6.0 – inhaltlich und gestalterisch überarbeitete Startseite */
.hero{
  position:relative;
  z-index:1;
  margin-bottom:0;
}

.hero::after{
  content:"";
  position:absolute;
  left:-3%;
  right:-3%;
  bottom:-34px;
  height:72px;
  background:#fbfaf6;
  transform:rotate(-1.4deg);
  transform-origin:center;
  z-index:5;
  pointer-events:none;
}

.hero-invite{
  max-width:600px;
  margin:0 0 26px;
  font-size:18px;
  line-height:1.55;
}

.home-intro{
  position:relative;
  z-index:2;
  background:#fbfaf6;
  padding:96px 24px 82px;
}

.home-intro-inner{
  max-width:980px;
  margin:0 auto;
}

.home-intro .kicker{
  margin:0 0 16px;
  color:var(--accent);
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.home-intro h2{
  margin:0 0 26px;
  font:clamp(48px,7vw,96px)/.92 Georgia,serif;
  letter-spacing:-.035em;
}

.home-intro p{
  max-width:850px;
  margin:0;
  font-size:clamp(20px,2vw,28px);
  line-height:1.5;
}

.home-intro-link{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:34px;
  color:#171717;
  text-decoration:none;
  font-weight:700;
  border-bottom:3px solid var(--accent);
  padding-bottom:6px;
  transition:transform .2s ease;
}

.home-intro-link:hover{
  transform:translateY(-2px);
}

@media(max-width:760px){
  .hero::after{
    bottom:-22px;
    height:48px;
    transform:rotate(-1deg);
  }

  .home-intro{
    padding:72px 24px 60px;
  }

  .home-intro h2{
    font-size:52px;
  }

  .home-intro p{
    font-size:20px;
  }

  .hero-invite{
    font-size:16px;
  }
}


/* V6.1 – Navigation bleibt auch beim Scrollen frei und selbstbewusst */
.site-header.logo-gone .nav-shell,
.site-header.scrolled .nav-shell{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

.site-header.logo-gone .nav,
.site-header.scrolled .nav{
  justify-content:flex-end !important;
}

.header-frame .nav a,
.header-frame .nav-button,
.site-header.logo-gone .nav a,
.site-header.logo-gone .nav-button,
.site-header.scrolled .nav a,
.site-header.scrolled .nav-button{
  font-family:Arial,sans-serif !important;
  font-weight:800 !important;
  font-size:17px !important;
  letter-spacing:.015em !important;
  text-transform:none !important;
  color:#111 !important;
}

@media(max-width:850px){
  .site-header.logo-gone .nav-shell,
  .site-header.scrolled .nav-shell{
    background:transparent !important;
    box-shadow:none !important;
    border:0 !important;
  }
}


/* V6.2 – Navigation nur am Seitenanfang, ohne Band */
.site-header,
.site-header.scrolled,
.site-header.logo-hidden,
.site-header.logo-gone{
  position:absolute !important;
  top:22px !important;
  left:0 !important;
  right:0 !important;
  padding:0 34px !important;
  transform:none !important;
}

.site-header .header-frame,
.site-header.scrolled .header-frame,
.site-header.logo-hidden .header-frame,
.site-header.logo-gone .header-frame{
  width:min(1500px,calc(100vw - 68px)) !important;
  grid-template-columns:minmax(350px,445px) minmax(0,1fr) !important;
  gap:56px !important;
}

.site-header .brand,
.site-header.scrolled .brand,
.site-header.logo-hidden .brand,
.site-header.logo-gone .brand{
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  pointer-events:auto !important;
}

.site-header .nav-shell,
.site-header.scrolled .nav-shell,
.site-header.logo-hidden .nav-shell,
.site-header.logo-gone .nav-shell{
  min-height:96px !important;
  padding:8px 0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  transform:none !important;
}

.site-header .nav,
.site-header.scrolled .nav,
.site-header.logo-hidden .nav,
.site-header.logo-gone .nav{
  justify-content:flex-end !important;
  gap:clamp(34px,3.8vw,70px) !important;
}

.site-header .nav a,
.site-header .nav-button,
.site-header.scrolled .nav a,
.site-header.scrolled .nav-button,
.site-header.logo-hidden .nav a,
.site-header.logo-hidden .nav-button,
.site-header.logo-gone .nav a,
.site-header.logo-gone .nav-button{
  font-family:"Arial Black","Helvetica Neue",Arial,sans-serif !important;
  font-size:19px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.012em !important;
  text-transform:none !important;
  color:#111 !important;
  padding:24px 0 18px !important;
}

.site-header .nav-link:hover,
.site-header .nav-link.active{
  color:var(--accent) !important;
}

@media(max-width:1050px){
  .site-header .nav a,
  .site-header .nav-button{
    font-size:16px !important;
  }
}

@media(max-width:850px){
  .site-header,
  .site-header.scrolled,
  .site-header.logo-hidden,
  .site-header.logo-gone{
    top:10px !important;
    padding:0 12px !important;
  }

  .site-header .header-frame,
  .site-header.scrolled .header-frame,
  .site-header.logo-hidden .header-frame,
  .site-header.logo-gone .header-frame{
    width:100% !important;
    grid-template-columns:minmax(205px,285px) 74px !important;
    gap:12px !important;
  }

  .site-header .nav-shell,
  .site-header.scrolled .nav-shell,
  .site-header.logo-hidden .nav-shell,
  .site-header.logo-gone .nav-shell{
    min-height:66px !important;
    padding:5px 8px !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .site-header .nav a,
  .site-header .nav-button{
    font-size:17px !important;
  }
}


/* V6.3 – moderne, freundliche Hero-Aktionsbuttons */
.hero .actions{
  gap:16px;
  align-items:center;
}

.hero .button{
  min-height:52px;
  padding:15px 22px;
  border-radius:14px;
  text-transform:none;
  letter-spacing:.01em;
  font-size:15px;
  font-weight:750;
  line-height:1;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    background-color .22s ease,
    border-color .22s ease,
    color .22s ease;
}

/* Sekundäre Aktion: ruhig, editorial und leicht */
.hero .hero-action-secondary{
  position:relative;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.72);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
}

.hero .hero-action-secondary::after{
  content:"";
  position:absolute;
  left:22px;
  right:48px;
  bottom:10px;
  height:2px;
  background:currentColor;
  transform:scaleX(.48);
  transform-origin:left center;
  opacity:.72;
  transition:transform .25s ease;
}

.hero .hero-action-secondary:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.15);
  border-color:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.14);
}

.hero .hero-action-secondary:hover::after{
  transform:scaleX(1);
}

/* Primäre Aktion: freundliche Saisonfarbe mit klarer Hierarchie */
.hero .hero-action-primary{
  min-width:190px;
  justify-content:center;
  background:var(--hero-color);
  border:1px solid color-mix(in srgb,var(--hero-color) 82%,#fff);
  color:#fff;
  box-shadow:
    0 10px 24px color-mix(in srgb,var(--hero-color) 28%,transparent),
    inset 0 1px 0 rgba(255,255,255,.2);
}

.hero .hero-action-primary:hover{
  transform:translateY(-3px);
  background:color-mix(in srgb,var(--hero-color) 88%,#fff);
  box-shadow:
    0 16px 32px color-mix(in srgb,var(--hero-color) 36%,transparent),
    inset 0 1px 0 rgba(255,255,255,.24);
}

.ticket-line-icon{
  position:relative;
  width:20px;
  height:15px;
  display:inline-block;
  flex:0 0 auto;
  border:1.8px solid currentColor;
  border-radius:3px;
  transform:rotate(-3deg);
}

.ticket-line-icon::before,
.ticket-line-icon::after{
  content:"";
  position:absolute;
  top:50%;
  width:5px;
  height:7px;
  background:var(--hero-color);
  border:1.8px solid currentColor;
  border-radius:50%;
  transform:translateY(-50%);
}

.ticket-line-icon::before{left:-4px}
.ticket-line-icon::after{right:-4px}

.action-arrow{
  display:inline-block;
  margin-left:2px;
  transition:transform .22s ease;
}

.hero .hero-action-primary:hover .action-arrow,
.hero .hero-action-secondary:hover .action-arrow{
  transform:translateX(4px);
}

@media(max-width:520px){
  .hero .actions{
    align-items:stretch;
  }

  .hero .button{
    width:100%;
    justify-content:center;
  }

  .hero .hero-action-primary{
    min-width:0;
  }
}


/* V6.4 – vereinheitlichte Buttons */
.hero .hero-action-secondary{
  border:none !important;
  box-shadow:none !important;
  background:rgba(255,255,255,.12) !important;
}

.hero .hero-action-primary{
  border:none !important;
}

.hero .hero-action-primary,
.hero .hero-action-secondary{
  transition:transform .22s ease, box-shadow .22s ease, background-color .22s ease !important;
}

.hero .hero-action-primary:hover,
.hero .hero-action-secondary:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 14px 28px rgba(0,0,0,.18) !important;
}

.hero .hero-action-primary:hover .action-arrow,
.hero .hero-action-secondary:hover .action-arrow{
  transform:translateX(4px);
}

.hero .hero-action-secondary::after{
  display:none !important;
}


/* V6.5 – PDF-Link und Ticketbutton verfeinert */
.program-pdf-link,
.pdf-link{
 display:inline-flex;
 align-items:center;
 gap:10px;
 padding:10px 16px;
 border-radius:12px;
 background:rgba(0,0,0,.04);
 text-decoration:none;
 font-weight:700;
 transition:transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.program-pdf-link::after,
.pdf-link::after{
 content:"↗";
 transition:transform .2s ease;
}
.program-pdf-link:hover,
.pdf-link:hover{
 transform:translateY(-2px);
 background:rgba(0,0,0,.07);
 box-shadow:0 10px 22px rgba(0,0,0,.10);
}
.program-pdf-link:hover::after,
.pdf-link:hover::after{
 transform:translateX(3px);
}


/* V6.6 – PDF-Link tatsächlich aufgewertet */
.section-head .program-pdf-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:48px;
  padding:13px 18px;
  border:0;
  border-radius:14px;
  background:rgba(17,17,17,.07);
  color:#171717;
  text-decoration:none;
  font-size:15px;
  font-weight:800;
  letter-spacing:.01em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
  transition:
    transform .22s ease,
    background-color .22s ease,
    box-shadow .22s ease;
}

.section-head .program-pdf-link::after{
  content:none !important;
}

.section-head .program-pdf-link:hover{
  transform:translateY(-3px);
  background:rgba(17,17,17,.11);
  box-shadow:0 13px 26px rgba(0,0,0,.13);
}

.section-head .pdf-arrow{
  display:inline-block;
  font-size:18px;
  line-height:1;
  transition:transform .22s ease;
}

.section-head .program-pdf-link:hover .pdf-arrow{
  transform:translate(3px,-2px);
}

@media(max-width:850px){
  .section-head .program-pdf-link{
    min-height:46px;
    padding:12px 16px;
  }
}

/* V6.7 Navigation Typografie */
.header-frame .nav{gap:clamp(42px,4.8vw,84px)!important;}
.header-frame .nav a,
.header-frame .nav-button{
font-size:19px!important;
font-weight:600!important;
letter-spacing:.035em!important;
}
.header-frame .nav-link.active,
.header-frame .nav a[aria-current="page"]{
font-weight:700!important;
}
@media(max-width:1100px){
.header-frame .nav{gap:clamp(28px,3.5vw,54px)!important;}
.header-frame .nav a,
.header-frame .nav-button{font-size:18px!important;}
}


/* V6.8 Navigation Typografie II */
.header-frame .nav a,
.header-frame .nav-button{
  font-size:20px !important;
  font-weight:500 !important;
  padding-top:30px !important;
  padding-bottom:24px !important;
}
.header-frame .nav-link.active,
.header-frame .nav a[aria-current="page"]{
  font-weight:600 !important;
}
@media(max-width:1100px){
  .header-frame .nav a,
  .header-frame .nav-button{
    font-size:19px !important;
  }
}


/* V6.9 – Navigationstypografie wirksam korrigiert
   Überschreibt die ältere, spezifischere 800er-Regel. */
.site-header .header-frame .nav a,
.site-header .header-frame .nav-button,
.site-header.scrolled .header-frame .nav a,
.site-header.scrolled .header-frame .nav-button,
.site-header.logo-hidden .header-frame .nav a,
.site-header.logo-hidden .header-frame .nav-button,
.site-header.logo-gone .header-frame .nav a,
.site-header.logo-gone .header-frame .nav-button{
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif !important;
  font-size:20px !important;
  font-weight:500 !important;
  letter-spacing:.035em !important;
  padding-top:30px !important;
  padding-bottom:24px !important;
}

.site-header .header-frame .nav-link.active,
.site-header .header-frame .nav a[aria-current="page"],
.site-header.scrolled .header-frame .nav-link.active,
.site-header.logo-hidden .header-frame .nav-link.active,
.site-header.logo-gone .header-frame .nav-link.active{
  font-weight:600 !important;
}

@media(max-width:1100px){
  .site-header .header-frame .nav a,
  .site-header .header-frame .nav-button{
    font-size:19px !important;
  }
}


/* V7.0 – Navigation mit Manrope */
.site-header .header-frame .nav a,
.site-header .header-frame .nav-button,
.site-header.scrolled .header-frame .nav a,
.site-header.logo-hidden .header-frame .nav a,
.site-header.logo-gone .header-frame .nav a{
    font-family:'Manrope','Helvetica Neue',Arial,sans-serif !important;
    font-weight:500 !important;
    font-size:20px !important;
    letter-spacing:.02em !important;
    line-height:1.15 !important;
    padding-top:30px !important;
    padding-bottom:24px !important;
}
.site-header .header-frame .nav a[aria-current="page"],
.site-header .header-frame .nav-link.active{
    font-weight:600 !important;
}


/* V7.1 – Servicebereich vollständig neu gestaltet */
.service-editorial{
  max-width:var(--max);
  margin:0 auto;
  padding:110px 22px 120px;
}

.service-editorial-head{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:70px;
  align-items:end;
  margin-bottom:44px;
  padding-bottom:30px;
  border-bottom:1px solid var(--line);
}

.service-editorial-head .kicker{
  grid-column:1/-1;
  margin:0 0 -42px;
  color:var(--accent);
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.service-editorial-head h2{
  margin:0;
  font:clamp(46px,6vw,78px)/.95 Georgia,serif;
  letter-spacing:-.03em;
}

.service-editorial-head > p:last-child{
  margin:0;
  max-width:560px;
  font-size:19px;
  line-height:1.55;
}

.service-editorial-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.service-editorial-card{
  --service-color:#171717;
  position:relative;
  min-height:330px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:28px 30px 30px;
  overflow:hidden;
  color:#171717;
  text-decoration:none;
  background:#fff;
  border:1px solid #e5e0d7;
  transition:
    transform .24s ease,
    box-shadow .24s ease,
    border-color .24s ease;
}

.service-editorial-card::before{
  content:"";
  position:absolute;
  right:-66px;
  bottom:-112px;
  width:210px;
  height:270px;
  background:var(--service-color);
  opacity:.11;
  transform:rotate(26deg);
  transition:transform .28s ease,opacity .28s ease;
}

.service-program{--service-color:#087db4}
.service-support{--service-color:#ec008c}
.service-contact{--service-color:#55ad89}

.service-editorial-card:hover{
  transform:translateY(-6px);
  border-color:color-mix(in srgb,var(--service-color) 42%,#ddd);
  box-shadow:0 20px 44px rgba(30,26,23,.13);
}

.service-editorial-card:hover::before{
  opacity:.18;
  transform:rotate(22deg) scale(1.07);
}

.service-number{
  position:relative;
  z-index:1;
  color:var(--service-color);
  font:700 14px/1 Manrope,Arial,sans-serif;
  letter-spacing:.08em;
}

.service-label{
  position:relative;
  z-index:1;
  margin:0 0 12px;
  color:var(--service-color);
  font:700 13px/1 Manrope,Arial,sans-serif;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.service-editorial-card h3{
  position:relative;
  z-index:1;
  margin:0 0 14px;
  font:clamp(29px,2.5vw,40px)/1.02 Georgia,serif;
}

.service-editorial-card p:not(.service-label){
  position:relative;
  z-index:1;
  margin:0;
  max-width:360px;
  font-size:17px;
  line-height:1.55;
}

.service-arrow{
  position:absolute;
  z-index:2;
  right:26px;
  bottom:24px;
  color:var(--service-color);
  font-size:25px;
  line-height:1;
  transition:transform .22s ease;
}

.service-editorial-card:hover .service-arrow{
  transform:translate(4px,-3px);
}

@media(max-width:900px){
  .service-editorial{
    padding-top:82px;
    padding-bottom:90px;
  }

  .service-editorial-head{
    grid-template-columns:1fr;
    gap:20px;
  }

  .service-editorial-head .kicker{
    grid-column:auto;
    margin:0 0 4px;
  }

  .service-editorial-grid{
    grid-template-columns:1fr;
  }

  .service-editorial-card{
    min-height:250px;
  }
}

/* V7.2 – längerer Gönnertext */
.service-support{min-height:430px}
.service-support p + p{margin-top:14px}
.service-support .sponsor-thanks{
  margin-top:20px!important;
  padding-top:16px;
  border-top:1px solid color-mix(in srgb,var(--service-color) 25%,#ddd);
  font-weight:700;
}
@media(max-width:900px){.service-support{min-height:auto}}


/* V7.3 – Späktrum-Seite mit Künstlercollage */
.artist-collage-hero{
  max-width:var(--max);
  margin:0 auto;
  padding:180px 24px 90px;
}

.artist-collage-copy{
  max-width:920px;
  margin-bottom:48px;
}

.artist-collage-copy .kicker{
  margin:0 0 16px;
  color:var(--accent);
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.artist-collage-copy h1{
  margin:0 0 24px;
  font:clamp(58px,8vw,112px)/.9 Georgia,serif;
  letter-spacing:-.04em;
}

.artist-collage-copy > p:last-child{
  max-width:720px;
  margin:0;
  font-size:clamp(20px,2.2vw,29px);
  line-height:1.5;
}

.artist-collage{
  display:grid;
  grid-template-columns:1.2fr .8fr 1fr;
  grid-template-rows:260px 220px 240px;
  gap:14px;
}

.collage-item{
  position:relative;
  margin:0;
  overflow:hidden;
  background:#ddd;
  clip-path:polygon(0 2%,100% 0,100% 98%,0 100%);
}

.collage-item:nth-child(even){
  clip-path:polygon(0 0,100% 3%,100% 100%,0 97%);
}

.collage-item img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:grayscale(1) contrast(1.04) brightness(.94);
  transform:scale(1.01);
  transition:transform .45s ease,filter .45s ease;
}

.collage-item::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:var(--tone);
  mix-blend-mode:color;
  opacity:.48;
  pointer-events:none;
}

.collage-item::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(0deg,rgba(0,0,0,.24),transparent 58%);
  opacity:.45;
  pointer-events:none;
}

.collage-item:hover img{
  transform:scale(1.045);
  filter:grayscale(.25) contrast(1.03) brightness(1);
}

.collage-item:hover::before{
  opacity:.34;
}

.collage-a{grid-column:1 / 3;grid-row:1}
.collage-b{grid-column:3;grid-row:1 / 3}
.collage-c{grid-column:1;grid-row:2}
.collage-d{grid-column:2;grid-row:2}
.collage-e{grid-column:1;grid-row:3}
.collage-f{grid-column:2;grid-row:3}
.collage-g{grid-column:3;grid-row:3}

@media(max-width:900px){
  .artist-collage-hero{
    padding-top:140px;
  }

  .artist-collage{
    grid-template-columns:1fr 1fr;
    grid-template-rows:220px 220px 220px;
  }

  .collage-a,.collage-b,.collage-c,.collage-d,.collage-e,.collage-f,.collage-g{
    grid-column:auto;
    grid-row:auto;
  }
}

@media(max-width:600px){
  .artist-collage-hero{
    padding:120px 18px 70px;
  }

  .artist-collage-copy h1{
    font-size:56px;
  }

  .artist-collage{
    grid-template-columns:1fr;
    grid-template-rows:repeat(7,210px);
    gap:10px;
  }
}


/* V7.4 – Künstlercollage verfeinert */
.artist-collage .collage-item figcaption{
  display:none !important;
}

/* Simon Chen: Fokuspunkt nach oben verschieben, damit der Kopf vollständig sichtbar bleibt. */
.artist-collage .collage-simon img{
  object-position:center 18% !important;
}

/* Etwas mehr Ruhe nach Entfernen des Kickers. */
.artist-collage-copy h1{
  margin-top:0;
}


/* V7.5 – neue Ä-Metapher: aus e wird ä */
.ae-story-new{
  overflow:hidden;
}

.ae-morph{
  position:relative;
  width:min(420px,34vw);
  aspect-ratio:1 / 1;
  display:grid;
  place-items:center;
  justify-self:center;
  font:clamp(220px,29vw,420px)/.72 Georgia,serif;
  color:var(--accent);
}

.ae-morph-e,
.ae-morph-ae{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  transform-origin:center;
}

.ae-morph-e{
  opacity:1;
  transform:scale(1.03);
  animation:aeFadeE 9s ease-in-out infinite;
}

.ae-morph-ae{
  opacity:0;
  transform:scale(.96);
  animation:aeFadeAe 9s ease-in-out infinite;
}

@keyframes aeFadeE{
  0%,22%{
    opacity:1;
    transform:scale(1.03);
  }
  45%,78%{
    opacity:0;
    transform:scale(.97);
  }
  100%{
    opacity:1;
    transform:scale(1.03);
  }
}

@keyframes aeFadeAe{
  0%,22%{
    opacity:0;
    transform:scale(.96);
  }
  45%,78%{
    opacity:1;
    transform:scale(1.03);
  }
  100%{
    opacity:0;
    transform:scale(.96);
  }
}

.ae-story-new .ae-copy h2{
  max-width:760px;
}

.ae-story-new .ae-copy p{
  max-width:760px;
}

@media(max-width:760px){
  .ae-morph{
    width:230px;
    justify-self:start;
    font-size:220px;
  }
}

@media(prefers-reduced-motion:reduce){
  .ae-morph-e{
    display:none;
  }

  .ae-morph-ae{
    opacity:1;
    transform:none;
    animation:none;
  }
}


/* V7.6 – Text der Ä-Metapher */
.ae-story-new .ae-pointe{
  margin:10px 0 26px;
  max-width:760px;
  font:600 clamp(28px,3.3vw,46px)/1.15 Manrope,"Helvetica Neue",Arial,sans-serif;
  letter-spacing:-.02em;
  color:#171717;
}

.ae-story-new .ae-pointe + p{
  margin-top:0;
}

@media(max-width:760px){
  .ae-story-new .ae-pointe{
    font-size:30px;
    line-height:1.18;
  }
}

/* V7.7 */
.artist-collage .collage-simon img{
 object-position:center 5% !important;
 transform:scale(0.96) !important;
}
.artist-collage .collage-simon:hover img{
 transform:scale(1.0) !important;
}


/* V7.8 – Simon Chen und Dialäkt */
.artist-collage .collage-simon img{
  object-position:center 28% !important;
  transform:scale(1.01) !important;
}

.artist-collage .collage-simon:hover img{
  transform:scale(1.045) !important;
}

.dialaekt-pink{
  color:#ec008c;
  font-weight:700;
}

/* V7.9 */
.artist-collage-copy h1{
  margin-top:56px !important;
}
/* sharpen logo */
.logo, .site-logo, .brand-logo, header img{
  filter:none !important;
  image-rendering:auto;
  backface-visibility:hidden;
  transform:translateZ(0);
}


/* V8.2 – Glow am Header-Logo vollständig entfernt */
.site-header .logo-spectrum-svg,
.site-header.scrolled .logo-spectrum-svg,
.site-header.logo-hidden .logo-spectrum-svg,
.site-header.logo-gone .logo-spectrum-svg,
.header-frame .logo-spectrum-svg,
.brand .logo-spectrum-svg{
  filter:none !important;
  -webkit-filter:none !important;
  text-shadow:none !important;
  box-shadow:none !important;
}

/* Auch an den SVG-Pfaden selbst keine Schatten anwenden. */
.site-header .logo-spectrum-svg *,
.header-frame .logo-spectrum-svg *,
.brand .logo-spectrum-svg *{
  filter:none !important;
  text-shadow:none !important;
}

/* Logo ohne künstliche Weichzeichnung rendern. */
.site-header .logo-spectrum-svg{
  shape-rendering:geometricPrecision;
  image-rendering:auto;
}


/* Veranstaltungslokale: Kartennummern ausblenden, Platz beibehalten */
.venues-page .venue-number {
  visibility: hidden;
}


/* V8.12 – sichtbare Verjüngung wie auf der Einstiegsseite */
.venues-hero::after {
  content:"";
  position:absolute;
  left:-3%;
  right:-3%;
  bottom:-34px;
  height:72px;
  background:#fbfaf6;
  transform:rotate(-1.4deg);
  transform-origin:center;
  z-index:5;
  pointer-events:none;
}

/* V9.0 Sponsor Hero */
.sponsors-hero::after{
 content:"";
 position:absolute;
 left:-3%;
 right:-3%;
 bottom:-34px;
 height:72px;
 background:#fbfaf6;
 transform:rotate(-1.4deg);
 z-index:5;
 pointer-events:none;
}


/* V9.3 Support cards */
.support-cards{max-width:1200px;margin:4rem auto 0;padding:0 2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}
.support-card{
  position:relative;
  min-height:250px;
  display:grid;
  grid-template-columns:90px 1fr;
  align-items:end;
  overflow:hidden;
  background:#fff;
  border:1px solid #e8e4dc;
  box-shadow:0 10px 30px rgba(32,27,24,.06);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease
}
.support-card h3{margin-top:0}


/* V9.5 Support cards readability */
.support-card{
  display:block !important;
  min-height:auto !important;
  padding:2rem !important;
}
.support-card h3{
  margin:0 0 1rem 0 !important;
  font-size:2rem;
  line-height:1.1;
}
.support-card p{
  margin:0 0 1rem 0;
  line-height:1.6;
}


/* V10 Support bands */
.support-bands{max-width:1200px;margin:48px auto;padding:0 clamp(24px,4vw,64px);display:flex;flex-direction:column;gap:24px}
.support-band{display:flex;justify-content:space-between;align-items:stretch;background:#fff;border:1px solid #e5e2dc}
.support-content{padding:32px 40px;flex:1}
.support-content h2{margin:0 0 16px}
.support-content p{max-width:70ch}
.support-accent{
  width:96px;
  flex:none;
  clip-path:polygon(32% 0,100% 0,100% 100%,0 100%);
}
.support-accent.sponsor{background:#e84d8a;}
.support-accent.donor{background:#8d5bd1;}


/* V10.4 – Collage unter dem übernommenen Hero */
.artist-collage-section{
  max-width:var(--max);
  margin:0 auto;
  padding:72px 24px 90px;
}


/* V10.5 – Einheitliche Hero-Titel auf Unterseiten */
.venues-hero h1,
.sponsors-hero h1,
.about-hero h1 {
  font-size: clamp(4rem, 6vw, 5.5rem) !important;
  line-height: .95 !important;
}


/* V10.6 Einzeilige Hero-Titel */
.venues-hero h1,
.sponsors-hero h1,
.about-hero h1{
  max-width:none !important;
  white-space:nowrap !important;
}

.pink-letter{color:#EC008C;}


/* V11.4 – Saisonprogramm-Titel analog zu den übrigen Seitentiteln */
.page-hero-title{
  margin:0;
  font-family:Georgia, "Times New Roman", serif !important;
  font-size:clamp(4rem, 6vw, 5.5rem) !important;
  font-weight:400 !important;
  line-height:.95 !important;
  letter-spacing:-.035em !important;
}

/* V11.5 */
.info-card,.bottom-card{display:flex;flex-direction:column;justify-content:flex-start;}


/* V11.7 – Datenschutz & Impressum */
.legal-section{
  padding:80px max(28px,calc((100vw - var(--max))/2)) 110px;
  background:#fbfaf6;
}
.legal-content{
  max-width:900px;
}
.legal-content h2{
  margin:48px 0 18px;
  font:clamp(34px,4vw,54px)/1 Georgia,serif;
  letter-spacing:-.025em;
}
.legal-content h2:first-child{
  margin-top:0;
}
.legal-content p{
  max-width:760px;
  margin:0 0 18px;
  font-size:18px;
  line-height:1.65;
}
.legal-content a{
  color:#ec008c;
}
.footer-legal{
  margin-top:18px;
}

/* V11.8 – Responsive: iPhone als Referenz */
@media (max-width:1199px){
  .artist-collage{grid-template-columns:1fr 1fr!important;grid-template-rows:repeat(4,240px)!important}
  .collage-a,.collage-b,.collage-c,.collage-d,.collage-e,.collage-f,.collage-g{grid-column:auto!important;grid-row:auto!important}
}
@media (max-width:767px){
  html,body{overflow-x:hidden}
  .site-header,header{padding-left:16px!important;padding-right:16px!important}
  .header-inner,.nav-wrap,.navigation,.site-header .container{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:14px!important}
  .brand,.logo,.logo-spectrum-svg{max-width:210px!important;width:72vw!important;height:auto!important}
  .nav,.site-nav{width:100%!important;display:flex!important;gap:14px!important;overflow-x:auto!important;white-space:nowrap!important;padding-bottom:4px!important;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .nav::-webkit-scrollbar,.site-nav::-webkit-scrollbar{display:none}
  .nav a,.site-nav a{flex:0 0 auto!important;font-size:16px!important}
  .hero,.venues-hero,.sponsors-hero,.about-hero{min-height:auto!important;padding:88px 16px 72px!important;overflow:hidden!important}
  .hero h1,.venues-hero h1,.sponsors-hero h1,.about-hero h1,.page-hero-title{font-size:clamp(42px,13vw,64px)!important;line-height:.95!important;white-space:normal!important;max-width:none!important;overflow-wrap:anywhere}
  .hero p,.venues-hero p,.sponsors-hero p,.about-hero p{font-size:18px!important;line-height:1.45!important;max-width:34ch!important}
  .hero-stripes,.venues-ribbons,.sponsors-ribbons,.about-ribbons{width:74vw!important;height:180px!important;right:-20vw!important;bottom:-70px!important;opacity:.9!important}
  .events-grid,.program-grid,.event-grid{display:grid!important;grid-template-columns:1fr!important;gap:20px!important}
  .event-card,.program-card,.info-card,.bottom-card{min-height:0!important;height:auto!important}
  .event-card img,.program-card img{width:100%!important;height:auto!important;min-height:220px!important;object-fit:cover!important}
  .event-card-content,.program-card-content,.card-content{padding:24px!important}
  .artist-collage-section{padding:40px 16px 56px!important}
  .artist-collage{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:none!important;gap:12px!important}
  .collage-item,.collage-a,.collage-b,.collage-c,.collage-d,.collage-e,.collage-f,.collage-g{grid-column:auto!important;grid-row:auto!important;height:230px!important;min-height:230px!important}
  .info-grid,.service-grid,.bottom-cards{display:grid!important;grid-template-columns:1fr!important;gap:18px!important}
  .info-card,.bottom-card{padding:24px!important;justify-content:flex-start!important}
  .support-bands{gap:18px!important;padding:0 16px!important}
  .support-band{display:flex!important;flex-direction:column!important;border-radius:0!important}
  .support-content{padding:26px 24px!important}
  .support-accent{width:100%!important;height:24px!important;clip-path:none!important}
  .legal-section{padding:56px 16px 72px!important}
  .legal-content{max-width:none!important}
  .legal-content h2{font-size:36px!important;margin-top:38px!important}
  .legal-content p{font-size:17px!important;line-height:1.6!important}
  footer,.site-footer{padding:40px 16px!important}
  footer .container,.site-footer .container,.footer-inner{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:14px!important}
  .footer-legal{margin-top:8px!important}
}
@media (max-width:390px){
  .hero h1,.venues-hero h1,.sponsors-hero h1,.about-hero h1,.page-hero-title{font-size:40px!important}
  .nav a,.site-nav a{font-size:15px!important}
  .collage-item,.collage-a,.collage-b,.collage-c,.collage-d,.collage-e,.collage-f,.collage-g{height:205px!important;min-height:205px!important}
}

/* V11.9.4 – Veranstaltungsdetails in Späktrum-Formsprache */
.event-magazine-meta{
  position:relative;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 12px;
  margin:4px 0 34px;
  padding:0;
  border:0 !important;
  overflow:visible;
}

.event-magazine-meta::before{
  content:"";
  position:absolute;
  left:-12px;
  top:-10px;
  width:86px;
  height:8px;
  background:var(--dialog-color);
  transform:skewX(-24deg);
  opacity:.95;
}

.event-magazine-meta div{
  position:relative;
  min-height:88px;
  padding:17px 19px 19px;
  border:0 !important;
  background:
    linear-gradient(
      135deg,
      color-mix(in srgb,var(--dialog-color) 13%,#fbfaf6) 0%,
      color-mix(in srgb,var(--dialog-color) 6%,#fbfaf6) 100%
    );
  box-shadow:inset 4px 0 0 var(--dialog-color);
}

.event-magazine-meta div:nth-child(odd){
  clip-path:polygon(0 0,100% 5px,100% 100%,0 calc(100% - 5px));
}

.event-magazine-meta div:nth-child(even){
  clip-path:polygon(0 5px,100% 0,100% calc(100% - 5px),0 100%);
}

.event-magazine-meta dt{
  margin:0 0 8px;
  color:color-mix(in srgb,var(--dialog-color) 78%,#171717);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.event-magazine-meta dd{
  margin:0;
  color:#171717;
  font-size:16px;
  font-weight:750;
  line-height:1.3;
}

.event-magazine-text{
  position:relative;
}

.event-magazine-text::before{
  content:"";
  display:block;
  width:46px;
  height:4px;
  margin:0 0 20px;
  background:var(--dialog-color);
  transform:skewX(-24deg);
}

/* Mobile: zwei kompakte Informationsspalten bleiben erhalten,
   damit der bisherige Tabellencharakter verschwindet. */
@media(max-width:520px){
  .event-magazine-meta{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px;
    margin-top:2px;
  }

  .event-magazine-meta::before{
    left:0;
    width:68px;
    height:6px;
  }

  .event-magazine-meta div{
    min-height:92px;
    padding:15px 14px 16px;
  }

  .event-magazine-meta dt{
    font-size:10px;
  }

  .event-magazine-meta dd{
    font-size:14px;
  }
}

@media(max-width:360px){
  .event-magazine-meta{
    grid-template-columns:1fr !important;
  }
}

/* V11.9.5 – lange Veranstaltungstitel vollständig sichtbar */
.event-magazine h2{
  max-width:100%;
  font-size:clamp(42px,5vw,72px);
  line-height:.92;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:auto;
}

/* V11.9.8 – Späktrum-Logoanimation deutlicher und etwas schneller */
.logo-spectrum-svg text{
  animation-duration: 7.5s !important;
  animation-timing-function: ease-in-out !important;
}

@keyframes spectrumA {
  0%,100% { fill:#ec008c; }
  18%     { fill:#087db4; }
  36%     { fill:#7a45a1; }
  54%     { fill:#009274; }
  72%     { fill:#f5b817; }
  88%     { fill:#ec008c; }
}

/* V12.0.2 – Späktrum-Hero nach dem Prinzip des Programm-Heros */
.about-page .about-program-hero{
  --hero-color:#13201d;
  background:#fbfaf6;
}

.about-page .about-program-hero-copy{
  background:#13201d;
  color:#fff;
}

.about-page .about-program-hero-copy .kicker{
  color:#ec008c;
}

.about-page .about-program-hero-copy h2{
  max-width:8ch;
  margin:0 0 22px;
  color:#fff;
  font-size:clamp(54px,5.3vw,82px);
  line-height:.92;
}

.about-page .about-program-hero-copy > p:not(.kicker){
  color:rgba(255,255,255,.88);
}

.about-page .about-program-hero-copy .board-list{
  margin-top:12px;
}

.about-page .about-program-hero-copy .board-list li{
  border-color:rgba(255,255,255,.18);
}

.about-page .about-program-hero-copy .board-list strong,
.about-page .about-program-hero-copy .board-list span{
  color:#fff;
}

.about-page .about-program-hero-media{
  position:relative;
  overflow:hidden;
  background:#fbfaf6;
}

.about-page .about-program-hero-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
}

/* bewusst kein Sepia, kein Multiply-Tint */
.about-page .about-program-hero-media::after{
  display:none !important;
}

@media(max-width:850px){
  .about-page .about-program-hero{
    grid-template-rows:auto auto !important;
  }

  .about-page .about-program-hero-copy{
    padding:34px 20px 30px !important;
  }

  .about-page .about-program-hero-copy h2{
    max-width:9ch;
    font-size:clamp(42px,10.5vw,58px);
  }

  .about-page .about-program-hero-media{
    min-height:0 !important;
    height:auto !important;
    overflow:visible !important;
  }

  .about-page .about-program-hero-image{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    object-position:center center !important;
  }

  .about-page .about-program-hero-media .hero-stripes{
    width:72% !important;
    height:145px !important;
    right:-23% !important;
    bottom:-64px !important;
  }
}



/* V12.0.3 – Späktrum-Hero Feinschliff */
@media (min-width:851px){
  /* Mehr Luft zwischen Logo/Header und Hero */
  .about-page .about-program-hero{
    margin-top:34px !important;
    align-items:stretch !important;
  }

  /* Vorstandsbild vollständig zeigen, nicht mehr beschneiden */
  .about-page .about-program-hero-media{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:0 !important;
    height:auto !important;
    overflow:hidden !important;
    background:#fbfaf6 !important;
  }

  .about-page .about-program-hero-image{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
  }

  /* Textseite passt sich der tatsächlichen Bildhöhe an */
  .about-page .about-program-hero-copy{
    min-height:0 !important;
    height:auto !important;
  }
}



/* V12.0.4 – Späktrum-Hero: gemeinsame Unterkante und ruhiger Übergang */
@media (min-width:851px){
  .about-page .about-program-hero{
    align-items:stretch !important;
  }

  .about-page .about-program-hero-copy{
    padding-top:30px !important;
    padding-bottom:24px !important;
    align-self:stretch !important;
  }

  .about-page .about-program-hero-copy .kicker{
    margin-bottom:10px !important;
  }

  .about-page .about-program-hero-copy h2{
    margin-bottom:12px !important;
    font-size:clamp(46px,4.45vw,67px) !important;
    line-height:.90 !important;
  }

  .about-page .about-program-hero-copy > p:not(.kicker){
    margin-bottom:6px !important;
  }

  .about-page .about-program-hero-copy .board-list{
    margin-top:4px !important;
  }

  .about-page .about-program-hero-copy .board-list li{
    padding-top:6px !important;
    padding-bottom:6px !important;
  }

  .about-page .about-program-hero-media{
    align-self:start !important;
  }

  .about-page .about-program-hero-image{
    display:block !important;
    width:100% !important;
    height:auto !important;
  }
}

/* Der Hero besitzt bereits den Farbakzent; im folgenden Story-Bereich
   wird der zweite Streifen auf der Späktrum-Seite ausgeblendet. */
.about-page .story-section .hero-stripes,
.about-page .story-section .section-stripes,
.about-page .about-intro .hero-stripes,
.about-page .about-intro .section-stripes{
  display:none !important;
}


/* V12.0.4 – tatsächlichen zweiten Farbstreifen unter dem Hero entfernen */
.about-page .about-program-hero + .venues-hero .venues-ribbons{
  display:none !important;
}



/* V12.0.7 – Späktrum-Seite im Stil der übrigen Unterseiten */
.about-page .about-board-feature{
  max-width:var(--max);
  margin:0 auto;
  padding:72px 22px 84px;
}

.about-page .about-board-image img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center center;
}

.about-page .about-board-copy{
  max-width:900px;
  margin:42px 0 0;
}

.about-page .about-board-copy .kicker{
  margin:0 0 12px;
}

.about-page .about-board-copy > p:not(.kicker){
  margin:0 0 16px;
}

.about-page .about-board-copy .board-list{
  margin:0;
}

@media(max-width:850px){
  .about-page .about-board-feature{
    padding:36px 16px 56px;
  }

  .about-page .about-board-copy{
    margin-top:28px;
  }

  .about-page .about-title-hero h1{
    white-space:normal !important;
  }
}



/* V12.0.8 – Späktrum-Seite: Bild und Vorstand als starke Inhaltseinheit */
.about-page .about-title-hero{
  min-height:500px !important;
  padding-bottom:92px !important;
}

.about-page .about-board-feature{
  max-width:var(--max) !important;
  margin:0 auto !important;
  padding:48px 22px 88px !important;
}

.about-page .about-board-image{
  width:100% !important;
}

.about-page .about-board-image img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
}

.about-page .about-board-copy{
  max-width:1040px !important;
  margin:46px 0 0 !important;
}

.about-page .about-board-copy .kicker{
  margin:0 0 10px !important;
  color:#ec008c !important;
  font-size:14px !important;
  font-weight:800 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

.about-page .about-board-copy > p:not(.kicker){
  margin:0 0 18px !important;
  font-size:19px !important;
  color:#171717 !important;
}

.about-page .about-board-copy .board-list{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  border-top:1px solid rgba(20,20,20,.22) !important;
}

.about-page .about-board-copy .board-list li{
  display:grid !important;
  grid-template-columns:minmax(220px,1fr) minmax(220px,.8fr) !important;
  gap:36px !important;
  padding:14px 0 !important;
  border-bottom:1px solid rgba(20,20,20,.16) !important;
}

.about-page .about-board-copy .board-list strong{
  color:#171717 !important;
  font-weight:700 !important;
}

.about-page .about-board-copy .board-list span{
  color:#5d5a55 !important;
}

@media(max-width:850px){
  .about-page .about-title-hero{
    min-height:0 !important;
    padding-bottom:72px !important;
  }

  .about-page .about-board-feature{
    padding:30px 16px 58px !important;
  }

  .about-page .about-board-copy{
    margin-top:30px !important;
  }

  .about-page .about-board-copy .board-list li{
    grid-template-columns:1fr !important;
    gap:4px !important;
    padding:12px 0 !important;
  }
}



/* V12.0.9 – Späktrum: Vorstandsbild wie eine echte Hero-Bildfläche integrieren */
.about-page .about-board-feature{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 0 84px !important;
}

.about-page .about-board-hero-image{
  position:relative !important;
  width:min(1500px, calc(100% - 72px)) !important;
  margin:0 auto !important;
  overflow:hidden !important;
  background:#fbfaf6 !important;
  clip-path:polygon(0 0,100% 0,100% 96%,0 100%) !important;
}

.about-page .about-board-hero-image img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
}

.about-page .about-board-copy{
  width:min(1040px, calc(100% - 44px)) !important;
  max-width:none !important;
  margin:48px auto 0 !important;
}

/* Auf der Späktrum-Seite gibt es nur den Farbbalken beim Seitentitel. */
.about-page main > section:not(.about-title-hero) .venues-ribbons{
  display:none !important;
}

@media(max-width:850px){
  .about-page .about-board-feature{
    padding-bottom:58px !important;
  }

  .about-page .about-board-hero-image{
    width:100% !important;
    margin:0 !important;
    clip-path:none !important;
    overflow:visible !important;
  }

  .about-page .about-board-hero-image img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
  }

  .about-page .about-board-copy{
    width:calc(100% - 32px) !important;
    margin-top:30px !important;
  }
}



/* V12.1.0 – Späktrum-Hero konsequent im Stil des Programm-Heros */
.about-page .about-stage-hero{
  width:100%;
  display:grid;
  grid-template-columns:minmax(390px,34%) minmax(0,66%);
  background:#55ad89;
  overflow:hidden;
}

.about-page .about-stage-copy{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:620px;
  padding:72px clamp(38px,4.6vw,78px);
  color:#fff;
  background:#55ad89;
}

.about-page .about-stage-kicker{
  margin:0 0 22px;
  font-family:Manrope,sans-serif;
  font-size:14px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#fff;
}

.about-page .about-stage-copy h1{
  max-width:8ch;
  margin:0 0 24px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(58px,5.4vw,88px);
  line-height:.92;
  letter-spacing:-.035em;
  color:#fff;
}

.about-page .about-stage-intro{
  max-width:31ch;
  margin:0;
  font-size:19px;
  line-height:1.45;
  color:#fff;
}

.about-page .about-stage-media{
  position:relative;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#f8f6f0;
}

.about-page .about-stage-media img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center center;
}

.about-page .about-stage-ribbons{
  position:absolute;
  right:-2%;
  bottom:0;
  width:72%;
  height:104px;
  display:flex;
  align-items:stretch;
  transform:skewX(-15deg);
  transform-origin:bottom right;
  overflow:hidden;
  pointer-events:none;
}

.about-page .about-stage-ribbons span{
  flex:1 1 0;
  background:var(--c);
}

.about-page .about-board-list-section{
  background:#fbfaf6;
}

.about-page .about-board-list-inner{
  width:min(1040px,calc(100% - 44px));
  margin:0 auto;
  padding:64px 0 84px;
}

.about-page .about-board-list-inner .kicker{
  margin:0 0 10px;
  color:#ec008c;
  font-size:14px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.about-page .about-board-order{
  margin:0 0 18px;
  font-size:19px;
  color:#171717;
}

.about-page .about-board-list-inner .board-list{
  width:100%;
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid rgba(20,20,20,.22);
}

.about-page .about-board-list-inner .board-list li{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(220px,.8fr);
  gap:36px;
  padding:14px 0;
  border-bottom:1px solid rgba(20,20,20,.16);
}

.about-page .about-board-list-inner .board-list strong{
  color:#171717;
  font-weight:700;
}

.about-page .about-board-list-inner .board-list span{
  color:#5d5a55;
}

@media(max-width:850px){
  .about-page .about-stage-hero{
    grid-template-columns:1fr;
  }

  .about-page .about-stage-copy{
    min-height:0;
    padding:42px 20px 40px;
  }

  .about-page .about-stage-copy h1{
    max-width:10ch;
    font-size:clamp(46px,12vw,64px);
  }

  .about-page .about-stage-media{
    overflow:hidden;
  }

  .about-page .about-stage-media img{
    width:100%;
    height:auto;
    object-fit:contain;
  }

  .about-page .about-stage-ribbons{
    width:78%;
    height:64px;
    right:-20%;
  }

  .about-page .about-board-list-inner{
    width:calc(100% - 32px);
    padding:42px 0 58px;
  }

  .about-page .about-board-list-inner .board-list li{
    grid-template-columns:1fr;
    gap:4px;
    padding:12px 0;
  }
}

/* Alte Späktrum-Titel-/Bildvarianten aus V12.0.x sind in dieser Version nicht sichtbar. */
.about-page .about-title-hero,
.about-page .about-board-feature{
  display:none !important;
}



/* V12.1.1 – Späktrum: Navigation klar oberhalb des Hero-Bereichs */
.about-page .site-header{
  position:relative !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  z-index:50 !important;
  background:#fbfaf6 !important;
}

.about-page .about-stage-hero{
  position:relative !important;
  z-index:1 !important;
  margin-top:0 !important;
}

/* Mobile behält das bestehende Header-/Hamburger-Verhalten */
@media(max-width:850px){
  .about-page .site-header{
    position:relative !important;
  }
}



/* V12.1.3 – Vorstandsliste direkt im grünen Hero-Bereich */
.about-page .about-stage-copy{
  justify-content:flex-start !important;
  padding-top:54px !important;
  padding-bottom:42px !important;
}

.about-page .about-stage-board{
  width:100%;
  margin-top:26px;
}

.about-page .about-stage-order{
  margin:0 0 10px;
  font-size:14px;
  line-height:1.35;
  color:rgba(255,255,255,.86);
}

.about-page .about-stage-board .board-list{
  width:100%;
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid rgba(255,255,255,.34);
}

.about-page .about-stage-board .board-list li{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  padding:8px 0;
  border-bottom:1px solid rgba(255,255,255,.24);
}

.about-page .about-stage-board .board-list strong{
  color:#fff;
  font-size:14px;
  font-weight:700;
}

.about-page .about-stage-board .board-list span{
  color:rgba(255,255,255,.86);
  font-size:13px;
  text-align:right;
}

@media(max-width:850px){
  .about-page .about-stage-copy{
    padding-top:42px !important;
    padding-bottom:38px !important;
  }

  .about-page .about-stage-board{
    margin-top:24px;
  }

  .about-page .about-stage-board .board-list li{
    grid-template-columns:1fr;
    gap:2px;
  }

  .about-page .about-stage-board .board-list span{
    text-align:left;
  }
}



/* V12.1.4 – Späktrum-Karten: ohne Nummern, unterschiedliche Farbtöne */
.about-page .about-card-number,
.about-page .card-number,
.about-page .history-number,
.about-page .value-number,
.about-page .feature-number{
  display:none !important;
}

/* Unterschiedliche Späktrum-Farbtöne für die Farbfelder der vier Karten */
.about-page .about-tone-1,
.about-page .about-cards > *:nth-child(1),
.about-page .story-cards > *:nth-child(1){
  --card-accent:#55ad89 !important;
}

.about-page .about-tone-2,
.about-page .about-cards > *:nth-child(2),
.about-page .story-cards > *:nth-child(2){
  --card-accent:#b18ebc !important;
}

.about-page .about-tone-3,
.about-page .about-cards > *:nth-child(3),
.about-page .story-cards > *:nth-child(3){
  --card-accent:#ec008c !important;
}

.about-page .about-tone-4,
.about-page .about-cards > *:nth-child(4),
.about-page .story-cards > *:nth-child(4){
  --card-accent:#087db4 !important;
}

/* Greift auch bei Farbfeldern, die nicht über eine CSS-Variable aufgebaut sind. */
.about-page .about-tone-1::before{background:#55ad89 !important;}
.about-page .about-tone-2::before{background:#b18ebc !important;}
.about-page .about-tone-3::before{background:#ec008c !important;}
.about-page .about-tone-4::before{background:#087db4 !important;}



/* V12.1.5 – Werte-Karten: Nummern entfernt, vier unterschiedliche Farbtöne */
.about-page .values-grid article:nth-child(1)::after{
  background:#55ad89 !important;
}
.about-page .values-grid article:nth-child(2)::after{
  background:#b18ebc !important;
}
.about-page .values-grid article:nth-child(3)::after{
  background:#ec008c !important;
}
.about-page .values-grid article:nth-child(4)::after{
  background:#087db4 !important;
}

/* Nach Entfernen der Nummern Titelabstand harmonisieren */
.about-page .values-grid h3{
  margin-top:12px !important;
}



/* V12.1.6 – Animationen etwas schneller; Ä-Metapher mobil zentriert */
.logo-ae-exact-group{
  animation-duration:12s !important;
}
.logo-ae-exact{
  animation-duration:22s !important;
}

/* Ä-Metapher auf der Späktrum-Seite ca. 25 % schneller */
.about-page .ae-morph-e,
.about-page .ae-morph-ae{
  animation-duration:6.75s !important;
}

/* Nur mobil auf der Späktrum-Seite horizontal einmitten */
@media(max-width:760px){
  .about-page .ae-morph{
    justify-self:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* V12.1.7 – Presidente-Korrekturen */
.event-date .event-weekday{
  font-size:12px;
  line-height:1.15;
  font-weight:700;
  text-transform:none;
}
.event-date strong{
  line-height:1;
}
.event-date > span:last-child{
  text-transform:none;
}

@media(max-width:850px){
  .about-page .about-stage-media{
    order:-1;
  }
  .event-date .event-weekday{
    font-size:10px;
  }
}

/* V13.0.0 – Sponsoren-Hero im Seitenstil */
.sponsors-page .sponsors-hero{
  position:relative;
  min-height:650px;
  padding:178px max(28px,calc((100vw - var(--max))/2)) 120px !important;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#241815;
  color:#fff;
}
.sponsors-page .sponsors-hero-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position: center 32%;
}
.sponsors-page .sponsors-hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(24,13,11,.78) 0%,rgba(24,13,11,.52) 48%,rgba(24,13,11,.12) 100%);
}
.sponsors-page .sponsors-hero-copy{
  position:relative;
  z-index:3;
  max-width:900px;
}
.sponsors-page .sponsors-hero h1{
  max-width:900px;
  margin:0 0 28px;
  font:clamp(48px,6.2vw,88px)/.9 Georgia,serif;
  letter-spacing:-.035em;
  color:#fff;
}
.sponsors-page .sponsors-hero-copy p{
  max-width:760px;
  margin:0;
  font-size:clamp(20px,2.2vw,29px);
  line-height:1.45;
  color:#fff;
}
.sponsors-page .sponsors-ribbons{
  position:absolute;
  z-index:3;
  right:-3%;
  bottom:-110px;
  width:42%;
  height:260px;
  display:flex;
  transform:skewX(-18deg);
  opacity:.98;
  pointer-events:none;
}
.sponsors-page .sponsors-ribbons span{flex:1;background:var(--c)}

@media(max-width:850px){
  .sponsors-page .sponsors-hero{
    min-height:620px;
    padding:210px 22px 100px !important;
    align-items:flex-end;
  }
  .sponsors-page .sponsors-hero-overlay{
    background:linear-gradient(0deg,rgba(24,13,11,.84) 0%,rgba(24,13,11,.48) 62%,rgba(24,13,11,.2) 100%);
  }
  .sponsors-page .sponsors-ribbons{
    width:92vw;
    height:300px;
    right:-31vw;
    bottom:-132px;
  }
}

/* V13.0.0 – Feinschliff Sponsoren-Hero: Navigation und Farbspektrum */
.sponsors-page .header-frame .nav-shell{
  background:rgba(255,250,246,.88) !important;
  border:1px solid rgba(255,255,255,.76) !important;
  box-shadow:0 12px 34px rgba(25,10,8,.22) !important;
  backdrop-filter:blur(14px) saturate(130%) !important;
  -webkit-backdrop-filter:blur(14px) saturate(130%) !important;
}
.sponsors-page .header-frame .nav a,
.sponsors-page .header-frame .nav-button{
  color:#171717 !important;
  text-shadow:none !important;
}
.sponsors-page .sponsors-ribbons::before{
  display:none !important;
  content:none !important;
}
.sponsors-page .sponsors-ribbons{
  overflow:hidden;
}

/* V13.0.0 – Sponsoren-Navigation analog zur Späktrum-Seite */
.sponsors-page .site-header,
.sponsors-page .site-header.scrolled,
.sponsors-page .site-header.logo-hidden,
.sponsors-page .site-header.logo-gone{
  top:0 !important;
  min-height:82px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  background:#fbfaf6 !important;
}
.sponsors-page .site-header .header-frame,
.sponsors-page .site-header.scrolled .header-frame,
.sponsors-page .site-header.logo-hidden .header-frame,
.sponsors-page .site-header.logo-gone .header-frame{
  min-height:82px !important;
}
.sponsors-page .header-frame .nav-shell,
.sponsors-page .site-header.scrolled .nav-shell,
.sponsors-page .site-header.logo-hidden .nav-shell,
.sponsors-page .site-header.logo-gone .nav-shell{
  min-height:82px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.sponsors-page .sponsors-hero{
  margin-top:82px;
  min-height:568px;
  padding-top:96px !important;
}

@media(max-width:850px){
  .sponsors-page .site-header,
  .sponsors-page .site-header.scrolled,
  .sponsors-page .site-header.logo-hidden,
  .sponsors-page .site-header.logo-gone{
    min-height:82px !important;
    background:#fbfaf6 !important;
  }
  .sponsors-page .site-header .header-frame,
  .sponsors-page .site-header.scrolled .header-frame,
  .sponsors-page .site-header.logo-hidden .header-frame,
  .sponsors-page .site-header.logo-gone .header-frame,
  .sponsors-page .header-frame .nav-shell{
    min-height:82px !important;
  }
  .sponsors-page .sponsors-hero{
    margin-top:82px;
    min-height:538px;
    padding-top:128px !important;
  }
}

/* V13.0.0 – Veranstaltungslokale-Hero im Stil der Sponsoren-Seite */
.venues-page .site-header,
.venues-page .site-header.scrolled,
.venues-page .site-header.logo-hidden,
.venues-page .site-header.logo-gone{
  top:0 !important;
  min-height:82px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  background:#fbfaf6 !important;
}
.venues-page .site-header .header-frame,
.venues-page .site-header.scrolled .header-frame,
.venues-page .site-header.logo-hidden .header-frame,
.venues-page .site-header.logo-gone .header-frame{
  min-height:82px !important;
}
.venues-page .header-frame .nav-shell,
.venues-page .site-header.scrolled .nav-shell,
.venues-page .site-header.logo-hidden .nav-shell,
.venues-page .site-header.logo-gone .nav-shell{
  min-height:82px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.venues-page .venues-hero{
  position:relative;
  min-height:568px;
  margin-top:82px;
  padding:96px max(28px,calc((100vw - var(--max))/2)) 120px !important;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#2f281f;
  color:#fff;
}
.venues-page .venues-hero-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.venues-page .venues-hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(31,26,20,.76) 0%,rgba(31,26,20,.48) 48%,rgba(31,26,20,.08) 100%);
}
.venues-page .venues-hero-copy{
  position:relative;
  z-index:3;
  max-width:900px;
}
.venues-page .venues-hero h1{
  max-width:900px;
  margin:0 0 28px;
  font:clamp(48px,6.2vw,88px)/.9 Georgia,serif;
  letter-spacing:-.035em;
  color:#fff;
}
.venues-page .venues-hero-copy p{
  max-width:760px;
  margin:0;
  font-size:clamp(20px,2.2vw,29px);
  line-height:1.45;
  color:#fff;
}
.venues-page .venues-ribbons{
  position:absolute;
  z-index:3;
  right:-3%;
  bottom:-110px;
  width:42%;
  height:260px;
  display:flex;
  transform:skewX(-18deg);
  opacity:.98;
  overflow:hidden;
  pointer-events:none;
}
.venues-page .venues-ribbons::before{
  display:none !important;
  content:none !important;
}
.venues-page .venues-ribbons span{
  flex:1;
  background:var(--c);
}

@media(max-width:850px){
  .venues-page .site-header,
  .venues-page .site-header.scrolled,
  .venues-page .site-header.logo-hidden,
  .venues-page .site-header.logo-gone{
    min-height:82px !important;
    background:#fbfaf6 !important;
  }
  .venues-page .site-header .header-frame,
  .venues-page .site-header.scrolled .header-frame,
  .venues-page .site-header.logo-hidden .header-frame,
  .venues-page .site-header.logo-gone .header-frame,
  .venues-page .header-frame .nav-shell{
    min-height:82px !important;
  }
  .venues-page .venues-hero{
    min-height:538px;
    margin-top:82px;
    padding:128px 22px 100px !important;
    align-items:flex-end;
  }
  .venues-page .venues-hero-overlay{
    background:linear-gradient(0deg,rgba(31,26,20,.84) 0%,rgba(31,26,20,.46) 62%,rgba(31,26,20,.14) 100%);
  }
  .venues-page .venues-ribbons{
    width:92vw;
    height:300px;
    right:-31vw;
    bottom:-132px;
  }
}
