:root{
  --bg:#050506;
  --panel:#151519;
  --muted:#b9b9bf;
  --text:#f4f4f6;
  --accent:#b60018;
  --line:#2c2c31;
  --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:radial-gradient(circle at top,#25252b 0,#0b0b0d 42%,#050506 100%);color:var(--text);line-height:1.55}
a{color:inherit}
.site-header{position:sticky;top:0;z-index:50;background:rgba(5,5,6,.92);border-bottom:1px solid var(--line)}
.topbar{max-width:var(--max);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 20px}
.brand{display:flex;align-items:center;gap:14px;color:var(--text);text-decoration:none}.brand img{height:64px;width:auto}.brand span{font-weight:700;letter-spacing:.03em}.nav-toggle{display:none;background:transparent;border:1px solid var(--line);color:var(--text);padding:8px 10px;border-radius:6px;cursor:pointer}.nav ul{display:flex;gap:6px;align-items:center;list-style:none;margin:0;padding:0}.nav li{position:relative}.nav a{display:block;color:var(--text);text-decoration:none;padding:10px 12px;border-radius:6px}.nav a:hover,.nav a.active{background:var(--accent)}.nav li ul{display:none;position:absolute;top:100%;left:0;background:#101014;border:1px solid var(--line);min-width:170px;padding:6px;border-radius:8px}.nav li:hover ul{display:block}.hero{border-bottom:1px solid var(--line);background:linear-gradient(135deg,rgba(182,0,24,.28),rgba(0,0,0,.25))}.hero-inner{max-width:var(--max);margin:auto;padding:64px 20px 48px;display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}.hero h1{font-size:clamp(34px,6vw,70px);line-height:.95;margin:0 0 12px}.hero .kicker{color:#fff;text-transform:uppercase;letter-spacing:.14em;font-size:.85rem}.hero p{color:var(--muted);font-size:1.1rem}.hero img{width:100%;height:auto;border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.5)}
main{max-width:var(--max);margin:auto;padding:36px 20px}.section{background:rgba(21,21,25,.86);border:1px solid var(--line);border-radius:14px;padding:28px;margin:0 0 24px;box-shadow:0 8px 24px rgba(0,0,0,.22)}h1,h2,h3{line-height:1.18}h2{font-size:clamp(26px,4vw,42px);margin:0 0 18px}h3{font-size:1.35rem;margin:22px 0 10px}.lead{font-size:1.1rem;color:#e6e6e6}.grid{display:grid;gap:22px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:#101014;border:1px solid var(--line);border-radius:12px;overflow:hidden}.card .body{padding:18px}.card img{width:100%;display:block;height:auto}.person img{aspect-ratio:4/5;object-fit:cover}.wide-img{width:100%;height:auto;border-radius:12px}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.gallery a{display:block;background:#111;border:1px solid var(--line);border-radius:10px;overflow:hidden}.gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .2s}.gallery img:hover{transform:scale(1.03)}.tour-list{display:grid;gap:12px}.tour-item{display:grid;grid-template-columns:150px 120px 1fr;gap:16px;background:#101014;border:1px solid var(--line);border-radius:10px;padding:14px}.date{font-weight:700;color:#fff}.time{color:var(--muted)}.button{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;padding:11px 16px;border-radius:7px;border:0;cursor:pointer}.button.secondary{background:#292933}.note{color:var(--muted);font-size:.95rem}.sponsor{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.sponsor img{background:#fff;border-radius:4px;padding:4px;max-height:72px}.social{display:flex;gap:12px;align-items:center}.social img{width:32px;height:32px;object-fit:contain}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}label{display:grid;gap:6px;color:var(--muted)}input,textarea{width:100%;padding:11px 12px;border-radius:7px;border:1px solid var(--line);background:#0b0b0d;color:var(--text)}textarea{min-height:130px}.full{grid-column:1/-1}.site-footer{position:relative;z-index:10;border-top:1px solid var(--line);background:#050506;margin-top:40px}.footer-inner{max-width:var(--max);margin:auto;padding:24px 20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--muted)}.footer-inner a{color:var(--text);text-decoration:none;margin-left:12px}.legal{max-width:900px}.legal p,.legal li{color:#ddd}.cookie-note{background:#101014;border:1px solid var(--line);border-radius:10px;padding:14px;margin-top:20px;color:var(--muted)}.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:24px}.video-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:16px}.video-card h3{margin-top:0}.video-frame{position:relative;aspect-ratio:16/9;background:#111;border-radius:8px;overflow:hidden}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.guestbook-archive{display:grid;gap:18px;margin-top:24px}.guestbook-entry{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:18px}.guestbook-entry h3{margin:0 0 6px}.guestbook-entry .meta{opacity:.78;font-size:.95rem;margin-bottom:10px}.guestbook-entry p{margin:.35rem 0}.archive-note{border-left:4px solid currentColor;padding:12px 16px;background:rgba(255,255,255,.05);margin:18px 0;border-radius:8px}

/* Startseite: sauber neu aufgebaut, ohne alte Joomla-Scripte */
body.home{background:#000;color:#fff}.home-hero{height:100svh;min-height:720px;position:relative;overflow:hidden;background:#000 url('../img/hero_artist.jpg') no-repeat fixed;background-size:auto 100vh;background-position:42% center}.home-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:30vh;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.82));pointer-events:none}.home-hero-copy{position:absolute;z-index:2;left:61.5vw;top:61%;transform:translateY(-50%);width:min(26vw,390px);text-align:center;text-transform:uppercase;text-shadow:0 2px 16px rgba(0,0,0,.85)}.home-hero-copy h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(26px,2.3vw,40px);line-height:1;margin:0 0 16px;color:#fff}.home-hero-copy p{font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:clamp(11px,.95vw,16px);margin:0 0 18px;color:#fff}.home-hero-logo{width:min(100%,360px);height:auto;display:block;margin:0 auto 22px;filter:drop-shadow(0 0 14px rgba(255,255,255,.58))}.home-hero-social{display:flex;justify-content:center;gap:22px;align-items:center}.home-hero-social img{width:22px;height:22px;object-fit:contain;filter:grayscale(1) brightness(1.8)}.home-scroll-arrow{position:absolute;z-index:3;left:50%;top:82%;width:34px;height:34px;transform:translateX(-50%) rotate(45deg);border-right:2px solid rgba(255,255,255,.78);border-bottom:2px solid rgba(255,255,255,.78);animation:homeArrow 1.6s ease-in-out infinite}.home-scroll-arrow:focus{outline:2px solid #fff;outline-offset:8px}@keyframes homeArrow{0%,100%{margin-top:-4px;opacity:.55}50%{margin-top:7px;opacity:1}}
.home .site-header.home-header{position:sticky;top:0;z-index:60;margin-top:-96px;background:rgba(0,0,0,.66);backdrop-filter:none;border:0}.home .home-header .topbar{max-width:1180px;min-height:96px;align-items:center;padding:16px 20px}.home-wordmark{display:grid;gap:0;color:rgba(255,255,255,.55);text-decoration:none;text-transform:uppercase;min-width:330px}.home-wordmark strong{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,3.1vw,48px);line-height:.9;font-weight:700;letter-spacing:.02em}.home-wordmark small{font-size:12px;letter-spacing:.15em;color:rgba(255,255,255,.48);margin-left:4px}.home .home-header .nav a{font-family:Georgia,'Times New Roman',serif;text-transform:uppercase;font-weight:700;font-size:clamp(14px,1.05vw,18px);color:rgba(255,255,255,.74);padding:9px 10px;text-shadow:0 2px 10px #000}.home .home-header .nav a:hover,.home .home-header .nav a.active{background:transparent;color:#fff;text-shadow:0 0 7px #b60018,0 0 14px #b60018}.home .home-header .nav li ul{background:rgba(0,0,0,.9);border-color:rgba(255,255,255,.12)}.home main{position:relative;z-index:10;max-width:var(--max);background:#000;padding-top:126px;scroll-margin-top:120px}

@media(max-width:1050px){.home-hero{background-position:38% center}.home-hero-copy{left:auto;right:5vw;width:34vw}.home-wordmark{min-width:260px}.home .home-header .nav a{font-size:14px;padding:8px 7px}}
@media(max-width:850px){.hero-inner,.grid.two,.grid.three,.form-grid{grid-template-columns:1fr}.tour-item{grid-template-columns:1fr}.brand img{height:48px}.nav-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:100%;background:#080809;border-bottom:1px solid var(--line);padding:10px 20px}.nav.open{display:block}.nav ul{display:block}.nav li ul{display:block;position:static;border:0;background:transparent;padding-left:16px}.nav a{padding:9px 0}.topbar{position:relative}.hero-inner{padding-top:38px}
  .home-hero{height:100svh;min-height:650px;background-attachment:scroll;background-size:auto 72svh;background-position:50% top}.home-hero::after{height:48svh;background:linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,.38) 28%,rgba(0,0,0,.94) 76%,#000 100%)}.home-hero-copy{left:50%;right:auto;top:auto;bottom:82px;width:min(88vw,340px);transform:translateX(-50%);background:transparent;padding:0;border-radius:0}.home-hero-copy h1{font-size:clamp(24px,7vw,32px);margin-bottom:10px}.home-hero-copy p{font-size:clamp(10px,3.2vw,13px);margin-bottom:10px}.home-hero-logo{width:min(72vw,260px);margin-bottom:12px}.home-hero-social{gap:18px}.home-hero-social img{width:20px;height:20px}.home-scroll-arrow{top:auto;bottom:34px;width:28px;height:28px}.home .site-header.home-header{margin-top:0;background:rgba(5,5,6,.94);border-bottom:1px solid var(--line)}.home .home-header .topbar{min-height:0}.home-wordmark{min-width:0}.home-wordmark strong{font-size:24px}.home-wordmark small{font-size:10px}.home main{padding-top:36px}.home .home-header .nav a{text-shadow:none}.home .home-header .nav a.active{text-shadow:0 0 8px #b60018}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.home-scroll-arrow{animation:none}}

/* Lokale Audioplayer */
.audio-grid{align-items:stretch}
.audio-card h3{margin-top:0}
.audio-card audio{width:100%;margin:8px 0 4px;display:block}
.audio-card .note a{color:#fff;text-decoration:underline;text-underline-offset:3px}

/* Video-Seite */
.video-card .note a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.video-card .note{margin:.35rem 0 .75rem}
.video-frame iframe{background:#000}


/* Galerie Lightbox */
.gallery-index{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}.gallery-index a{display:inline-block;text-decoration:none;border:1px solid var(--line);background:#101014;color:#fff;border-radius:999px;padding:7px 12px;font-size:.92rem}.gallery-index a:hover{background:var(--accent)}.gallery-group{margin-top:34px}.gallery-group h3{border-bottom:1px solid var(--line);padding-bottom:8px}.gallery-lightbox-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.gallery-item{display:block;width:100%;text-align:left;background:#111;border:1px solid var(--line);border-radius:10px;overflow:hidden;color:#fff;padding:0;cursor:pointer;font:inherit}.gallery-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .22s ease,filter .22s ease}.gallery-item:hover img{transform:scale(1.035);filter:brightness(1.08)}.gallery-item span{display:block;padding:9px 10px;color:var(--muted);font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lightbox{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:56px 70px}.lightbox.open{display:flex}.lightbox figure{margin:0;max-width:min(1180px,100%);max-height:100%;display:grid;gap:12px;justify-items:center}.lightbox img{display:block;max-width:100%;max-height:calc(100svh - 145px);object-fit:contain;border-radius:8px;box-shadow:0 20px 50px rgba(0,0,0,.65)}.lightbox figcaption{color:#ddd;text-align:center;font-size:.95rem}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;background:rgba(20,20,24,.78);border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:999px;cursor:pointer}.lightbox-close{top:18px;right:22px;width:44px;height:44px;font-size:32px;line-height:1}.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:44px;line-height:.8}.lightbox-prev{left:18px}.lightbox-next{right:18px}.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{background:var(--accent)}body.lightbox-lock{overflow:hidden}@media(max-width:700px){.gallery-lightbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-index a{font-size:.84rem}.gallery-item span{font-size:.78rem;padding:7px 8px}.lightbox{padding:54px 12px 42px}.lightbox-prev,.lightbox-next{top:auto;bottom:10px;transform:none;width:46px;height:46px;font-size:38px}.lightbox-prev{left:calc(50% - 58px)}.lightbox-next{right:calc(50% - 58px)}.lightbox-close{top:12px;right:12px}.lightbox img{max-height:calc(100svh - 135px)}}

/* v13: Galerie-Performance */
.gallery-item img{background:#121216}
.gallery-item[data-full^="https://"] img{filter:saturate(.75) brightness(.9)}
.gallery-item[data-full^="https://"]:hover img{filter:saturate(.85) brightness(1.02)}
.gallery-perf-note{font-size:.9rem;color:var(--muted)}
