:root {
  /* Direkt aus der bereitgestellten Oben-Ohne-Marke abgeleitet. */
  --orange:#ff6f00;
  --orange-soft:#ff9a54;
  --black:#000000;
  --charcoal:#151515;
  --paper:#ffffff;
  --ink:#171717;
  --muted:#9a9690;
  --line:rgba(255,255,255,.16);
  --max:1120px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:80px; }
body { margin:0; color:var(--paper); background:var(--black); font-family:Manrope,Arial,sans-serif; line-height:1.55; }
button,input,textarea { font:inherit; }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }
.container { width:min(var(--max),calc(100% - 48px)); margin-inline:auto; }
.skip-link { position:absolute; left:16px; top:-100px; z-index:100; padding:10px 14px; color:#000; background:#fff; } .skip-link:focus { top:16px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.site-header { position:sticky; top:0; z-index:20; background:rgba(8,8,8,.95); border-bottom:1px solid rgba(242,116,44,.38); backdrop-filter:blur(12px); }
.header-inner { width:min(var(--max),calc(100% - 48px)); min-height:76px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.brand { display:flex; align-items:center; gap:17px; font-family:"Barlow Condensed",sans-serif; font-size:27px; letter-spacing:.2px; white-space:nowrap; }
.brand strong,.footer-brand strong { color:var(--orange); font-weight:700; }.brand em { font-weight:600; }.brand img { width:54px; height:54px; object-fit:cover; object-position:center; }
nav { display:flex; height:76px; align-items:center; gap:30px; } nav a { position:relative; text-transform:uppercase; color:#f5f0e8; font-family:"Barlow Condensed",sans-serif; font-size:17px; font-weight:600; letter-spacing:.4px; } nav a::after { content:""; position:absolute; inset:auto 0 -10px; height:3px; background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform .2s; } nav a:hover::after,nav a.active::after { transform:scaleX(1); }
.menu-toggle { display:none; width:44px; height:42px; padding:8px; border:0; background:transparent; }.menu-toggle span:not(.sr-only) { display:block; height:2px; margin:5px 0; background:#fff; }
.hero { min-height:calc(100vh - 76px); position:relative; display:grid; align-items:center; overflow:hidden; isolation:isolate; background:linear-gradient(110deg,#070707 17%,rgba(7,7,7,.92) 46%,rgba(7,7,7,.2)); }
.hero::after { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at 87% 70%,rgba(242,116,44,.26),transparent 25%); }.hero-visual { position:absolute; inset:0; z-index:1; pointer-events:none; }.hero-mark { position:absolute; z-index:0; right:max(3vw,32px); top:23%; width:32vw; height:32vw; max-width:430px; max-height:430px; border:1px solid rgba(242,116,44,.23); border-radius:50%; }
.hero-mark::before,.hero-mark::after { content:""; position:absolute; inset:24px; border:1px solid rgba(242,116,44,.12); border-radius:50%; }.hero-mark::after { inset:59px; }
.hero-art { position:absolute; z-index:1; right:-2%; bottom:-2%; width:min(65vw,780px); max-height:88%; object-fit:contain; object-position:right bottom; filter:drop-shadow(0 24px 30px rgba(0,0,0,.45)); }.hero-content { position:relative; z-index:2; padding:106px 0; }.eyebrow { margin:0 0 14px; color:var(--orange-soft); font-family:"Barlow Condensed",sans-serif; font-size:17px; font-weight:600; text-transform:uppercase; letter-spacing:2px; }.hero h1,.section h2 { margin:0; font-family:"Barlow Condensed",sans-serif; font-size:clamp(64px,10vw,138px); font-weight:700; letter-spacing:-2px; line-height:.82; text-transform:uppercase; }.hero h1 span,.samples h2 span { color:var(--orange); }.hero-copy { max-width:400px; margin:30px 0; color:#dedbd6; font-size:18px; }.button { display:inline-flex; align-items:center; justify-content:center; gap:17px; min-height:53px; padding:13px 20px; border:1px solid transparent; text-transform:uppercase; font-family:"Barlow Condensed",sans-serif; font-weight:700; font-size:17px; letter-spacing:.6px; transition:transform .2s,background .2s; }.button:hover { transform:translateY(-2px); }.button-primary { color:#111; background:var(--orange); }.button-primary:hover { background:var(--orange-soft); }.button-light { background:var(--paper); color:#111; }.button span { font-size:22px; line-height:1; }.scroll-cue { position:absolute; bottom:28px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:12px; font-family:"Barlow Condensed",sans-serif; text-transform:uppercase; letter-spacing:1px; font-size:14px; }.scroll-cue span { color:var(--orange); font-size:20px; }
.section { padding:126px 0; }.section h2 { font-size:clamp(52px,7.5vw,100px); }.dates { background:var(--paper); color:var(--ink); }.section-intro { display:flex; align-items:end; justify-content:space-between; }.event-panel { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:54px; padding:35px 38px; border:1px solid #d7d0c8; }.event-empty { display:flex; align-items:center; gap:21px; }.calendar-icon { color:var(--orange); font-size:52px; transform:rotate(45deg); }.event-empty h3 { margin:0 0 3px; font-size:21px; }.event-empty p { max-width:520px; margin:0; color:#615e59; }.text-link { display:inline-flex; align-items:center; gap:10px; color:var(--orange); font-family:"Barlow Condensed",sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.7px; white-space:nowrap; }.text-link span { font-size:23px; }.band { background:var(--charcoal); }.band-grid,.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:96px; }.band-copy { padding-top:36px; color:#d2cfca; font-size:17px; }.band-copy .text-link { margin-top:16px; }.members { display:grid; grid-template-columns:repeat(3,1fr); margin-top:78px; border-top:1px solid var(--line); }.members article { min-height:165px; padding:23px 23px 17px 0; border-bottom:1px solid var(--line); }.members article:not(:nth-child(3n+1)) { padding-left:23px; border-left:1px solid var(--line); }.members span { color:var(--orange); font-size:13px; }.members h3 { margin:14px 0 3px; font-family:"Barlow Condensed",sans-serif; font-size:30px; font-weight:600; }.members p { margin:0; color:#aaa6a0; font-size:14px; }.samples { background:var(--orange); color:#15120f; }.samples .eyebrow { color:#6e2c10; }.samples-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:100px; }.samples-grid > div:first-child > p:not(.eyebrow) { max-width:300px; margin:26px 0; }.playlist { padding-top:15px; }.playlist-label { margin:0 0 14px; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:1px; }.playlist ol { list-style:none; padding:0; margin:0; border-top:1px solid rgba(0,0,0,.42); }.playlist li { display:grid; grid-template-columns:43px 1fr auto; align-items:baseline; gap:9px; padding:18px 0; border-bottom:1px solid rgba(0,0,0,.42); }.playlist li span { font-size:13px; }.playlist li strong { font-family:"Barlow Condensed",sans-serif; font-size:24px; font-weight:600; }.playlist li em { font-size:13px; font-style:normal; }.contact { background:#0d0d0d; }.contact-intro { max-width:380px; color:#c8c4be; font-size:17px; }.contact-form { padding:4px 0; }.contact-form label { display:block; margin-bottom:17px; color:#ded9d1; font-size:13px; font-weight:600; letter-spacing:.2px; }.contact-form input,.contact-form textarea { display:block; width:100%; margin-top:7px; padding:10px 0; color:#fff; background:transparent; border:0; border-bottom:1px solid #5b5854; outline:0; resize:vertical; }.contact-form input:focus,.contact-form textarea:focus { border-color:var(--orange); }.form-row.two { display:grid; grid-template-columns:1fr 1fr; gap:22px; }.form-note,.form-status { margin:3px 0 18px; color:#96918a; font-size:12px; }.form-status { min-height:18px; color:var(--orange-soft); }.site-footer { border-top:1px solid var(--line); background:#080808; }.footer-inner { min-height:112px; display:flex; align-items:center; justify-content:space-between; gap:24px; color:#a7a29d; font-size:13px; }.footer-brand { display:flex; align-items:baseline; gap:9px; font-family:"Barlow Condensed",sans-serif; font-size:22px; color:#f5f0e8; }.footer-brand span { font-style:italic; }.footer-link { padding:0; color:#d1ccc5; border:0; border-bottom:1px solid #8b847c; background:transparent; }.legal-dialog { width:min(650px,calc(100% - 32px)); padding:0; color:#201d1a; border:0; box-shadow:0 24px 80px rgba(0,0,0,.5); }.legal-dialog::backdrop { background:rgba(0,0,0,.8); }.dialog-head { display:flex; align-items:center; justify-content:space-between; padding:24px 28px; color:#fff; background:#1b1b1b; }.dialog-head h2 { margin:0; font-family:"Barlow Condensed",sans-serif; font-size:35px; text-transform:uppercase; }.dialog-close { width:34px; height:34px; padding:0; color:#fff; border:1px solid #777; background:transparent; font-size:27px; line-height:1; }.dialog-content { padding:28px; font-size:15px; }.dialog-content p { margin-top:0; }.dialog-content h3 { font-size:18px; }.dialog-content hr { border:0; border-top:1px solid #ddd; margin:25px 0; }.to-top { position:fixed; right:20px; bottom:20px; z-index:8; width:42px; height:42px; opacity:0; pointer-events:none; color:#111; border:0; background:var(--orange); font-size:23px; transition:opacity .2s,transform .2s; }.to-top.visible { opacity:1; pointer-events:auto; }.to-top:hover { transform:translateY(-3px); }
@media (max-width:760px) { .container,.header-inner { width:min(100% - 32px, var(--max)); }.header-inner { min-height:65px; }.brand { gap:10px; font-size:22px; }.brand img { width:43px;height:43px; }.menu-toggle { display:block; } nav { display:none; position:absolute; inset:65px 0 auto; height:auto; padding:12px 16px 20px; align-items:stretch; flex-direction:column; gap:0; background:#101010; border-bottom:1px solid var(--orange); } nav.open { display:flex; } nav a { padding:12px 0; } nav a::after { bottom:5px; }.hero { min-height:calc(100svh - 65px); }.hero-art { width:min(100vw,540px); max-height:72svh; right:0; bottom:0; opacity:.92; }.hero-content { padding:100px 0 110px; }.hero h1 { font-size:clamp(64px,20vw,100px); }.hero-mark { width:67vw; height:67vw; right:-19vw; top:17%; }.section { padding:78px 0; }.event-panel,.section-intro { align-items:flex-start; flex-direction:column; }.event-panel { margin-top:37px; padding:25px; }.event-empty { align-items:flex-start; }.calendar-icon { font-size:39px; }.band-grid,.contact-grid,.samples-grid { grid-template-columns:1fr; gap:28px; }.band-copy { padding-top:0; }.members { grid-template-columns:1fr 1fr; margin-top:48px; }.members article:not(:nth-child(3n+1)) { padding-left:0; border-left:0; }.members article:nth-child(even) { padding-left:18px; border-left:1px solid var(--line); }.playlist { padding-top:14px; }.playlist li { grid-template-columns:29px 1fr; }.playlist li em { grid-column:2; }.form-row.two { grid-template-columns:1fr; gap:0; }.footer-inner { min-height:145px; flex-wrap:wrap; align-content:center; }.footer-brand { width:100%; }.scroll-cue { bottom:18px; } }
@media (max-width:390px) { .brand-name em { display:none; }.members { grid-template-columns:1fr; }.members article:nth-child(even) { padding-left:0; border-left:0; }.members article { min-height:125px; } }

.video-card { position:relative; min-height:370px; overflow:hidden; background:#0c0c0c; box-shadow:12px 12px 0 rgba(0,0,0,.16); }
.video-card::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 72% 30%,rgba(255,111,0,.55),transparent 26%),linear-gradient(135deg,#1f1f1f,#050505 70%); }
.video-card::after { content:""; position:absolute; width:220px; height:220px; right:-58px; bottom:-62px; border:1px solid rgba(255,255,255,.24); border-radius:50%; }
.video-card-content { position:relative; z-index:1; display:flex; flex-direction:column; justify-content:end; align-items:flex-start; min-height:370px; padding:34px; color:#fff; }
.video-card-content h3 { margin:0; font-family:"Barlow Condensed",sans-serif; font-size:43px; line-height:.9; text-transform:uppercase; }
.video-card-content p:not(.playlist-label) { max-width:330px; margin:15px 0 25px; color:#d5d0ca; font-size:14px; }
.video-load { display:inline-flex; align-items:center; gap:11px; padding:12px 15px; color:#121212; border:0; background:#fff; font-family:"Barlow Condensed",sans-serif; font-size:17px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; }
.video-load span { color:var(--orange); }
.video-frame { position:absolute; z-index:2; inset:0; width:100%; height:100%; border:0; }
.honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.form-status.success { color:#7bffc5; }
.form-status.error { color:#ff9b82; }

/* Mobile: jede Sektion bleibt innerhalb der Gerätebreite, auch bei langen Texten. */
html,body { max-width:100%; overflow-x:clip; }
@media (max-width:760px) {
  .container,.header-inner { width:calc(100% - 32px); max-width:var(--max); }
  .hero-content,.band-grid > *,.contact-grid > *,.samples-grid > *,.section-intro > *,.event-panel > *,.footer-inner > * { min-width:0; }
  .hero-art { width:min(96vw,500px); max-width:96vw; right:0; }
  .hero h1 { font-size:clamp(3.1rem,15vw,4.75rem); letter-spacing:-1.5px; }
  .section h2 { font-size:clamp(2.6rem,13vw,4rem); letter-spacing:-1px; }
  .eyebrow { font-size:14px; letter-spacing:1.3px; }
  .hero-copy,.band-copy,.contact-intro { font-size:1rem; }
  .button { max-width:100%; gap:10px; padding-inline:16px; }
  .text-link { white-space:normal; }
  .event-panel { width:100%; }
  .event-empty p,.band-copy,.contact-intro,.dialog-content { overflow-wrap:anywhere; }
  .video-card,.video-card-content { min-height:330px; }
  .video-card { box-shadow:7px 7px 0 rgba(0,0,0,.16); }
  .video-card-content { padding:26px; }
  .video-card-content h3 { font-size:clamp(2rem,10vw,2.5rem); }
  .footer-inner { gap:16px; }
  .footer-link { text-align:left; }
}
@media (max-width:390px) {
  .hero h1 { font-size:3rem; }
  .section h2 { font-size:2.45rem; }
  .hero-content { padding-block:84px 96px; }
}

/* Auf Mobilgeräten steht die Marke vor dem Text; die Kreise bleiben im selben Verhältnis dahinter. */
@media (max-width:760px) {
  .hero { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; min-height:0; }
  .hero-visual { position:relative; z-index:0; inset:auto; order:0; width:100%; height:clamp(230px,72vw,360px); margin-top:10px; flex:none; }
  .hero-art { right:auto; bottom:0; left:50%; width:min(92vw,480px); max-width:92vw; max-height:none; transform:translateX(-50%); opacity:.92; }
  .hero-mark { top:10vw; right:3vw; width:min(59vw,300px); height:min(59vw,300px); max-width:none; max-height:none; }
  .hero-content { display:block; position:relative; z-index:2; order:1; width:calc(100% - 32px); max-width:var(--max); margin-inline:auto; padding:28px 0 78px; background:#070707; }
}

@media (max-width:760px) {
  .header-inner { min-height:58px; }
  .brand { gap:8px; font-size:19px; }
  .brand img { width:37px; height:37px; }
  .menu-toggle { width:40px; height:38px; }
  nav { inset:58px 0 auto; }
  nav a { font-size:16px; }
  #band-title { font-size:clamp(1.9rem,10vw,2.4rem); letter-spacing:-1.3px; overflow-wrap:anywhere; }
}
