@font-face{font-family:"Anton";src:url(../assets/anton.woff2) format("woff2"),url(../assets/anton.ttf) format("truetype");font-display:swap}
:root{--bg:#050505;--fg:#f4f1ea;--mut:#8b8b8b;--acc:#ff2a2a;--acc2:#7cf;--line:rgba(255,255,255,.12)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:"Helvetica Neue",Arial,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.disp{font-family:"Anton",Impact,"Arial Narrow Bold",sans-serif;text-transform:uppercase;letter-spacing:-.01em;line-height:.85}
#gl{position:fixed;inset:0;width:100%;height:100%;z-index:-2}
.grain{position:fixed;inset:-50%;z-index:-1;pointer-events:none;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:gr .6s steps(4) infinite}
@keyframes gr{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}}
/* loader */
#ld{position:fixed;inset:0;background:#000;z-index:100;display:grid;place-items:center;transition:clip-path 1s cubic-bezier(.8,0,.2,1);clip-path:inset(0 0 0 0)}
#ld.out{clip-path:inset(0 0 100% 0)}#ld span{font-size:15vw}
header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:16px 5vw;mix-blend-mode:difference}
.logo{font-size:26px;letter-spacing:.02em}.menu-b{background:none;border:0;color:#fff;font:700 12px Arial;letter-spacing:.2em}
nav#nv{position:fixed;inset:0;z-index:60;background:var(--acc);display:flex;flex-direction:column;justify-content:center;padding:0 7vw;clip-path:circle(0% at 95% 3%);transition:clip-path .8s cubic-bezier(.8,0,.2,1)}
nav#nv.o{clip-path:circle(150% at 95% 3%)}nav#nv a{font-size:clamp(56px,14vw,140px);color:#000;display:block}nav#nv a:hover{color:#fff}
nav#nv .x{position:absolute;top:18px;right:5vw;background:none;border:0;font:700 12px Arial;letter-spacing:.2em}
/* hero */
.hero{height:100svh;min-height:560px;display:flex;flex-direction:column;justify-content:flex-end;padding:0 5vw 13vh;position:relative}
.kick{font-size:11px;letter-spacing:.4em;color:var(--mut);text-transform:uppercase;margin-bottom:10px}
.glitch{position:relative;font-size:clamp(78px,24vw,300px);display:inline-block}
.glitch::before,.glitch::after{content:attr(data-t);position:absolute;inset:0}
.glitch::before{color:var(--acc);mix-blend-mode:screen;animation:g1 2.6s infinite steps(1)}
.glitch::after{color:var(--acc2);mix-blend-mode:screen;animation:g2 2.6s infinite steps(1)}
@keyframes g1{0%,88%{clip-path:inset(0 0 100% 0)}89%{clip-path:inset(20% 0 55% 0);transform:translate(-6px,2px)}92%{clip-path:inset(60% 0 10% 0);transform:translate(5px,-2px)}95%{clip-path:inset(40% 0 40% 0);transform:translate(-3px)}}
@keyframes g2{0%,88%{clip-path:inset(0 0 100% 0)}90%{clip-path:inset(10% 0 70% 0);transform:translate(6px,-1px)}93%{clip-path:inset(70% 0 5% 0);transform:translate(-5px,2px)}}
.line{display:block;overflow:hidden}.line>span{display:block;transform:translateY(110%);transition:transform 1.1s cubic-bezier(.2,.9,.1,1)}
.ready .line>span{transform:none}.ready .line:nth-child(2)>span{transition-delay:.12s}
.ctas{display:flex;gap:10px;margin-top:26px;flex-wrap:wrap}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:17px 26px;font:800 12px Arial;letter-spacing:.2em;text-transform:uppercase;border:1.5px solid var(--fg);border-radius:999px;overflow:hidden;transition:color .4s;isolation:isolate;will-change:transform}
.btn::before{content:"";position:absolute;inset:0;background:var(--fg);transform:translateY(101%);transition:transform .45s cubic-bezier(.7,0,.2,1);z-index:-1}
.btn:hover{color:var(--bg)}.btn:hover::before{transform:none}
.btn.p{background:var(--fg);color:var(--bg)}.btn.p::before{background:var(--acc)}
.btn.r{background:var(--acc);border-color:var(--acc)}
.scroll{position:absolute;right:5vw;bottom:13vh;writing-mode:vertical-rl;font-size:10px;letter-spacing:.4em;color:var(--mut)}
/* marquee */
.mq{overflow:hidden;border-block:1px solid var(--line);background:var(--acc);color:#000;transform:rotate(-2deg);margin:4vh -2vw}
.mq div{display:flex;width:max-content;animation:mq 18s linear infinite}.mq span{font-size:clamp(34px,7vw,80px);padding:12px 0;white-space:nowrap}
@keyframes mq{to{transform:translateX(-50%)}}
section{padding:110px 5vw;position:relative;background:linear-gradient(transparent,rgba(5,5,5,.92) 120px)}
.h2{font-size:clamp(60px,14vw,170px);margin-bottom:40px}
.h2 small{font:600 11px Arial;letter-spacing:.3em;color:var(--mut);vertical-align:top;margin-left:10px}
.rv{opacity:0;transform:translateY(60px);transition:opacity 1s,transform 1.1s cubic-bezier(.2,.9,.1,1)}.rv.in{opacity:1;transform:none}
/* releases */
.rel{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{perspective:800px}.cv{aspect-ratio:1;border-radius:6px;position:relative;overflow:hidden;transform-style:preserve-3d;transition:transform .2s;display:grid;place-items:center;font-size:11px;letter-spacing:.2em;color:rgba(255,255,255,.6)}
.cv::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.35),transparent 55%);opacity:0;transition:opacity .3s}.card:hover .cv::after{opacity:1}
.card h3{margin-top:12px;font-size:15px;letter-spacing:.05em}.card p{color:var(--mut);font-size:12px;margin-top:4px}
.c1{background:conic-gradient(from 200deg,#ff2a2a,#1a0000,#ff8a00,#ff2a2a)}.c2{background:linear-gradient(135deg,#111,#3b3b3b)}.c3{background:radial-gradient(#7cf,#023)}.c4{background:repeating-linear-gradient(45deg,#1a1a1a 0 12px,#222 12px 24px)}
.songs{display:grid;grid-template-columns:repeat(2,1fr);gap:56px 32px}
.sh{display:flex;gap:16px;margin-bottom:16px}.no{font-size:44px;color:var(--acc);line-height:1}.song h3{font-size:clamp(30px,4vw,48px);line-height:1}.ft2{font:600 12px Arial;letter-spacing:.15em;color:var(--mut);vertical-align:middle}
.song p{color:#cfcac0;font-size:15px;line-height:1.5;margin-top:8px;max-width:52ch}
.yt{position:relative;display:block;width:100%;aspect-ratio:16/9;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#111;padding:0;cursor:pointer}
.yt img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.9,.1,1),filter .5s;filter:grayscale(.6) contrast(1.1);transform:scale(1.34)}.yt:hover img{transform:scale(1.42);filter:none}
.yt .play{position:absolute;left:50%;top:50%;margin:-40px 0 0 -40px;width:80px;height:80px}.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.play{border-radius:50%;background:var(--fg);color:var(--bg);display:grid;place-items:center;font-size:24px;animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(244,241,234,.5)}100%{box-shadow:0 0 0 30px rgba(244,241,234,0)}}
@media(max-width:1023px){.glitch{font-size:30vw}.songs{grid-template-columns:1fr;gap:56px}}
.stream{margin-top:16px;padding:14px 22px;font-size:11px}
.follow{margin-top:22px;max-width:640px}.follow p{font-size:15px;line-height:1.5;margin-bottom:12px}.fbs{display:flex;flex-wrap:wrap;gap:8px}.fb{padding:11px 16px;font-size:10px;backdrop-filter:blur(6px)}
.ff{margin:0 0 50px}.fl{margin-top:14px;font-size:14px;color:var(--fg)}.fl a{color:var(--acc);font-weight:700;border-bottom:1px solid}
/* tour */
.tour{list-style:none;border-top:1px solid var(--line)}
.tour li{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:18px;padding:22px 0;border-bottom:1px solid var(--line);position:relative;transition:padding .4s}
.tour li::before{content:"";position:absolute;inset:0;background:var(--fg);transform:scaleY(0);transform-origin:bottom;transition:transform .45s cubic-bezier(.7,0,.2,1);z-index:-1}
.tour li:hover{color:var(--bg);padding-left:16px}.tour li:hover::before{transform:none}
.tour .d{font-size:34px}.tour .c{font-size:clamp(24px,4vw,46px)}.tour .v{display:block;font:500 12px Arial;color:var(--mut);letter-spacing:.1em;margin-top:4px}
.sold{opacity:.4;text-decoration:line-through}
/* merch */
.shop{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:none}.shop::-webkit-scrollbar{display:none}
.it{flex:0 0 min(70vw,320px);scroll-snap-align:start}.it .cv{aspect-ratio:4/5;background:#141414;border:1px solid var(--line)}
.tag{position:absolute;top:12px;left:12px;background:var(--acc);color:#000;font:800 10px Arial;letter-spacing:.15em;padding:5px 8px;border-radius:99px}
/* video */
.vid{aspect-ratio:16/9;border-radius:8px;overflow:hidden;position:relative;display:grid;place-items:center;background:#0d0d0d;border:1px solid var(--line)}
.vid canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.7}
.play{width:92px;height:92px;border-radius:50%;background:var(--fg);color:var(--bg);display:grid;place-items:center;font-size:26px;z-index:1;animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(244,241,234,.5)}100%{box-shadow:0 0 0 30px rgba(244,241,234,0)}}
/* newsletter */
.nl{text-align:center}.nl .h2{margin-bottom:16px}.nl p{color:var(--mut);margin-bottom:28px}
.nlf{display:flex;max-width:560px;margin:0 auto;border:1.5px solid var(--fg);border-radius:999px;padding:5px}
.nlf input{flex:1;min-width:0;background:none;border:0;color:var(--fg);padding:0 18px;font-size:16px;outline:none}
footer{padding:60px 5vw 120px;border-top:1px solid var(--line);background:#050505}
.big{font-size:clamp(70px,19vw,260px);color:transparent;-webkit-text-stroke:1.5px var(--fg);margin-bottom:30px}
.ft{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:12px;color:var(--mut);letter-spacing:.12em;text-transform:uppercase}.ft div{display:flex;gap:18px;flex-wrap:wrap}.ft a:hover{color:var(--acc)}
/* mobile sticky */
.mbar{position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:40;display:none;gap:8px;padding:8px;background:rgba(20,20,20,.75);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:999px;transform:translateY(150%);transition:transform .5s cubic-bezier(.2,.9,.1,1)}
.mbar.on{transform:none}.mbar .btn{flex:1;padding:14px 8px;font-size:11px}
/* cursor */
#cur{position:fixed;top:0;left:0;width:14px;height:14px;margin:-7px;border-radius:50%;background:#fff;mix-blend-mode:difference;pointer-events:none;z-index:200;transition:width .3s,height .3s,margin .3s;display:none}
#cur.big{width:80px;height:80px;margin:-40px}
@media (hover:hover) and (pointer:fine){#cur{display:block}body,a,button{cursor:none}}
@media(max-width:1023px){.rel{grid-template-columns:1fr 1fr}.tour li{grid-template-columns:70px 1fr auto;gap:10px}.tour .d{font-size:22px}.mbar{display:flex}.scroll{display:none}.hero .ctas .btn{flex:1 1 30%;padding:16px 6px;letter-spacing:.12em}.hero .ctas .btn i{display:none}section{padding:80px 5vw}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.line>span,.rv{transform:none;opacity:1}}

/* ===== Hero-Kurzbio ===== */
.hbio{font-size:clamp(15px,1.4vw,18px);line-height:1.45;max-width:46ch;margin-top:18px;color:#e9e4da}.hbio strong{font-weight:800}
/* ===== Bio ===== */
.bio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:6vw;align-items:center}
.bio-pic{position:relative}.px{aspect-ratio:4/5;overflow:hidden;border-radius:10px;position:relative}
.px img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.15);filter:contrast(1.05) saturate(1.05)}
.bio .px{will-change:transform}
.bio-pic::before{content:"62";position:absolute;right:-4vw;top:-6vw;font:400 clamp(120px,22vw,320px)/1 "Anton",Impact,sans-serif;color:transparent;-webkit-text-stroke:1.5px var(--acc);z-index:-1;opacity:.7}
.badge{position:absolute;left:-18px;bottom:28px;background:var(--acc);color:#000;padding:14px 18px;border-radius:999px;font:800 11px/1.25 Arial;letter-spacing:.12em;text-transform:uppercase;max-width:250px;display:flex;gap:10px;align-items:center;transform:rotate(-4deg);box-shadow:0 10px 40px rgba(255,42,42,.35)}
.badge b{font-size:26px;letter-spacing:0}
.ph-note{position:absolute;top:12px;left:12px;background:rgba(0,0,0,.6);font:600 10px Arial;letter-spacing:.15em;text-transform:uppercase;padding:5px 9px;border-radius:99px;color:#ddd}
.bio blockquote{font-size:clamp(30px,3.6vw,52px);line-height:1;color:var(--acc);margin:0 0 28px}
.bio-txt p:not(.kick){font-size:17px;line-height:1.65;color:#d9d4ca;margin-bottom:16px;max-width:60ch}
.bio .h2{margin-bottom:24px}
/* ===== Songs: video-first Karten ===== */
.song{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:14px;overflow:hidden;padding-bottom:22px}
.song .yt{border:0;border-radius:0}.song .sh,.song .fl,.song .stream{margin-left:22px;margin-right:22px}.song .sh{margin-top:20px}
.song.feat{grid-column:1/-1}.song.feat .yt{aspect-ratio:21/9}.song.feat .yt img{transform:scale(1.02)}.song.feat h3{font-size:clamp(44px,6vw,90px)}
@media(max-width:1023px){
 .bio{grid-template-columns:1fr;gap:56px}.badge{left:10px;bottom:-18px}.bio-pic::before{right:-2vw;top:-14vw}
 #songs{padding-right:0}.songs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:0 5vw 16px 0;scrollbar-width:none}.songs::-webkit-scrollbar{display:none}
 .song{flex:0 0 86vw;scroll-snap-align:start}.song.feat .yt{aspect-ratio:16/9}.song.feat h3{font-size:40px}
 .song .sh,.song .fl,.song .stream{margin-left:16px;margin-right:16px}
}
.bio .h2{font-size:clamp(56px,7vw,120px)}.bio{align-items:start}.bio-pic{position:sticky;top:90px}@media(max-width:1023px){.bio-pic{position:relative;top:0}}
/* Mobile: Platz für Sticky-Bar (ca. 66px + Abstand + Safe-Area) */
@media(max-width:1023px){body{padding-bottom:calc(96px + env(safe-area-inset-bottom))}section{scroll-margin-bottom:calc(96px + env(safe-area-inset-bottom))}.bio{padding-bottom:calc(96px + env(safe-area-inset-bottom))}}
.mbar{transition:transform .45s cubic-bezier(.2,.9,.1,1);will-change:transform}

/* ===== Clean-Layer (Review royal33): Tokens, Ruhe, Hero-Fix ===== */
:root{--nav-h:64px;--wrap:1240px;--gut:clamp(20px,5vw,64px);
--s1:8px;--s2:16px;--s3:24px;--s4:40px;--s5:64px;--s6:96px;--s7:clamp(88px,12vw,160px);
--t-xs:11px;--t-sm:14px;--t-md:clamp(16px,1.1vw,18px);--t-lg:clamp(20px,1.6vw,24px);--t-xl:clamp(28px,3vw,44px);--t-2xl:clamp(48px,7vw,104px);--t-hero:clamp(64px,17vw,240px)}
header{height:var(--nav-h);padding:0 var(--gut)}
section{padding:var(--s7) var(--gut)}
section>*{max-width:var(--wrap);margin-inline:auto}
.hero{height:auto;min-height:100svh;padding:calc(var(--nav-h) + var(--s5)) var(--gut) var(--s6);justify-content:flex-end;overflow:hidden}
.hero>*{max-width:var(--wrap);width:100%;margin-inline:auto}
.hero h1{max-width:100%;overflow-wrap:anywhere;line-height:.86;margin-bottom:var(--s4)}
.glitch,.hero .glitch{font-size:var(--t-hero);max-width:100%}
.hbio{font-size:var(--t-md);line-height:1.6;max-width:56ch;margin-bottom:var(--s4)}
.ctas{gap:var(--s2);margin-bottom:var(--s4)}
.h2{font-size:var(--t-2xl);line-height:.92;margin-bottom:var(--s5)}
.bio .h2{font-size:var(--t-2xl)}
.bio blockquote{font-size:var(--t-xl);line-height:1.1;margin-bottom:var(--s4)}
.bio-txt p,.songs p{font-size:var(--t-md);line-height:1.7;margin-bottom:var(--s3);max-width:62ch}
.kick{font-size:var(--t-xs);margin-bottom:var(--s2)}
.songs{gap:var(--s6) var(--s4)}
/* Effekte beruhigen: Glitch nur beim Laden + Hover */
.glitch::before,.glitch::after{animation-iteration-count:2;opacity:.85}
.glitch:hover::before,.glitch:hover::after{animation-iteration-count:infinite}
.grain{opacity:.04}
.mq{transform:none;margin:0;border:0}.mq div{animation-duration:40s}.mq span{font-size:var(--t-lg);padding:var(--s2) 0;letter-spacing:.15em}
@media(max-width:1023px){:root{--nav-h:56px}.songs{gap:var(--s3)}.bio blockquote{font-size:clamp(26px,7.5vw,34px)}}
@media(prefers-reduced-motion:reduce){.glitch::before,.glitch::after,.mq div{animation:none}}
.hero,section{--pad:max(var(--gut),calc((100vw - var(--wrap))/2));padding-left:var(--pad);padding-right:var(--pad)}
.hero>*,section>*{margin-inline:0}
.hero .line{display:block;line-height:.92}
html,body{overflow-x:clip}

/* ===== KAPITEL-LAYOUT (Story in 7 Kapiteln) ===== */
.mbar{display:none!important}
body{padding-bottom:0!important}
.prog{position:fixed;top:calc(var(--nav-h) + 4px);right:var(--gut);z-index:45;font:600 var(--t-xs)/1 Arial,sans-serif;letter-spacing:.25em;color:var(--mut);mix-blend-mode:difference}
.prog span{color:var(--fg)}.prog i{display:block;height:2px;margin-top:8px;background:var(--acc);transform:scaleX(.14);transform-origin:left;transition:transform .6s}
/* Hero */
.hero{isolation:isolate}
.hv{position:absolute;inset:0;z-index:-1;overflow:hidden;background:#000 url(../media/drama-hook-poster.webp) center/cover}
.hv video{width:100%;height:100%;object-fit:cover;object-position:60% 40%}
.hv::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,5,.55) 0,rgba(5,5,5,.15) 35%,rgba(5,5,5,.85) 78%,#050505 100%)}
body.has-hv #gl{opacity:.12}
.hero .glitch{font-size:clamp(56px,15vw,220px)}
.lead{font-size:var(--t-lg);line-height:1.5;max-width:44ch;margin-bottom:var(--s4)}
.lead strong{font-family:inherit}
.story{display:inline-block;margin-top:var(--s3);font:600 var(--t-xs)/1 Arial,sans-serif;letter-spacing:.25em;text-transform:uppercase;color:var(--mut);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:6px}
.story:hover{color:var(--fg)}
/* Kapitel */
.ch:not(.hero){min-height:90svh;display:flex;flex-direction:column;justify-content:center;gap:var(--s5);overflow:hidden;background:#050505}
.ch .kick{color:var(--acc);letter-spacing:.3em;font-size:var(--t-xs);text-transform:uppercase}
.hook{font-size:var(--t-2xl);line-height:.95;max-width:16ch;margin:var(--s2) 0 var(--s3)}
.txt{font-size:var(--t-md);line-height:1.75;max-width:52ch;color:#cfcac0}
.cta1{align-self:flex-start}
.big-o{position:absolute;right:-.06em;top:50%;transform:translateY(-50%);font-size:clamp(220px,42vw,640px);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(255,42,42,.35);pointer-events:none;z-index:0}
.c62 .big-o{font-size:clamp(120px,26vw,420px);right:auto;left:-.04em;top:auto;bottom:4%;transform:none;-webkit-text-stroke-color:rgba(255,255,255,.12)}
.ch>*{position:relative;z-index:1}
.ch-media{display:grid;gap:var(--s4)}
.duo{grid-template-columns:1fr 1fr;max-width:900px}
.one{max-width:720px}
.ch .song{border:0;background:none;padding:0}
.ch .song .sh{padding:var(--s2) 0 0}.ch .song h3{font-size:var(--t-lg)}
.ch .song p{font-size:var(--t-sm);color:var(--mut);margin-top:var(--s1)}
.yt,.emb{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;background:#111;border-radius:10px;overflow:hidden;cursor:pointer}
.yt img,.emb img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.yt:hover img,.emb:hover img{transform:scale(1.04)}
.yt iframe,.emb iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* Musik */
.mus{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:var(--s5)}
.sp-box{display:flex;flex-direction:column;gap:var(--s3)}
.emb.sp{aspect-ratio:auto;height:352px;background:linear-gradient(135deg,#1a0505,#0b0b0b 60%);display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:var(--s4);text-align:left;color:var(--fg)}
.emb.sp b{font-size:var(--t-2xl);line-height:.9}.emb.sp small{font:600 var(--t-xs)/1 Arial;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);margin-top:var(--s2)}
.sp-logo{position:absolute;top:var(--s3);right:var(--s3);width:36px;height:36px}
.eq{position:absolute;top:var(--s4);left:var(--s4);display:flex;gap:5px;align-items:flex-end;height:48px}
.eq i{width:6px;background:var(--acc);animation:eq 1.1s ease-in-out infinite alternate}.eq i:nth-child(2){animation-delay:-.3s}.eq i:nth-child(3){animation-delay:-.6s}.eq i:nth-child(4){animation-delay:-.9s}.eq i:nth-child(5){animation-delay:-.45s}
@keyframes eq{from{height:12%}to{height:100%}}
.pl{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.pl li{display:grid;grid-template-columns:40px 1fr auto;gap:var(--s2);align-items:center;padding:var(--s3) 0;border-bottom:1px solid var(--line)}
.pl .n{font:600 var(--t-xs)/1 Arial;color:var(--mut);letter-spacing:.15em}.pl b{display:block;font-size:var(--t-md)}.pl small{color:var(--mut);font-size:var(--t-sm)}
.pl a{font:600 var(--t-xs)/1 Arial;letter-spacing:.15em;text-transform:uppercase;color:var(--fg);text-decoration:none;opacity:.7}.pl a:hover{opacity:1;color:#1ED760}
/* Reels */
.phones{justify-items:start}
.phone{width:min(300px,72vw);padding:10px;border-radius:38px;background:#111;border:1px solid var(--line);box-shadow:0 40px 120px rgba(255,42,42,.25)}
.emb.yt9{aspect-ratio:9/16;border-radius:28px}
.play{position:absolute;inset:0;margin:auto;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:rgba(255,42,42,.92);color:#fff;font-size:22px}
/* Videos */
.vids{grid-template-columns:repeat(2,1fr)}.vids .feat{grid-column:1/-1}.vids .feat .yt{aspect-ratio:21/9}
.all summary{cursor:pointer;font:600 var(--t-xs)/1 Arial;letter-spacing:.25em;text-transform:uppercase;color:var(--mut);padding:var(--s2) 0}
.mini{grid-template-columns:repeat(4,1fr);gap:var(--s3);margin-top:var(--s3)}.mini .song h3{font-size:var(--t-sm)}
/* Finale */
.c7{text-align:center;align-items:center;background:radial-gradient(60% 50% at 50% 40%,rgba(255,42,42,.22),transparent 70%),#050505!important}
.c7 .ch-in{display:flex;flex-direction:column;align-items:center}.c7 .hook{max-width:18ch;text-shadow:0 0 60px rgba(255,42,42,.45)}
.c7 .one{width:100%;max-width:640px}
.open-row{font-size:var(--t-sm);color:var(--mut)}
.fin{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s2)}
footer .big{font-size:clamp(48px,12vw,180px)}
@media(max-width:1023px){
 .hv video{object-position:62% 30%}
 .hv::after{background:linear-gradient(180deg,rgba(5,5,5,.5) 0,rgba(5,5,5,.2) 25%,rgba(5,5,5,.9) 60%,#050505 100%)}
 .hero .glitch{font-size:clamp(52px,17vw,120px)}
 .hero .ctas .btn{flex:1 1 100%}
 .duo,.mus,.vids{grid-template-columns:1fr}.mini{grid-template-columns:1fr 1fr}
 .emb.sp{height:280px}
 .ch:not(.hero){min-height:auto}
 .prog{top:auto;bottom:calc(14px + env(safe-area-inset-bottom));right:14px}
 .cta1{align-self:stretch;text-align:center}
}
@media(prefers-reduced-motion:reduce){.hv video{display:none}.eq i{animation:none;height:60%}}
.hero>.hv{position:absolute;inset:0;max-width:none;width:auto;margin:0;z-index:-1}.hero{background:none}
.ch:not(.hero){justify-content:flex-start;min-height:0}.c33 .big-o{top:var(--s6);transform:none}
.c33 .big-o{font-size:clamp(200px,30vw,440px);top:var(--s5)}@media(min-width:761px){.c33 .big-o{left:auto;right:4%}}
.ch>.big-o{position:absolute;z-index:0}
/* Review 1 */
.cta2{align-self:flex-start;background:none;border:1px solid var(--line);color:var(--fg)}
.txtbtn{align-self:flex-start;font:600 var(--t-xs)/1 Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:6px;margin-top:calc(var(--s4)*-1)}.txtbtn:hover{color:var(--fg)}
.txtbtn[hidden]{display:none}
.ch>.cta1+.cta2{margin-top:calc(var(--s4)*-1)}
@media(min-width:761px){.ch>.cta1:has(+.cta2){align-self:flex-start}.c62 .cta1,.c62 .cta2{display:inline-flex}}
.c6 .txt{font-size:var(--t-lg);max-width:60ch}
.emb.sp .cover{position:absolute;right:var(--s4);bottom:var(--s4);width:46%;max-width:200px;aspect-ratio:1;object-fit:cover;border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.emb.sp .play{inset:auto;right:calc(var(--s4) + 23% - 36px);bottom:calc(var(--s4) + 23% - 36px);margin:0}
.c7 .fam{margin-top:calc(var(--s4)*-1)}
@media(max-width:1023px){
 .ch:not(.hero)>.ch-in{order:1}.ch>.cta1{order:2}.ch>.cta2,.ch>.txtbtn{order:3}.ch>.ch-media{order:4}.ch>.all{order:5}.c7>.fbs{order:6}
 .cta2{align-self:stretch;text-align:center;justify-content:center}
 .emb.sp .cover{width:42%}.emb.sp .play{right:calc(var(--s4) + 21% - 36px);bottom:calc(var(--s4) + 21% - 36px)}
}
.emb.sp .cover{height:auto}
.ch:not(.hero)>.ch-in{order:1}.ch>.cta1{order:2}.ch>.cta2,.ch>.txtbtn{order:3}.ch>.ch-media{order:4}.ch>.all{order:5}.c7>.fbs{order:6}
.ch>.cta1+.cta2,.ch>.txtbtn{margin-top:calc(var(--s4)*-1)}
/* Patrick-Review: Tap-Targets >=44px */
header .logo,.menu-b,#nv .x,.story,.pl a,.fin .btn,.ft a,.txtbtn,.all summary{min-height:44px;display:inline-flex;align-items:center}
.menu-b,#nv .x{padding:0 12px;min-width:44px}
.pl a,.ft a{padding:0 10px}
.story,.txtbtn{padding:12px 0}
.fin .btn{padding:0 22px}
@media(max-width:1023px){
 .c62 .big-o{bottom:auto;top:var(--s4);opacity:.6}
 .ch .song h3{position:relative;z-index:2;background:#050505;padding:4px 8px 4px 0;display:inline-block}
 .emb.sp .cover{right:var(--s3);top:var(--s3);bottom:auto;width:38%}
 .emb.sp .play{right:calc(var(--s3) + 19% - 36px);top:calc(var(--s3) + 19% - 36px);bottom:auto}
 .emb.sp .sp-logo{top:auto;bottom:var(--s3);right:var(--s3)}
 .emb.sp .eq{top:var(--s3);left:var(--s3)}
}
.emb.spc{aspect-ratio:1;max-width:100%}.emb.spc img{object-fit:cover}
.emb.spc .sp-logo{position:absolute;top:12px;right:12px;width:30px;height:30px}
.emb.spc iframe{height:100%}

.hero-claim{font:600 var(--t-xs)/1.4 Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:var(--mut);margin:calc(var(--s2)*-1) 0 0}
.song .sh{flex-direction:column;gap:var(--s2)}.mini .song .sh{margin-left:0;margin-right:0}.mini .song .sh p{font-size:var(--t-sm);line-height:1.5}
/* hero grade blend (pre-grade backup in backup/pre-grade) */
.hv::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(120% 80% at 70% 35%,rgba(255,42,42,.10),transparent 60%);mix-blend-mode:screen}
.hv::after{z-index:2}
/* ===== HERO 4K: Gesicht nie unter Text (royal33) ===== */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center}
.hero>:not(.hv){max-width:min(40vw,560px)}
.hero>.hv{left:44%;right:0;top:0;bottom:0;inset:0 0 0 44%;background:#050505 url(../media/drama-hook-poster.webp) 52% 30%/cover}
.hv video{object-position:52% 30%}
.hv::after{background:linear-gradient(90deg,#050505 0,rgba(5,5,5,0) 18%),linear-gradient(0deg,#050505 0,rgba(5,5,5,0) 14%)}
.hero .glitch{font-size:clamp(56px,9vw,170px)}
@media(max-width:1023px){
 .hero{justify-content:flex-start;padding-top:calc(56svh + 8px);min-height:auto;padding-bottom:var(--s5)}
 .hero>:not(.hv){max-width:none}
 .hero>.hv{inset:0 0 auto 0;height:56svh;background-image:url(../media/drama-hook-poster.webp);background-position:53% 30%}
 .hv video{object-position:53% 30%}
 .hv::after{background:linear-gradient(0deg,#050505 0,rgba(5,5,5,0) 22%)}
 .hero .glitch{font-size:clamp(52px,17vw,120px)}
}
.hero>.hv{top:calc(var(--nav-h) + 40px)}
@media(max-width:1023px){.hero>.hv{top:var(--nav-h);height:52svh}.hero{padding-top:calc(var(--nav-h) + 52svh + 8px)}}

/* ===== INTRO: Headline fade/flicker an finaler Position (kein Layout-Shift) ===== */
.hero .line{overflow:visible}.hero .line>span{transform:none!important;transition:none!important}
.js .hero h1{opacity:0}
.intro .hero h1{animation:h1in 1.1s cubic-bezier(.2,.7,.2,1) both;will-change:opacity,transform,filter}
@keyframes h1in{
 0%{opacity:0;transform:scale(.96);filter:blur(8px)}
 35%{opacity:.9;filter:blur(3px)}
 45%{opacity:.68}52%{opacity:.95}60%{opacity:.74}68%{opacity:1;filter:blur(1px)}76%{opacity:.82}84%{opacity:1}
 100%{opacity:1;transform:none;filter:none}}
.intro .hero .glitch::before,.intro .hero .glitch::after{animation:hfl .6s steps(1) .4s 1 both}
.intro .hero .glitch::after{animation-name:hfl2}
@keyframes hfl{0%{transform:translate(-2px,0);opacity:.7}25%{transform:translate(1px,0);opacity:.4}50%{transform:translate(-1px,0);opacity:.6}75%{transform:translate(2px,0);opacity:.3}100%{transform:none;opacity:0}}
@keyframes hfl2{0%{transform:translate(2px,0);opacity:.5}25%{transform:translate(-1px,0);opacity:.3}50%{transform:translate(1px,0);opacity:.5}75%{transform:translate(-2px,0);opacity:.2}100%{transform:none;opacity:0}}
.hero .glitch::before{color:var(--acc)}.hero .glitch::after{color:#f4f1ea}
/* ===== TICKER direkt unter dem Hero ===== */
.tick{height:48px;overflow:hidden;border-block:1px solid rgba(255,255,255,.1);background:#050505;display:flex;align-items:center}
.tick-t{display:flex;width:max-content;animation:tk 45s linear infinite}
.tick:hover .tick-t,.tick:focus-within .tick-t{animation-play-state:paused}
.tick-g{display:flex;align-items:center;flex-shrink:0}
.tick a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;color:#f4f1ea;text-decoration:none;font:600 var(--t-xs)/1 Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap}
.tick a small{margin-left:8px;color:var(--mut);letter-spacing:.12em}
.tick a:hover{color:var(--acc)}.tick i{color:var(--acc);font-style:normal;font-size:10px}
@keyframes tk{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){
 .js .hero h1,.intro .hero h1{opacity:1;animation:none;filter:none;transform:none}
 .intro .hero .glitch::before,.intro .hero .glitch::after{animation:none;opacity:0}
 .tick{overflow-x:auto}.tick-t{animation:none}.tick-g[aria-hidden]{display:none}}

/* ===== LOADER (Logo an finaler Position, nur opacity/filter) ===== */
#ld{position:fixed;inset:0;z-index:200;background:#050505;display:block!important;clip-path:none!important;transition:opacity .4s ease-out;pointer-events:none}
#ld.out{opacity:0;clip-path:none!important}
#ldl{position:fixed;display:block;margin:0;padding:0;opacity:0;color:#f4f1ea;white-space:nowrap;font-size:15vw}
#ld.fl #ldl{animation:ldfl .9s linear both}
@keyframes ldfl{0%{opacity:0;filter:blur(6px)}15%{opacity:.85;filter:blur(2px);text-shadow:-2px 0 rgba(255,42,42,.7),2px 0 rgba(244,241,234,.4)}
 28%{opacity:.6}38%{opacity:.95;text-shadow:2px 0 rgba(255,42,42,.7),-1px 0 rgba(244,241,234,.4)}50%{opacity:.7}62%{opacity:1;text-shadow:-1px 0 rgba(255,42,42,.6)}74%{opacity:.85}86%,100%{opacity:1;filter:none;text-shadow:0 0 24px rgba(255,42,42,.35)}}
/* mit Loader: Hero-Logo ist schon fertig, wenn das Overlay ausblendet */
.loaded .hero h1{animation:none!important;opacity:1!important}
.loaded .hero .glitch::before,.loaded .hero .glitch::after{animation:none!important;opacity:0!important}
@media(prefers-reduced-motion:reduce){#ld{display:none!important}}
/* ===== HERO: weiche Kante statt harter Linie ===== */
.hero>.hv{inset:0 0 0 26%;top:0;-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 18%,#000 42%),linear-gradient(180deg,transparent 0,#000 16%,#000 86%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 18%,#000 42%),linear-gradient(180deg,transparent 0,#000 16%,#000 86%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect;background-color:transparent}
.hv::after{display:none}
.hero{background:none}
.hv video{object-position:50% 40%}
@media(max-width:1023px){
 .hero>.hv{inset:0 0 auto 0;top:0;height:62svh;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 62%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 62%,transparent 100%);-webkit-mask-composite:source-over;mask-composite:add}
 .hero{padding-top:calc(52svh + 8px)}
 .hv video{object-position:50% 35%}
}
.hero{isolation:isolate}.hero>.hv{z-index:0}.hero>:not(.hv){position:relative;z-index:1}
/* soft edge via overlay instead of mask (mask darkened video layer in Chrome) */
.hero>.hv{-webkit-mask-image:none!important;mask-image:none!important}
.hero>.hv::after{display:block!important;content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,#050505 0,rgba(5,5,5,.65) 18%,rgba(5,5,5,0) 42%),linear-gradient(180deg,#050505 0,rgba(5,5,5,0) 16%,rgba(5,5,5,0) 86%,#050505 100%)}
@media (max-width:1023px){.hero>.hv::after{background:linear-gradient(180deg,#050505 0,rgba(5,5,5,0) 12%,rgba(5,5,5,0) 62%,#050505 100%)}}
@media(max-width:1023px){.hero>.hv{top:64px;height:58svh}.hero{padding-top:calc(58svh + 24px)}.hero>.hv::after{background:linear-gradient(180deg,#050505 0,rgba(5,5,5,0) 10%,rgba(5,5,5,0) 70%,#050505 100%)!important}}
#ld{inset:auto!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;contain:strict}
#ld{margin:0!important}
/* Loader v3: centre flicker -> FLIP to hero headline box (transform/opacity only) */
#ld{background:transparent!important;transition:none!important}
#ld::before{content:"";position:fixed;inset:0;background:#050505;transition:opacity .8s ease-in-out}
#ld.mv::before{opacity:0}
#ldl{z-index:1;transform-origin:50% 50%;will-change:transform,opacity}
#ld.fl #ldl{animation:ldfl2 .55s linear both}
@keyframes ldfl2{0%{opacity:0}12%{opacity:.9;text-shadow:0 0 18px rgba(255,42,42,.8)}22%{opacity:.2}38%{opacity:1;text-shadow:0 0 24px rgba(255,42,42,.9)}55%{opacity:.35}70%,100%{opacity:1;text-shadow:0 0 10px rgba(255,42,42,.5)}}
#ld.mv #ldl{opacity:1;animation:none;transform:none!important;text-shadow:none;transition:transform .85s cubic-bezier(.65,0,.3,1.12),text-shadow .85s}
html.ldg .hero .glitch{opacity:0!important}

/* ===== ABSPERRBAND (final spec) ===== */
.tape{position:relative;z-index:3;height:120px;margin:-60px 0 -40px;overflow:hidden;pointer-events:none}
.tape .tick{position:absolute;left:-10vw;width:120vw;top:50%;height:52px;margin-top:-26px;border:0;overflow:hidden;pointer-events:auto;
 background:
  linear-gradient(100deg,rgba(255,255,255,0) 20%,rgba(255,255,255,.22) 32%,rgba(255,255,255,0) 44%,rgba(255,255,255,0) 62%,rgba(255,255,255,.14) 72%,rgba(255,255,255,0) 82%),
  repeating-linear-gradient(-45deg,#ff2a2a 0 10px,#0a0a0a 10px 20px) top/100% 7px no-repeat,
  repeating-linear-gradient(-45deg,#ff2a2a 0 10px,#0a0a0a 10px 20px) bottom/100% 7px no-repeat,
  linear-gradient(180deg,#ff3a3a,#e01e1e 55%,#ff2a2a);
 box-shadow:0 14px 28px rgba(0,0,0,.65),0 2px 0 rgba(0,0,0,.4)}
.tape .front{transform:rotate(-4deg)}
.tape .back{transform:rotate(3deg);opacity:.45;filter:saturate(.7) brightness(.7);pointer-events:none}
.tape .back .tick-t{animation-direction:reverse;animation-duration:60s}
.tape .tick a,.tape .tick span{font:400 18px/1 Anton,Impact,'Arial Narrow',sans-serif;letter-spacing:.06em;color:#0a0a0a;text-transform:uppercase;white-space:nowrap;padding:0 14px;display:inline-flex;align-items:center;min-height:44px}
.tape .tick a small,.tape .tick span small{color:#0a0a0a;opacity:.7;margin-left:6px}
.tape .tick a:hover,.tape .tick a:focus-visible{color:#fff;outline:none}
.tape .tick i{color:#0a0a0a;font-size:16px}
@media(max-width:1023px){.tape{height:96px;margin:-36px 0 -28px}.tape .tick{height:46px;margin-top:-23px}.tape .tick a,.tape .tick span{font-size:15px}}
@media(prefers-reduced-motion:reduce){.tape .tick{overflow:hidden}.tape .tick-t{animation:none}}

/* ===== Kapitelbilder, Reels, Songs ===== */
.ch-img{margin:0;width:100%;overflow:hidden;border-radius:8px;background:#0a0a0a;order:4}
.ch-img img{display:block;width:100%;height:100%;object-fit:cover}
.ch>.ch-media{order:5}.c7>.fbs{order:6}
.reels{display:flex;gap:var(--s2);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--s2);grid-template-columns:none}
.reel{flex:0 0 min(62vw,260px);scroll-snap-align:start}
.reel .emb{width:100%}.reel .tt-ph{position:absolute;inset:0;display:grid;place-items:center;font-size:28px;color:var(--mut)}
.cap{font:700 var(--t-sm)/1.4 Arial,sans-serif;color:#f4f1ea;margin:10px 0 0}
.song .cap{margin:14px 22px 0}
.songs{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:var(--s3)}
.ft-follow{max-width:52ch;margin:0 auto var(--s3);text-align:center;color:var(--mut)}
/* Button-Abstände */
.hero .lead{margin-bottom:0!important}.hero .ctas{margin-top:20px!important}
.ch:not(.hero)>.ch-in>:last-child{margin-bottom:0}
/* ===== Tatort-Absperrung über Kap. 4 (Deko, nicht klickbar) ===== */
.c4{position:relative;overflow:clip}
.crime{position:relative;height:200px;margin:-24px 0;pointer-events:none;order:3}
.ctape{position:absolute;left:-15%;width:130%;top:50%;height:50px;margin-top:-25px;display:flex;align-items:center;overflow:hidden;white-space:nowrap;
 background:linear-gradient(100deg,rgba(255,255,255,0) 20%,rgba(255,255,255,.22) 32%,rgba(255,255,255,0) 44%),repeating-linear-gradient(-45deg,#ff2a2a 0 10px,#0a0a0a 10px 20px) top/100% 7px no-repeat,repeating-linear-gradient(-45deg,#ff2a2a 0 10px,#0a0a0a 10px 20px) bottom/100% 7px no-repeat,linear-gradient(180deg,#ff3a3a,#e01e1e 55%,#ff2a2a);box-shadow:0 14px 28px rgba(0,0,0,.65)}
.ctape span{font:400 18px/1 Anton,Impact,sans-serif;letter-spacing:.08em;color:#0a0a0a;padding-left:20px;animation:ct 40s linear infinite}
.ctape.a{transform:rotate(-8deg)}.ctape.b{transform:rotate(6deg);filter:brightness(.8)}.ctape.b span{animation-direction:reverse}
@keyframes ct{to{transform:translateX(-30%)}}
@media(prefers-reduced-motion:reduce){.ctape span{animation:none}}
@media(max-width:1023px){.crime{height:170px}.ctape{height:42px;margin-top:-21px}.ctape span{font-size:15px}}
/* Gag + Fan-Call */
.gag{order:4;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.gag .btn{min-height:44px}.gag-t{color:var(--mut);font-size:var(--t-sm);margin:0}
.gag-yt{width:min(100%,480px);aspect-ratio:16/9}.gag-yt iframe{width:100%;height:100%;border:0}
.fan{order:5;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;margin:var(--s4) 0 var(--s3)}
.fan-h{font-size:clamp(30px,5vw,56px);margin:0;line-height:1}.fan-tag{font:800 var(--t-lg) Arial;color:var(--acc);margin:0;letter-spacing:.04em}
.lst{order:5;font-size:clamp(28px,4vw,44px);margin:var(--s4) 0 0}.c6>.more,.c6 .btn.more{order:5;align-self:center}
.srow{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}
.meta{color:var(--mut);font-size:12px;margin:6px 0 0;letter-spacing:.05em}
.vc h3{font:700 15px/1.3 Arial;margin:12px 0 0}.reel-sent{flex:0 0 1px}
.song .meta{margin:4px 0 0}
/* ===== Galerie ===== */
html.g-lock body{position:fixed;left:0;right:0;overflow:hidden}
#gal{position:fixed;inset:0;z-index:300;display:flex;flex-direction:column;align-items:center;justify-content:center}
#gal[hidden]{display:none}
.g-bg{position:absolute;inset:0;background:rgba(5,5,5,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.g-st{position:relative;width:min(92vw,calc((100vh - 220px)*16/9),1280px);will-change:transform,opacity}
.g-fr{aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.7)}
#gal.vert .g-st{width:min(88vw,calc((100vh - 200px)*9/16),420px)}#gal.vert .g-fr{aspect-ratio:9/16}
.g-fr iframe{width:100%;height:100%;border:0;display:block}
.g-ti{margin:12px 0 0;color:#f4f1ea;font:600 14px/1.4 Arial;text-align:center;max-height:2.8em;overflow:hidden}
.g-x,.g-p,.g-n{position:absolute;z-index:2;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(5,5,5,.6);color:#f4f1ea;font-size:28px;line-height:1;cursor:pointer}
.g-x{top:16px;right:16px;font-size:22px}.g-p{left:16px;top:50%;margin-top:-26px}.g-n{right:16px;top:50%;margin-top:-26px}
.g-x:focus-visible,.g-p:focus-visible,.g-n:focus-visible{outline:2px solid var(--acc)}
.g-c{position:absolute;top:28px;left:24px;z-index:2;margin:0;color:#f4f1ea;font:800 13px Arial;letter-spacing:.15em}
.g-strip{position:relative;z-index:2;display:flex;gap:8px;overflow-x:auto;max-width:92vw;margin-top:16px;padding:6px;scrollbar-width:thin}
.g-strip button{flex:0 0 112px;height:63px;padding:0;border:2px solid transparent;border-radius:6px;overflow:hidden;background:#111;opacity:.55;cursor:pointer}
.g-strip button.on{border-color:var(--acc);opacity:1}.g-strip img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:1023px){.g-strip{display:none}.g-p,.g-n{top:auto;bottom:20px;margin:0}.g-st{width:94vw}#gal.vert .g-st{width:min(82vw,calc((100svh - 170px)*9/16))}}
.ch:not(.hero)>.cta1{margin-top:calc(20px - 64px)}
@media(max-width:1023px){.ch:not(.hero)>.cta1{margin-top:calc(20px - var(--_g,64px))}}
/* Erik-QA: Gag als Spielerei, Fan-Call sekundär */
.gag{flex-direction:row;flex-wrap:wrap;align-items:center}
.gag-l{font:800 10px Arial;letter-spacing:.2em;text-transform:uppercase;color:var(--acc);border:1px dashed var(--acc);border-radius:999px;padding:4px 10px}
.gagb{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid rgba(244,241,234,.35);background:transparent;color:#f4f1ea;font:700 13px Arial;letter-spacing:.06em;cursor:pointer}
.gagb:hover,.gagb:focus-visible{border-color:var(--acc);color:var(--acc)}
.gag-t{flex-basis:100%}
.btn.ghost{background:transparent;color:#f4f1ea;border:1px solid rgba(244,241,234,.35);padding:0 20px;min-height:44px;font-size:11px}
.btn.ghost:hover{border-color:var(--acc);color:var(--acc)}
.fan-h{font-size:clamp(24px,3.4vw,40px)}
@media(max-width:1023px){html.at-hero .prog{opacity:0;pointer-events:none}.prog{transition:opacity .3s}}
/* Hero 375: Story-Link im ersten Screen (667/812), Video-Höhe aus Resthöhe */
@media(max-width:1023px){
 .hero{--hvh:clamp(220px,calc(100svh - 64px - 360px),52svh);row-gap:0!important;gap:0!important}
 .hero>.hv{height:var(--hvh)!important}
 .hero{padding-top:calc(var(--nav-h) + var(--hvh) + 8px)!important}
 .hero .glitch{margin:12px 0 0!important}.hero .lead{margin-top:14px!important}
 .hero .ctas{margin-top:18px!important}.hero .story{margin-top:6px!important}
}
@media(max-width:1023px){.hero .kick{margin-bottom:8px!important}.hero>h1{margin-bottom:0!important}.hero .glitch{margin:0!important}.hero .ctas{margin-bottom:0!important}}
.song.sp-only{border:1px solid rgba(255,255,255,.15);border-radius:14px;padding:16px}.song.sp-only .btn{margin-top:12px;min-height:44px}
/* Fix 23.10.: Band nicht oben/unten abschneiden, nur seitlich */
.tape{overflow:visible;overflow-x:clip;overflow-y:visible}
/* 23.10.: große 33 heller, geiler, tiefer */
.c33 .big-o{top:215px;transform:none;-webkit-text-stroke:2px rgba(255,60,60,.95);filter:drop-shadow(0 0 14px rgba(255,40,40,.55)) drop-shadow(0 0 40px rgba(255,40,40,.3));animation:glow33 4s ease-in-out infinite}
@keyframes glow33{0%,100%{opacity:.85}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.c33 .big-o{animation:none}}
/* 23.10.: 88662 wie die 33 */
.c62 .big-o{z-index:0;left:2vw;-webkit-text-stroke:2px rgba(255,60,60,.95);-webkit-text-stroke-color:rgba(255,60,60,.95);filter:drop-shadow(0 0 14px rgba(255,40,40,.55)) drop-shadow(0 0 40px rgba(255,40,40,.3));animation:glow33 4s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.c62 .big-o{animation:none}}
/* Kapitel 4: chronologische Release-Liste */
.sp-box>iframe{width:100%;height:352px;border:0;border-radius:12px;background:#111}.sp-box>iframe.ytf{height:auto;aspect-ratio:16/9}
@media(max-width:760px){.sp-box>iframe{height:280px}}
.pl{max-height:520px;overflow-y:auto;overscroll-behavior:contain}
.pl li{display:block;padding:0}
.pl .pli{all:unset;box-sizing:border-box;width:100%;min-height:44px;display:grid;grid-template-columns:40px 1fr auto auto;gap:var(--s2);align-items:center;padding:var(--s3) 0;cursor:pointer}
.pl .pli:focus-visible{outline:2px solid var(--fg);outline-offset:-2px}
.pl .d,.pl .pv{font:600 var(--t-xs)/1 Arial;letter-spacing:.1em;color:var(--mut)}.pl .pv{text-transform:uppercase;opacity:.7}
.pl .pli:hover .pv,.pl li.on .pv{color:#1ED760;opacity:1}.pl li.on b{color:#ff2a2a}
@media(max-width:480px){.pl .pli{grid-template-columns:32px 1fr auto}.pl .pv{display:none}}
/* 23.10.: Bild in Kap. 04 raus */
#k4 .ch-img{display:none}
.sp-box>.mvp{border-radius:12px}
/* Kap. 02: Bild als Hintergrund */
#k2{position:relative;overflow:hidden;min-height:100vh;justify-content:center}
#k2>.ch-img{position:absolute;inset:0;width:100%;height:100%;border-radius:0;z-index:0;order:0;margin:0}
#k2>.ch-img img,#k2>.ch-img picture,#k2>.ch-img video{width:100%;height:100%;object-fit:cover;object-position:70% 30%}
#k2>.ch-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.94) 0%,rgba(5,5,5,.8) 40%,rgba(5,5,5,.35) 75%,rgba(5,5,5,.55) 100%),linear-gradient(0deg,#050505 0%,transparent 25%,transparent 80%,#050505 100%)}
#k2>.ch-in{position:relative;z-index:2}
#k2 .big-o{z-index:1}
#k2 .txt{text-shadow:0 2px 12px rgba(0,0,0,.8)}
#k2>.ch-img{left:18%;right:0;width:auto}
#k2>.ch-img{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 25%);mask-image:linear-gradient(90deg,transparent 0,#000 25%)}
#k2>.ch-img{left:10%}
#k2>.ch-img::after{background:linear-gradient(90deg,rgba(5,5,5,.95) 0%,rgba(5,5,5,.85) 30%,rgba(5,5,5,.2) 50%,rgba(5,5,5,.1) 70%,rgba(5,5,5,.5) 100%),linear-gradient(0deg,#050505 0%,transparent 25%,transparent 80%,#050505 100%)}
#k3 .hook{white-space:pre-line}
/* Kap. 03: Bild als Hintergrund */
#k3{position:relative;overflow:hidden;min-height:100vh;justify-content:center}
#k3>.ch-img{position:absolute;top:0;bottom:0;left:10%;right:0;width:auto;height:100%;border-radius:0;z-index:0;order:0;margin:0;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 25%);mask-image:linear-gradient(90deg,transparent 0,#000 25%)}
#k3>.ch-img img,#k3>.ch-img picture,#k3>.ch-img video{width:100%;height:100%;object-fit:cover;object-position:60% 40%}
#k3>.ch-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.95) 0%,rgba(5,5,5,.8) 30%,rgba(5,5,5,.25) 55%,rgba(5,5,5,.15) 75%,rgba(5,5,5,.5) 100%),linear-gradient(0deg,#050505 0%,transparent 25%,transparent 80%,#050505 100%)}
#k3>.ch-in{position:relative;z-index:2}
#k3 .big-o{z-index:1;left:auto;right:3vw;top:50%;transform:translateY(-50%);opacity:.9}
#k3 .txt{text-shadow:0 2px 12px rgba(0,0,0,.8)}
#k3 .big-o{font-size:clamp(140px,17vw,300px);top:auto;bottom:6%;transform:none;right:2vw}
#k3 .big-o{top:215px;bottom:auto;right:4%;transform:none}
#k3 .big-o{right:calc(4% + .6vw)}
#k3>.ch-img{left:32%}#k3>.ch-img img{object-position:22% 25%}
#k3>.ch-img::after{background:linear-gradient(90deg,rgba(5,5,5,.95) 0%,rgba(5,5,5,.6) 22%,rgba(5,5,5,0) 42%,rgba(5,5,5,0) 85%,rgba(5,5,5,.4) 100%),linear-gradient(0deg,#050505 0%,transparent 22%,transparent 85%,#050505 100%)}#k3>.ch-img{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 15%);mask-image:linear-gradient(90deg,transparent 0,#000 15%)}
#k4>.yt-cta{order:5}#k3>.cta1{position:relative;z-index:2;margin-top:var(--s3)}
#k3{row-gap:0;gap:0}#k3>.cta1{margin-top:24px;align-self:flex-start}
#k3>.ch-img{left:35%}
#k3>.ch-img{left:33.5%}
#k4>.ch-media{order:2;margin-bottom:0}#k4>.cta1{order:3;margin-top:24px}#k4>.yt-cta{order:4;margin-top:12px}
.mvcol,.plcol{display:flex;flex-direction:column;align-items:flex-start;gap:20px;min-width:0}.mvcol>.sp-box,.plcol>.pl{width:100%}
/* 24.10.: Mobile-Layout kompakter (nur <=768px) */
@media(max-width:768px){
 section.ch:not(.hero){padding-top:56px;padding-bottom:56px}
 #k2,#k3{min-height:0;justify-content:flex-start;padding-top:0;gap:0;row-gap:0}
 #k2>.ch-img,#k3>.ch-img{position:relative;inset:auto;left:auto;right:auto;top:auto;bottom:auto;order:-1;width:auto;height:62svh;max-height:560px;margin:0 -5vw -96px;-webkit-mask-image:none;mask-image:none}
 #k2>.ch-img img,#k3>.ch-img img{object-position:62% 25%}
 #k3>.ch-img img{object-position:30% 25%}
 #k2>.ch-img::after,#k3>.ch-img::after{background:linear-gradient(0deg,#050505 0%,rgba(5,5,5,.75) 18%,rgba(5,5,5,0) 45%,rgba(5,5,5,0) 85%,#050505 100%)!important}
 #k2 .big-o,#k3 .big-o{top:calc(var(--nav-h) + 16px);bottom:auto;left:auto;right:5vw;transform:none;z-index:1;opacity:.9}
 #k2 .big-o{font-size:44vw}
 #k3 .big-o{font-size:26vw;right:4vw}
 #k2>.ch-in,#k3>.ch-in{order:0}
 #k3>.cta1{margin-top:20px}
 #k4,#k5{gap:24px;row-gap:24px}
 #k4>.ch-media{margin-top:0}
 .mvcol,.plcol{gap:16px;width:100%}
 .mvcol>.btn,.mvcol>a{align-self:stretch;justify-content:center;text-align:center}
}

@media(max-width:768px){#k2>.big-o,#k3>.big-o{display:none!important}}

#k5>.cta5{align-self:flex-start;margin-top:24px;position:relative;z-index:2}

/* 26.10. Design-QA (nur Tablet 769–1023px; Desktop/Mobil unverändert) */
@media(min-width:769px) and (max-width:1023px){
 #k2>.ch-img,#k3>.ch-img{aspect-ratio:auto!important;width:auto;max-width:none}
 #k2>.big-o,#k3>.big-o{top:auto!important;bottom:8%!important;transform:none!important}
}

footer .big{text-align:center;margin-left:auto;margin-right:auto}

/* ===== 26.10. Vereinheitlichung: Spacing, Kapitel-Fade, 33/88662-Shake, WebGL reduced-motion ===== */
/* 1) Eine Spacing-Skala: Kapitelabstand = --s6 (Desktop/Tablet) bzw. --s5 (Mobil); innen kick→hook→txt = --s2, Block→CTA = --s3 */
section.ch:not(.hero){padding-top:var(--s6);padding-bottom:var(--s6)}
.ch:not(.hero){gap:var(--s3);row-gap:var(--s3)}
#k4,#k5{gap:var(--s3);row-gap:var(--s3)}
.ch:not(.hero) .kick{margin:0 0 var(--s2)}
.ch:not(.hero) .hook{margin:0 0 var(--s2)}
.ch:not(.hero) .txt{margin:0}
.ch:not(.hero)>.cta1,#k5>.cta5,#k4>.cta1,#k4>.yt-cta,#k4>.ch-media,#k3>.cta1{margin-top:0}
@media(max-width:1023px){.ch:not(.hero)>.cta1{margin-top:0}}
@media(max-width:768px){
 section.ch:not(.hero){padding-top:var(--s5);padding-bottom:var(--s5)}
 #k2,#k3{padding-top:0} /* Bild läuft bis oben (bestehendes Mobil-Layout) */
}
/* 2) Gemeinsamer Fade-in (nur opacity/transform → CLS 0) */
.chfade .ch:not(.hero)>:not(.big-o):not(.ch-img){opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.9,.1,1)}
.chfade .ch:not(.hero)>.ch-img{opacity:0;transition:opacity .8s ease}
.chfade .ch.ch-on>:not(.big-o):not(.ch-img){opacity:1;transform:none}
.chfade .ch.ch-on>.ch-img{opacity:1}
.chfade .ch.ch-on>:nth-child(3){transition-delay:.08s}.chfade .ch.ch-on>:nth-child(n+4){transition-delay:.16s}
@media(prefers-reduced-motion:reduce){.ch:not(.hero)>*{opacity:1!important;transform:none!important}}
/* 3) Desktop: dezenter Shake der 33/88662 (nur translate/rotate, Position unverändert) */
@keyframes r33shake{0%,100%{translate:0 0;rotate:0deg}20%{translate:1px -1px;rotate:.3deg}40%{translate:-1px 1px;rotate:-.3deg}60%{translate:1px 1px;rotate:.2deg}80%{translate:-1px -1px;rotate:-.2deg}}
@media(min-width:1024px) and (prefers-reduced-motion:no-preference){
 .c33 .big-o,.c62 .big-o{animation:glow33 4s ease-in-out infinite,r33shake 2.4s ease-in-out infinite}
}
/* 4) WebGL aus bei reduced-motion → statischer Hintergrund */
.nogl #gl{display:none}
.nogl body{background:radial-gradient(120% 80% at 50% 0%,#1a0505 0%,#050505 60%) fixed,#050505}
@media(min-width:769px){#k3{gap:var(--s3);row-gap:var(--s3)}}

#k4,#k5{min-height:0!important}

.ft-follow:empty{display:none}

/* Kapitel-Fade deutlicher: 40px, ~0.9s ease-out */
.chfade .ch:not(.hero)>:not(.big-o):not(.ch-img){opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.chfade .ch:not(.hero)>.ch-img{opacity:0;transition:opacity .9s ease-out}
.chfade .ch.ch-on>:not(.big-o):not(.ch-img){opacity:1;transform:none}
.chfade .ch.ch-on>.ch-img{opacity:1}

/* Robin: Zahlen shaken beim Scrollen (Desktop) */
@keyframes bigShake{0%,100%{translate:0 0;rotate:0deg}20%{translate:-4px 2px;rotate:-.8deg}40%{translate:4px -2px;rotate:.8deg}60%{translate:-3px 1px;rotate:-.5deg}80%{translate:3px -1px;rotate:.4deg}}
@media(min-width:1024px) and (prefers-reduced-motion:no-preference){.big-o.scroll-shake{animation:bigShake .35s linear infinite}}
/* Hero-Loop aus allen Musikvideos (26.10.) */
.hero>.hv{background-image:url(../assets/video/hero-loop-poster.webp?v=4)!important}

#k5>.cta5{order:9;margin-top:24px!important}

/* Robin: CTAs krasser */
@keyframes ctaPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,42,42,.55),0 10px 30px -8px rgba(255,42,42,.6)}50%{box-shadow:0 0 0 10px rgba(255,42,42,0),0 14px 40px -6px rgba(255,42,42,.85)}}
.btn.p{background:#ff2a2a!important;color:#fff!important;border-color:#ff2a2a!important;padding:20px 34px;font-size:13px;letter-spacing:.22em;animation:ctaPulse 2.2s ease-in-out infinite;transition:transform .25s ease,background .25s ease}
.btn.p::after{content:"→";margin-left:12px;display:inline-block;transition:transform .25s ease}
.btn.p:hover{transform:translateY(-3px) scale(1.03);background:#ff4040!important}.btn.p:hover::after{transform:translateX(5px)}
@media(prefers-reduced-motion:reduce){.btn.p{animation:none}}

/* Robin: kein Shake */
.big-o,.big-o.scroll-shake{animation:none!important;translate:none!important;rotate:none!important}

/* ===== 26.10. Lux-Divider (ersetzt Neon-Divider) — Varianten per <html data-divider="champagne|monogram|hairline">, Default = champagne ===== */
#k3::before,#k4::before,#k5::before{content:"";position:absolute;z-index:4;left:12%;right:12%;top:36px;height:1px;pointer-events:none;
 background:linear-gradient(90deg,transparent 0,rgba(255,244,225,.95) 48%,#fff 50%,rgba(255,244,225,.95) 52%,transparent 100%) 160% 0/40% 100% no-repeat,
  linear-gradient(90deg,rgba(150,40,40,.75) 0%,rgba(190,70,60,.8) 30%,rgba(214,190,150,.9) 50%,rgba(190,70,60,.8) 70%,rgba(150,40,40,.75) 100%);
 -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 42%,transparent 47%,transparent 53%,#000 58%,#000 78%,transparent 100%);
 mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 42%,transparent 47%,transparent 53%,#000 58%,#000 78%,transparent 100%);
 box-shadow:0 0 6px rgba(214,170,140,.18);opacity:0;transform:scaleX(0) scaleY(.6);transform-origin:50% 50%;
 transition:opacity 1.2s ease-out,transform 1.4s cubic-bezier(.16,1,.3,1)}
#k3::after,#k4::after,#k5::after{content:"\25C6\2003\2726\2003\25C6";position:absolute;z-index:5;left:0;right:0;top:36px;height:20px;margin-top:-10px;pointer-events:none;
 display:flex;align-items:center;justify-content:center;font:300 13px/1 "Helvetica Neue",Arial,sans-serif;letter-spacing:.1em;
 color:rgba(222,196,160,.9);text-shadow:0 0 8px rgba(222,196,160,.25);opacity:0;transform:translateY(4px);transition:opacity 1s ease-out .5s,transform 1s ease-out .5s}
.ch.ch-on#k3::before,.ch.ch-on#k4::before,.ch.ch-on#k5::before{opacity:1;transform:scaleX(1) scaleY(.6);animation:luxglint 1.8s ease-in-out 1.2s 1 both}
.ch.ch-on#k3::after,.ch.ch-on#k4::after,.ch.ch-on#k5::after{opacity:1;transform:none}
@keyframes luxglint{0%{background-position:-60% 0,0 0}100%{background-position:160% 0,0 0}}
/* Variante „monogram“: gedämpftes Rot, R 3 3 in feiner Type mit Rauten */
html[data-divider=monogram] #k3::before,html[data-divider=monogram] #k4::before,html[data-divider=monogram] #k5::before{background:linear-gradient(90deg,transparent 0,rgba(255,236,230,.9) 50%,transparent 100%) 160% 0/40% 100% no-repeat,linear-gradient(90deg,rgba(140,34,34,.8),rgba(176,48,44,.85) 50%,rgba(140,34,34,.8));
 -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 40%,transparent 45%,transparent 55%,#000 60%,#000 78%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 40%,transparent 45%,transparent 55%,#000 60%,#000 78%,transparent 100%)}
html[data-divider=monogram] #k3::after,html[data-divider=monogram] #k4::after,html[data-divider=monogram] #k5::after{content:"\00B7\2002R33\2002\00B7";font:200 11px/1 "Helvetica Neue",Arial,sans-serif;letter-spacing:.55em;text-indent:.55em;color:rgba(200,80,70,.95);text-shadow:0 0 10px rgba(200,60,50,.25)}
/* Variante „hairline“: nur Linie, mittig ein Mini-Diamant */
html[data-divider=hairline] #k3::before,html[data-divider=hairline] #k4::before,html[data-divider=hairline] #k5::before{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%,#000 70%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 30%,#000 70%,transparent 100%)}
html[data-divider=hairline] #k3::after,html[data-divider=hairline] #k4::after,html[data-divider=hairline] #k5::after{content:"\25C6";font-size:6px;color:rgba(236,214,180,.95);text-shadow:0 0 6px rgba(236,214,180,.6)}
/* ohne Fade-JS (reduced-motion / kein IO): statisch sichtbar */
html:not(.chfade) #k3::before,html:not(.chfade) #k4::before,html:not(.chfade) #k5::before{opacity:1;transform:scaleX(1) scaleY(.6)}
html:not(.chfade) #k3::after,html:not(.chfade) #k4::after,html:not(.chfade) #k5::after{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){#k3::before,#k4::before,#k5::before,#k3::after,#k4::after,#k5::after{transition:none!important;animation:none!important;opacity:1!important}#k3::before,#k4::before,#k5::before{transform:scaleX(1) scaleY(.6)!important}#k3::after,#k4::after,#k5::after{transform:none!important}}

/* Robin: Footer sauber */
footer{padding:72px 5vw 40px!important;text-align:center}
footer .big{display:block;line-height:1;margin:0 auto 40px!important}
footer .ft{justify-content:center!important;align-items:center}
footer .ft>div:empty{display:none}
footer .ft>div{align-items:center;justify-content:center;gap:24px}
footer .ft span,footer .ft a{display:inline-flex;align-items:center;min-height:44px;line-height:1}
/* Mobile-Hero-Loop (nur <=768px) */
@media(max-width:768px){.hero>.hv{background-image:url(../assets/video/hero-loop-mobile-poster.webp?v=2)!important;background-position:50% 22%!important}.hv video{object-position:50% 22%!important}}

/* Robin: Nach-oben-Button */
.totop{position:fixed;right:24px;bottom:24px;z-index:90;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(10,10,10,.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;display:grid;place-items:center;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .3s,transform .3s,background .2s,border-color .2s}
.totop.on{opacity:1;pointer-events:auto;transform:none}
.totop:hover{background:#ff2a2a;border-color:#ff2a2a}
.totop:focus-visible{outline:2px solid #ff2a2a;outline-offset:3px}
@media(max-width:768px){.totop{right:16px;bottom:16px;width:46px;height:46px}}
@media(prefers-reduced-motion:reduce){.totop{transition:none}}

/* Mobile-Text-QA (Erik, 26.10.): nur Umbruch-Feinschliff, Desktop unberührt */
@media(max-width:768px){
 .hook,.kick,.ch .btn,.cap{text-wrap:balance}
 .lead,.ch .txt{text-wrap:pretty;hyphens:manual;overflow-wrap:break-word}
 .hook{overflow-wrap:break-word;hyphens:manual}
}

/* Mobile-QA (Patrick): iOS Safe-Area für Nach-oben-Button, Tap ohne Verzögerung */
@media(max-width:768px){.totop{right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));touch-action:manipulation;-webkit-tap-highlight-color:transparent}}
/* Mobil-Medien 26.10.: Inline-object-position aus chapters.js überschreibt sonst die Mobil-Regeln; K2-Kopf nicht anschneiden */
@media(max-width:1023px){#k2>.ch-img img{object-position:66% 25%!important}#k3>.ch-img img{object-position:30% 25%!important}}

/* ===== 26.10. Mobile-Feinschliff (nur <=768px; Desktop unverändert) ===== */
@media(max-width:768px){
 /* Spacing: eine Skala — Sektion 64px oben/unten, innen 16/24px */
 section.ch:not(.hero){padding-top:var(--s5);padding-bottom:var(--s5)}
 #k2,#k3{padding-top:0}
 .ch:not(.hero),#k4,#k5{gap:var(--s3);row-gap:var(--s3)}
 #k4 .mus{display:flex;flex-direction:column;gap:var(--s3)}
 .mvcol,.plcol{gap:var(--s3)}
 /* Type-Skala */
 .ch:not(.hero) .kick{font-size:11px;letter-spacing:.28em;line-height:1.4}
 .ch:not(.hero) .hook{font-size:clamp(40px,11.5vw,52px);line-height:.95}
 .ch:not(.hero) .txt{font-size:16px;line-height:1.65}
 .hero .kick{letter-spacing:.2em;line-height:1.4}
 .hero .lead{font-size:clamp(17px,4.6vw,19px);line-height:1.5}
 /* CTAs: volle Breite, groß, einzeilig */
 .btn.p{display:flex;width:100%;min-height:56px;padding:16px 20px!important;font-size:12.5px!important;letter-spacing:.14em!important;line-height:1.25;text-align:center;white-space:normal;box-sizing:border-box}
 .hero .ctas{width:100%}
 #k5>.cta5,#k4 .mvcol>.btn.p{align-self:stretch}
 .story{display:inline-flex;align-items:center;min-height:48px}
 /* Kapitel 04: Playlist-Zeilen ruhig & tappbar */
 #k4 .pl{margin:0}
 #k4 .pl li,#k4 .pl .pli{min-height:56px}
 /* Kapitel 05: Reels — Karte so breit, dass die nächste angeschnitten sichtbar ist */
 #k5 .reels{margin-right:-5vw;padding-right:5vw;scroll-padding-left:0}
 #k5 .reel{flex:0 0 68%;max-width:300px}
 /* Footer: Luft unten, damit Nach-oben-Button nichts verdeckt */
 footer{padding-bottom:calc(96px + env(safe-area-inset-bottom))!important}
 footer .ft>div{flex-wrap:wrap;row-gap:4px}
 /* Kapitel-Zähler nach links unten, Nach-oben-Button rechts unten (keine Kollision) */
 .prog{right:auto;left:14px}
 .totop{right:12px;bottom:calc(12px + env(safe-area-inset-bottom))}
}
@media(max-width:768px) and (max-width:389px){.btn.p{letter-spacing:.08em!important;font-size:12px!important;padding:16px 16px!important}}
/* ===== Robin: Spendenpool (über Footer) ===== */
#spenden{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:0!important;height:auto!important}
#spenden .sp-sub{max-width:34em;margin:0 auto var(--s3,32px);opacity:.8;text-wrap:pretty}
#spenden::before{content:"";position:absolute;z-index:4;left:12%;right:12%;top:36px;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent 0,rgba(255,244,225,.95) 48%,#fff 50%,rgba(255,244,225,.95) 52%,transparent 100%) 160% 0/40% 100% no-repeat,linear-gradient(90deg,rgba(150,40,40,.75) 0%,rgba(190,70,60,.8) 30%,rgba(214,190,150,.9) 50%,rgba(190,70,60,.8) 70%,rgba(150,40,40,.75) 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 42%,transparent 47%,transparent 53%,#000 58%,#000 78%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 42%,transparent 47%,transparent 53%,#000 58%,#000 78%,transparent 100%);box-shadow:0 0 6px rgba(214,170,140,.18);opacity:0;transform:scaleX(0) scaleY(.6);transition:opacity 1.2s ease-out,transform 1.4s cubic-bezier(.16,1,.3,1)}
#spenden::after{content:"\25C6\2003\2726\2003\25C6";position:absolute;z-index:5;left:0;right:0;top:36px;height:20px;margin-top:-10px;pointer-events:none;display:flex;align-items:center;justify-content:center;font:300 13px/1 "Helvetica Neue",Arial,sans-serif;letter-spacing:.1em;color:rgba(222,196,160,.9);text-shadow:0 0 8px rgba(222,196,160,.25);opacity:0;transform:translateY(4px);transition:opacity 1s ease-out .5s,transform 1s ease-out .5s}
.ch.ch-on#spenden::before{opacity:1;transform:scaleX(1) scaleY(.6);animation:luxglint 1.8s ease-in-out 1.2s 1 both}
.ch.ch-on#spenden::after{opacity:1;transform:none}
html:not(.chfade) #spenden::before{opacity:1;transform:scaleX(1) scaleY(.6)}
html:not(.chfade) #spenden::after{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){#spenden::before,#spenden::after{transition:none!important;animation:none!important;opacity:1!important}#spenden::before{transform:scaleX(1) scaleY(.6)!important}#spenden::after{transform:none!important}}
@media(max-width:768px){#spenden .sp-sub{font-size:16px;padding:0 4px}}
#spenden>.ch-in{order:0!important;grid-row:auto!important}#spenden>.sp-sub{order:1!important;margin-top:16px}#spenden>.cta-sp{order:2!important;margin-top:0!important}

/* ===== Lukas: CTA-Abstände (27.10.) — einheitlich: 32px Desktop (>=1024), 24px Tablet/Mobil, über und unter jedem CTA zum Nachbarinhalt ===== */
html{--cta-sp:32px}
@media(max-width:1023px){html{--cta-sp:24px}}
html .hero .ctas{margin-top:var(--cta-sp)!important;margin-bottom:0!important}
html .hero .story{margin-top:var(--cta-sp)!important}
html #k3>.cta1{margin-top:calc(var(--cta-sp) - 24px)!important}
html #k4 .mvcol{row-gap:var(--cta-sp);gap:var(--cta-sp)}
html #k5>.cta5{margin-top:calc(var(--cta-sp) - 24px)!important}
html #spenden .sp-sub{margin-bottom:0!important}
html #spenden>.cta-sp{margin-top:calc(var(--cta-sp) - 24px)!important}
@media(max-width:1023px){html #k3>.cta1{margin-top:var(--cta-sp)!important}}
/* ===== Robin: Absperrband mobil (27.10.) =====
   Mobil lagen die zwei Bänder (-4°/+3°) auf nur ~470px Breite fast übereinander:
   vom hinteren Band blitzten nur abgeschnittene Textfetzen oben/unten hervor.
   Fix: hinteres Band als reines Streifenband ohne Text, Winkel weiter gespreizt -> sauberes X. */
@media(max-width:1023px){
 .tape .front{transform:rotate(-5deg)}
 .tape .back{transform:rotate(6deg);opacity:.5}
 .tape .back .tick-t{visibility:hidden;animation:none}
}
/* ===== Robin: Playlist mobil (27.10.) =====
   overscroll-behavior:contain + eigene Scrollbox fing den Wisch am Listenende ab ("unsichtbare Wand").
   Mobil: Liste ohne eigene Scrollbox, die Seite scrollt normal weiter. */
@media(max-width:1023px){
 .pl{max-height:none;overflow:visible;overscroll-behavior:auto}
}
