
:root{
  --bg:#f0eee9;--paper:#f8f6f1;--ink:#161b17;--muted:#6d746e;
  --forest:#18231c;--forest-deep:#0f1712;--accent:#a8794e;--accent-soft:#d9b794;
  --line:rgba(22,27,23,.11);--max:1220px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit}img{max-width:100%}button,input,select,textarea{font:inherit}
.page-width,.header-inner{width:min(calc(100% - 64px),var(--max));margin-inline:auto}

.site-header{position:sticky;top:0;z-index:100;background:rgba(14,22,16,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.07)}
.header-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;flex-direction:column;color:#fff;text-decoration:none;line-height:1}
.brand-main{font-size:18px;font-weight:900;letter-spacing:.03em}.brand-main em{font-family:Arial,Helvetica,sans-serif;font-weight:400;color:var(--accent-soft)}
.brand-sub{margin-top:7px;font-size:8px;letter-spacing:.34em;color:#89958c}
.main-nav{display:flex;align-items:center;gap:27px}.main-nav a{color:#d1d8d2;text-decoration:none;font-size:11px;font-weight:800}
.main-nav a:hover{color:#fff}.main-nav .nav-cta{padding:14px 22px;border:1px solid rgba(255,255,255,.18);border-radius:999px}
.menu-toggle{display:none;border:1px solid rgba(255,255,255,.15);background:transparent;color:#fff;border-radius:8px;min-height:44px;padding:0 15px;font-weight:800}

.hero{position:relative;min-height:760px;display:flex;align-items:flex-end;overflow:hidden;background:var(--forest-deep)}
.hero-media,.hero-shade{position:absolute;inset:0}.hero-media{z-index:0}
.hero-photo{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 0%}
.hero-shade{z-index:1;background:linear-gradient(90deg,rgba(8,13,9,.92) 0%,rgba(8,13,9,.68) 36%,rgba(8,13,9,.18) 69%,rgba(8,13,9,.06) 100%),linear-gradient(0deg,rgba(8,13,9,.76),transparent 46%)}
.hero-content{position:relative;z-index:2;padding:125px 0 105px;color:#fff}
.eyebrow{display:block;color:var(--accent-soft);font-size:9px;font-weight:900;letter-spacing:.20em;text-transform:uppercase}.eyebrow.dark{color:#96673d}
.hero h1{word-spacing:.02em;margin:12px 0 14px;font-family:Arial,Helvetica,sans-serif;font-size:clamp(64px,8.8vw,112px);line-height:.83;letter-spacing:-.035em;font-style:normal;color:var(--accent-soft)}
.claim{margin:0;max-width:790px;font-family:Arial,Helvetica,sans-serif;font-size:clamp(26px,3.6vw,40px);line-height:1.02;letter-spacing:-.025em}
.genres{margin:18px 0 0;color:#c6cec8;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.hero-actions{margin-top:31px;display:flex;gap:10px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:47px;padding:0 20px;border-radius:999px;text-decoration:none;font-size:11px;font-weight:900}
.button.primary{background:#fff;color:#18231c}.button.secondary{color:#fff;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.025)}

.quick-strip{background:#111913;color:#fff}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.quick-grid div{padding:22px 28px;border-right:1px solid rgba(255,255,255,.07)}.quick-grid div:first-child{padding-left:0}.quick-grid div:last-child{border-right:0}
.quick-grid strong,.quick-grid span{display:block}.quick-grid strong{font-family:Arial,Helvetica,sans-serif;font-size:21px;font-weight:500}.quick-grid span{margin-top:4px;color:#86938a;font-size:9px}

.section{padding:118px 0}.section-intro{margin-bottom:45px}
.section-intro.split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:80px;align-items:end}
.section-intro h2,.story-copy h2,.booking-copy h2,.closing h2{margin:9px 0 0;font-family:Arial,Helvetica,sans-serif;font-size:clamp(34px,4.8vw,56px);line-height:.94;letter-spacing:-.045em}
.section-intro>p{margin:0;max-width:500px;color:var(--muted);font-size:14px}

.music-section{background:var(--paper)}.music-shell{display:grid;grid-template-columns:310px minmax(0,1fr);gap:54px;align-items:start}
.music-visual{background:transparent;color:var(--ink);padding:0}.album-placeholder{aspect-ratio:1;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#26342b,#111914);background-size:cover;background-position:center}
.album-placeholder>span{color:#fff;font-family:Arial,Helvetica,sans-serif;font-size:58px}.music-visual>span{display:block;margin-top:13px;color:#818982;font-size:9px;letter-spacing:.18em}
.song-list{display:grid}.song-row{display:grid;grid-template-columns:36px minmax(0,1fr) minmax(230px,340px);gap:16px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}
.song-no{color:#929892;font-family:Arial,Helvetica,sans-serif;font-size:17px}.song-meta strong,.song-meta span{display:block}.song-meta strong{font-size:14px}.song-meta span{margin-top:3px;color:#89918a;font-size:9px}.song-row audio{width:100%}
.external-player-list{display:grid;gap:12px;margin-top:26px}.external-player{padding:0;border:0;background:transparent}.external-player strong{display:block;margin-bottom:7px}.external-player iframe{width:100%;border:0}

.video-section{background:#e9e5dc}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.video-card{background:transparent;border:0;padding:0;text-decoration:none}.video-card video,.video-frame,.video-link-tile{width:100%;aspect-ratio:16/9;display:block;overflow:hidden;background:#111}
.video-frame iframe{width:100%;height:100%;border:0}.video-link-tile{display:grid;place-items:center;background:linear-gradient(145deg,#26382c,#121a14);color:#fff;font-size:38px}
.video-card strong{display:block;padding-top:10px;font-size:13px}

.shows-section{background:#17221b;color:#fff}.shows-section .section-intro>p{color:#99a69d}.tour-calendar-v2{margin-top:4px}
.tc-tabs{display:inline-flex;gap:0;margin-bottom:34px;border-bottom:1px solid rgba(255,255,255,.11)}
.tc-tab{min-height:38px;padding:0 16px;border:0;border-bottom:2px solid transparent;background:transparent;color:#89978d;font-size:10px;font-weight:900;cursor:pointer}.tc-tab.active{color:#fff;border-bottom-color:var(--accent-soft)}
.tc-panel{display:none}.tc-panel.active{display:block}.tc-panel-head{margin-bottom:18px}.tc-panel-head h3{margin:4px 0 0;font-family:Arial,Helvetica,sans-serif;font-size:clamp(31px,4vw,45px)}
.tc-upcoming-month{margin-top:38px}.tc-upcoming-month:first-child{margin-top:0}.tc-upcoming-month-head{padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.12)}
.tc-upcoming-month-head h4{margin:3px 0 0;font-family:Arial,Helvetica,sans-serif;font-size:24px;font-weight:500;text-transform:capitalize}
.tc-upcoming-month-kicker{color:#8d9b91;font-size:8px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.tc-upcoming-month.is-current .tc-upcoming-month-kicker{color:var(--accent-soft)}
.tc-list,.tc-upcoming-month-list{display:grid}.tc-event{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:18px;align-items:center;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.tc-date{width:52px;height:58px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.tc-date b{font-family:Arial,Helvetica,sans-serif;font-size:25px;line-height:1}.tc-date span{margin-top:5px;font-size:8px;font-weight:900;letter-spacing:.09em;color:#9ba89f}
.tc-meta{margin-bottom:4px;color:#87958b;font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.tc-info h4{margin:0;font-size:17px}.tc-location{margin-top:5px;color:#96a29a;font-size:11px}
.tc-add{display:inline-flex;min-height:34px;align-items:center;padding:0 10px;border:1px solid rgba(255,255,255,.13);color:#fff;text-decoration:none;font-size:9px;font-weight:900}.tc-past{opacity:.53}
.tc-status{color:#7d8981;font-size:8px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.tc-filterbar{display:flex;gap:15px;flex-wrap:wrap;align-items:flex-end;padding:15px 0 19px;margin-bottom:15px;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.tc-filterbar label{display:grid;gap:5px;color:#97a29a;font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.tc-filterbar select{min-width:110px;min-height:38px;padding:0 28px 0 10px;border:1px solid rgba(255,255,255,.11);background:#121a14;color:#fff}
.tc-months{display:flex;gap:5px;flex-wrap:wrap}.tc-month{min-height:38px;min-width:38px;padding:0 9px;border:1px solid rgba(255,255,255,.08);background:transparent;color:#c8d0ca;font-size:9px;font-weight:900;text-transform:uppercase}
.tc-month.active{color:#fff;border-color:var(--accent-soft)}.tc-archive-title{margin:0 0 7px;font-family:Arial,Helvetica,sans-serif;font-size:19px}.tc-empty,.loading-box{padding:20px 0;color:#8a978e;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07)}
.loading-box:not(.dark-load){color:#7c837d;border-color:var(--line)}

.story-section{background:#111913;color:#fff}.story-grid{display:grid;grid-template-columns:minmax(350px,.9fr) minmax(0,1.1fr);gap:90px;align-items:center}
.story-photo-placeholder{height:560px;display:grid;place-items:center;text-align:center;background:linear-gradient(145deg,#2a3a30,#111813);background-size:cover;background-position:center;color:#87958b}
.story-photo-placeholder span,.story-photo-placeholder small{display:block}.story-photo-placeholder span{font-family:Arial,Helvetica,sans-serif;font-size:28px}.story-photo-placeholder small{font-size:9px}
.story-copy .lead{margin-top:25px;color:#e4e9e5;font-family:Arial,Helvetica,sans-serif;font-size:25px;line-height:1.35}.story-copy>p:not(.lead){color:#96a098}
.members{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px;padding-top:22px;border-top:1px solid rgba(255,255,255,.09)}
.members strong,.members span{display:block}.members strong{font-family:Arial,Helvetica,sans-serif;font-size:18px}.members span{margin-top:4px;color:#87948b;font-size:9px}

.booking-section{background:#e2ddd3}.booking-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:88px;align-items:start}
.booking-copy p{max-width:540px;color:#626a64;font-size:15px}.booking-options{margin-top:30px;border-top:1px solid var(--line)}
.booking-options div{padding:14px 0;border-bottom:1px solid var(--line)}.booking-options strong,.booking-options span{display:block}.booking-options strong{font-family:Arial,Helvetica,sans-serif;font-size:17px}.booking-options span{margin-top:3px;color:#747c76;font-size:9px}
.booking-form{display:grid;gap:12px;padding:0;background:transparent;border:0;box-shadow:none}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-form label{font-size:9px;font-weight:900}
.booking-form input,.booking-form select,.booking-form textarea{width:100%;margin-top:5px;padding:12px 0;border:0;border-bottom:1px solid #afb5af;border-radius:0;background:transparent;outline:none}
.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-bottom-color:var(--accent)}
.privacy-check{display:flex;gap:8px;align-items:flex-start;font-weight:500!important}.privacy-check input{width:auto;margin-top:3px}
.booking-form button{width:max-content;min-height:44px;padding:0 19px;border:0;border-radius:999px;background:var(--forest);color:#fff;font-weight:900;cursor:pointer}.form-note{font-size:9px;color:#737b75}.hp-field{position:absolute;left:-9999px}

.closing{padding:100px 0;text-align:center;background:#a8794e;color:#fff}.closing .eyebrow{color:#f4e3d4}.closing h2{max-width:920px;margin:9px auto 0}.closing p{margin-top:14px;color:#f2dfcf;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.site-footer{padding:38px 0;background:#0d1410;color:#fff}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-inner>div{display:flex;flex-direction:column}.footer-inner strong{font-family:Arial,Helvetica,sans-serif;font-size:17px}
.footer-inner span{margin-top:4px;color:#849188;font-size:9px}.footer-inner nav{display:flex;gap:18px;flex-wrap:wrap}.footer-inner a{color:#c2cbc4;text-decoration:none;font-size:10px}

.cms-section[hidden]{display:none!important}.cms-image.has-image{background-size:cover!important;background-repeat:no-repeat!important}.cms-image.has-image>span,.cms-image.has-image>small{opacity:0}

@media(max-width:980px){
  .menu-toggle{display:inline-flex;align-items:center}.main-nav{position:absolute;top:84px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px 28px 18px;background:#101812}
  .main-nav.open{display:flex}.main-nav a{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06)}.main-nav .nav-cta{margin-top:8px;text-align:center}
  .hero{min-height:690px}.music-shell{grid-template-columns:260px minmax(0,1fr)}.story-grid,.booking-grid{grid-template-columns:1fr;gap:50px}.story-photo-placeholder{height:460px}
}
@media(max-width:760px){
  .page-width,.header-inner{width:min(calc(100% - 30px),var(--max))}.section{padding:82px 0}.section-intro.split{display:block}.section-intro.split>p{margin-top:15px}
  .quick-grid{grid-template-columns:1fr 1fr}.quick-grid div{padding:18px 15px}.quick-grid div:nth-child(2){border-right:0}.quick-grid div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.07)}
  .music-shell{grid-template-columns:1fr}.music-visual{max-width:340px}.song-row{grid-template-columns:34px minmax(0,1fr)}.song-row audio{grid-column:1/-1}.video-grid{grid-template-columns:1fr}.members{grid-template-columns:1fr}
  .tc-event{grid-template-columns:50px minmax(0,1fr);gap:12px}.tc-add,.tc-status{grid-column:2;justify-self:start}.tc-filterbar label{width:100%}.tc-filterbar select{width:100%}
  .form-row{grid-template-columns:1fr}.footer-inner{flex-direction:column;align-items:flex-start}
}
@media(max-width:480px){
  .hero{min-height:630px}.hero h1{font-size:52px}.claim{font-size:26px}.hero-photo{object-position:62% 0%}.quick-grid{grid-template-columns:1fr}.quick-grid div{border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}.quick-grid div:last-child{border-bottom:0}
}


/* Klare, deutliche Typografie auf der gesamten Website */
body{
  font-family:Arial,Helvetica,sans-serif;
  font-weight:400;
}
.brand-main,
.hero h1,
.claim,
.section-intro h2,
.story-copy h2,
.booking-copy h2,
.closing h2,
.quick-grid strong,
.album-placeholder>span,
.song-no,
.tc-panel-head h3,
.tc-upcoming-month-head h4,
.tc-date b,
.tc-archive-title,
.story-photo-placeholder span,
.story-copy .lead,
.members strong,
.booking-options strong,
.footer-inner strong{
  font-family:Arial,Helvetica,sans-serif!important;
  font-style:normal!important;
}

.hero h1{
  font-weight:900;
  letter-spacing:.01em;
  line-height:.9;
}
.hero h1 em{
  font-style:normal!important;
  font-weight:700;
  color:var(--accent-soft);
}
.claim{
  font-weight:800;
  letter-spacing:0;
  line-height:1.08;
}
.section-intro h2,
.story-copy h2,
.booking-copy h2,
.closing h2{
  font-weight:900;
  letter-spacing:-.015em;
  line-height:1;
}
.quick-grid strong,
.tc-panel-head h3,
.tc-upcoming-month-head h4,
.members strong,
.booking-options strong,
.footer-inner strong{
  font-weight:800;
  letter-spacing:0;
}
.story-copy .lead{
  font-weight:700;
  letter-spacing:0;
}
.brand-main{
  font-weight:900;
  letter-spacing:.055em;
}
.eyebrow,
.genres,
.tc-meta,
.tc-status,
.tc-upcoming-month-kicker,
.booking-form label{
  letter-spacing:.10em;
}


/* Besetzungsleiste deutlicher */
.quick-strip{background:linear-gradient(180deg,#0f1913 0%, #132017 100%);border-top:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.quick-grid div{position:relative;padding:24px 28px;border-right:0!important}
.quick-grid div::after{content:"";position:absolute;top:14px;bottom:14px;right:0;width:1px;background:rgba(255,255,255,.14)}
.quick-grid div:last-child::after{display:none}
.quick-grid strong{font-size:22px;font-weight:800;letter-spacing:-.01em;color:#fff}
.quick-grid span{margin-top:7px;color:#b8c3bb;font-size:13px;font-weight:600;line-height:1.35}
@media(max-width:760px){.quick-grid div{padding:19px 15px}.quick-grid div:nth-child(2)::after{display:none}}
@media(max-width:480px){.quick-grid div::after{display:none}}


/* Überschriften etwas kleiner und ruhiger */
.section-intro{margin-bottom:38px}
.hero-content{padding:118px 0 96px}


/* Navigation größer */
@media(max-width:980px){.main-nav a{font-size:14px}.brand-main{font-size:20px}}


/* Menüpunkte oben etwas größer */
@media(max-width:980px){.main-nav a{font-size:16px}}


/* Eindeutiger Fix: Navigations-Menüpunkte sichtbar größer */
.site-header .header-inner{
  min-height: 90px !important;
}
.site-header .main-nav{
  gap: 42px !important;
}
.site-header .main-nav a{
  font-size: 19px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}
.site-header .main-nav .nav-cta{
  padding: 16px 26px !important;
  border-radius: 999px !important;
}
.site-header .brand-main{
  font-size: 24px !important;
}
.site-header .brand-sub{
  font-size: 9px !important;
}

@media (max-width: 980px){
  .site-header .main-nav{
    top: 90px !important;
  }
  .site-header .main-nav a{
    font-size: 18px !important;
  }
}


/* Navigation – mittlere Größe */
.site-header .header-inner{
  min-height: 82px !important;
}
.site-header .main-nav{
  gap: 34px !important;
}
.site-header .main-nav a{
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}
.site-header .main-nav .nav-cta{
  padding: 13px 21px !important;
}
.site-header .brand-main{
  font-size: 22px !important;
}
.site-header .brand-sub{
  font-size: 8px !important;
}
@media (max-width: 980px){
  .site-header .main-nav{
    top: 82px !important;
  }
  .site-header .main-nav a{
    font-size: 16px !important;
  }
}


/* Veranstaltungsblatt */
.tc-event[role="button"]{cursor:pointer;transition:background .18s ease,padding .18s ease}
.tc-event[role="button"]:hover{background:rgba(255,255,255,.025)}
.tc-event[role="button"]:focus-visible{outline:2px solid rgba(217,183,148,.75);outline-offset:4px}
.event-sheet[hidden]{display:none!important}
.event-sheet{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px}
.event-sheet-backdrop{position:absolute;inset:0;background:rgba(6,10,7,.76);backdrop-filter:blur(8px)}
.event-sheet-panel{position:relative;z-index:1;width:min(680px,100%);max-height:min(760px,calc(100vh - 48px));overflow:auto;background:#f5f2ea;color:#172019;padding:34px;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.35)}
.event-sheet-close{position:absolute;right:18px;top:16px;width:40px;height:40px;border:0;border-radius:50%;background:#e5e1d8;color:#172019;font-size:26px;line-height:1;cursor:pointer}
.event-sheet-kicker{display:block;margin-bottom:8px;color:#8a5f39;font-size:9px;font-weight:900;letter-spacing:.14em}
.event-sheet-panel h3{margin:0 46px 26px 0;font-size:clamp(28px,5vw,44px);line-height:1.04}
.event-sheet-facts{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid rgba(23,32,25,.13)}
.event-sheet-facts div{padding:15px 0;border-bottom:1px solid rgba(23,32,25,.12)}
.event-sheet-facts div:nth-child(odd){padding-right:22px}
.event-sheet-facts div:nth-child(even){padding-left:22px;border-left:1px solid rgba(23,32,25,.09)}
.event-sheet-facts div:last-child{grid-column:1/-1;padding-left:0;border-left:0}
.event-sheet-facts span,.event-sheet-facts strong{display:block}
.event-sheet-facts span{margin-bottom:4px;color:#747d76;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.event-sheet-facts strong{font-size:15px}
.event-sheet-description{margin-top:22px;padding-top:20px;border-top:1px solid rgba(23,32,25,.12);white-space:pre-line;color:#59625b;line-height:1.65}
.event-sheet-actions{display:flex;align-items:center;gap:12px;margin-top:26px}
.event-sheet-actions a{display:inline-flex;min-height:42px;align-items:center;padding:0 16px;border-radius:999px;background:#18231c;color:#fff;text-decoration:none;font-size:11px;font-weight:900}
.event-sheet-past{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#7b837d}
body.event-sheet-open{overflow:hidden}
@media(max-width:620px){
  .event-sheet{padding:12px}
  .event-sheet-panel{padding:26px 20px;border-radius:14px;max-height:calc(100vh - 24px)}
  .event-sheet-facts{grid-template-columns:1fr}
  .event-sheet-facts div,.event-sheet-facts div:nth-child(odd),.event-sheet-facts div:nth-child(even),.event-sheet-facts div:last-child{grid-column:auto;padding:13px 0;border-left:0}
}


/* Veranstaltungsblatt: zeichensatzsicheres Schliessen-X */
.event-sheet-close{
  display:grid !important;
  place-items:center !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:0 !important;
  line-height:1 !important;
}
.event-sheet-close span{
  display:block;
  font-family:Arial,Helvetica,sans-serif;
  font-size:22px;
  font-weight:700;
  line-height:1;
  transform:none;
}

/* Kalender-Notizen sind bewusst nicht Teil der öffentlichen Veranstaltungsansicht. */
.event-sheet-description{display:none !important}


/* Veranstaltungsblatt: optionale öffentliche Veranstaltungs-URL */
.event-sheet-moreinfo{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid rgba(22,27,23,.10);
}
.event-sheet-moreinfo[hidden]{
  display:none !important;
}
.event-sheet-moreinfo > span{
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  opacity:.55;
}
.event-sheet-moreinfo a{
  font-size:13px;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
}


/* Öffentliche / geschlossene Veranstaltungen */
.tc-title-line{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.tc-title-line h4{margin:0}
.tc-access-badge,
.event-sheet-access{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:5px 8px;
  border-radius:999px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
  line-height:1;
}
.tc-access-badge.is-public,
.event-sheet-access.is-public{
  color:#c9decf;
  border:1px solid rgba(154,197,165,.28);
  background:rgba(111,163,124,.10);
}
.tc-access-badge.is-closed,
.event-sheet-access.is-closed{
  color:#e2c7ad;
  border:1px solid rgba(203,154,108,.30);
  background:rgba(180,122,67,.11);
}
.event-sheet-access{margin:10px 0 4px}
@media(max-width:700px){
  .tc-title-line{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
  }
}

/* Veranstaltungsblatt: Veranstaltungsart deutlich hervorheben */
.event-sheet-access{
  display:inline-flex !important;
  align-items:center !important;
  width:max-content !important;
  margin:18px 0 8px !important;
  padding:9px 14px !important;
  border-radius:8px !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.075em !important;
  text-transform:uppercase !important;
  line-height:1.15 !important;
  box-shadow:none !important;
}
.event-sheet-access.is-public{
  color:#173b2a !important;
  background:#d7eadc !important;
  border:1px solid #9fc7aa !important;
}
.event-sheet-access.is-closed{
  color:#5a2d16 !important;
  background:#f0d6c4 !important;
  border:1px solid #d8a983 !important;
}
@media(max-width:700px){
  .event-sheet-access{
    font-size:11px !important;
    padding:8px 12px !important;
  }
}

.event-sheet-access[hidden]{display:none!important}


/* Biografie-Teaser */
.story-more-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:24px;
  padding:13px 20px;
  border:1px solid rgba(229,189,143,.42);
  border-radius:999px;
  color:#f5f4ef;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
  transition:.2s ease;
}
.story-more-button:hover{
  background:var(--accent,#b77b3e);
  border-color:var(--accent,#b77b3e);
  color:#fff;
  transform:translateY(-1px);
}

/* separate Biografie */
.biography-page{background:var(--forest2,#111812);color:#f5f4ef;min-height:100vh}
.biography-shell{max-width:1180px;margin:0 auto;padding:86px 32px 100px}
.biography-back{display:inline-flex;margin-bottom:54px;color:#c6ccc7;text-decoration:none;font-weight:800}
.biography-back:hover{color:#fff}
.biography-kicker{display:block;color:var(--accent2,#e5bd8f);font-size:12px;font-weight:900;letter-spacing:.16em;margin-bottom:18px}
.biography-page h1{font-size:clamp(50px,7vw,92px);line-height:.98;max-width:900px;margin:0 0 28px}
.biography-lead{font-size:clamp(22px,2.6vw,32px);line-height:1.35;font-weight:750;max-width:900px;margin:0 0 48px}
.biography-content{max-width:900px;font-size:18px;line-height:1.8;color:#c3c9c4;white-space:pre-line}
.biography-content strong{color:#fff}
.biography-footer{border-top:1px solid rgba(255,255,255,.09);padding:28px 32px;color:#aab1ac}
.biography-footer-inner{max-width:1180px;margin:0 auto;display:flex;gap:22px;flex-wrap:wrap}
.biography-footer a{color:inherit}
@media(max-width:700px){.biography-shell{padding:56px 18px 72px}.biography-back{margin-bottom:38px}.biography-content{font-size:16px}.story-more-button{margin-top:18px}}


/* Über uns: Namen und Instrumente besser lesbar */
.story-person strong,
.about-person strong,
.story-people strong,
.story-person h3,
.about-person h3{
  font-size:30px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
}

.story-person small,
.about-person small,
.story-people small,
.story-person p,
.about-person p{
  font-size:16px !important;
  line-height:1.55 !important;
  font-weight:500 !important;
}

@media(max-width:700px){
  .story-person strong,
  .about-person strong,
  .story-people strong,
  .story-person h3,
  .about-person h3{
    font-size:25px !important;
  }

  .story-person small,
  .about-person small,
  .story-people small,
  .story-person p,
  .about-person p{
    font-size:15px !important;
  }
}


/* Über uns: Namen wieder im bisherigen Format, nur Instrumente größer */
.story-person strong,
.about-person strong,
.story-people strong,
.story-person h3,
.about-person h3{
  font-size:inherit !important;
  line-height:inherit !important;
  font-weight:inherit !important;
  letter-spacing:inherit !important;
}

.story-person small,
.about-person small,
.story-people small{
  font-size:18px !important;
  line-height:1.55 !important;
  font-weight:500 !important;
}

@media(max-width:700px){
  .story-person small,
  .about-person small,
  .story-people small{
    font-size:16px !important;
  }
}


/* Lesbarkeit: kleine Texte auf der gesamten Website klarer */
body{font-size:17px}

.eyebrow,
.section-kicker,
.hero-eyebrow,
.card-kicker,
.tc-time,
.quick-grid span,
.footer-sub,
.brand-sub,
.event-sheet-kicker,
.event-sheet-facts dt,
.event-sheet-moreinfo > span{
  font-size:13px !important;
  line-height:1.45 !important;
  letter-spacing:.07em !important;
}

.story-person small,
.about-person small,
.story-people small,
.music-meta,
.video-meta,
.show-meta,
.contact-meta,
.footer-copy,
.footer-links,
.event-sheet-facts dd,
.tc-location,
.quick-grid span{
  font-size:16px !important;
  line-height:1.55 !important;
  font-weight:500 !important;
}

.story-copy,
.about-copy,
.section-intro,
.lead,
.muted,
p{
  line-height:1.6;
}

.main-nav a,
.btn,
.button,
button,
input,
select,
textarea{
  font-size:16px;
}

@media(max-width:700px){
  body{font-size:16px}

  .eyebrow,
  .section-kicker,
  .hero-eyebrow,
  .card-kicker,
  .tc-time,
  .quick-grid span,
  .footer-sub,
  .brand-sub,
  .event-sheet-kicker,
  .event-sheet-facts dt,
  .event-sheet-moreinfo > span{
    font-size:12px !important;
  }

  .story-person small,
  .about-person small,
  .story-people small,
  .music-meta,
  .video-meta,
  .show-meta,
  .contact-meta,
  .footer-copy,
  .footer-links,
  .event-sheet-facts dd,
  .tc-location,
  .quick-grid span{
    font-size:15px !important;
  }
}


/* Finale Lesbarkeit: Instrumentenzeilen und Kalender-Tabs klarer */
.story-person small,
.about-person small,
.story-people small,
.story-person .muted,
.about-person .muted,
.member-role,
.member-meta,
.artist-meta{
  font-size:18px !important;
  line-height:1.6 !important;
  font-weight:600 !important;
  color:rgba(255,255,255,.82) !important;
  opacity:1 !important;
}

.tc-tabs{
  gap:10px !important;
  margin-bottom:36px !important;
}
.tc-tab{
  min-height:46px !important;
  padding:0 2px 10px !important;
  font-size:16px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
  color:rgba(255,255,255,.62) !important;
}
.tc-tab.active{
  color:#fff !important;
  border-bottom-width:3px !important;
}

@media(max-width:700px){
  .story-person small,
  .about-person small,
  .story-people small,
  .story-person .muted,
  .about-person .muted,
  .member-role,
  .member-meta,
  .artist-meta{
    font-size:16px !important;
  }

  .tc-tabs{
    gap:8px !important;
    margin-bottom:28px !important;
  }
  .tc-tab{
    min-height:42px !important;
    font-size:15px !important;
    padding-bottom:9px !important;
  }
}


/* Mobile Hero: Rocco & Marc gemeinsam mittig im Bildausschnitt */
@media(max-width:700px){
  .hero-photo{
    object-position:84% 0% !important;
  }
}


/* Mobile Navigation – sauberes Hamburger-Menü */
@media(max-width:980px){
  .site-header{z-index:5000 !important}
  .site-header .header-inner{min-height:76px !important}

  .menu-toggle{
    position:relative;
    z-index:5002;
    display:grid !important;
    place-items:center;
    width:48px;
    height:48px;
    min-height:48px;
    padding:0 !important;
    margin:0;
    border:1px solid rgba(255,255,255,.20) !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.045) !important;
    color:#fff;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }

  .menu-toggle-box{position:relative;display:block;width:22px;height:16px}
  .menu-toggle-box>span{
    position:absolute;left:0;width:22px;height:2px;border-radius:99px;background:#fff;
    transition:transform .22s ease,top .22s ease,opacity .18s ease
  }
  .menu-toggle-box>span:nth-child(1){top:0}
  .menu-toggle-box>span:nth-child(2){top:7px}
  .menu-toggle-box>span:nth-child(3){top:14px}
  .menu-toggle[aria-expanded="true"] .menu-toggle-box>span:nth-child(1){top:7px;transform:rotate(45deg)}
  .menu-toggle[aria-expanded="true"] .menu-toggle-box>span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] .menu-toggle-box>span:nth-child(3){top:7px;transform:rotate(-45deg)}

  .site-header .main-nav{
    position:fixed !important;
    top:76px !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-height:calc(100dvh - 76px);
    overflow-y:auto;
    display:none;
    flex-direction:column;
    align-items:stretch !important;
    gap:0 !important;
    padding:14px 20px 24px !important;
    background:rgba(14,24,17,.985) !important;
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.10);
    box-shadow:0 24px 60px rgba(0,0,0,.34);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }

  .site-header .main-nav.open{display:flex !important}

  .site-header .main-nav a{
    display:flex;
    align-items:center;
    min-height:56px;
    width:100%;
    padding:0 6px !important;
    margin:0;
    border:0 !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    font-size:18px !important;
    font-weight:800 !important;
    line-height:1.2 !important;
    text-align:left;
    color:#eef2ee !important;
  }

  .site-header .main-nav .nav-cta{
    justify-content:center;
    min-height:52px;
    margin-top:16px !important;
    padding:0 18px !important;
    border:1px solid rgba(255,255,255,.24) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.07);
  }

  body.mobile-nav-open{overflow:hidden}
}

@media(max-width:480px){
  .site-header .header-inner{min-height:72px !important}
  .site-header .main-nav{
    top:72px !important;
    max-height:calc(100dvh - 72px);
    padding:10px 16px 20px !important;
  }
  .menu-toggle{width:44px;height:44px;min-height:44px}
  .site-header .main-nav a{min-height:54px;font-size:17px !important}
}


/* Instrumentenzeilen unter den Namen deutlich größer und lesbarer */
.members span{
  margin-top:6px !important;
  font-size:18px !important;
  line-height:1.6 !important;
  font-weight:500 !important;
  color:rgba(255,255,255,.82) !important;
  opacity:1 !important;
}

@media(max-width:700px){
  .members span{
    font-size:16px !important;
    line-height:1.55 !important;
  }
}

/* Finale Feinabstimmung: Instrumente kompakter, Kontaktformular besser lesbar */
.members span{
  margin-top:5px !important;
  font-size:16px !important;
  line-height:1.45 !important;
  font-weight:500 !important;
  color:rgba(255,255,255,.78) !important;
  white-space:nowrap !important;
}

.booking-form label{
  font-size:12px !important;
  line-height:1.35 !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
}

.booking-form input,
.booking-form select,
.booking-form textarea{
  font-size:17px !important;
  line-height:1.45 !important;
  font-weight:500 !important;
}

.booking-form select{
  min-height:48px !important;
}

.booking-form textarea{
  min-height:180px !important;
}

.privacy-check{
  align-items:center !important;
  gap:10px !important;
}

.privacy-check span{
  font-size:15px !important;
  line-height:1.45 !important;
  font-weight:500 !important;
  letter-spacing:.02em !important;
}

.privacy-check input{
  width:20px !important;
  height:20px !important;
  margin-top:0 !important;
  flex:0 0 20px;
}

.form-note{
  font-size:13px !important;
  line-height:1.5 !important;
}

@media(max-width:700px){
  .members span{
    font-size:14px !important;
    white-space:nowrap !important;
  }

  .booking-form label{
    font-size:12px !important;
  }

  .booking-form input,
  .booking-form select,
  .booking-form textarea{
    font-size:16px !important;
  }

  .privacy-check span{
    font-size:14px !important;
  }
}


/* Booking-Bereich: Unterzeilen unter Unplugged / Backingtracks / Trio-Band größer */
.booking-options span{
  margin-top:6px !important;
  font-size:14px !important;
  line-height:1.45 !important;
  font-weight:500 !important;
  color:#6e7670 !important;
}

@media(max-width:700px){
  .booking-options span{
    font-size:15px !important;
    line-height:1.45 !important;
  }
}


/* Mobile Hero: Personen besser sichtbar + Headline lesbarer */
@media(max-width:700px){
  .hero-photo{
    object-position:76% 8% !important;
  }

  .hero::before{
    background:
      linear-gradient(180deg, rgba(6,10,7,.08) 0%, rgba(6,10,7,.14) 18%, rgba(6,10,7,.34) 58%, rgba(6,10,7,.74) 100%) !important;
    opacity:1 !important;
  }

  .hero::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(90deg, rgba(6,10,7,.16) 0%, rgba(6,10,7,0) 26%, rgba(6,10,7,0) 70%, rgba(6,10,7,.12) 100%),
      radial-gradient(circle at 78% 34%, rgba(6,10,7,.24) 0%, rgba(6,10,7,.08) 24%, rgba(6,10,7,0) 44%);
    z-index:1;
  }

  .hero-copy,
  .hero-text,
  .hero-inner .copy{
    position:relative;
    z-index:2;
  }

  .hero-copy::before,
  .hero-text::before,
  .hero-inner .copy::before{
    content:"";
    position:absolute;
    inset:-14px -12px -18px -12px;
    border-radius:18px;
    background:linear-gradient(180deg, rgba(6,10,7,.12) 0%, rgba(6,10,7,.26) 34%, rgba(6,10,7,.36) 100%);
    filter:blur(2px);
    z-index:-1;
  }

  .hero h1,
  .claim,
  .genres,
  .hero p,
  .hero .eyebrow{
    text-shadow:0 2px 12px rgba(0,0,0,.46), 0 1px 2px rgba(0,0,0,.45) !important;
  }

  .hero h1{
    line-height:.94 !important;
  }

  .hero h1 em{
    color:#e1be94 !important;
  }
}


/* Mobile Hero Feinkorrektur: beide Personen sichtbar */
@media(max-width:700px){
  .hero-photo{
    object-position:84% 8% !important;
  }

  /* etwas neutralere rechte Aufhellung/Abdunklung */
  .hero::after{
    background:
      linear-gradient(90deg, rgba(6,10,7,.16) 0%, rgba(6,10,7,0) 24%, rgba(6,10,7,0) 64%, rgba(6,10,7,.08) 100%),
      radial-gradient(circle at 74% 34%, rgba(6,10,7,.16) 0%, rgba(6,10,7,.05) 22%, rgba(6,10,7,0) 42%) !important;
  }
}


/* Mobile Hero: Verlauf von unten dunkel nach oben hell */
@media(max-width:700px){
  .hero-photo{
    object-position:82% 8% !important;
  }

  .hero::before{
    background:linear-gradient(
      180deg,
      rgba(6,10,7,.02) 0%,
      rgba(6,10,7,.06) 22%,
      rgba(6,10,7,.16) 42%,
      rgba(6,10,7,.38) 64%,
      rgba(6,10,7,.66) 82%,
      rgba(6,10,7,.86) 100%
    ) !important;
    opacity:1 !important;
  }

  /* seitliche bzw. punktuelle Abdunklung auf dem Handy entfernen */
  .hero::after{
    background:none !important;
  }

  /* Text bleibt gut lesbar */
  .hero h1,
  .claim,
  .genres,
  .hero p,
  .hero .eyebrow{
    text-shadow:0 2px 10px rgba(0,0,0,.42), 0 1px 2px rgba(0,0,0,.38) !important;
  }
}


/* ECHTER Mobile-Hero-Verlauf: alte Seitenabdunklung ersetzen */
@media(max-width:700px){
  .hero-photo{
    object-position:82% 8% !important;
  }

  .hero-shade{
    background:
      linear-gradient(
        180deg,
        rgba(8,13,9,.03) 0%,
        rgba(8,13,9,.05) 18%,
        rgba(8,13,9,.10) 34%,
        rgba(8,13,9,.22) 50%,
        rgba(8,13,9,.42) 68%,
        rgba(8,13,9,.66) 84%,
        rgba(8,13,9,.88) 100%
      ) !important;
  }

  /* Frühere experimentelle Pseudo-Overlays auf Mobil komplett deaktivieren */
  .hero::before,
  .hero::after{
    content:none !important;
    display:none !important;
    background:none !important;
  }

  .hero h1,
  .claim,
  .genres,
  .hero .eyebrow{
    text-shadow:
      0 2px 10px rgba(0,0,0,.48),
      0 1px 2px rgba(0,0,0,.44) !important;
  }
}


/* Mobile Hero: ab Mitte deutlich dunkler + Text etwas tiefer */
@media(max-width:700px){
  .hero-photo{
    object-position:82% 8% !important;
  }

  .hero-shade{
    background:
      linear-gradient(
        180deg,
        rgba(8,13,9,.02) 0%,
        rgba(8,13,9,.04) 20%,
        rgba(8,13,9,.08) 36%,
        rgba(8,13,9,.20) 48%,
        rgba(8,13,9,.48) 62%,
        rgba(8,13,9,.72) 76%,
        rgba(8,13,9,.88) 88%,
        rgba(8,13,9,.94) 100%
      ) !important;
  }

  .hero-content{
    padding:126px 0 72px !important;
  }

  .hero h1,
  .claim,
  .genres,
  .hero .eyebrow{
    text-shadow:
      0 3px 14px rgba(0,0,0,.58),
      0 1px 2px rgba(0,0,0,.50) !important;
  }
}


/* Mobile Hero: dunklerer Bereich weiter nach oben ziehen */
@media(max-width:700px){
  .hero-shade{
    background:
      linear-gradient(
        180deg,
        rgba(8,13,9,.03) 0%,
        rgba(8,13,9,.07) 14%,
        rgba(8,13,9,.14) 28%,
        rgba(8,13,9,.28) 40%,
        rgba(8,13,9,.50) 54%,
        rgba(8,13,9,.72) 68%,
        rgba(8,13,9,.88) 84%,
        rgba(8,13,9,.95) 100%
      ) !important;
  }

  .hero-content{
    padding:130px 0 70px !important;
  }
}


/* Mobile Hero: Personen etwas mittiger ausrichten */
@media(max-width:700px){
  .hero-photo{
    object-position:78% 8% !important;
  }
}


/* Mobile Hero: kräftigerer Verlauf */
@media(max-width:700px){
  .hero-shade{
    background:
      linear-gradient(
        180deg,
        rgba(8,13,9,.04) 0%,
        rgba(8,13,9,.10) 14%,
        rgba(8,13,9,.22) 28%,
        rgba(8,13,9,.42) 42%,
        rgba(8,13,9,.64) 56%,
        rgba(8,13,9,.80) 70%,
        rgba(8,13,9,.92) 84%,
        rgba(8,13,9,.98) 100%
      ) !important;
  }
}


/* Mobile Hero: Rocco & Marc als Gruppe mittig */
@media(max-width:700px){
  .hero-photo{
    object-position:72% 8% !important;
  }
}


/* Mobile Hero: beide Personen vollständig sichtbar */
@media(max-width:700px){
  .hero-photo{
    object-position:90% 8% !important;
  }
}


/* Mobile Header: Unterzeile unter dem Logo größer */
@media(max-width:700px){
  .site-header .brand-sub{
    font-size:14px !important;
    line-height:1.25 !important;
    letter-spacing:.04em !important;
    margin-top:8px !important;
  }
}

@media(max-width:480px){
  .site-header .brand-sub{
    font-size:13px !important;
    line-height:1.25 !important;
    letter-spacing:.03em !important;
  }
}


/* Unterzeile unter dem Logo: vor allem am Rechner größer, mobil wieder dezenter */
@media(min-width:981px){
  .site-header .brand-sub{
    font-size:12px !important;
    line-height:1.25 !important;
    letter-spacing:.12em !important;
    margin-top:8px !important;
  }
}

@media(min-width:701px) and (max-width:980px){
  .site-header .brand-sub{
    font-size:10px !important;
    line-height:1.25 !important;
    letter-spacing:.10em !important;
    margin-top:7px !important;
  }
}

@media(max-width:700px){
  .site-header .brand-sub{
    font-size:9px !important;
    line-height:1.2 !important;
    letter-spacing:.08em !important;
    margin-top:7px !important;
  }
}

@media(max-width:480px){
  .site-header .brand-sub{
    font-size:8px !important;
    line-height:1.2 !important;
    letter-spacing:.08em !important;
  }
}


/* Desktop: Unterzeilen in der Schnellübersicht auf einer Zeile lassen */
@media(min-width:981px){
  .quick-grid span{
    white-space:nowrap !important;
  }

  .quick-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }

  .quick-grid div{
    min-width:0;
  }
}


/* Schnellübersicht sauber ausrichten */

/* Desktop: vier sauber proportionierte Spalten */
@media(min-width:981px){
  .quick-grid{
    grid-template-columns:1.08fr 1.08fr 1.38fr .92fr !important;
    align-items:stretch;
  }

  .quick-grid div{
    min-width:0;
    padding:24px 22px !important;
  }

  .quick-grid div:first-child{
    padding-left:22px !important;
  }

  .quick-grid strong,
  .quick-grid span{
    text-align:left;
  }

  .quick-grid span{
    white-space:nowrap !important;
  }
}

/* Tablet */
@media(min-width:701px) and (max-width:980px){
  .quick-grid div:first-child{
    padding-left:15px !important;
  }
}

/* Handy: alle Punkte exakt bündig */
@media(max-width:700px){
  .quick-grid{
    grid-template-columns:1fr !important;
  }

  .quick-grid div,
  .quick-grid div:first-child{
    padding:22px 28px !important;
  }

  .quick-grid strong,
  .quick-grid span{
    text-align:left !important;
  }

  .quick-grid span{
    white-space:normal !important;
  }

  .quick-grid div::after{
    display:none !important;
  }

  .quick-grid div{
    border-right:0 !important;
    border-bottom:1px solid rgba(255,255,255,.10) !important;
  }

  .quick-grid div:last-child{
    border-bottom:0 !important;
  }
}


/* Biografie direkt im "Über uns"-Bereich aufklappen */
.story-more-button{
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  font-family:inherit;
}

.story-expanded{
  margin-top:24px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.09);
}

.story-expanded[hidden]{
  display:none !important;
}

.story-expanded-content{
  color:#aeb7b0;
  font-size:16px;
  line-height:1.75;
  white-space:pre-line;
  max-width:760px;
}

.story-more-button[aria-expanded="true"]{
  background:rgba(229,189,143,.08);
}

@media(max-width:700px){
  .story-expanded{
    margin-top:20px;
    padding-top:18px;
  }

  .story-expanded-content{
    font-size:16px;
    line-height:1.7;
  }
}


/* Biografie-Overlay */
.biography-overlay[hidden]{display:none!important}
.biography-overlay{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  padding:28px;
}

.biography-overlay-backdrop{
  position:absolute;
  inset:0;
  background:rgba(5,9,6,.80);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.biography-overlay-panel{
  position:relative;
  z-index:1;
  width:min(860px,100%);
  max-height:calc(100vh - 56px);
  overflow:auto;
  padding:42px 44px 46px;
  border-radius:20px;
  background:#101812;
  color:#fff;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 34px 100px rgba(0,0,0,.48);
}

.biography-overlay-close{
  position:absolute;
  top:18px;
  right:18px;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  background:rgba(255,255,255,.06);
  color:#fff;
  cursor:pointer;
}

.biography-overlay-close span{
  font-size:20px;
  font-weight:800;
  line-height:1;
}

.biography-overlay-kicker{
  display:block;
  margin-bottom:12px;
  color:var(--accent-soft);
  font-size:13px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.biography-overlay-panel h2{
  margin:0 64px 22px 0;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(34px,5vw,60px);
  line-height:1.02;
  letter-spacing:-.02em;
}

.biography-overlay-lead{
  margin:0 0 22px;
  font-size:20px;
  line-height:1.55;
  font-weight:700;
  color:#eef2ee;
}

.biography-overlay-content{
  color:#b8c1ba;
  font-size:17px;
  line-height:1.8;
  white-space:pre-line;
}

body.biography-overlay-open{
  overflow:hidden;
}

@media(max-width:700px){
  .biography-overlay{
    padding:12px;
  }

  .biography-overlay-panel{
    padding:32px 22px 30px;
    border-radius:16px;
    max-height:calc(100vh - 24px);
  }

  .biography-overlay-close{
    top:14px;
    right:14px;
    width:40px;
    height:40px;
  }

  .biography-overlay-panel h2{
    margin-right:50px;
    font-size:34px;
  }

  .biography-overlay-lead{
    font-size:18px;
  }

  .biography-overlay-content{
    font-size:16px;
    line-height:1.72;
  }
}


/* "Mehr erfahren"-Button deutlicher */
.story-more-button{
  min-height:50px !important;
  padding:0 24px !important;
  border:2px solid #d8b68d !important;
  border-radius:999px !important;
  background:#172019 !important;
  color:#fff !important;
  font-size:15px !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  box-shadow:0 6px 18px rgba(0,0,0,.20) !important;
  transition:background .18s ease,color .18s ease,transform .18s ease,border-color .18s ease !important;
}

.story-more-button:hover,
.story-more-button:focus-visible{
  background:#d8b68d !important;
  color:#172019 !important;
  border-color:#d8b68d !important;
  transform:translateY(-1px);
}

.story-more-button:focus-visible{
  outline:3px solid rgba(216,182,141,.28) !important;
  outline-offset:3px;
}


/* Kommende Monate platzsparend einklappbar */
.tc-upcoming-month{
  margin-top:24px;
}
.tc-upcoming-month:first-child{
  margin-top:0;
}
.tc-upcoming-month-head{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:0 0 12px;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.12);
  background:transparent;
  color:#fff;
  text-align:left;
  border-radius:0;
}
.tc-upcoming-month-head:hover{
  filter:none;
}
.tc-upcoming-month-head h4{
  margin:3px 0 0;
}
.tc-upcoming-month-icon{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  color:#d8b68d;
  font-size:24px;
  line-height:1;
  font-weight:500;
}
.tc-upcoming-month-list{
  padding-top:6px;
}
.tc-upcoming-month-list[hidden]{
  display:none;
}


/* Saubere Schließen-Symbole als SVG */
.biography-overlay-close,
.event-sheet-close{
  appearance:none;
  -webkit-appearance:none;
}

.biography-overlay-close svg,
.event-sheet-close svg{
  width:20px;
  height:20px;
  display:block;
  stroke:currentColor;
  stroke-width:2.6;
  stroke-linecap:round;
  fill:none;
  pointer-events:none;
}

.biography-overlay-close span,
.event-sheet-close span{
  display:none !important;
}



/* Monats-Aufklappsymbol ohne Sonderzeichenprobleme */
.tc-upcoming-month-head{
  position:relative;
}
.tc-upcoming-month-icon{
  position:relative;
  width:38px;
  height:38px;
  flex:0 0 38px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.tc-upcoming-month-icon::before,
.tc-upcoming-month-icon::after{
  content:"";
  position:absolute;
  width:14px;
  height:2px;
  background:currentColor;
  border-radius:2px;
  transition:transform .2s ease, opacity .2s ease;
}
.tc-upcoming-month-icon::after{
  transform:rotate(90deg);
}
.tc-upcoming-month.is-open .tc-upcoming-month-icon::after{
  opacity:0;
}



/* Livebild im Biografie-Overlay */
.biography-overlay-photo{
  width:100%;
  aspect-ratio:16 / 7;
  margin:4px 0 26px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(145deg,#26372d,#101713);
  background-size:cover;
  background-position:center;
  color:#8b978f;
  text-align:center;
}

.biography-overlay-photo span,
.biography-overlay-photo small{
  display:block;
}

.biography-overlay-photo span{
  font-size:22px;
  font-weight:700;
  letter-spacing:.02em;
}

.biography-overlay-photo small{
  margin-top:7px;
  font-size:11px;
  color:#7f8b83;
}

.biography-overlay-photo.has-image > span,
.biography-overlay-photo.has-image > small{
  opacity:0;
}

@media(max-width:700px){
  .biography-overlay-photo{
    aspect-ratio:4 / 3;
    margin-bottom:22px;
    border-radius:12px;
  }
}


/* Kontaktformular: Zeilen sauber ausrichten und Felder gleichmäßig darstellen */
.booking-form{gap:20px !important;}
.form-row{display:grid !important;grid-template-columns:1fr 1fr !important;gap:22px !important;align-items:start !important;}
.booking-form > label,
.form-row > label{display:flex !important;flex-direction:column !important;align-items:stretch !important;width:100% !important;margin:0 !important;}
.booking-form label{gap:10px !important;}
.booking-form input,
.booking-form select,
.booking-form textarea{display:block !important;width:100% !important;box-sizing:border-box !important;margin:0 !important;padding:12px 0 10px !important;line-height:1.35 !important;vertical-align:middle !important;}
.booking-form input[type="date"]{min-height:50px !important;}
.booking-form select{min-height:52px !important;padding-right:34px !important;}
.booking-form textarea{min-height:220px !important;resize:vertical !important;}
.privacy-check{display:flex !important;flex-direction:row !important;align-items:center !important;gap:14px !important;margin-top:8px !important;}
.privacy-check input{margin:0 !important;}
@media(max-width:700px){
  .form-row{grid-template-columns:1fr !important;gap:18px !important;}
  .booking-form{gap:18px !important;}
  .booking-form textarea{min-height:180px !important;}
}


/* Kontaktformular: kompakter und edler */
.booking-grid{gap:72px !important;align-items:start !important;}
.booking-form{gap:16px !important;}
.form-row{gap:18px !important;}
.booking-form label{gap:8px !important;}
.booking-form input,
.booking-form select,
.booking-form textarea{padding:10px 0 8px !important;font-size:16px !important;line-height:1.4 !important;}
.booking-form input[type="date"],
.booking-form select{min-height:46px !important;}
.booking-form textarea{min-height:170px !important;}
.booking-form button{min-height:48px !important;padding:0 28px !important;font-size:16px !important;letter-spacing:0 !important;box-shadow:0 8px 22px rgba(12,23,18,.10) !important;}
.privacy-check{margin-top:4px !important;gap:12px !important;}
.privacy-check span{font-size:14px !important;line-height:1.4 !important;}
.form-note{margin-top:2px !important;font-size:12px !important;}
@media(max-width:980px){
  .booking-grid{gap:42px !important;}
}
@media(max-width:700px){
  .booking-form{gap:14px !important;}
  .form-row{gap:14px !important;}
  .booking-form textarea{min-height:160px !important;}
}


/* Kontaktformular – sichtbar kompakter und hochwertiger */
.booking-grid{
  grid-template-columns:.9fr 1.1fr !important;
  gap:60px !important;
}

.booking-form{
  gap:14px !important;
  padding:26px 28px 24px !important;
  background:rgba(255,255,255,.24) !important;
  border:1px solid rgba(22,31,25,.10) !important;
  border-radius:18px !important;
  box-shadow:0 14px 40px rgba(30,38,31,.05) !important;
}

.form-row{
  gap:20px !important;
}

.booking-form label{
  gap:6px !important;
}

.booking-form input,
.booking-form select,
.booking-form textarea{
  padding:8px 0 7px !important;
  font-size:16px !important;
  border-bottom:1px solid #9fa79f !important;
}

.booking-form input[type="date"],
.booking-form select{
  min-height:42px !important;
}

.booking-form textarea{
  min-height:118px !important;
  height:118px !important;
}

.privacy-check{
  margin-top:2px !important;
  gap:10px !important;
}

.privacy-check span{
  font-size:14px !important;
}

.booking-form button{
  min-height:46px !important;
  padding:0 24px !important;
  margin-top:2px !important;
}

@media(max-width:980px){
  .booking-grid{
    grid-template-columns:1fr !important;
    gap:36px !important;
  }

  .booking-form{
    padding:22px !important;
  }
}

@media(max-width:700px){
  .booking-form{
    padding:18px !important;
    border-radius:14px !important;
  }

  .booking-form textarea{
    min-height:110px !important;
    height:110px !important;
  }
}


/* Kontaktformular – Feldnamen größer + Feldhöhen sauber angleichen */
.booking-form label{
  display:grid !important;
  gap:8px !important;
}

.booking-form > label:not(.privacy-check){
  align-content:start !important;
}

.form-row{
  align-items:start !important;
}

.form-row > label{
  grid-template-rows:auto 54px !important;
  min-height:88px !important;
}

.booking-form label,
.booking-form .form-note{
  font-size:13px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  letter-spacing:.03em !important;
}

.booking-form input,
.booking-form select{
  box-sizing:border-box !important;
  height:54px !important;
  min-height:54px !important;
  padding:10px 0 9px !important;
  line-height:1.2 !important;
}

.booking-form textarea{
  box-sizing:border-box !important;
  padding:10px 0 9px !important;
  line-height:1.35 !important;
}

.booking-form input[type="date"]{
  font-variant-numeric:tabular-nums !important;
}

.privacy-check{
  display:flex !important;
  align-items:flex-start !important;
}

.privacy-check span{
  font-size:14px !important;
  line-height:1.35 !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
}

/* Datenschutz-Checkbox: normale Größe wiederherstellen */
.booking-form .privacy-check{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:12px !important;
  min-height:0 !important;
}

.booking-form .privacy-check input[type="checkbox"]{
  appearance:auto !important;
  -webkit-appearance:checkbox !important;
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  min-height:20px !important;
  padding:0 !important;
  margin:0 !important;
  border:initial !important;
  border-radius:3px !important;
  box-shadow:none !important;
  flex:0 0 20px !important;
}

.booking-form .privacy-check span{
  display:inline !important;
  margin:0 !important;
  font-size:14px !important;
  line-height:1.4 !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
}


/* Booking: leere Optionen verschwinden, eigenes Zusatzbild aus dem Admin */
.booking-options[hidden]{display:none!important}
.booking-options > div[hidden]{display:none!important}
.booking-extra-photo{
  width:100%;
  aspect-ratio:16 / 10;
  margin-top:28px;
  border-radius:16px;
  overflow:hidden;
  background-color:#cfd2cc;
  background-size:cover;
  background-position:center;
  border:1px solid rgba(22,31,25,.10);
}
.booking-extra-photo[hidden]{display:none!important}
@media(max-width:700px){.booking-extra-photo{margin-top:22px;border-radius:12px}}


/* Einheitlicher Footer mit Copyright in der Mitte */
.footer-inner{
  display:grid !important;
  grid-template-columns:minmax(180px,1fr) auto minmax(260px,1fr) !important;
  align-items:center !important;
  gap:30px !important;
}
.footer-brand{justify-self:start;display:flex;flex-direction:column}
.footer-copyright{
  justify-self:center;
  text-align:center;
  color:#9ca79f;
  font-size:12px;
  line-height:1.45;
  white-space:nowrap;
}
.footer-inner nav{justify-self:end}

/* Veranstalter-Seite nutzt dieselbe Navigation wie die Hauptseite */
.promoter-page .site-header{font-family:Arial,Helvetica,sans-serif}
.promoter-page .promoter-hero{padding-top:74px}

@media(max-width:980px){
  .footer-inner{
    grid-template-columns:1fr !important;
    justify-items:start !important;
    gap:16px !important;
  }
  .footer-brand,.footer-copyright,.footer-inner nav{justify-self:start !important;text-align:left !important}
  .footer-copyright{white-space:normal}
}


/* Footer mobil komplett mittig */
@media(max-width:760px){
  .site-footer .footer-inner{
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    gap:22px !important;
  }
  .site-footer .footer-inner > div{
    align-items:center !important;
    text-align:center !important;
    width:100% !important;
  }
  .site-footer .footer-inner nav{
    justify-content:center !important;
    align-items:center !important;
    width:100% !important;
    gap:14px 24px !important;
  }
  .site-footer .footer-inner strong,
  .site-footer .footer-inner span,
  .site-footer .footer-inner a{
    text-align:center !important;
  }
}


/* Navigation: CMS-Sichtbarkeit gilt identisch auf Desktop und Mobil */
.site-header .main-nav a[hidden],
.main-nav a[hidden]{
  display:none !important;
}


/* Copyright / Bildnachweise */
.hero,.cms-image{position:relative}
.image-copyright{position:absolute;right:9px;bottom:8px;z-index:8;display:inline-block;max-width:calc(100% - 18px);padding:4px 7px;border-radius:6px;background:rgba(8,13,10,.66);color:rgba(255,255,255,.88);font-size:10px!important;line-height:1.25!important;font-weight:500!important;letter-spacing:.01em!important;text-align:right;pointer-events:none;backdrop-filter:blur(2px)}
.album-placeholder>.image-copyright,.story-photo-placeholder>.image-copyright,.biography-overlay-photo>.image-copyright{opacity:1!important}
@media(max-width:700px){.image-copyright{right:7px;bottom:6px;font-size:9px!important;padding:3px 6px}}


/* Navigation: Sprungziele immer unterhalb der festen Kopfzeile */
#musik,#videos,#termine,#story,#booking,
[data-home-section]{scroll-margin-top:110px !important;}
@media(max-width:980px){
  #musik,#videos,#termine,#story,#booking,
  [data-home-section]{scroll-margin-top:96px !important;}
}
@media(max-width:480px){
  #musik,#videos,#termine,#story,#booking,
  [data-home-section]{scroll-margin-top:84px !important;}
}


/* Verhindert kurzes Aufblitzen der statischen Platzhaltertexte beim Laden */
.site-loading .hero,
.site-loading main{
  visibility:hidden;
  opacity:0;
}
body:not(.site-loading) .hero,
body:not(.site-loading) main{
  visibility:visible;
  opacity:1;
}


/* =========================================================
   Browserübergreifende Vereinheitlichung
   Chrome · Edge · Firefox · Safari
   ========================================================= */

*, *::before, *::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
  font-synthesis: none;
}

body {
  margin: 0;
  min-width: 320px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body,
button,
input,
textarea,
select {
  font-family: Arial, Helvetica, "Helvetica Neue", sans-serif;
}

button,
input,
select,
textarea {
  margin: 0;
  font: inherit;
  color: inherit;
}

button,
[type="button"],
[type="submit"],
[type="reset"] {
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
}

input,
textarea,
select {
  -webkit-appearance: none;
  appearance: none;
}

input[type="checkbox"],
input[type="radio"] {
  -webkit-appearance: auto;
  appearance: auto;
}

textarea {
  resize: vertical;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

img,
svg,
video,
canvas,
audio {
  display: block;
  max-width: 100%;
}

img {
  height: auto;
}

picture {
  display: block;
}

a {
  color: inherit;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

h1, h2, h3, h4, h5, h6,
p {
  margin-top: 0;
}

button,
input,
select,
textarea,
a {
  outline-offset: 3px;
}

/* Safari/Chrome verhindern zusätzliche Rundungen */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="password"],
input[type="number"],
textarea,
select {
  border-radius: 0;
  background-clip: padding-box;
}

/* Einheitliche native Select-Pfeile ausblenden, sofern eigener Stil greift */
select {
  background-image: none;
}

/* Firefox */
button::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/* Safari: flex children dürfen nicht ungewollt überlaufen */
.site-header *,
.hero *,
section *,
footer * {
  min-width: 0;
}

/* Einheitliche Form-Höhen */
input:not([type="checkbox"]):not([type="radio"]),
select,
button {
  min-height: 42px;
}

textarea {
  min-height: 120px;
}

/* Verhindert iOS-Zoom in Formularfeldern */
@media (max-width: 768px) {
  input,
  select,
  textarea,
  button {
    font-size: 16px;
  }
}

/* Einheitliche Bilddarstellung */
.hero img,
.cms-image img,
.album-placeholder img,
.story-photo-placeholder img,
.biography-overlay-photo img,
.booking-extra-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Safari-Flexbox */
.site-header,
.header-inner,
.hero-inner,
.footer-inner,
.quick-strip,
.booking-options,
.calendar-row {
  -webkit-box-align: center;
}

/* Keine browserabhängigen Standardabstände bei Details/Summary */
details,
summary {
  box-sizing: border-box;
}

summary {
  list-style: none;
}

summary::-webkit-details-marker {
  display: none;
}

/* Einheitliches Scrollen unter fixer Navigation */
[id] {
  scroll-margin-top: 100px;
}

/* Reduce motion respektieren */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}


/* Navigation: Desktop-Menüpunkte niemals innerhalb des Textes umbrechen */
@media (min-width: 981px) {
  .site-header .main-nav,
  .site-header nav {
    display: flex;
    align-items: center;
    flex-wrap: nowrap !important;
    gap: clamp(14px, 1.6vw, 28px);
    min-width: 0;
  }

  .site-header .main-nav a,
  .site-header nav a {
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    flex: 0 0 auto;
    line-height: 1.15;
  }

  .site-header .header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(18px, 2vw, 34px);
    min-width: 0;
  }

  .site-header .brand {
    flex: 0 1 auto;
    min-width: 220px;
  }

  .site-header .main-nav,
  .site-header nav {
    flex: 0 1 auto;
    justify-content: flex-end;
  }
}

/* Auf kleineren Desktop-/Laptopbreiten Navigation etwas kompakter,
   bevor auf das mobile Menü gewechselt wird. */
@media (min-width: 981px) and (max-width: 1280px) {
  .site-header .main-nav,
  .site-header nav {
    gap: 12px;
  }

  .site-header .main-nav a,
  .site-header nav a {
    font-size: clamp(13px, 1.08vw, 15px) !important;
  }

  .site-header .brand-main {
    font-size: clamp(24px, 2.1vw, 31px) !important;
  }

  .site-header .brand-sub {
    font-size: clamp(9px, .9vw, 12px) !important;
  }
}

/* Sehr schmale Desktop-Fenster: mobile Navigation früher einschalten,
   damit kein Menüpunkt gequetscht oder umgebrochen wird. */
@media (min-width: 981px) and (max-width: 1080px) {
  .site-header .desktop-nav,
  .site-header .main-nav {
    gap: 9px;
  }
}


/* Brand-Unterzeile auf Desktop in einer Zeile halten */
@media (min-width: 981px) {
  .brand-sub,
  .site-header .brand-sub,
  .site-header .logo-subline,
  .site-header .tagline {
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    display: block;
    font-size: clamp(11px, 0.95vw, 17px) !important;
    line-height: 1.15 !important;
    letter-spacing: 0.04em;
    max-width: none !important;
  }

  .site-header .brand,
  .site-header .logo,
  .site-header .site-branding {
    min-width: 420px !important;
    flex: 0 0 auto !important;
  }
}

@media (min-width: 981px) and (max-width: 1280px) {
  .brand-sub,
  .site-header .brand-sub,
  .site-header .logo-subline,
  .site-header .tagline {
    font-size: clamp(10px, 0.9vw, 14px) !important;
  }

  .site-header .brand,
  .site-header .logo,
  .site-header .site-branding {
    min-width: 360px !important;
  }
}


/* Kopfzeile final: keine Überlappung zwischen Unterzeile und Navigation */
@media (min-width: 1281px) {
  .site-header .header-inner {
    display: grid !important;
    grid-template-columns: max-content minmax(0,1fr) !important;
    align-items: center !important;
    column-gap: clamp(24px,3vw,52px) !important;
  }

  .site-header .brand {
    min-width: 0 !important;
    width: max-content !important;
    max-width: none !important;
    flex: none !important;
  }

  .site-header .brand-sub {
    white-space: nowrap !important;
    max-width: none !important;
    font-size: clamp(10px,.78vw,13px) !important;
    letter-spacing: .12em !important;
  }

  .site-header .main-nav {
    min-width: 0 !important;
    display: flex !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: clamp(12px,1.25vw,24px) !important;
  }

  .site-header .main-nav a {
    white-space: nowrap !important;
    flex: 0 0 auto !important;
    font-size: clamp(12px,.92vw,15px) !important;
  }
}

/* Auf kleineren Desktops/Laptops früher ins Hamburger-Menü wechseln.
   So können Logo-Unterzeile und Navigation niemals kollidieren. */
@media (max-width: 1280px) {
  .site-header .header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
  }

  .site-header .brand {
    min-width: 0 !important;
    width: auto !important;
    max-width: calc(100% - 72px) !important;
    flex: 0 1 auto !important;
  }

  .site-header .brand-sub {
    white-space: nowrap !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    font-size: clamp(9px,1.05vw,13px) !important;
    letter-spacing: .08em !important;
  }

  .site-header .menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
  }

  .site-header .main-nav {
    position: absolute !important;
    top: 82px !important;
    left: 0 !important;
    right: 0 !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 10px 28px 18px !important;
    background: #101812 !important;
  }

  .site-header .main-nav.open {
    display: flex !important;
  }

  .site-header .main-nav a {
    white-space: nowrap !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    font-size: 16px !important;
  }

  .site-header .main-nav .nav-cta {
    margin-top: 8px !important;
    text-align: center !important;
  }
}


/* SEO-Landingpages */
.landing-page{background:var(--page-bg,#ecebe5);color:#172019}
.landing-hero{position:relative;min-height:620px;display:flex;align-items:flex-end;overflow:hidden;background:#172019;color:#fff}
.landing-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.landing-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,18,14,.18) 0%,rgba(12,18,14,.55) 58%,rgba(12,18,14,.92) 100%)}
.landing-hero-content{position:relative;z-index:2;padding-top:180px;padding-bottom:76px;max-width:900px;margin-left:auto;margin-right:auto}
.landing-hero-content h1{font-size:clamp(46px,6vw,82px);line-height:.96;letter-spacing:-.045em;margin:12px 0 22px;max-width:980px}
.landing-hero-content>p{font-size:clamp(18px,2vw,24px);line-height:1.5;max-width:820px;color:rgba(255,255,255,.88);margin-bottom:30px}
.landing-section{padding:84px 0;border-bottom:1px solid rgba(23,32,25,.08)}
.landing-section:nth-of-type(even){background:rgba(255,255,255,.34)}
.landing-copy{max-width:920px}
.landing-copy h2,.landing-related h2,.landing-cta h2{font-size:clamp(32px,4vw,52px);line-height:1.05;letter-spacing:-.03em;margin:10px 0 24px}
.landing-copy p{font-size:18px;line-height:1.75;color:#4e5951;margin:0 0 18px}
.landing-related{padding:76px 0;background:#e5e4de}
.landing-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}
.landing-related-grid a{display:flex;align-items:flex-end;min-height:150px;padding:24px;border:1px solid rgba(23,32,25,.13);border-radius:18px;background:#f7f5ef;color:#172019;text-decoration:none;font-size:20px;font-weight:800;line-height:1.15;transition:transform .2s ease,box-shadow .2s ease}
.landing-related-grid a:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(17,24,18,.09)}
.landing-cta{padding:88px 0;background:#142018;color:#fff;text-align:center}
.landing-cta .page-width{max-width:900px}
.landing-cta p{max-width:760px;margin:0 auto 28px;color:rgba(255,255,255,.78);font-size:18px;line-height:1.65}
.footer-topic-links{grid-column:1/-1;display:flex;gap:16px;flex-wrap:wrap;justify-content:center;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}
.footer-topic-links a{font-size:12px!important;opacity:.78}
@media(max-width:1280px){.landing-page~.site-footer{} }
@media(max-width:800px){.landing-hero{min-height:560px}.landing-hero-content{padding-top:140px;padding-bottom:54px}.landing-section{padding:58px 0}.landing-related{padding:58px 0}.landing-related-grid{grid-template-columns:1fr}.landing-copy p{font-size:17px}}


/* Kontaktformular CAPTCHA */
.captcha-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 16px;
  border:1px solid rgba(24,32,27,.18);
  border-radius:12px;
  background:rgba(255,255,255,.55);
}
.captcha-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.captcha-copy strong{font-size:13px}
.captcha-copy span{font-size:15px;font-weight:800}
.captcha-input-wrap{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.captcha-input-wrap input{width:84px!important;min-width:84px;text-align:center;font-weight:800}
.captcha-refresh{
  min-height:42px;
  padding:0 13px;
  border:1px solid rgba(24,32,27,.28);
  border-radius:9px!important;
  background:transparent;
  cursor:pointer;
  font-weight:800;
}
@media(max-width:620px){
  .captcha-box{align-items:flex-start;flex-direction:column}
  .captcha-input-wrap{width:100%}
  .captcha-input-wrap input{flex:1;width:auto!important}
}

/* Navigation zum Veranstaltungsort */
.event-sheet-actions{flex-wrap:wrap}
.event-sheet-actions .event-sheet-nav{
  background:transparent;
  color:#18231c;
  border:1px solid rgba(24,35,28,.28);
}
.event-sheet-actions .event-sheet-nav:hover{
  background:#18231c;
  color:#fff;
}
