/* ==========================================================
   Design 3 – modern, klar, filmisch
   Großflächige Bilder, kräftige Typografie, flache Karten, ein Akzent.
   Hell = Standard · Dunkel per Schalter
   ========================================================== */
html:not([data-theme="dark"]){
  --ink:#f5f3ef;--ink-2:#ffffff;--ink-3:#ebe7e0;--page:#f5f3ef;--page-2:#ece8e1;--desk:#f5f3ef;--card:#ffffff;
  --text:#121214;--muted:#66625c;--line:rgba(18,18,20,.12);--rule:rgba(18,18,20,.18);
  --burg:#d01c38;--burg-2:#d01c38;--gold:#d01c38;--accent:#d01c38;--accent-2:#ff5a6e;
}
html[data-theme="dark"]{
  --ink:#0c0c0e;--ink-2:#141417;--ink-3:#1c1c20;--page:#0c0c0e;--page-2:#141417;--desk:#0c0c0e;--card:#141417;
  --text:#f4f2ee;--muted:#a29e97;--line:rgba(255,255,255,.14);--rule:rgba(255,255,255,.2);
  --burg:#ff5a6e;--burg-2:#e0243f;--gold:#ff5a6e;--accent:#ff5a6e;--accent-2:#ff8a96;
}
@keyframes rot{to{transform:rotate(360deg)}}
@keyframes float2{50%{translate:0 -12px}}
@keyframes drift{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(5vw,3vh,0) scale(1.12)}}
@keyframes sweep{to{transform:translateX(130%) skewX(-18deg)}}
@keyframes unveil{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
@keyframes marq{to{transform:translateX(-50%)}}

body:not(#_){background:var(--ink);color:var(--text);background-image:none;font-family:var(--sans);font-size:17px;line-height:1.65}
body:not(#_) em{color:var(--accent);font-style:normal;text-decoration:none}
/* Überschriften: kräftig, modern */
body:not(#_) h1,body:not(#_) h2,body:not(#_) h3,body:not(#_) h4{font-family:var(--sans);font-weight:800;letter-spacing:-.025em;line-height:1.05}
body:not(#_) .section h2,body:not(#_) .page-hero h1{font-size:clamp(2.2rem,5.6vw,4.2rem);text-transform:none}
body:not(#_) .kicker{font-family:var(--sans);font-size:.78rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:12px;transform:none;margin-bottom:16px}
body:not(#_) .kicker::before{content:"";width:28px;height:2px;background:currentColor}
body:not(#_) .center .kicker,body:not(#_) .section-head .kicker{margin-inline:0}
body:not(#_) .lede{font-size:1.2rem;color:var(--muted);font-family:var(--sans);max-width:680px}
body:not(#_) .prose,body:not(#_) .voice-body{font-family:var(--sans);font-size:1.05rem;line-height:1.75;color:var(--text)}
body:not(#_) .prose p{text-align:left;hyphens:manual}
body:not(#_) .muted{color:var(--muted)}
body:not(#_) .blob{display:block}
body:not(#_) .fv,body:not(#_) .grain,body:not(#_) .marquee::before{display:none}
.dust,.spotlight{display:none!important}

/* ---------- Kopfzeile ---------- */
body:not(#_) .site-header{padding:16px max(22px,calc((100vw - 1280px)/2));gap:26px}
body:not(#_) .site-header.solid{background:color-mix(in srgb,var(--ink) 82%,transparent);backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);box-shadow:0 1px 0 var(--line);padding-block:11px}
body:not(#_) .brand b{font-family:var(--sans);font-size:.62rem;letter-spacing:.34em;font-weight:700;color:var(--muted)}
body:not(#_) .brand i{font-family:var(--sans);font-style:normal;font-weight:800;font-size:1.5rem;letter-spacing:-.02em;background:none;-webkit-background-clip:initial;color:var(--text)}
body:not(#_) .brand img{filter:none}
body:not(#_) .nav{margin:0 auto}
body:not(#_) .nav a{font-family:var(--sans);font-weight:500;font-size:.95rem;border-radius:99px;color:var(--text);padding:9px 16px;background:none}
body:not(#_) .nav a:hover{background:color-mix(in srgb,var(--text) 8%,transparent)}
body:not(#_) .nav a.on{background:none;color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent);border-radius:0;padding-inline:4px;margin-inline:12px}
.head-cta{background:var(--text);color:var(--ink);padding:11px 22px;border-radius:99px;font-weight:700;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:transform .3s,background .3s,color .3s;white-space:nowrap}
.head-cta:hover{background:var(--accent);color:#fff;transform:translateY(-2px)}
body:not(#_) .cart-btn,body:not(#_) .theme-btn,body:not(#_) .burger{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--text);backdrop-filter:none}
body:not(#_) .cart-btn:hover,body:not(#_) .theme-btn:hover{background:color-mix(in srgb,var(--text) 10%,transparent)}
body:not(#_) .burger span{background:var(--text)}
/* über dem dunklen Start: helle Schrift */
body:not(#_).home .site-header:not(.solid) .brand i,body:not(#_).home .site-header:not(.solid) .nav a,body:not(#_).home .site-header:not(.solid) .cart-btn,body:not(#_).home .site-header:not(.solid) .theme-btn{color:#fff}
body:not(#_).home .site-header:not(.solid) .brand b{color:rgba(255,255,255,.6)}
body:not(#_).home .site-header:not(.solid) .nav a.on{color:#fff;box-shadow:inset 0 -2px 0 var(--accent-2)}
body:not(#_).home .site-header:not(.solid) .cart-btn,body:not(#_).home .site-header:not(.solid) .theme-btn,body:not(#_).home .site-header:not(.solid) .burger{border-color:rgba(255,255,255,.3)}
body:not(#_).home .site-header:not(.solid) .burger span{background:#fff}
body:not(#_).home .site-header:not(.solid) .head-cta{background:#fff;color:#111}

/* ---------- Buttons ---------- */
body:not(#_) .btn{border-radius:99px;border:1.5px solid transparent;box-shadow:none;font-family:var(--sans);font-weight:700;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;padding:15px 30px;transition:transform .3s,background .3s,color .3s,border-color .3s,box-shadow .3s}
body:not(#_) .btn:hover{transform:translateY(-3px)}
body:not(#_) .btn.primary{background:var(--accent);color:#fff;box-shadow:0 14px 30px -14px color-mix(in srgb,var(--accent) 90%,transparent)}
body:not(#_) .btn.primary:hover{background:color-mix(in srgb,var(--accent) 85%,#000);box-shadow:0 20px 34px -14px color-mix(in srgb,var(--accent) 95%,transparent)}
body:not(#_) .btn.ghost{background:transparent;border-color:var(--rule);color:var(--text)}
body:not(#_) .btn.ghost:hover{background:var(--text);color:var(--ink);border-color:var(--text)}
body:not(#_) .btn.small{padding:10px 18px;font-size:.74rem}
body:not(#_) .btn.primary::after{display:none}
body:not(#_) .link{color:var(--accent);border-bottom:2px solid currentColor;font-weight:700}

/* ---------- Startbereich: filmisch ---------- */
body:not(#_) .hero{min-height:100svh;background:radial-gradient(70% 70% at 85% 30%,rgba(224,36,63,.55),transparent 65%),radial-gradient(60% 60% at 0% 100%,rgba(120,40,160,.35),transparent 65%),#0b0709;color:#fff;border:0;padding:130px 24px 90px;display:grid;place-items:center;overflow:hidden}
body:not(#_) .hero::before,body:not(#_) .hero::after{display:none}
body:not(#_) .hero .blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;animation:drift 18s ease-in-out infinite}
body:not(#_) .hero .b1{width:44vmax;height:44vmax;right:-8vmax;top:-10vmax;left:auto;background:radial-gradient(circle,#ff4d63,transparent 65%)}
body:not(#_) .hero .b2{width:36vmax;height:36vmax;left:-10vmax;bottom:-12vmax;top:auto;right:auto;background:radial-gradient(circle,#7a3bd0,transparent 65%);animation-delay:-6s}
body:not(#_) .hero .b3,body:not(#_) .hero .b4{display:none}
body:not(#_) .bigL{display:block;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.07);left:30%}
.hero-wrap{position:relative;z-index:2;width:min(1280px,100%);display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}
body:not(#_) .hero-inner{text-align:left;max-width:none}
body:not(#_) .eyebrow{font-family:var(--sans);font-size:.78rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:#ff8a96;display:inline-flex;align-items:center;gap:12px;margin-bottom:26px}
body:not(#_) .eyebrow::before{content:"";width:34px;height:2px;background:#ff8a96}
body:not(#_) .hero-title{align-items:flex-start;margin-bottom:30px;line-height:.9}
body:not(#_) .t-unter{font-family:var(--sans);font-style:normal;font-weight:300;font-size:clamp(1.8rem,4.6vw,3.8rem);letter-spacing:.02em;color:#fff;background:none;-webkit-background-clip:initial;filter:none;animation:none;text-transform:uppercase}
body:not(#_) .t-luh{font-family:var(--sans);font-size:clamp(4.4rem,14.5vw,12.5rem);font-weight:900;letter-spacing:-.06em;margin-top:.02em}
body:not(#_) .t-luh i{font-style:normal;color:transparent;background:linear-gradient(110deg,#fff 0%,#fff 40%,#ff8a96 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;text-shadow:none;filter:none;animation:letter .9s cubic-bezier(.2,.7,.2,1) calc(.25s + var(--n,0)*.08s) forwards}
body:not(#_) .t-luh i:nth-child(n){color:transparent}
body:not(#_) .hero-title::after{display:none}
body:not(#_) .hero-hand{font-family:var(--hand);font-size:clamp(1.5rem,2.6vw,2.2rem);color:rgba(255,255,255,.85)}
body:not(#_) .hero-hand span{margin-left:0}
body:not(#_) .hero-cta{justify-content:flex-start}
body:not(#_) .hero .btn.ghost{border-color:rgba(255,255,255,.4);color:#fff}
body:not(#_) .hero .btn.ghost:hover{background:#fff;color:#111;border-color:#fff}
.hero-visual{position:relative;justify-self:center;width:min(480px,92%);aspect-ratio:4/5}
.hv-portrait{position:absolute;inset:0 0 6% 8%;border-radius:200px 200px 34px 34px;overflow:hidden;box-shadow:0 60px 80px -30px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.12)}
.hv-portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(11,7,9,.55))}
.hv-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;transform:scale(1.06)}
.hv-book{position:absolute;left:-4%;bottom:-2%;width:40%;perspective:700px;z-index:3;animation:float2 6s ease-in-out infinite;text-decoration:none}
.hv-book img{width:100%;border-radius:4px 10px 10px 4px;box-shadow:0 40px 40px -18px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.14);transform:rotateY(-16deg) rotateX(3deg) rotateZ(-3deg);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.hv-book:hover img{transform:rotateY(0) rotateX(0) rotateZ(0) scale(1.07)}
.hv-tag{position:absolute;top:-12px;right:-12px;background:var(--accent-2);color:#fff;font-weight:800;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:7px 12px;border-radius:99px;box-shadow:0 8px 20px -6px rgba(255,90,110,.8)}
/* Laufband */
body:not(#_) .marquee{display:block;background:var(--accent);color:#fff;transform:none;margin:0;padding:20px 0;border:0;box-shadow:none}
body:not(#_) .marquee-track{font-family:var(--sans);font-style:normal;font-weight:800;font-size:clamp(1.4rem,3vw,2.2rem);letter-spacing:-.01em;text-transform:uppercase;gap:40px}
body:not(#_) .marquee-track em{color:rgba(255,255,255,.55)}

/* ---------- Seitenköpfe ---------- */
body:not(#_) .page-hero{background:radial-gradient(60% 120% at 90% 0%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 70%),var(--ink);border:0;padding:170px 0 56px;text-align:left}
body:not(#_) .page-hero::before{display:none}
body:not(#_) .page-hero .hero-bg{display:block}
body:not(#_) .page-hero .blob{display:none}
body:not(#_) .page-hero h1{font-size:clamp(2.8rem,8vw,6.4rem);font-weight:900;letter-spacing:-.04em}
body:not(#_) .page-hero.slim{padding:130px 0 20px}
body:not(#_) .page-hero h1::after{display:none}
body:not(#_) .page-hero .lede{margin-inline:0}

/* ---------- Abschnitte ---------- */
body:not(#_) .section{padding:clamp(70px,9vw,120px) 0;background:transparent;border:0}
body:not(#_) .section.alt{background:var(--ink-2)}
body:not(#_) .section h2::after{display:none}
body:not(#_) .section-head{margin:0 0 44px;text-align:left;max-width:none}
body:not(#_) .wrap{width:min(1240px,100% - 44px)}
body:not(#_) .wrap.narrow{width:min(860px,100% - 44px)}
body:not(#_) .news{background:var(--ink-2)}
body:not(#_) .news-copy h2{margin-bottom:22px}
body:not(#_) .book3d{transform:rotateY(-18deg) rotateX(4deg);filter:drop-shadow(0 50px 40px rgba(0,0,0,.4));animation:float2 7s ease-in-out infinite}
body:not(#_) .book3d img{border-radius:4px 12px 12px 4px;box-shadow:0 0 0 1px rgba(0,0,0,.08);-webkit-box-reflect:below 6px linear-gradient(transparent 80%,rgba(255,255,255,.2))}
body:not(#_) .book3d::before,body:not(#_) .book3d::after{display:none}
body:not(#_) .news-visual::before{content:"";position:absolute;inset:-10%;z-index:-1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 40%,transparent),transparent 65%);filter:blur(30px)}
body:not(#_) .float-sticker{background:var(--accent);border:0;box-shadow:0 10px 24px -8px color-mix(in srgb,var(--accent) 90%,transparent)}

/* Termine: Tour-Liste */
body:not(#_) .event-list{gap:0;border-top:1px solid var(--rule)}
body:not(#_) .event{background:transparent;border:0;border-bottom:1px solid var(--rule);border-radius:0;box-shadow:none;backdrop-filter:none;padding:30px 12px;grid-template-columns:130px 1fr auto;gap:34px;transition:background .3s,padding .3s}
body:not(#_) .event:hover{background:color-mix(in srgb,var(--text) 5%,transparent);transform:none;box-shadow:none;border-color:var(--rule);padding-inline:26px}
body:not(#_) .ev-date{background:none;border:0;box-shadow:none;color:var(--text);text-align:left;padding:0}
body:not(#_) .ev-date b{font-family:var(--sans);font-size:4.4rem;font-weight:900;letter-spacing:-.05em;color:var(--text)}
body:not(#_) .ev-date span{color:var(--accent);font-weight:800;letter-spacing:.2em}
body:not(#_) .ev-date small{opacity:.55}
body:not(#_) .event h3{font-size:1.8rem;font-weight:800}
body:not(#_) .ev-meta{color:var(--text)}
body:not(#_) .ev-meta svg{color:var(--accent)}
body:not(#_) .ev-poster{border:0;border-radius:14px;box-shadow:0 20px 34px -16px rgba(0,0,0,.6);rotate:2deg}
body:not(#_) .maplink{color:var(--text);border-bottom:1px solid var(--rule)}
body:not(#_) .maplink span{color:var(--accent)}
body:not(#_) .past{background:var(--ink-2);border:0;border-radius:18px;box-shadow:none;backdrop-filter:none}
body:not(#_) .past img{border:0;border-radius:10px;box-shadow:none}

/* Gedicht */
body:not(#_) .poem-sec{background:var(--text);color:var(--ink);border:0}
body:not(#_) .poem-sec .wrap{background:none;border:0;box-shadow:none;transform:none;padding:0}
body:not(#_) .poem-sec .kicker{color:var(--accent-2)}
body:not(#_) .poem-title{color:var(--ink);font-size:clamp(2.6rem,7vw,5.5rem);text-align:left}
body:not(#_) .poem{font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,2.4vw,1.8rem);line-height:1.55;color:var(--ink)}
body:not(#_) .poem p{line-height:1.55}
body:not(#_) .poem-bg{display:block;color:rgba(255,255,255,.07);font-family:var(--sans)}
html[data-theme="dark"] body:not(#_) .poem-sec{background:var(--ink-2);color:var(--text)}
html[data-theme="dark"] body:not(#_) .poem,html[data-theme="dark"] body:not(#_) .poem-title{color:var(--text)}
html:not([data-theme="dark"]) body:not(#_) .poem-bg{color:rgba(255,255,255,.07)}

/* Über */
body:not(#_) .about{background:transparent}
body:not(#_) .portrait img{border:0;outline:0;border-radius:200px 200px 28px 28px;aspect-ratio:3/4;object-fit:cover;box-shadow:0 50px 60px -34px rgba(0,0,0,.6);transform:none}
body:not(#_) .portrait::before{display:block;content:"";position:absolute;inset:16px -20px -20px 20px;border-radius:200px 200px 28px 28px;border:2px solid var(--accent);z-index:-1;background:none;opacity:1;animation:none}
body:not(#_) .portrait::after{display:none}
body:not(#_) .portrait figcaption{display:none}
body:not(#_) .award{background:var(--ink-2);border:0;border-radius:16px;box-shadow:none;backdrop-filter:none}
body:not(#_) .award .medal{background:var(--accent)}
body:not(#_) .award b{font-family:var(--sans);font-weight:800}
body:not(#_) .award img{animation:none}
body:not(#_) .voices{background:var(--ink-2)}
body:not(#_) .voices blockquote{font-family:var(--serif);font-style:italic;color:var(--text)}
body:not(#_) .voices footer{color:var(--muted)}

/* ---------- Shop ---------- */
body:not(#_) .pcard{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:none;backdrop-filter:none;overflow:hidden;position:relative;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s,border-color .3s}
body:not(#_) .pcard::before,body:not(#_) .pcard::after{display:none}
body:not(#_) .pcard:hover{transform:translateY(-6px);box-shadow:0 36px 50px -30px rgba(0,0,0,.45);border-color:var(--rule)}
body:not(#_) .pimg{border-radius:0;border:0;box-shadow:none;aspect-ratio:1/1;padding:34px;background:radial-gradient(70% 60% at 50% 40%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%),var(--ink-3);overflow:hidden}
body:not(#_) .pimg::before,body:not(#_) .pimg::after{display:none}
body:not(#_) .pimg img{border:0;outline:0;border-radius:4px 10px 10px 4px;box-shadow:0 30px 34px -16px rgba(0,0,0,.55),0 0 0 1px rgba(0,0,0,.06);transform:perspective(900px) rotateY(-12deg);animation:float2 6s ease-in-out infinite;-webkit-box-reflect:none;transition:transform .6s cubic-bezier(.2,.7,.2,1);max-height:100%}
body:not(#_) .pcard:hover .pimg img{transform:perspective(900px) rotateY(0) scale(1.07);animation-play-state:paused}
body:not(#_) .pcard:nth-child(2n) .pimg img{animation-delay:-2s}body:not(#_) .pcard:nth-child(3n) .pimg img{animation-delay:-4s}
body:not(#_) .pcard.reveal.in .pimg img{animation:float2 6s ease-in-out infinite}
body:not(#_) .badge{background:var(--text);color:var(--ink);border-radius:99px;box-shadow:none;transform:none;padding:6px 13px;font-size:.68rem;letter-spacing:.14em}
body:not(#_) .chip-audio{background:rgba(255,255,255,.9);color:#111;border:0;border-radius:99px}
body:not(#_) .pinfo h3{font-size:1.15rem;font-weight:700;letter-spacing:-.01em}
body:not(#_) .price{font-family:var(--sans);font-weight:800;font-size:1.35rem}
body:not(#_) .gal-main{border:0;outline:0;border-radius:28px;background:radial-gradient(60% 55% at 50% 40%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 70%),var(--ink-3);box-shadow:none;padding:60px 40px 72px;overflow:hidden}
body:not(#_) .gal-main img{border:0;border-radius:4px 12px 12px 4px;box-shadow:0 40px 46px -22px rgba(0,0,0,.6),0 0 0 1px rgba(0,0,0,.06);animation:float2 7s ease-in-out infinite;-webkit-box-reflect:below 6px linear-gradient(transparent 78%,rgba(255,255,255,.22))}
body:not(#_) .gal-main::after{display:none}
body:not(#_) .gal-thumbs button{border:1px solid var(--line);border-radius:14px;background:var(--ink-3);box-shadow:none}
body:not(#_) .gal-thumbs button.on,body:not(#_) .gal-thumbs button:hover{border-color:var(--accent);box-shadow:none;transform:translateY(-3px)}
body:not(#_) .bigprice{font-family:var(--sans);font-weight:900}
body:not(#_) .audio-box,body:not(#_) .desc-box,body:not(#_) .card,body:not(#_) .voice,body:not(#_) .cart-row,body:not(#_) .cal{background:var(--ink-2);border:1px solid var(--line);border-radius:22px;box-shadow:none;backdrop-filter:none}
body:not(#_) .cart-row .ci img,body:not(#_) .ci img{border:0;border-radius:12px;box-shadow:none;background:var(--ink-3)}
body:not(#_) .track{background:var(--ink-3);border:0;border-radius:16px}
body:not(#_) .tplay{background:var(--accent);border:0;box-shadow:0 8px 18px -6px color-mix(in srgb,var(--accent) 90%,transparent)}
body:not(#_) .tbar i{background:var(--accent)}
body:not(#_) .form input:not([type=checkbox]):not([type=radio]),body:not(#_) .form textarea,body:not(#_) .form select,body:not(#_) .media-tools input,body:not(#_) .cq input{background:var(--ink);color:var(--text);border:1.5px solid var(--line);border-radius:14px;box-shadow:none}
body:not(#_) .form input:focus,body:not(#_) .form textarea:focus,body:not(#_) .media-tools input:focus{border-color:var(--accent);background:var(--ink);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 20%,transparent)}
body:not(#_) .opt{border:1.5px solid var(--line);border-radius:16px;color:var(--text)!important}
body:not(#_) .opt:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}
body:not(#_) .opt input{accent-color:var(--accent)}
body:not(#_) .form .check,body:not(#_) .ev-desc,body:not(#_) .legal,body:not(#_) .srow.sm,body:not(#_) .consent-card p{color:var(--text)}
body:not(#_) .legal h3{border:0}
body:not(#_) .avatar{background:var(--accent);color:#fff;border:0}
body:not(#_) .cal-days .busy{background:var(--accent)}
body:not(#_) .cal-days .free{background:color-mix(in srgb,#16a05a 18%,transparent)}
body:not(#_) .pill{background:var(--ink-3)}

/* ---------- Fotos ---------- */
body:not(#_) .shot{border:0;border-radius:20px;rotate:0deg!important;box-shadow:none;overflow:hidden;background:var(--ink-3);transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
body:not(#_) .shot:hover{transform:scale(1.02);box-shadow:0 30px 50px -26px rgba(0,0,0,.7)}
body:not(#_) .shot::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.4) 50%,transparent 65%);transform:translateX(-130%) skewX(-18deg)}
body:not(#_) .shot:hover::after{animation:sweep .9s}
body:not(#_) .shot span{inset:auto 12px 12px 12px;height:auto;padding:10px 14px;border-radius:12px;background:rgba(10,8,10,.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;font-family:var(--sans);font-size:.88rem;display:block;text-align:left;opacity:0;transform:translateY(10px);transition:.4s}
body:not(#_) .shot:hover span{opacity:1;transform:none}
body:not(#_) .reveal:not(.in) .shot img{clip-path:none}

/* ---------- Media ---------- */
body:not(#_) .media-tools{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:34px}
body:not(#_) .media-tools input{flex:1;min-width:220px;max-width:440px;border-radius:99px;padding:14px 24px}
body:not(#_) .vhero{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;aspect-ratio:auto;border-radius:0;background:none;box-shadow:none;margin-bottom:64px;text-decoration:none;color:var(--text);transform:none!important;overflow:visible}
body:not(#_) .vhero:hover{box-shadow:none}
.thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:var(--ink-3);box-shadow:0 40px 60px -34px rgba(0,0,0,.65)}
.thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.vhero:hover .thumb img,.vcard:hover .thumb img{transform:scale(1.06)}
.thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(8,6,8,.45));pointer-events:none}
/* Play-Button immer exakt mittig */
body:not(#_) .thumb .play{position:absolute;left:50%;top:50%;right:auto;margin:0;width:68px;height:68px;transform:translate(-50%,-50%);border-radius:50%;background:rgba(255,255,255,.2);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1.5px solid rgba(255,255,255,.75);box-shadow:0 12px 30px rgba(0,0,0,.35);z-index:2;transition:transform .4s cubic-bezier(.2,.7,.2,1),background .3s,border-color .3s}
body:not(#_) .thumb .play::after{content:"";position:absolute;left:50%;top:50%;border-left:20px solid #fff;border-top:12px solid transparent;border-bottom:12px solid transparent;transform:translate(-30%,-50%)}
body:not(#_) .thumb .play.big{width:100px;height:100px}
body:not(#_) .thumb .play.big::after{border-left-width:28px;border-top-width:17px;border-bottom-width:17px}
body:not(#_) .vhero:hover .play,body:not(#_) .vcard:hover .play{transform:translate(-50%,-50%) scale(1.14);background:var(--accent);border-color:var(--accent)}
.vhero .v-info{position:static;max-width:none;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.vhero .v-info small{color:var(--accent);letter-spacing:.2em;font-weight:700;text-transform:uppercase;font-size:.74rem;margin:0}
.vhero .v-info strong{font-family:var(--sans);font-weight:900;font-size:clamp(1.8rem,3.6vw,3.2rem);line-height:1.05;letter-spacing:-.03em}
body:not(#_) .vgrid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:40px 26px}
body:not(#_) .vcard{display:block;aspect-ratio:auto;background:none;border:0;border-radius:0;box-shadow:none;overflow:visible;text-decoration:none;color:var(--text);transform:none}
body:not(#_) .vcard.wide{grid-column:auto}
body:not(#_) .vcard:hover{box-shadow:none;border:0;transform:none}
body:not(#_) .vcard .thumb{box-shadow:none;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
body:not(#_) .vcard:hover .thumb{transform:translateY(-6px);box-shadow:0 30px 44px -26px rgba(0,0,0,.7)}
body:not(#_) .vcard .vt{position:static;display:block;margin-top:14px}
body:not(#_) .vcard .vt strong{display:block;font-family:var(--sans);font-weight:700;font-size:1.08rem;line-height:1.3;letter-spacing:-.01em}
body:not(#_) .vcard .vt small{display:block;color:var(--muted);font-size:.84rem;margin-top:4px}
body:not(#_) .vcard .new{position:absolute;top:12px;left:12px;z-index:3;margin:0}
body:not(#_) .new{background:var(--accent);color:#fff;border-radius:99px;padding:4px 11px;font-size:.66rem;letter-spacing:.14em}
body:not(#_) .vhero .new{position:static;margin-right:8px}
body:not(#_) .vcard.mini{border-radius:20px;border:0;box-shadow:none}
/* Video-Dialog: immer zentriert und vollständig sichtbar */
body:not(#_) .vmodal{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(6,4,8,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
body:not(#_) .vmodal[hidden]{display:none}
body:not(#_) .vm-box{width:min(1100px,100%,calc((100vh - 130px) * 16 / 9));max-width:100%}
body:not(#_) .vm-stage{aspect-ratio:16/9;border-radius:20px;background:#000;overflow:hidden;position:relative}
body:not(#_) .vm-title{color:#fff;font-family:var(--sans);font-weight:700;margin-top:16px;text-align:center}
body:not(#_) .vm-close{position:fixed;top:18px;right:22px;z-index:2;background:rgba(255,255,255,.14);color:#fff}
body:not(#_) .vm-consent h3{font-family:var(--sans);font-weight:800}
body:not(#_) .vm-consent .btn.ghost{color:#fff;border-color:rgba(255,255,255,.5)}

/* ---------- Footer ---------- */
body:not(#_) .site-footer{background:#0b0709;color:#eee9e4;border:0;box-shadow:none;padding-top:90px}
body:not(#_) .foot-brand{font-family:var(--sans);font-weight:900;font-size:clamp(2rem,5vw,3.6rem);letter-spacing:-.04em;line-height:1}
body:not(#_) .foot-brand b{font-weight:300;font-style:normal;text-transform:uppercase;font-size:.5em;letter-spacing:.1em;display:block}
body:not(#_) .foot-top h4{color:#ff8a96;font-family:var(--sans)}
body:not(#_) .foot-top a,body:not(#_) .foot-links a{color:#d8d2cb}
body:not(#_) .foot-top a:hover,body:not(#_) .foot-links a:hover{color:#fff}

/* ---------- Banner ---------- */
body:not(#_) .consent-card{background:var(--ink-2);color:var(--text);border:1px solid var(--line);border-radius:24px;box-shadow:0 40px 90px -30px rgba(0,0,0,.6);backdrop-filter:none}
body:not(#_) .switch{background:var(--ink-3);border-radius:14px;border:0}
body:not(#_) .consent-card .btn.ghost{color:var(--text)}
body:not(#_) .progress{background:var(--accent)}
.cursor{border-color:var(--accent-2)}.cursor.big{background:rgba(255,90,110,.2)}.cursor-dot{background:var(--accent-2)}

/* Cursor + Reveal ohne Verzerrung */
body:not(#_) .reveal{transform:translateY(34px)}body:not(#_) .reveal.in{transform:none}

@media (max-width:980px){
  body:not(#_) .nav{background:var(--ink);margin:0}
  body:not(#_) .nav a,body.home body:not(#_) .site-header .nav a{color:var(--text)!important;font-family:var(--sans);font-weight:800}
  body:not(#_) .nav a.on{box-shadow:none;color:var(--accent)!important;margin:0;padding:10px 24px}
  .head-cta{display:none}
  .hero-wrap{grid-template-columns:1fr;gap:56px}
  .hero-visual{width:min(380px,84%)}
  body:not(#_) .vhero{grid-template-columns:1fr}
  body:not(#_) .event{grid-template-columns:96px 1fr;gap:22px}
  body:not(#_) .ev-date b{font-size:3.2rem}
}
@media (max-width:640px){
  body:not(#_) .event{grid-template-columns:1fr;padding:26px 6px}
  body:not(#_) .ev-date{display:flex;gap:10px;align-items:baseline}
  body:not(#_) .ev-date b{font-size:2.6rem}
  body:not(#_) .vgrid{grid-template-columns:1fr}
  body:not(#_) .hero{padding-top:110px}
}

body:not(#_) .vm-consent h3,body:not(#_) .vm-consent p,body:not(#_) .vm-consent a{color:#fff}

html,body:not(#_){overflow-x:clip}
@media (max-width:980px){.hv-book{left:0}}

/* ==========================================================
   Verbranntes Altpapier-Foto, Player, Laufband-Punkt, Video-Teaser
   ========================================================== */
/* Laufband: kleiner Punkt statt Symbol */
body:not(#_) .marquee-track em{display:inline-block;width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.55);align-self:center;flex:none;font-size:0}
/* Video-Teaser auf der Startseite */
body:not(#_) .hscroll{padding:6px max(22px,calc((100vw - 1240px)/2)) 36px;gap:22px}
body:not(#_) .hscroll .vcard{flex:0 0 min(340px,78vw);scroll-snap-align:start}
body:not(#_) .vcard.mini.more{display:grid;place-items:center;aspect-ratio:16/9;align-self:start;background:var(--accent);color:#fff;border-radius:22px}
.vcard.more .more-in{font-weight:800;font-size:1.5rem;letter-spacing:-.02em;display:flex;align-items:center;gap:12px}
.vcard.more .more-in b{font-size:2rem;transition:transform .3s}
.vcard.more:hover .more-in b{transform:translateX(8px)}

/* ----- Foto-Inszenierung: modern, farbtreu, mit versetztem Rahmen ----- */
.burnt,.hv-portrait,.portrait{position:relative;isolation:isolate}
.burnt{padding:0;background:none;filter:none;border-radius:0}
.burnt::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:30px;pointer-events:none;box-shadow:none;background:linear-gradient(135deg,var(--accent),#ff9a5a);transform:translate(-16px,16px);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.burnt::after{display:none}
.burnt img{display:block;width:100%;height:100%;object-fit:cover;border-radius:30px;filter:none;mix-blend-mode:normal;box-shadow:0 40px 60px -30px rgba(0,0,0,.7);transform:none!important;animation:none!important;-webkit-box-reflect:none;position:relative;z-index:1}
.burnt:hover::before{transform:translate(-8px,8px)}
body:not(#_) .hv-portrait.burnt{inset:0 0 6% 8%;rotate:0deg;overflow:visible;padding:0;box-shadow:none;border-radius:0;filter:none}
body:not(#_) .hv-portrait.burnt img{object-position:50% 20%}
body:not(#_) .hv-portrait.burnt::before{background:linear-gradient(135deg,rgba(255,90,110,.9),rgba(255,154,90,.7));filter:blur(.5px)}
body:not(#_) .portrait.burnt{padding:0;rotate:0deg;perspective:none;background:none}
body:not(#_) .portrait.burnt::before{display:block;inset:0;border:2px solid var(--accent);background:none;border-radius:30px;transform:translate(18px,18px);opacity:1;z-index:-1;animation:none}
body:not(#_) .portrait.burnt:hover::before{transform:translate(8px,8px)}
body:not(#_) .portrait.burnt img{border-radius:30px;aspect-ratio:3/4;object-fit:cover;outline:0}
/* Galerie */
body:not(#_) .shot{background:none;padding:0;border:0;border-radius:22px;filter:none;overflow:visible;box-shadow:none;isolation:isolate;margin-bottom:34px;rotate:0deg!important;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
body:not(#_) .shot::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:22px;pointer-events:none;box-shadow:none;border:2px solid var(--accent);background:none;transform:translate(12px,12px);transition:transform .5s cubic-bezier(.2,.7,.2,1),background .5s}
body:not(#_) .shot:nth-child(even)::before{transform:translate(-12px,12px);border-color:#ff9a5a}
body:not(#_) .shot:nth-child(3n)::before{transform:translate(12px,-12px)}
body:not(#_) .shot::after{content:"";position:absolute;inset:0;z-index:2;border-radius:22px;pointer-events:none;mix-blend-mode:normal;opacity:1;clip-path:inset(0 round 22px);background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.4) 50%,transparent 65%);transform:translateX(-130%) skewX(-18deg);animation:none}
body:not(#_) .shot:hover::after{animation:sweep .9s}
body:not(#_) .shot img{filter:none;mix-blend-mode:normal;border-radius:22px;position:relative;z-index:1;box-shadow:0 30px 44px -26px rgba(0,0,0,.65);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
body:not(#_) .shot:hover{transform:translateY(-8px)}
body:not(#_) .shot:hover::before{transform:translate(5px,5px);background:color-mix(in srgb,var(--accent) 12%,transparent)}
body:not(#_) .shot span{z-index:3;inset:auto 14px 14px 14px;border-radius:14px}
body:not(#_) .masonry{column-gap:34px}
body:not(#_) .ev-poster{background:none;padding:0;border:0;border-radius:14px;filter:none;box-shadow:0 20px 34px -16px rgba(0,0,0,.6);rotate:2deg}
body:not(#_) .ev-poster img{filter:none;border-radius:14px}

/* ----- Audio-Player ----- */
.aplayer{margin-top:22px;background:linear-gradient(160deg,#1d1520,#120d14);color:#fff;border-radius:26px;padding:26px;box-shadow:0 40px 60px -34px rgba(0,0,0,.7);position:relative;overflow:hidden}
.aplayer::before{content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(255,90,110,.45),transparent 65%);filter:blur(10px);pointer-events:none}
.ap-top{display:flex;gap:20px;align-items:center;margin-bottom:22px;position:relative}
.ap-cover{position:relative;width:84px;height:84px;border-radius:18px;overflow:hidden;background:#2a2030;flex:none;box-shadow:0 14px 24px -10px #000}
.ap-cover img{width:100%;height:100%;object-fit:contain;padding:6px}
.ap-eq{position:absolute;inset:auto 0 0 0;height:34px;display:flex;gap:3px;align-items:flex-end;justify-content:center;padding:0 10px 8px;background:linear-gradient(transparent,rgba(0,0,0,.7));opacity:0;transition:opacity .3s}
.ap-eq i{width:4px;height:6px;background:#ff6a7e;border-radius:2px}
.aplayer.playing .ap-eq{opacity:1}.aplayer.playing .ap-eq i{animation:eq .9s ease-in-out infinite}
.ap-eq i:nth-child(2){animation-delay:-.3s!important}.ap-eq i:nth-child(3){animation-delay:-.6s!important}.ap-eq i:nth-child(4){animation-delay:-.15s!important}
@keyframes eq{0%,100%{height:5px}50%{height:22px}}
.ap-now small{display:block;color:#ff8a96;font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:.7rem}
.ap-now b{display:block;font-family:var(--sans);font-size:clamp(1.1rem,2.4vw,1.6rem);font-weight:800;letter-spacing:-.02em;line-height:1.2;margin-top:4px}
.ap-bar{display:flex;align-items:center;gap:14px;font-variant-numeric:tabular-nums;font-size:.85rem;color:#c9bfcf;position:relative}
.ap-seek,.vc-bar{position:relative;flex:1;height:6px;border-radius:3px;background:rgba(255,255,255,.18);cursor:pointer;touch-action:none}
.ap-seek::before,.vc-bar::before{content:"";position:absolute;inset:-12px 0}
.ap-seek i,.vc-bar i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:3px;background:linear-gradient(90deg,#ff8a96,#ff4d63)}
.ap-seek b,.vc-bar b{position:absolute;top:50%;left:0;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.5);transition:transform .2s}
.ap-seek:hover b,.vc-bar:hover b{transform:scale(1.25)}
.ap-ctrl,.vc-row{display:flex;align-items:center;gap:6px;margin-top:16px;position:relative}
.ap-ctrl button,.vc-row button{width:44px;height:44px;border-radius:50%;border:0;background:transparent;color:#fff;display:grid;place-items:center;transition:background .2s,transform .2s}
.ap-ctrl button:hover,.vc-row button:hover{background:rgba(255,255,255,.14)}
.ap-ctrl .ap-play,.vc-row .vc-play{width:58px;height:58px;background:linear-gradient(135deg,#ff5a6e,#d01c38);box-shadow:0 12px 26px -8px rgba(255,90,110,.8);margin-inline:6px}
.ap-ctrl .ap-play:hover,.vc-row .vc-play:hover{background:linear-gradient(135deg,#ff7585,#e0243f);transform:scale(1.08)}
.ap-play svg,.vc-play svg{width:26px;height:26px}
.ap-play svg path,.vc-play svg path{d:path("M8 5v14l11-7z")}
.aplayer.playing .ap-play svg path,.vm-controls.playing .vc-play svg path{d:path("M7 5h4v14H7zM13 5h4v14h-4z")}
.ap-sp,.vc-sp{flex:1}
.ap-speed,.vc-speed{width:auto!important;padding:0 14px;border-radius:99px!important;font-weight:700;font-size:.85rem;border:1px solid rgba(255,255,255,.3)!important;height:36px!important}
.ap-ctrl input[type=range],.vc-row input[type=range]{-webkit-appearance:none;appearance:none;width:92px;height:5px;border-radius:3px;background:rgba(255,255,255,.22);outline:none}
.ap-ctrl input[type=range]::-webkit-slider-thumb,.vc-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#fff}
.ap-ctrl input[type=range]::-moz-range-thumb,.vc-row input[type=range]::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:#fff}
.aplayer .m,.vm-controls .m{display:none}.aplayer.muted .w,.vm-controls.muted .w{display:none}.aplayer.muted .m,.vm-controls.muted .m{display:block}
.ap-list{list-style:none;margin-top:22px;display:grid;gap:6px;position:relative}
.ap-item{width:100%;display:flex;align-items:center;gap:16px;padding:12px 16px;border-radius:14px;border:0;background:rgba(255,255,255,.05);color:#e9e2ee;text-align:left;font:inherit;cursor:pointer;transition:background .25s,transform .25s}
.ap-item:hover{background:rgba(255,255,255,.12);transform:translateX(4px)}
.ap-item.on{background:linear-gradient(90deg,rgba(255,90,110,.28),rgba(255,255,255,.06))}
.ap-item .n{width:26px;color:#ff8a96;font-weight:800;font-variant-numeric:tabular-nums}.ap-item .t{flex:1;font-weight:500}.ap-item .d{font-size:.8rem;opacity:.5}
.ap-item.on .d{opacity:1;color:#ff8a96}
/* ----- Video-Steuerleiste unter dem Video ----- */
.vm-controls{margin-top:12px;background:linear-gradient(160deg,#1d1520,#120d14);border-radius:18px;padding:18px 18px 10px;color:#fff;box-shadow:0 20px 40px -20px #000}
.vm-controls[hidden]{display:none}
.vc-row{margin-top:8px}.vc-row button{width:40px;height:40px}.vc-row .vc-play{width:50px;height:50px}
.vc-time{font-variant-numeric:tabular-nums;font-size:.88rem;color:#c9bfcf;margin-left:8px}.vc-time b{color:#fff;font-weight:600}
body:not(#_) .vm-box{width:min(1100px,100%,calc((100vh - 230px) * 16 / 9))}
@media (max-width:640px){.ap-ctrl input[type=range],.vc-row input[type=range]{display:none}.aplayer{padding:18px}.ap-ctrl button{width:40px;height:40px}.ap-cover{width:64px;height:64px}.vc-time{font-size:.78rem;margin-left:2px}}
.foot-credits{width:100%;order:3;font-size:.82rem;opacity:.75}.foot-credits a{text-decoration:underline;text-underline-offset:3px}.foot-credits a:hover{color:#fff}

html,body{overscroll-behavior-y:none}


/* ==========================================================
   Hero-Bühne mit Freisteller + Foto-Retusche-Look
   ========================================================== */
@keyframes personIn{from{opacity:0;transform:translateX(-50%) translateY(60px) scale(.96);filter:blur(14px) drop-shadow(0 30px 40px rgba(0,0,0,.6))}to{opacity:1;transform:translateX(-50%);filter:blur(0) drop-shadow(0 30px 40px rgba(0,0,0,.6))}}
@keyframes ringSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes breathe{0%,100%{opacity:.55;transform:translate(-50%,-50%) scale(1)}50%{opacity:.9;transform:translate(-50%,-50%) scale(1.08)}}
@keyframes beam{0%,100%{opacity:.55}50%{opacity:.9}}
@keyframes grainMove{0%{background-position:0 0}25%{background-position:-40px 20px}50%{background-position:30px -30px}75%{background-position:-20px -40px}100%{background-position:0 0}}
body:not(#_) .hero-wrap{grid-template-columns:1.05fr .95fr;align-items:end}
body:not(#_) .hero-inner{padding-bottom:6vh;align-self:center}
.hero-visual.hv-stage{position:relative;justify-self:center;align-self:end;width:min(520px,100%);height:clamp(540px,90vh,980px);aspect-ratio:auto}
.hv-stage .hv-halo{position:absolute;left:50%;top:48%;width:120%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,90,110,.55) 0%,rgba(255,140,90,.25) 38%,transparent 66%);filter:blur(10px);animation:breathe 6s ease-in-out infinite;z-index:0}
.hv-stage .hv-ring{position:absolute;left:50%;top:46%;width:96%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);z-index:0;padding:2px;background:conic-gradient(from 0deg,transparent 0 55%,#ff8a96 75%,#ffd37a 90%,transparent);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:ringSpin 14s linear infinite;opacity:.9}
.hv-stage .hv-ring.r2{width:122%;animation-duration:22s;animation-direction:reverse;opacity:.45}
.hv-stage .hv-beam{position:absolute;left:50%;top:-10%;width:90%;height:75%;transform:translateX(-50%);background:linear-gradient(180deg,rgba(255,236,200,.32),transparent 80%);clip-path:polygon(35% 0,65% 0,100% 100%,0 100%);filter:blur(14px);animation:beam 5s ease-in-out infinite;z-index:0;pointer-events:none}
.hv-stage .hv-person{position:absolute;left:50%;bottom:0;height:100%;width:auto;max-width:none;transform:translateX(-50%);object-fit:contain;z-index:2;animation:personIn 1.3s cubic-bezier(.2,.7,.2,1) .2s both;-webkit-mask-image:linear-gradient(180deg,#000 90%,transparent 100%);mask-image:linear-gradient(180deg,#000 90%,transparent 100%);filter:drop-shadow(0 30px 40px rgba(0,0,0,.6))}
.hv-stage .hv-person.glow{z-index:1;filter:blur(26px) saturate(2.2) brightness(1.2);opacity:.55;transform:translateX(-50%) scale(1.04);mix-blend-mode:screen;animation:none}
.hv-stage .hv-floor{position:absolute;left:50%;bottom:-2%;width:90%;height:14%;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(255,120,120,.55),transparent 70%);filter:blur(14px);z-index:1}
.hv-stage .hv-book{left:-6%;bottom:6%;width:36%;z-index:4}
.hv-stage .hv-person:not(.glow){translate:0 0;transition:translate .3s}
/* ----- Galerie: farbstark bearbeitet, Umgebungslicht, Körnung, Lichtstreifen ----- */
body:not(#_) .shot{border-radius:24px;isolation:isolate;overflow:visible;margin-bottom:38px;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
body:not(#_) .shot::before{content:"";position:absolute;inset:6% 4% -6% 4%;z-index:-1;border:0;border-radius:24px;background:var(--img) center/cover;filter:blur(30px) saturate(2.1) brightness(1.1);opacity:.65;transform:none!important;transition:opacity .6s,inset .6s}
body:not(#_) .shot:hover::before{opacity:.95;inset:3% 0 -10% 0}
body:not(#_) .shot:nth-child(even)::before,body:not(#_) .shot:nth-child(3n)::before{border:0;transform:none}
body:not(#_) .shot img{border-radius:24px;filter:contrast(1.08) saturate(1.18) brightness(1.02);transform:scale(1.001);box-shadow:0 0 0 1px rgba(255,255,255,.14) inset,0 30px 50px -30px rgba(0,0,0,.7);transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .6s}
body:not(#_) .shot:hover img{filter:contrast(1.12) saturate(1.3) brightness(1.05);transform:scale(1.045) translate(var(--tx,0),var(--ty,0))}
body:not(#_) .shot{overflow:visible}
body:not(#_) .shot::after{inset:0;border-radius:24px;clip-path:none;z-index:2;opacity:1;animation:none;transform:none;mix-blend-mode:overlay;background:
  radial-gradient(120% 80% at 0% 0%,rgba(255,170,90,.38),transparent 55%),
  radial-gradient(100% 70% at 100% 100%,rgba(255,60,110,.32),transparent 60%),
  linear-gradient(180deg,transparent 55%,rgba(10,6,12,.45));pointer-events:none}
body:not(#_) .shot:hover::after{animation:none;opacity:.8}
.shot .grain-l{position:absolute;inset:0;border-radius:24px;z-index:3;pointer-events:none;opacity:.14;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");animation:grainMove 1s steps(4) infinite}
body:not(#_) .shot span{z-index:4;inset:auto 16px 16px 16px;border-radius:16px;background:rgba(14,10,16,.5);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border:1px solid rgba(255,255,255,.14)}
body:not(#_) .masonry{column-gap:30px}
/* Porträt „Über den Autor“ im selben Look */
body:not(#_) .portrait.burnt::before{inset:6% 4% -6% 4%;border:0;border-radius:30px;background:var(--pimg) center/cover;filter:blur(30px) saturate(2) brightness(1.1);opacity:.7;transform:none}
body:not(#_) .portrait.burnt:hover::before{transform:none;opacity:.95}
body:not(#_) .portrait.burnt img{filter:contrast(1.08) saturate(1.2);box-shadow:0 0 0 1px rgba(255,255,255,.15) inset,0 40px 60px -34px rgba(0,0,0,.7)}
body:not(#_) .portrait.burnt::after{display:block;content:"";position:absolute;inset:0;z-index:2;border-radius:30px;pointer-events:none;mix-blend-mode:overlay;background:radial-gradient(120% 80% at 0% 0%,rgba(255,170,90,.35),transparent 55%),radial-gradient(100% 70% at 100% 100%,rgba(255,60,110,.3),transparent 60%)}
@media (max-width:980px){
  body:not(#_) .hero-wrap{grid-template-columns:1fr}
  .hero-visual.hv-stage{height:min(560px,75vh);width:min(380px,92%);margin-top:20px}
}


/* ==========================================================
   Parallax, Scroll-Effekte, Bild-Filter, Maus-Effekte
   ========================================================== */
/* Laufband deutlich langsamer */
body:not(#_) .marquee-track{animation:marq 300s linear infinite}
/* Hero-Ebenen: Maus + Scroll in einem System */
.hv-stage{--mx:0;--my:0;--sy:0}
.hv-stage .hv-person:not(.glow){translate:calc(var(--mx)*18px) calc(var(--my)*8px + var(--sy)*-.07px);transition:none}
.hv-stage .hv-person.glow{translate:calc(var(--mx)*30px) calc(var(--my)*14px + var(--sy)*-.12px)}
.hv-stage .hv-halo{translate:calc(var(--mx)*40px) calc(var(--sy)*-.22px)}
.hv-stage .hv-ring{translate:calc(var(--mx)*24px) calc(var(--sy)*-.14px)}
.hv-stage .hv-ring.r2{translate:calc(var(--mx)*-34px) calc(var(--sy)*-.28px)}
.hv-stage .hv-beam{translate:calc(var(--mx)*-20px) calc(var(--sy)*.1px)}
.hv-stage .hv-book{translate:calc(var(--mx)*-30px) calc(var(--sy)*-.32px)}
/* Riesige Hintergrundwörter, wandern beim Scrollen seitlich */
.ghost-word{position:absolute;left:-1%;top:-34%;z-index:-1;pointer-events:none;font-family:var(--sans);font-weight:900;font-size:clamp(6rem,20vw,17rem);letter-spacing:-.06em;line-height:1;white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--text) 12%,transparent);user-select:none}
.section-head,.page-hero .wrap{position:relative}
body:not(#_) .section{overflow:hidden}
/* Bild-Filter (Farbkorrektur wie vom Fotografen) – alle Bilder außer Kopfbereich */
body:not(#_) .thumb img,body:not(#_) .pimg img,body:not(#_) .news-visual img,body:not(#_) .gal-main img,body:not(#_) .ev-poster img,body:not(#_) .past img,body:not(#_) .portrait img,body:not(#_) .shot img,body:not(#_) .ci img{filter:contrast(1.08) saturate(1.22) brightness(1.02)}
body:not(#_) .thumb::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:overlay;background:radial-gradient(120% 80% at 0% 0%,rgba(255,170,90,.38),transparent 55%),radial-gradient(100% 70% at 100% 100%,rgba(255,60,110,.32),transparent 60%)}
body:not(#_) .pimg::before{display:block;content:"";position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:soft-light;background:radial-gradient(100% 70% at 0% 0%,rgba(255,170,90,.3),transparent 60%),radial-gradient(90% 60% at 100% 100%,rgba(255,60,110,.25),transparent 60%)}
/* Maus-Effekte: 3D-Neigung, Lichtreflex, Taschenlampe, Bild folgt der Maus */
.shot,.thumb,.pimg,.portrait{--px:.5;--py:.5;--mx:50%;--my:50%}
.glare,.dim{position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .45s}
.glare{z-index:4;background:radial-gradient(420px circle at var(--mx) var(--my),rgba(255,255,255,.6),transparent 55%);mix-blend-mode:soft-light}
.dim{z-index:3;background:radial-gradient(circle 170px at var(--mx) var(--my),transparent 0,rgba(10,5,14,.55) 100%)}
.shot:hover .glare,.thumb:hover .glare,.pimg:hover .glare,.portrait:hover .glare{opacity:1}
.shot:hover .dim,.thumb:hover .dim{opacity:1}
body:not(#_) .shot{transform-style:preserve-3d}
body:not(#_) .shot:hover{transform:perspective(1000px) rotateX(calc((var(--py) - .5) * -10deg)) rotateY(calc((var(--px) - .5) * 12deg)) translateY(-10px) scale(1.025)}
body:not(#_) .shot:hover img{filter:contrast(1.15) saturate(1.45) brightness(1.06)}
body:not(#_) .shot .glare,body:not(#_) .shot .dim{border-radius:24px}
body:not(#_) .vcard:hover .thumb{transform:perspective(900px) rotateX(calc((var(--py) - .5) * -8deg)) rotateY(calc((var(--px) - .5) * 10deg)) translateY(-8px) scale(1.02)}
body:not(#_) .vcard:hover .thumb img{filter:contrast(1.14) saturate(1.4) brightness(1.06)}
body:not(#_) .pcard:hover .pimg img{translate:calc((var(--px) - .5) * -22px) calc((var(--py) - .5) * -14px)}
body:not(#_) .portrait:hover img{filter:contrast(1.14) saturate(1.4)}
.thumb img{will-change:transform}
@media (hover:none){.glare,.dim{display:none}}
@media (prefers-reduced-motion:reduce){.ghost-word{display:none}}


/* ==========================================================
   Gesamte Seite im Look des Kopfbereichs (filmisch, dunkel, leuchtend)
   Hell-Modus bleibt per Schalter erhalten.
   ========================================================== */
@keyframes auroraMove{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-4%,3%,0) scale(1.12)}}
@keyframes spinR{to{rotate:360deg}}
html[data-theme="dark"]{--ink:#0a0608;--ink-2:#120b0f;--ink-3:#1a1116;--card:#140c11;--page:#0a0608;--page-2:#120b0f;--text:#f6f2ee;--muted:#aaa19c;--line:rgba(255,255,255,.12);--rule:rgba(255,255,255,.18)}
html[data-theme="dark"] body:not(#_){background:#0a0608}
html[data-theme="dark"] body::before{content:"";position:fixed;inset:-10%;z-index:-1;pointer-events:none;background:radial-gradient(48% 40% at 92% 6%,rgba(224,36,63,.30),transparent 66%),radial-gradient(44% 42% at 4% 62%,rgba(122,59,208,.24),transparent 66%),radial-gradient(40% 36% at 62% 104%,rgba(255,140,90,.16),transparent 66%);animation:auroraMove 22s ease-in-out infinite}
/* Abschnitte: transparent, mit leuchtender Trennlinie */
html[data-theme="dark"] body:not(#_) .section{background:transparent}
html[data-theme="dark"] body:not(#_) .section::before{content:"";position:absolute;top:0;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,90,110,.55),rgba(255,160,90,.4),transparent);pointer-events:none}
html[data-theme="dark"] body:not(#_) .section.alt,html[data-theme="dark"] body:not(#_) .news,html[data-theme="dark"] body:not(#_) .voices{background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 70%)}
html[data-theme="dark"] body:not(#_) .poem-sec{background:linear-gradient(135deg,rgba(224,36,63,.16),rgba(122,59,208,.12) 60%,transparent);color:var(--text)}
html[data-theme="dark"] body:not(#_) .poem,html[data-theme="dark"] body:not(#_) .poem-title{color:var(--text)}
html[data-theme="dark"] body:not(#_) .poem-bg{color:rgba(255,255,255,.06)}
html[data-theme="dark"] body:not(#_) .page-hero{background:radial-gradient(60% 120% at 90% 0%,rgba(224,36,63,.28),transparent 70%),radial-gradient(40% 90% at 0% 100%,rgba(122,59,208,.2),transparent 70%),transparent}
/* Karten: Glas wie im Kopfbereich */
html[data-theme="dark"] body:not(#_) .pcard,html[data-theme="dark"] body:not(#_) .audio-box,html[data-theme="dark"] body:not(#_) .desc-box,html[data-theme="dark"] body:not(#_) .card,html[data-theme="dark"] body:not(#_) .cart-row,html[data-theme="dark"] body:not(#_) .cal,html[data-theme="dark"] body:not(#_) .past,html[data-theme="dark"] body:not(#_) .award{background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 60px -36px #000}
html[data-theme="dark"] body:not(#_) .pcard:hover{border-color:rgba(255,90,110,.55);box-shadow:0 40px 70px -34px rgba(224,36,63,.55)}
html[data-theme="dark"] body:not(#_) .pimg,html[data-theme="dark"] body:not(#_) .gal-main{background:radial-gradient(70% 60% at 50% 40%,rgba(224,36,63,.32),transparent 70%),rgba(255,255,255,.03)}
html[data-theme="dark"] body:not(#_) .event:hover{background:linear-gradient(90deg,rgba(224,36,63,.14),transparent)}
html[data-theme="dark"] body:not(#_) .track,html[data-theme="dark"] body:not(#_) .switch{background:rgba(255,255,255,.06)}
html[data-theme="dark"] body:not(#_) .form input:not([type=checkbox]):not([type=radio]),html[data-theme="dark"] body:not(#_) .form textarea,html[data-theme="dark"] body:not(#_) .form select,html[data-theme="dark"] body:not(#_) .media-tools input,html[data-theme="dark"] body:not(#_) .cq input{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16)}
html[data-theme="dark"] body:not(#_) .consent-card{background:rgba(20,12,17,.94);backdrop-filter:blur(20px)}
html[data-theme="dark"] body:not(#_) .btn.ghost{border-color:rgba(255,255,255,.3)}
html[data-theme="dark"] body:not(#_) .badge{background:#fff;color:#111}
html[data-theme="dark"] .ghost-word{-webkit-text-stroke:1.5px rgba(255,255,255,.1)}
/* Leuchtende Ringe um die großen Bilder (wie bei der Hero-Figur) */
.news-visual::after,.portrait::after,.gal-main::after{content:"";position:absolute;left:50%;top:50%;width:118%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;padding:2px;pointer-events:none;z-index:-1;background:conic-gradient(from 0deg,transparent 0 55%,#ff8a96 75%,#ffd37a 90%,transparent);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spinR 16s linear infinite;opacity:.85;border:0}
body:not(#_) .news-visual::after{display:block}
body:not(#_) .portrait.burnt::after{display:block;inset:auto;mix-blend-mode:normal;background:conic-gradient(from 0deg,transparent 0 55%,#ff8a96 75%,#ffd37a 90%,transparent);border-radius:50%}
body:not(#_) .gal-main::after{display:block;width:110%;inset:auto;left:50%;top:50%;overflow:visible}
body:not(#_) .gal-main{overflow:hidden}
@media (prefers-reduced-motion:reduce){html[data-theme="dark"] body::before{animation:none}}
html[data-theme="dark"] body:not(#_) .award,html[data-theme="dark"] body:not(#_) .award span,html[data-theme="dark"] body:not(#_) .award b{color:var(--text)}

/* ==========================================================
   „Über den Autor“: Freisteller-Bühne, reagiert auf die Maus
   ========================================================== */
@keyframes chipFloat{50%{translate:0 -10px}}
.about-stage{--mx:0;--my:0;--sx:50%;--sy:40%;position:relative;width:min(560px,100%);height:clamp(520px,78vh,760px);justify-self:center;perspective:1200px;isolation:isolate}
.as-glow{position:absolute;left:50%;top:50%;width:115%;aspect-ratio:1;border-radius:50%;translate:calc(-50% + var(--mx)*40px) calc(-50% + var(--my)*30px);background:radial-gradient(circle,rgba(255,90,110,.5) 0%,rgba(255,150,90,.22) 40%,transparent 68%);filter:blur(10px);z-index:0;animation:breathe 6s ease-in-out infinite}
.as-ring{position:absolute;left:50%;top:50%;width:100%;aspect-ratio:1;border-radius:50%;padding:2px;z-index:0;pointer-events:none;translate:calc(-50% + var(--mx)*-26px) calc(-50% + var(--my)*-18px);background:conic-gradient(from 0deg,transparent 0 55%,#ff8a96 75%,#ffd37a 90%,transparent);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spinR 16s linear infinite}
.as-ring.r2{width:124%;animation-duration:26s;animation-direction:reverse;opacity:.5;translate:calc(-50% + var(--mx)*36px) calc(-50% + var(--my)*24px)}
.as-word{position:absolute;left:50%;top:6%;translate:calc(-50% + var(--mx)*-60px) calc(var(--my)*-30px);font-family:var(--sans);font-weight:900;font-size:clamp(5rem,14vw,10rem);letter-spacing:-.06em;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.14);white-space:nowrap;z-index:0;pointer-events:none}
.as-spot{position:absolute;inset:-8%;z-index:1;pointer-events:none;background:radial-gradient(260px circle at var(--sx) var(--sy),rgba(255,230,190,.28),transparent 70%);mix-blend-mode:screen}
.as-person{position:absolute;left:50%;bottom:0;height:96%;width:auto;max-width:none;object-fit:contain;z-index:2;transform-origin:50% 100%;transform:translateX(-50%) rotateY(calc(var(--mx)*14deg)) rotateX(calc(var(--my)*-6deg));translate:calc(var(--mx)*16px) 0;transition:transform .25s ease-out;filter:contrast(1.06) saturate(1.2) drop-shadow(0 30px 36px rgba(0,0,0,.6));-webkit-mask-image:linear-gradient(180deg,#000 92%,transparent);mask-image:linear-gradient(180deg,#000 92%,transparent)}
.as-person.glow{z-index:1;filter:blur(28px) saturate(2.4) brightness(1.2);opacity:.5;mix-blend-mode:screen;translate:calc(var(--mx)*34px) calc(var(--my)*10px)}
.as-chip{position:absolute;z-index:3;padding:10px 18px;border-radius:99px;font-weight:700;font-size:.82rem;letter-spacing:.01em;color:#fff;background:rgba(18,10,14,.55);backdrop-filter:blur(14px) saturate(1.5);-webkit-backdrop-filter:blur(14px) saturate(1.5);border:1px solid rgba(255,255,255,.2);box-shadow:0 14px 30px -12px rgba(0,0,0,.7);white-space:nowrap;animation:chipFloat 6s ease-in-out infinite}
.as-chip.c1{left:-4%;top:22%;translate:calc(var(--mx)*-40px) calc(var(--my)*-24px)}
.as-chip.c2{right:-2%;top:46%;animation-delay:-2s;translate:calc(var(--mx)*-56px) calc(var(--my)*-30px)}
.as-chip.c3{left:2%;bottom:20%;animation-delay:-4s;translate:calc(var(--mx)*-30px) calc(var(--my)*-16px)}
.as-chip::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#ff5a6e;margin-right:10px;box-shadow:0 0 12px #ff5a6e}
.as-floor{position:absolute;left:50%;bottom:-2%;width:80%;height:12%;translate:calc(-50% + var(--mx)*20px) 0;background:radial-gradient(ellipse at center,rgba(255,110,110,.5),transparent 70%);filter:blur(14px);z-index:1}
@media (max-width:980px){.about-stage{height:min(560px,80vh);margin-bottom:10px}.as-chip.c1{left:0}.as-chip.c2{right:0}}
@media (hover:none){.as-person{transition:none}}
body:not(#_) .about,body:not(#_) .about h2,body:not(#_) .about .prose{color:var(--text)}
html:not([data-theme="dark"]) body:not(#_) .as-word{-webkit-text-stroke-color:rgba(18,18,20,.12)}
.about-stage{width:min(600px,100%);height:clamp(560px,88vh,840px)}


/* ==========================================================
   Korrekturen: Cursor, Kopf-Menü mobil, Hero-Scroll, Über-Bühne, Mobil-Shop, Hintergründe
   ========================================================== */
/* Eigener Cursor (muss fixiert sein, sonst verlängert er die Seite) */
.cursor,.cursor-dot{position:fixed;left:0;top:0;z-index:999;pointer-events:none;opacity:0;will-change:transform}
.cursor{width:38px;height:38px;margin:-19px 0 0 -19px;border:1.5px solid var(--accent-2);border-radius:50%;transition:width .3s,height .3s,margin .3s,background .3s,opacity .3s}
.cursor.on{opacity:1}.cursor.big{width:70px;height:70px;margin:-35px 0 0 -35px;background:rgba(255,90,110,.18)}
.cursor-dot{width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--accent-2)}
.cursor-dot.on{opacity:1}
@media (pointer:fine){body.has-cursor,body.has-cursor a,body.has-cursor button,body.has-cursor label{cursor:none}}
@media (pointer:coarse){.cursor,.cursor-dot{display:none}}
/* Kopfzeile: Weichzeichner auf Pseudo-Element, damit das Mobil-Menü den ganzen Bildschirm füllt */
body:not(#_) .site-header.solid{backdrop-filter:none;-webkit-backdrop-filter:none;background:none;box-shadow:none}
body:not(#_) .site-header::before{content:"";position:absolute;inset:0;z-index:-2;opacity:0;transition:opacity .3s;pointer-events:none;background:color-mix(in srgb,var(--ink) 80%,transparent);backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);box-shadow:0 1px 0 var(--line)}
body:not(#_) .site-header.solid::before{opacity:1}
@media (max-width:980px){
  body:not(#_) .nav{position:fixed;left:0;top:0;right:0;bottom:0;width:100vw;height:100vh;height:100dvh;z-index:-1;overflow-y:auto;padding:90px 20px 40px;background:var(--ink)}
  body:not(#_) .nav a{font-size:1.8rem;padding:12px 24px}
}
/* Hero: Figur und Ebenen wachsen beim Weiterscrollen */
.hv-stage .hv-person:not(.glow){transform-origin:50% 100%;scale:calc(1 + var(--sy)*.00032)}
.hv-stage .hv-person.glow{transform-origin:50% 100%;scale:calc(1 + var(--sy)*.0005)}
.hv-stage .hv-halo{scale:calc(1 + var(--sy)*.0009)}
.hv-stage .hv-ring{scale:calc(1 + var(--sy)*.0007)}
.hv-stage .hv-ring.r2{scale:calc(1 + var(--sy)*.0013)}
.hv-stage .hv-beam{scale:calc(1 + var(--sy)*.0006)}
.hv-stage .hv-book{scale:calc(1 + var(--sy)*.0004)}
/* Über den Autor: ohne Texte, dafür Bewegung */
.as-chip,.as-word{display:none}
@keyframes asFloat{50%{bottom:12px}}
.about-stage{--ps:0}
.as-person:not(.glow){animation:asFloat 7s ease-in-out infinite;scale:calc(1.03 - var(--ps)*.07)}
.as-person.glow{scale:calc(1.05 - var(--ps)*.09)}
.as-glow{scale:calc(1 - var(--ps)*.18)}
.as-ring{scale:calc(1 - var(--ps)*.1)}
.as-ring.r2{scale:calc(1 + var(--ps)*.12)}
.as-orbit{position:absolute;left:50%;top:50%;width:104%;aspect-ratio:1;translate:-50% -50%;animation:spinR 9s linear infinite;pointer-events:none;z-index:3}
.as-orbit.o2{width:86%;animation-duration:14s;animation-direction:reverse}
.as-orbit i{position:absolute;left:50%;top:-6px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#ffd37a;box-shadow:0 0 18px 7px rgba(255,190,100,.75)}
.as-orbit.o2 i{background:#ff6a7e;box-shadow:0 0 18px 7px rgba(255,90,110,.75);width:9px;height:9px}
/* Mobil: Shop-Bücher kleiner, Galerie kompakter */
@media (max-width:640px){
  body:not(#_) .pgrid,body:not(#_) .pgrid.big{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  body:not(#_) .pimg{padding:14px;aspect-ratio:3/4}
  body:not(#_) .pinfo{padding:12px 12px 14px;gap:10px}
  body:not(#_) .pinfo h3{font-size:.92rem;line-height:1.25}
  body:not(#_) .prow{flex-direction:column;align-items:flex-start;gap:8px}
  body:not(#_) .price{font-size:1.1rem}
  .prow .btn.small{width:100%;padding:10px 8px;font-size:.66rem}
  body:not(#_) .gal-main{padding:36px 22px 46px;min-height:0}
  body:not(#_) .gal-main img{max-height:300px;max-width:100%}
  .hero-visual.hv-stage{height:min(500px,68vh)}
  .about-stage{height:min(470px,68vh)}
  body:not(#_) .badge{padding:4px 9px;font-size:.6rem}
  .ghost-word{font-size:5rem}
}
/* Hintergründe für helle Bereiche (und Punktraster) */
body:not(#_)::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle,currentColor 1px,transparent 1.3px);background-size:30px 30px;opacity:.07;color:var(--text);-webkit-mask-image:radial-gradient(90% 70% at 50% 40%,#000,transparent 85%);mask-image:radial-gradient(90% 70% at 50% 40%,#000,transparent 85%)}
html:not([data-theme="dark"]) body:not(#_){background:#f7f2ec}
html:not([data-theme="dark"]) body::before{content:"";position:fixed;inset:-10%;z-index:-1;pointer-events:none;background:radial-gradient(46% 40% at 92% 8%,rgba(255,150,120,.38),transparent 66%),radial-gradient(44% 42% at 3% 60%,rgba(190,160,255,.32),transparent 66%),radial-gradient(40% 36% at 62% 104%,rgba(255,205,140,.35),transparent 66%);animation:auroraMove 22s ease-in-out infinite}
html:not([data-theme="dark"]) body:not(#_) .section{background:transparent}
html:not([data-theme="dark"]) body:not(#_) .section::before{content:"";position:absolute;top:0;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,rgba(208,28,56,.4),rgba(255,150,90,.35),transparent);pointer-events:none}
html:not([data-theme="dark"]) body:not(#_) .section.alt,html:not([data-theme="dark"]) body:not(#_) .news{background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.15))}
html:not([data-theme="dark"]) body:not(#_) .page-hero{background:radial-gradient(60% 120% at 90% 0%,rgba(255,120,110,.3),transparent 70%),radial-gradient(40% 90% at 0% 100%,rgba(190,150,255,.25),transparent 70%),transparent}
html:not([data-theme="dark"]) body:not(#_) .pcard,html:not([data-theme="dark"]) body:not(#_) .audio-box,html:not([data-theme="dark"]) body:not(#_) .desc-box,html:not([data-theme="dark"]) body:not(#_) .card,html:not([data-theme="dark"]) body:not(#_) .cart-row,html:not([data-theme="dark"]) body:not(#_) .cal,html:not([data-theme="dark"]) body:not(#_) .past,html:not([data-theme="dark"]) body:not(#_) .award{background:rgba(255,255,255,.62);backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);border:1px solid rgba(255,255,255,.85);box-shadow:0 30px 60px -36px rgba(120,60,50,.45),0 1px 0 rgba(255,255,255,.9) inset}
html:not([data-theme="dark"]) body:not(#_) .poem-sec{background:linear-gradient(135deg,rgba(255,110,110,.22),rgba(190,150,255,.2) 60%,rgba(255,255,255,.2));color:var(--text)}
html:not([data-theme="dark"]) body:not(#_) .poem,html:not([data-theme="dark"]) body:not(#_) .poem-title{color:var(--text)}
html:not([data-theme="dark"]) body:not(#_) .poem-bg{color:rgba(18,18,20,.05)}
html:not([data-theme="dark"]) .ghost-word{-webkit-text-stroke:1.5px rgba(18,18,20,.1)}

/* Shop-Cover: immer vollständig im Rahmen */
body:not(#_) .pimg{--pad:34px;position:relative;display:block;padding:0}
body:not(#_) .pimg img{position:absolute;left:var(--pad);top:var(--pad);width:calc(100% - var(--pad)*2);height:calc(100% - var(--pad)*2);max-height:none;object-fit:contain;border-radius:0;box-shadow:none;filter:contrast(1.08) saturate(1.2) brightness(1.02) drop-shadow(0 22px 20px rgba(0,0,0,.5))}
body:not(#_) .pcard:hover .pimg img{filter:contrast(1.12) saturate(1.35) brightness(1.05) drop-shadow(0 30px 26px rgba(0,0,0,.55))}
body:not(#_) .gal-main img{max-width:100%;height:auto;object-fit:contain}
@media (max-width:640px){body:not(#_) .pimg{--pad:14px}}
@media (max-width:980px){body:not(#_) .nav a{text-align:center;width:100%;max-width:340px}}

/* ----- „Neu auf dem Kanal“: Feature + Liste ----- */
.vteaser{display:grid;grid-template-columns:1.55fr 1fr;gap:clamp(20px,3vw,40px);align-items:start}
.vt-feature{display:block;text-decoration:none;color:var(--text)}
.vt-feature .thumb{border-radius:26px;box-shadow:0 50px 70px -36px rgba(0,0,0,.8)}
.vt-cap{display:block;margin-top:18px}
.vt-cap small{display:block;color:var(--accent);font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:.72rem;margin-bottom:6px}
.vt-cap strong{font-family:var(--sans);font-weight:900;font-size:clamp(1.5rem,2.8vw,2.4rem);letter-spacing:-.03em;line-height:1.1}
.vt-list{display:grid;gap:14px}
.vt-item{display:grid;grid-template-columns:42% 1fr;gap:16px;align-items:center;text-decoration:none;color:var(--text);padding:10px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.015));transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .3s,background .3s}
.vt-item:hover{transform:translateX(6px);border-color:rgba(255,90,110,.55);background:linear-gradient(90deg,rgba(224,36,63,.14),transparent)}
.vt-item .thumb{border-radius:14px;box-shadow:none}
.vt-item .play{width:44px!important;height:44px!important}
.vt-item .play::after{border-left-width:13px!important;border-top-width:8px!important;border-bottom-width:8px!important}
.vt-txt strong{display:block;font-weight:700;font-size:1rem;line-height:1.3;letter-spacing:-.01em}
.vt-txt small{display:block;color:var(--muted);margin-top:4px;font-size:.82rem}
.vt-all{justify-self:start;margin-top:6px}
html:not([data-theme="dark"]) .vt-item{background:rgba(255,255,255,.6);border-color:rgba(255,255,255,.85)}
@media (max-width:900px){.vteaser{grid-template-columns:1fr}.vt-item{grid-template-columns:40% 1fr}}

/* ==========================================================
   Überscroll-Effekt: Abschnitte schieben sich wie Karten übereinander (Startseite)
   ========================================================== */
body.home main{position:relative}
body:not(#_).home .hero{position:sticky;top:0;z-index:0}
body:not(#_).home .marquee{position:relative;z-index:5}
body:not(#_).home main > .section{position:sticky;margin-top:-40px;padding-top:calc(clamp(70px,9vw,120px) + 40px);border-radius:40px 40px 0 0;background-color:var(--ink)!important;box-shadow:0 -40px 90px -30px rgba(0,0,0,.7),0 -1px 0 rgba(255,255,255,.12);transform-origin:50% 100%;overflow:hidden}
body:not(#_).home main > .section:first-of-type{margin-top:0;border-radius:0}
body:not(#_).home .hero,body:not(#_).home main > .section{transform:scale(calc(1 - var(--cv,0)*.06));filter:brightness(calc(1 - var(--cv,0)*.6))}
body:not(#_).home main > .section:nth-of-type(odd){background-image:radial-gradient(60% 50% at 92% 0%,rgba(224,36,63,.2),transparent 70%),radial-gradient(50% 50% at 0% 100%,rgba(122,59,208,.16),transparent 70%)}
body:not(#_).home main > .section:nth-of-type(even){background-image:radial-gradient(55% 50% at 6% 0%,rgba(255,140,90,.16),transparent 70%),radial-gradient(55% 50% at 100% 100%,rgba(224,36,63,.18),transparent 70%)}
html:not([data-theme="dark"]) body:not(#_).home main > .section:nth-of-type(odd){background-image:radial-gradient(60% 50% at 92% 0%,rgba(255,150,120,.3),transparent 70%),radial-gradient(50% 50% at 0% 100%,rgba(190,160,255,.26),transparent 70%)}
html:not([data-theme="dark"]) body:not(#_).home main > .section:nth-of-type(even){background-image:radial-gradient(55% 50% at 6% 0%,rgba(255,205,140,.3),transparent 70%),radial-gradient(55% 50% at 100% 100%,rgba(255,130,150,.24),transparent 70%)}
html:not([data-theme="dark"]) body:not(#_).home main > .section{box-shadow:0 -40px 90px -30px rgba(120,60,50,.35),0 -1px 0 rgba(255,255,255,.9)}
body:not(#_).home .poem-sec{background-image:linear-gradient(135deg,rgba(224,36,63,.2),rgba(122,59,208,.16) 60%,transparent)!important}
@media (prefers-reduced-motion:reduce){body:not(#_).home .hero,body:not(#_).home main > .section{transform:none;filter:none}body:not(#_).home main > .section{position:relative;top:auto!important}}

/* Mobil: Kopfbereich komplett sichtbar, Abschnitte ohne Pin-Effekt (sauberer Übergang) */
@media (max-width:900px){
  body:not(#_).home .hero{position:relative;min-height:0;padding:104px 20px 64px;display:block}
  body:not(#_).home .hero,body:not(#_).home main > .section{transform:none!important;filter:none!important}
  body:not(#_).home main > .section{position:relative;top:auto!important;margin-top:-34px;border-radius:32px 32px 0 0;padding-top:calc(clamp(56px,9vw,100px) + 34px)}
  body:not(#_).home main > .section:first-of-type{margin-top:-34px;border-radius:32px 32px 0 0}
  body:not(#_).home .marquee{margin-bottom:0}
  .hero-wrap{gap:28px}
  body:not(#_) .hero-inner{padding-bottom:0}
  .hero-visual.hv-stage{height:min(480px,62vh);width:min(340px,88%);margin:6px auto 0}
  body:not(#_) .t-luh{font-size:clamp(3.6rem,19vw,6rem)}
  body:not(#_) .hero-hand{font-size:1.3rem}
}

/* Überscroll ohne Flackern: keine Transformationen/Filter auf Abschnitten, Abdunkeln über eine einfache Deckschicht, eckige Kanten */
body:not(#_).home .hero,body:not(#_).home main > .section{transform:none!important;filter:none!important;will-change:auto!important;scale:none}
body:not(#_).home main > .section{border-radius:0!important;margin-top:0!important;padding-top:clamp(70px,9vw,120px)!important;box-shadow:0 -34px 60px -22px rgba(0,0,0,.65)!important;isolation:isolate}
html:not([data-theme="dark"]) body:not(#_).home main > .section{box-shadow:0 -34px 60px -22px rgba(120,60,50,.4)!important}
body:not(#_).home main > .section:first-of-type{box-shadow:none!important}
body:not(#_).home .hero::after,body:not(#_).home main > .section::after{content:"";display:block;position:absolute;inset:0;z-index:30;pointer-events:none;background:#07040a;opacity:calc(var(--cv,0)*.7);border:0;margin:0;transition:none}
@media (max-width:900px){
  body:not(#_).home main > .section,body:not(#_).home main > .section:first-of-type{margin-top:0!important;border-radius:0!important;padding-top:clamp(56px,9vw,100px)!important}
  body:not(#_).home .hero::after,body:not(#_).home main > .section::after{display:none}
}

/* Über den Autor: kein Schatten-/Schweif-Effekt bei Mausbewegung */
.as-person.glow,.as-spot{display:none!important}
.as-person:not(.glow){filter:contrast(1.05) saturate(1.15)!important}

@media (max-width:900px){
  body:not(#_) .news-grid{gap:64px}
  body:not(#_) .news-visual{width:min(230px,58vw);margin:6px auto 12px;justify-self:center}
  body:not(#_) .book3d{transform:rotateY(-12deg) rotateX(2deg);animation:none}
  body:not(#_) .book3d img{width:100%;-webkit-box-reflect:none}
  body:not(#_) .news-visual::before{inset:-6%}
  body:not(#_) .news-visual::after{display:none}
  body:not(#_) .news-copy .btn{margin-bottom:8px}
  body:not(#_) .float-sticker{width:64px;height:64px;font-size:.85rem;right:-10px}
}

/* Kopfzeile: ruhig und stabil beim Scrollen (kein Verstecken, keine Höhenänderung, kein Weichzeichner) */
body:not(#_) .site-header,body:not(#_) .site-header.solid{padding-top:14px;padding-bottom:14px;transition:none;transform:none!important}
body:not(#_) .site-header::before{backdrop-filter:none;-webkit-backdrop-filter:none;background:color-mix(in srgb,var(--ink) 94%,transparent);transition:opacity .25s}
body:not(#_) .site-header .brand i,body:not(#_) .site-header .nav a,body:not(#_) .site-header .cart-btn,body:not(#_) .site-header .theme-btn,body:not(#_) .site-header .burger,body:not(#_) .site-header .head-cta{transition:color .25s,background-color .25s,border-color .25s}

/* Handy: Kopfzeile ruhig halten (weniger GPU-Last unter der festen Leiste) */
.site-header{-webkit-backface-visibility:hidden;backface-visibility:hidden}
@media (max-width:900px){
  html body::before{animation:none!important}
  body:not(#_)::after{display:none}
  body:not(#_) .hero .blob{animation:none!important;filter:blur(50px)}
  body:not(#_) .hero-bg .bigL{display:none}
  .ghost-word{display:none}
  .hv-stage .hv-halo,.hv-stage .hv-ring,.hv-stage .hv-beam,.about-stage .as-glow,.about-stage .as-ring{animation:none!important}
  body:not(#_) .site-header::before{transition:none}
  body:not(#_) .site-header,body:not(#_) .site-header.solid{position:fixed;top:0;left:0;right:0}
}

/* ----- Hinweisfenster für externe Links ----- */
.ext-modal{position:fixed;inset:0;z-index:700;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(6,3,9,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:fade .25s}
.ext-modal[hidden]{display:none}
.ext-card{position:relative;width:min(520px,100%);max-height:calc(100dvh - 36px);overflow:auto;padding:34px 32px 28px;border-radius:28px;color:var(--text);background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.03)),var(--ink-2);border:1px solid var(--line);box-shadow:0 50px 100px -30px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.04) inset;animation:rise .45s cubic-bezier(.2,.7,.2,1)}
.ext-card::before{content:"";position:absolute;left:-30%;top:-40%;width:90%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(224,36,63,.35),transparent 65%);filter:blur(20px);pointer-events:none;z-index:0}
.ext-card>*{position:relative;z-index:1}
.ext-icon{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#ff5a6e,#d01c38);box-shadow:0 16px 30px -12px rgba(255,90,110,.9);margin-bottom:18px}
.ext-card h2{font-family:var(--sans);font-weight:900;font-size:1.7rem;letter-spacing:-.03em;margin-bottom:12px}
.ext-host{margin-bottom:10px}
.ext-host span{display:inline-block;padding:6px 14px;border-radius:99px;font-weight:700;font-size:.92rem;background:color-mix(in srgb,var(--text) 10%,transparent);border:1px solid var(--line);word-break:break-all}
.ext-info{font-weight:600;margin-bottom:10px}
.ext-note{font-size:.88rem;color:var(--muted);line-height:1.6;margin-bottom:16px}
.ext-note a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.ext-remember{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;color:var(--muted);margin-bottom:22px;cursor:pointer}
.ext-remember input{width:18px;height:18px;margin-top:2px;accent-color:var(--accent);flex:none}
.ext-btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:520px){.ext-card{padding:26px 22px 22px}.ext-btns .btn{flex:1 1 100%}}
.foot-login{opacity:.8}

/* Handy/Touch: Figur ohne Blend-Modi, Masken und animierte Filter (sonst auf manchen Geräten weißer Kasten statt Bild) */
@keyframes personInLite{from{opacity:0;transform:translateX(-50%) translateY(40px)}to{opacity:1;transform:translateX(-50%)}}
@media (max-width:900px),(pointer:coarse){
  .hv-stage .hv-person.glow,.about-stage .as-person.glow{display:none!important}
  .hv-stage .hv-person:not(.glow){-webkit-mask-image:none;mask-image:none;animation:personInLite 1s cubic-bezier(.2,.7,.2,1) .15s both;filter:drop-shadow(0 18px 22px rgba(0,0,0,.55));will-change:auto;background:transparent}
  .hv-stage,.hv-stage .hv-person{mix-blend-mode:normal!important;background:transparent!important}
  .as-person:not(.glow){-webkit-mask-image:none;mask-image:none;background:transparent}
  .hv-stage .hv-halo,.hv-stage .hv-beam{filter:none}
  .hv-stage .hv-beam{display:none}
  .hv-stage .hv-halo{opacity:.6}
}
