:root {
  --ink:#101d2a; --cream:#d6ac57; --cream-light:#faf7f0;
  --gold:#d6ac57; --rust:#8f3038; --line:rgba(16,29,42,.24);
}
html{overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:75px}
body{overflow-x:clip;margin:0;color:var(--ink);background:var(--cream-light);font-family:Arial,Helvetica,sans-serif;line-height:1.65}
.container{max-width:1200px}
.skip-link{position:fixed;z-index:1100;top:.75rem;left:.75rem;padding:.7rem 1rem;color:var(--ink);background:var(--gold);font-weight:700;text-decoration:none;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0);outline:3px solid var(--cream-light);outline-offset:2px}

/* Navigation und Bedienelemente */
.site-nav{min-height:70px;background:rgba(16,29,42,.97);border-bottom:1px solid var(--gold)}
.navbar-brand{color:#fff;font-family:'American Typewriter','Courier New',monospace;font-size:1.16rem;font-weight:700;letter-spacing:-.025em}
.navbar-brand span{margin-right:.12em;font:inherit;font-weight:400}
.navbar-nav .nav-link{color:rgba(255,255,255,.76);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.navbar-nav .nav-link:hover,.navbar-nav .nav-link:focus{color:var(--gold)}
.btn{border-width:1px;border-radius:0!important;font-family:Arial,Helvetica,sans-serif;font-weight:800;letter-spacing:.08em;text-transform:uppercase;box-shadow:none;transition:none}
.btn:hover,.btn:focus{transform:none;box-shadow:inset 0 0 0 1px currentColor}
.btn-gold{color:var(--ink);background:var(--gold);border-color:var(--gold)}
.btn-gold:hover,.btn-gold:focus{color:#fff;background:var(--rust);border-color:var(--rust)}

/* Titelbereich */
.hero{position:relative;display:flex;min-height:100svh;overflow:hidden;padding:94px 0 80px;color:var(--ink);background:var(--cream-light);border-bottom:2px solid var(--gold)}
.hero::after{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,29,42,.48) 0,rgba(16,29,42,.08) 34%,rgba(16,29,42,.04) 68%,rgba(16,29,42,.52) 100%);content:'';pointer-events:none}
.hero-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%}
.hero>.container{position:relative;z-index:1;display:flex;align-items:flex-start}
.hero .row{width:100%}
.hero-copy{position:static;width:100%;margin:0;padding:0;background:transparent;border:0;box-shadow:none;text-align:center}
.hero-copy::before{position:absolute;z-index:0;top:76px;left:50%;width:min(720px,92vw);height:145px;background:radial-gradient(ellipse at center,rgba(16,29,42,.34) 0,rgba(16,29,42,.2) 42%,transparent 74%);content:'';transform:translateX(-50%);pointer-events:none}
.hero h1{position:relative;z-index:1;display:flex;flex-flow:row nowrap;align-items:baseline;justify-content:center;gap:.14em;margin-bottom:.05rem;color:var(--cream-light);font-family:'American Typewriter','Courier New',monospace;font-size:clamp(3rem,7vw,6rem);font-weight:400;line-height:.94;letter-spacing:-.045em;text-shadow:0 2px 6px rgba(16,29,42,.9)}
.hero h1 br{display:none}
.hero h1 em{position:relative;display:inline-block;padding-bottom:.18em;color:inherit;font:inherit;font-style:normal}
.hero h1 em::after{display:none}
.hero .kicker{position:relative;z-index:1;margin:0;padding:.25rem 0 0;color:var(--cream-light);background:transparent;font-size:.82rem;font-weight:800;line-height:1.2;letter-spacing:.14em;text-shadow:0 2px 5px rgba(16,29,42,.95);text-transform:uppercase}
.hero .kicker::before{display:none}
.hero-actions{position:absolute;bottom:-48px;left:calc(var(--bs-gutter-x) * .5)}
.hero-copy .btn{font-size:.9rem;letter-spacing:.06em}
.hero .btn-outline-light{color:var(--cream-light);background:rgba(16,29,42,.9);border-color:var(--cream-light);text-shadow:none}
.hero .btn-outline-light:hover,.hero .btn-outline-light:focus{color:var(--cream-light);background:var(--ink)}

/* Gemeinsame Abschnittstypografie */
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.045em}
h2{font-size:clamp(3rem,6.5vw,6rem);line-height:.9}
h3{font-size:clamp(1.9rem,3.2vw,3.1rem);line-height:1}
h2 em{color:var(--gold);font-weight:400}
.section-space{padding:110px 0;border-bottom:1px solid var(--line)}
.section-head{position:relative;margin-bottom:3.5rem;padding-top:1.5rem}
.section-head::after{position:absolute;top:0;right:0;left:0;height:2px;background:repeating-linear-gradient(90deg,var(--ink) 0 34px,transparent 34px 42px,var(--gold) 42px 48px,transparent 48px 58px);content:''}
.section-head h2::before,.music-section h2::before,.contact-section h2::before{display:block;width:max-content;margin-bottom:1rem;padding:.45rem .7rem;border:1px solid var(--ink);background:var(--gold);box-shadow:3px 3px 0 var(--ink);font-family:'American Typewriter','Courier New',monospace;font-size:.76rem;font-weight:700;line-height:1;letter-spacing:.1em;text-transform:uppercase;transform:rotate(-.6deg)}
.music-section h2::before,.contact-section h2::before{color:var(--ink)}
.gallery-section .section-head h2::before{color:var(--cream-light);background:var(--rust);border-color:var(--gold);box-shadow:3px 3px 0 var(--gold)}
html[lang=de] .intro .section-head h2::before{content:'AKTE 01 · BAND'}
html[lang=de] .staff-section .section-head h2::before{content:'AKTE 02 · PERSONAL'}
html[lang=de] .music-section h2::before{content:'AKTE 03 · MUSIK'}
html[lang=de] .gallery-section .section-head h2::before{content:'AKTE 04 · LIVE'}
html[lang=de] .references .section-head h2::before{content:'AKTE 05 · REFERENZEN'}
html[lang=de] .contact-section h2::before{content:'AKTE 06 · BUCHUNG'}
html[lang=en] .intro .section-head h2::before{content:'FILE 01 · BAND'}
html[lang=en] .staff-section .section-head h2::before{content:'FILE 02 · STAFF'}
html[lang=en] .music-section h2::before{content:'FILE 03 · MUSIC'}
html[lang=en] .gallery-section .section-head h2::before{content:'FILE 04 · LIVE'}
html[lang=en] .references .section-head h2::before{content:'FILE 05 · REFERENCES'}
html[lang=en] .contact-section h2::before{content:'FILE 06 · BOOKING'}

/* Band und Besetzung */
html[lang=de] .news-section .section-head h2::before{content:'NEWS · TERMINE'}
html[lang=en] .news-section .section-head h2::before{content:'NEWS · DATES'}
.news-section h2 em{color:var(--rust);overflow-wrap:anywhere}
.news-notice{max-width:760px;padding:1.5rem;border:1px solid var(--line);border-left:4px solid var(--gold);background:#fff}
.news-notice p{margin:0}
@keyframes swing-stripe{to{background-position:96px 0}}
.intro{padding-top:0;background-color:var(--cream-light);background-image:repeating-linear-gradient(0deg,transparent 0 31px,rgba(16,29,42,.035) 31px 32px)}
.intro.section-space{padding-top:0}
.intro::before{display:block;overflow:hidden;margin-bottom:110px;padding:.75rem 2vw;color:var(--cream-light);background-color:var(--rust);background-image:repeating-linear-gradient(120deg,transparent 0 28px,rgba(214,172,87,.16) 28px 31px);background-position:0 0;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);font-family:Georgia,'Times New Roman',serif;font-size:clamp(1rem,1.8vw,1.45rem);font-weight:700;line-height:1.2;letter-spacing:.12em;text-align:center;white-space:nowrap;content:'SWING  ★  JAZZ  ★  GROOVE  ★  NEW ORLEANS  ★  PARTY  ★  DANCE';animation:swing-stripe 18s linear infinite}
.display-copy{font:400 clamp(1.7rem,3.2vw,3rem)/1.25 Georgia,'Times New Roman',serif}
.staff-section{background:#fbf4e7}
.staff-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.staff-grid article{position:relative;grid-column:span 2;min-height:210px;padding:1.4rem;background:var(--cream-light);border:1px solid var(--line);box-shadow:4px 4px 0 rgba(16,29,42,.13)}
.staff-grid article:nth-child(4){grid-column:2/span 2}.staff-grid article:nth-child(5){grid-column:4/span 2}
.staff-number{display:block;margin-bottom:2rem;color:var(--rust);font:700 .75rem/1 'American Typewriter','Courier New',monospace;letter-spacing:.12em}
.staff-grid h3{margin-bottom:.65rem;font-size:clamp(1.55rem,2.4vw,2.25rem)}
.staff-grid h3 a,.guest-list a{color:inherit;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:.18em}
.guest-list a{text-decoration:none}
.staff-grid h3 a:hover,.staff-grid h3 a:focus,.guest-list a:hover,.guest-list a:focus{color:var(--rust)}
.staff-grid p{margin:0;color:rgba(16,29,42,.72);font-size:.88rem;font-weight:700;letter-spacing:.035em;text-transform:uppercase}
.guest-list{display:grid;grid-template-columns:1fr 3fr;gap:2rem;margin-top:3.5rem;padding-top:2rem;border-top:2px solid var(--ink)}
.guest-list h3{margin:0;color:var(--rust);font-family:'American Typewriter','Courier New',monospace;font-size:1.25rem;letter-spacing:.08em;text-transform:uppercase}
.guest-list ul{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem 1rem;margin:0;padding:0;list-style:none}
.guest-list li{font-family:Georgia,'Times New Roman',serif;font-weight:700;line-height:1.25}
.guest-list li span{display:block;margin-top:.4rem;color:rgba(16,29,42,.64);font-family:Arial,Helvetica,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.music-section h2 em,.references h2 em{color:var(--rust)}
.image-frame{position:relative;overflow:hidden;background:var(--ink);border:1px solid var(--ink);box-shadow:10px 10px 0 rgba(143,48,56,.76)}
.image-frame::after{position:absolute;top:12px;right:12px;width:34px;height:34px;border-top:3px solid var(--gold);border-right:3px solid var(--gold);content:'';pointer-events:none}
.image-frame img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.image-frame:hover img{transform:scale(1.025)}
.landscape{height:500px}

/* Musik und Galerie */
.music-section{color:#fff;background:var(--rust)}
.music-section .image-frame{box-shadow:10px 10px 0 var(--gold)}
.music-section .image-frame::after{border-color:var(--cream-light)}
.gallery-section{color:#fff;background:var(--ink)}
.gallery-section .section-head::after{background:repeating-linear-gradient(90deg,var(--gold) 0 34px,transparent 34px 42px,var(--rust) 42px 48px,transparent 48px 58px)}
.media-subsection>h3{margin:0 0 1.25rem;color:var(--gold);font-family:'American Typewriter','Courier New',monospace;font-size:1.15rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.video-subsection{margin-top:4.5rem}
.video-grid{display:grid;grid-template-columns:minmax(0,860px);justify-content:center}
.video-preview{margin:0;padding:0 0 1.25rem;border:1px solid var(--gold);background:rgba(255,255,255,.035)}
.video-preview video{display:block;width:100%;aspect-ratio:16/9;background:#000;object-fit:cover}
.video-preview>p{margin:.7rem 1.25rem 0;color:rgba(255,255,255,.72)}
.video-preview>.video-kicker{margin:1.1rem 1.25rem 0;color:var(--cream-light);font:700 .76rem/1.2 'American Typewriter','Courier New',monospace;letter-spacing:.12em;text-transform:uppercase}
.photo-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-auto-rows:270px;gap:6px;padding:6px;background:var(--gold)}
.photo-grid figure{overflow:hidden;margin:0}
.photo-grid figure:nth-child(2),.photo-grid figure:nth-child(5){outline:3px solid var(--rust);outline-offset:-3px}
.photo-grid .photo-tall{grid-row:span 2}
.photo-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.photo-grid figure:hover img{transform:scale(1.035)}

/* Referenzen und Kontakt */
.references{background:var(--cream-light)}
.reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.reference-grid a{color:inherit;text-decoration:underline;text-underline-offset:.2em}
.reference-grid a:hover{text-decoration-thickness:2px}
.reference-grid a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.reference-grid span{padding:1rem;background:#fbf4e7;border:1px solid rgba(16,29,42,.3);box-shadow:3px 3px 0 rgba(16,29,42,.13);font-family:'American Typewriter','Courier New',monospace;font-size:.82rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.reference-grid span:nth-child(3n+2){background:rgba(214,172,87,.34)}
.reference-grid span:nth-child(3n){color:var(--cream-light);background:var(--rust)}
.reference-grid span:nth-child(5n+2){color:var(--rust)}
.more-references{margin-top:1.5rem;border-top:1px solid var(--line)}
.more-references summary{width:max-content;margin-top:1.5rem;padding:.65rem .85rem;color:var(--ink);background:var(--gold);border:1px solid var(--ink);font:700 .76rem/1 'American Typewriter','Courier New',monospace;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.more-references[open] summary{margin-bottom:1.5rem;color:var(--cream-light);background:var(--rust)}
.more-references summary:focus-visible{outline:3px solid var(--rust);outline-offset:3px}
.contact-section{color:#fff;background:var(--rust);border-top:0}
.contact-section h2 em{color:var(--gold)}
.contact-panel{position:relative;padding:2rem;border:1px solid var(--gold);box-shadow:10px 10px 0 var(--ink)}
.contact-panel::before{position:absolute;top:-17px;left:28px;padding:.25rem .8rem;color:var(--ink);background:var(--gold);border:1px solid var(--ink);font:700 .7rem/1 'American Typewriter','Courier New',monospace;letter-spacing:.08em;content:'JAZZBÜRO';transform:rotate(-1deg)}
.contact-list{display:grid;gap:.5rem;margin-top:2rem;color:rgba(255,255,255,.65)}
.contact-list strong{color:#fff}
footer{padding:1.8rem 0;color:var(--cream-light);background:var(--ink);border-top:0;font-size:.82rem}
footer a{color:inherit;text-decoration:none}

/* Rechtliche Unterseiten */
.legal-page{background:var(--cream-light)}
.legal-page .site-nav{position:static}
.legal-page .site-nav .nav-link{color:var(--cream-light);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.legal-content{max-width:900px;padding-top:90px;padding-bottom:100px}
.legal-content>h1{margin-bottom:1.5rem;color:var(--rust);font-family:'American Typewriter','Courier New',monospace;font-size:clamp(3rem,8vw,5.5rem);font-weight:400;line-height:1}
.legal-content>p{max-width:720px;font-size:1.05rem}
.legal-content section{margin-top:3.25rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.legal-content h2{margin-bottom:1rem;color:var(--ink);font-size:clamp(1.75rem,4vw,2.6rem);line-height:1.05}
.legal-content address{font-style:normal}
.legal-content a{color:var(--rust);font-weight:700}
.legal-kicker{margin-bottom:.75rem!important;color:var(--ink);font:.8rem/1.2 'American Typewriter','Courier New',monospace!important;font-weight:700!important;letter-spacing:.14em;text-transform:uppercase}
.legal-note{margin-top:4rem;color:rgba(16,29,42,.65);font-size:.85rem!important}
.legal-page footer a[aria-current=page]{color:var(--gold)}

/* Responsive Anpassungen */
@media(min-width:992px){.hero h1{font-size:clamp(3rem,4vw,3.65rem)}h2{font-size:clamp(3rem,4.5vw,4.1rem)}}
@media(max-width:991.98px){
  .site-nav .navbar-collapse{padding:1rem 0}.hero{min-height:650px;padding-bottom:58px}.intro{padding-top:0}
  .hero-background{object-position:58% center}.section-space{padding:80px 0}.landscape{height:400px}
  .photo-grid{grid-template-columns:1fr 1fr}.photo-grid .photo-tall{grid-row:auto}
  .staff-grid{grid-template-columns:1fr 1fr}.staff-grid article,.staff-grid article:nth-child(4),.staff-grid article:nth-child(5){grid-column:auto}.guest-list{grid-template-columns:1fr}.guest-list ul{grid-template-columns:repeat(2,1fr)}
  .reference-grid{grid-template-columns:1fr 1fr}.reference-grid span{color:var(--ink);background:transparent}
  .reference-grid span:nth-child(4n+2),.reference-grid span:nth-child(4n+3){background:rgba(214,172,87,.42)}.reference-grid span:nth-child(5n+2){color:var(--rust)}
}
@media(max-width:575.98px){
  .navbar-brand{font-size:1.05rem}.hero{padding-top:94px;padding-bottom:28px}.hero h1{font-size:clamp(2.65rem,11.8vw,3.35rem)}
  .hero .kicker{font-size:.72rem;letter-spacing:.13em}
  .hero-copy{margin-left:0}.hero-actions{right:calc(var(--bs-gutter-x) * .5);bottom:-12px;left:calc(var(--bs-gutter-x) * .5)}.hero-actions .btn{font-size:.78rem;padding-right:1rem!important;padding-left:1rem!important}
  .hero-background{object-position:58% center}.image-frame,.photo-grid{width:100vw;margin-right:calc(50% - 50vw);margin-left:calc(50% - 50vw)}
  .intro{padding-top:0}.intro::before{margin-bottom:65px;text-align:left}.section-space{padding:65px 0}
  .image-frame{border-right:0;border-left:0;box-shadow:0 7px 0 rgba(143,48,56,.72)}.landscape{height:390px}
  .reference-grid{grid-template-columns:1fr;gap:10px}
  .staff-grid{grid-template-columns:1fr}.staff-grid article{min-height:0}.guest-list ul{grid-template-columns:1fr}.guest-list li{padding-bottom:1rem;border-bottom:1px solid var(--line)}
  .photo-grid{grid-template-columns:1fr;grid-auto-rows:330px}.reference-grid span{padding-top:1.15rem;padding-bottom:1.15rem;background:transparent}
  .reference-grid span,.reference-grid span:nth-child(even),.reference-grid span:nth-child(5n+2){color:var(--ink);background:#fff;border-color:rgba(16,29,42,.18);border-left:3px solid var(--gold);box-shadow:none}
  .contact-panel{border-width:1px;box-shadow:7px 7px 0 var(--ink)}
  .legal-content{padding-top:65px;padding-bottom:75px}.legal-content section{margin-top:2.5rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.intro::before{animation:none}.image-frame img,.photo-grid img{transition:none}}
