  :root{
    --pink:#FF2D8A;
    --pink-bright:#FF5BA8;
    --pink-deep:#D8005E;
    --black:#0A0A0A;
    --ink:#141414;
    --paper:#F4F1EC;
    --white:#FFFFFF;
    --max:1240px;
  }
  *,*::before,*::after{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;
    background:var(--black);
    color:var(--white);
    font-family:'Rubik',system-ui,sans-serif;
    font-weight:400;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}

  /* ---------- TAGS / UTILITIES ---------- */
  .container{max-width:var(--max);margin:0 auto;padding:0 24px}
  .display{font-family:'Rubik','Rubik Mono One',sans-serif;font-weight:900;letter-spacing:-.04em;line-height:.9;text-transform:uppercase;word-spacing:-.05em}
  .marker{font-family:'Rubik Spray Paint',cursive}
  .vinyl{font-family:'Rubik Vinyl',cursive;font-weight:400}
  .pink{color:var(--pink)}
  .stamp{
    display:inline-block;font-family:'Rubik Spray Paint',cursive;
    color:var(--pink);border:2px solid var(--pink);padding:4px 14px;
    transform:rotate(-3deg);border-radius:4px;font-size:18px;letter-spacing:.02em;
  }
  .btn{
    display:inline-flex;align-items:center;gap:10px;
    background:var(--pink);color:var(--black);
    padding:14px 26px;border-radius:999px;font-weight:900;
    text-transform:uppercase;letter-spacing:.08em;font-size:14px;
    transition:transform .15s ease, background .15s ease;
    border:2px solid var(--pink);
    font-family:'Rubik',sans-serif;
  }
  .btn:hover{transform:translateY(-2px);background:var(--pink-bright);border-color:var(--pink-bright)}
  .btn.ghost{background:transparent;color:var(--white);border-color:var(--white)}
  .btn.ghost:hover{background:var(--white);color:var(--black)}

  /* ---------- NAV ---------- */
  nav.top{
    position:fixed;top:0;left:0;right:0;z-index:50;
    backdrop-filter:blur(10px);
    background:rgba(10,10,10,.2);
    border-bottom:1px solid transparent;
    transition:background .25s ease, border-color .25s ease;
  }
  nav.top.scrolled{background:rgba(10,10,10,.85);border-bottom-color:rgba(255,255,255,.08)}
  nav.top .row{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
  .logo{font-family:'Rubik Mono One',sans-serif;font-size:22px;letter-spacing:.02em}
  .logo .dot{color:var(--pink)}
  nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0;font-size:13px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
  nav ul a:hover{color:var(--pink)}
  .menu-btn{display:none;background:none;border:0;color:var(--white);font-size:24px;cursor:pointer}
  @media(max-width:860px){
    nav ul{display:none}
    .menu-btn{display:block}
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;min-height:100vh;display:flex;align-items:flex-end;
    padding:120px 0 80px;
    background:var(--black);
    overflow:hidden;
    isolation:isolate;
  }
  .hero-video{
    position:absolute;inset:0;z-index:0;overflow:hidden;
    pointer-events:none;
  }
  .hero-video::after{
    /* Dark overlay + pink wash for readability */
    content:"";position:absolute;inset:0;z-index:2;
    background:
      linear-gradient(180deg, rgba(10,10,10,.45) 0%, rgba(10,10,10,.55) 50%, rgba(10,10,10,.85) 100%),
      radial-gradient(900px 600px at 80% 30%, rgba(255,45,138,.28), transparent 60%);
  }
  .hero-video iframe,.hero-video video{
    position:absolute;top:50%;left:50%;
    width:max(100vw, calc(100vh * 16/9));
    height:max(100vh, calc(100vw * 9/16));
    transform:translate(-50%,-50%);
    border:0;pointer-events:none;
  }
  .hero-video .placeholder-note{
    position:absolute;bottom:8px;right:14px;z-index:3;
    font-size:10px;letter-spacing:.2em;text-transform:uppercase;
    color:rgba(255,255,255,.5);background:rgba(0,0,0,.4);padding:4px 10px;border-radius:3px;
  }
  .hero-content{position:relative;z-index:3;width:100%}
  .hero-inner{max-width:880px}
  .hero h1{
    font-size:clamp(72px,15vw,220px);
    margin:18px 0 18px;
    color:var(--white);
    text-shadow:0 4px 30px rgba(0,0,0,.45);
  }
  .hero h1 .stroke{
    -webkit-text-stroke:2px var(--pink);
    color:transparent;
  }
  .hero .kicker{
    display:inline-flex;align-items:center;gap:10px;
    background:var(--pink);color:var(--black);
    padding:8px 16px;border-radius:4px;
    font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:13px;
    box-shadow:0 8px 30px rgba(255,45,138,.4);
  }
  .hero .kicker .pulse{
    width:8px;height:8px;border-radius:50%;background:var(--black);
    animation:pulse 1.4s infinite;
  }
  @keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
  .hero .lede{font-size:20px;max-width:620px;opacity:.95;margin:0 0 32px;text-shadow:0 2px 12px rgba(0,0,0,.5)}
  .hero .cta-row{display:flex;gap:14px;flex-wrap:wrap}
  .scroll-hint{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:.3em;text-transform:uppercase;opacity:.6;z-index:3;animation:bob 2.4s ease-in-out infinite}
  @keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}

  /* ---------- SECTION SHELL ---------- */
  section.s{padding:100px 0;position:relative}
  section.s.dark{background:var(--ink)}
  section.s.pink{background:var(--pink);color:var(--black)}
  section.s.paper{background:var(--paper);color:var(--black)}
  .sec-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:48px;flex-wrap:wrap}
  .sec-head h2{font-size:clamp(40px,7vw,84px);margin:0;color:inherit}
  .sec-head p{margin:0;max-width:520px;opacity:.75}
  .eyebrow{font-size:12px;letter-spacing:.3em;text-transform:uppercase;opacity:.7;margin-bottom:8px}

  /* ---------- ALBUM ---------- */
  .album-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
  @media(max-width:860px){.album-grid{grid-template-columns:1fr}}
  .album-cover{
    aspect-ratio:1/1;
    background:
      linear-gradient(135deg,var(--pink) 0%, var(--pink-deep) 100%);
    position:relative;display:flex;align-items:center;justify-content:center;
    box-shadow:24px 24px 0 var(--black);
    transform:rotate(-2deg);overflow:hidden;
  }
  .album-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
  .album-cover img + .corner,
  .album-cover img + .corner + .title{display:none}
  .album-cover.no-img img{display:none}
  .album-cover.no-img .corner{display:inline-block !important}
  .album-cover.no-img .title{display:block !important}
  .album-cover .title{
    font-family:'Rubik Vinyl','Rubik Mono One',sans-serif;color:var(--black);
    font-size:clamp(54px,9vw,96px);line-height:.92;letter-spacing:-.02em;
    text-align:center;padding:24px;text-transform:uppercase;
    text-shadow:4px 4px 0 rgba(0,0,0,.18);
  }
  .album-cover .corner{
    position:absolute;top:14px;left:14px;font-family:'Rubik Spray Paint',cursive;
    color:var(--black);font-size:14px;border:2px solid var(--black);padding:4px 8px;
    transform:rotate(-6deg);background:rgba(255,255,255,.4);
  }
  .album-meta h3{font-family:'Rubik Mono One',sans-serif;font-size:clamp(38px,5.5vw,62px);margin:0 0 8px;line-height:1}
  .album-meta .year{color:var(--pink);font-weight:900;letter-spacing:.2em;font-size:14px}
  .album-meta .text{opacity:.82;margin:18px 0 24px;max-width:480px}
  .spotify-embed{margin-top:24px;border-radius:16px;overflow:hidden;background:#181818}

  /* ---------- STORY ---------- */
  .story-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
  @media(max-width:860px){.story-grid{grid-template-columns:1fr}}
  .story p{font-size:17px;opacity:.9;margin:0 0 18px}
  .story p .hl{color:var(--pink);font-weight:700}
  .story-single{max-width:820px;position:relative;z-index:2}
  .story-single p{font-size:19px;line-height:1.6;opacity:.95;margin:0 0 24px}
  .story-single a.hl{color:var(--pink);font-weight:700;text-decoration:underline;text-decoration-color:rgba(255,45,138,.4);text-underline-offset:4px;transition:all .15s ease}
  .story-single a.hl:hover{text-decoration-color:var(--pink);color:var(--pink-bright)}

  /* Story Section mit Hintergrundbild & Layout */
  #story{position:relative;overflow:hidden;background:#0a0a0a;isolation:isolate}
  #story .bg-img{
    position:absolute;inset:0;z-index:0;
    background-image:url('img/show-substanz-6590.jpg');
    background-size:cover;background-position:center 30%;
    filter:saturate(.8);
    opacity:.35;
  }
  #story::before{
    /* Pink + dark gradient overlay über das Foto */
    content:"";position:absolute;inset:0;z-index:1;
    background:
      linear-gradient(180deg, rgba(10,10,10,.65) 0%, rgba(10,10,10,.4) 30%, rgba(10,10,10,.92) 100%),
      radial-gradient(800px 600px at 80% 30%, rgba(255,45,138,.35), transparent 60%),
      radial-gradient(600px 500px at 10% 90%, rgba(0,0,0,.6), transparent 60%);
    pointer-events:none;
  }
  #story .container{position:relative;z-index:2}
  /* Floating polaroid mit gestapeltem Bild im Story-Layout */
  .story-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:center}
  @media(max-width:900px){.story-layout{grid-template-columns:1fr;gap:32px}}
  .story-stack{position:relative;min-height:480px}
  @media(max-width:900px){.story-stack{min-height:360px;margin-top:24px}}
  .story-stack .pic{
    position:absolute;border:8px solid #fff;
    box-shadow:0 18px 40px rgba(0,0,0,.6);
    overflow:hidden;
    transition:transform .25s ease;
  }
  .story-stack .pic img{display:block;width:100%;height:100%;object-fit:cover}
  .story-stack .pic:hover{transform:translate(0,-6px) rotate(0deg)!important;z-index:5}
  .story-stack .pic-1{width:62%;aspect-ratio:3/4;top:0;left:0;transform:rotate(-5deg);z-index:2}
  .story-stack .pic-2{width:60%;aspect-ratio:4/3;top:38%;right:0;transform:rotate(6deg);z-index:3}
  .story-stack .pic-3{width:50%;aspect-ratio:1/1;bottom:0;left:18%;transform:rotate(-3deg);z-index:4}
  .story-stack .pic-tag{
    position:absolute;bottom:-14px;right:-14px;
    background:var(--pink);color:var(--black);
    padding:6px 12px;font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;
    transform:rotate(4deg);
    box-shadow:4px 4px 0 var(--black);
    z-index:6;
  }
  .timeline{display:flex;flex-direction:column;gap:18px;border-left:3px solid var(--pink);padding-left:24px;margin-top:8px}
  .timeline .yr{font-family:'Rubik',sans-serif;font-weight:900;color:var(--pink);font-size:22px;letter-spacing:.04em}
  .timeline .ev{font-size:15px;opacity:.85}

  /* ---------- MUSIC / VIDEO ---------- */
  .video-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  @media(max-width:860px){.video-grid{grid-template-columns:1fr}}
  .video-card{
    position:relative;aspect-ratio:16/9;border:3px solid var(--pink);overflow:hidden;background:#111;
    display:block;text-decoration:none;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .video-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(255,45,138,.4)}
  .video-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
  .video-card:hover img{transform:scale(1.05)}
  .video-card::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg,transparent 30%, rgba(0,0,0,.65) 100%);
    pointer-events:none;
  }
  .video-card .play{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    width:78px;height:78px;border-radius:50%;
    background:var(--pink);color:var(--black);
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 8px 30px rgba(0,0,0,.5);
    transition:transform .2s ease, background .2s ease;
    z-index:2;
  }
  .video-card:hover .play{transform:translate(-50%,-50%) scale(1.1);background:var(--pink-bright)}
  .video-card .play svg{width:32px;height:32px;margin-left:4px;fill:currentColor}
  .video-card .vmeta{
    position:absolute;left:18px;right:18px;bottom:16px;z-index:2;color:#fff;
  }
  .video-card .vtitle{
    font-family:'Rubik',sans-serif;font-weight:900;
    font-size:18px;letter-spacing:-.01em;text-transform:uppercase;line-height:1.1;
    text-shadow:0 2px 8px rgba(0,0,0,.7);
  }
  .video-card .vchannel{
    display:inline-flex;align-items:center;gap:6px;
    margin-top:6px;font-size:12px;opacity:.85;letter-spacing:.05em;
  }
  .video-card .vchannel::before{
    content:"";width:14px;height:14px;background:var(--pink);border-radius:2px;
  }

  /* ---------- TOUR ---------- */
  .tour-list{display:flex;flex-direction:column;gap:0}
  .tour-row{
    display:grid;grid-template-columns:170px 1fr auto;gap:32px;align-items:center;
    padding:24px 0;border-bottom:1px solid rgba(0,0,0,.15);
  }
  @media(max-width:760px){
    .tour-row{grid-template-columns:1fr;gap:8px}
    .tour-row .ticket{justify-self:start}
  }
  .tour-date{font-family:'Rubik',sans-serif;font-weight:900;font-size:34px;line-height:1;letter-spacing:-.03em;white-space:nowrap}
  .tour-date small{display:block;font-family:'Rubik',sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.7;margin-top:6px;font-weight:700;letter-spacing:.18em}
  .tour-row .city{font-family:'Rubik',sans-serif;font-weight:900;font-size:22px;line-height:1.15;letter-spacing:-.01em}
  .tour-row .venue{opacity:.7;font-size:14px;margin-top:4px}
  .tag-sold{background:var(--black);color:var(--pink);padding:6px 12px;border-radius:4px;font-weight:900;font-size:12px;letter-spacing:.15em;text-transform:uppercase}
  .tag-soon{display:inline-block;background:var(--black);color:var(--pink);padding:10px 18px;border-radius:999px;font-weight:900;font-size:12px;letter-spacing:.15em;text-transform:uppercase;transition:transform .15s ease, background .15s ease}
  a.tag-soon:hover{background:#222;transform:translateY(-2px)}
  .tag-past{background:rgba(0,0,0,.4);color:rgba(255,255,255,.85);padding:6px 12px;border-radius:4px;font-weight:900;font-size:12px;letter-spacing:.15em;text-transform:uppercase}
  .tour-section-title{
    font-family:'Rubik Mono One',sans-serif;font-size:14px;letter-spacing:.3em;
    text-transform:uppercase;margin:32px 0 4px;padding-bottom:8px;
    border-bottom:2px solid rgba(0,0,0,.2);
  }
  .tour-section-title.past{opacity:.5;margin-top:60px}
  .tour-list.past{opacity:.55;filter:saturate(.3)}
  .tour-row.past .tour-date{text-decoration:line-through;text-decoration-thickness:3px;text-decoration-color:rgba(0,0,0,.4)}
  .tour-row.past .city{font-style:italic}

  /* ---------- GALLERY (full-bleed marquee) ---------- */
  .gallery-section{padding:80px 0;overflow:hidden;background:#0a0a0a}
  .marquee{
    width:100%;padding:18px 0;
    overflow-x:auto;overflow-y:hidden;
    scrollbar-width:none;-ms-overflow-style:none;
    cursor:grab;user-select:none;-webkit-user-select:none;
    mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
    scroll-behavior:auto;
  }
  .marquee::-webkit-scrollbar{display:none;width:0;height:0}
  .marquee.dragging{cursor:grabbing}
  .marquee.dragging .poly{transition:none}
  .marquee.dragging .poly:hover{transform:rotate(var(--rot,0deg))}
  .marquee-track{display:flex;gap:24px;width:max-content}
  .marquee img{-webkit-user-drag:none;user-drag:none}
  .poly{
    flex:0 0 auto;width:300px;height:340px;
    background:#1a1a1a;
    border:8px solid #fff;
    box-shadow:0 12px 30px rgba(0,0,0,.6);
    display:flex;align-items:flex-end;justify-content:center;
    position:relative;overflow:hidden;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .poly:hover{transform:scale(1.04) rotate(0deg) !important;box-shadow:0 18px 40px rgba(255,45,138,.4);z-index:5}
  .poly::before{
    content:"";position:absolute;inset:0;
    background:
      linear-gradient(135deg,rgba(255,45,138,.15),rgba(0,0,0,.6)),
      repeating-linear-gradient(45deg,#1a1a1a 0 6px,#222 6px 12px);
    z-index:0;
  }
  .poly img{
    position:absolute;inset:0;width:100%;height:100%;
    object-fit:cover;z-index:1;display:block;
  }
  .poly:has(img)::before{display:none}
  .poly:has(img)::after{display:none}
  .poly.cover img{object-fit:contain;background:#0a0a0a}
  .poly::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg,transparent 65%,rgba(0,0,0,.55));
    z-index:2;pointer-events:none;
  }
  .poly .label{
    position:relative;z-index:3;
    font-family:'Rubik Spray Paint',cursive;color:#fff;font-size:18px;
    padding:14px;text-align:center;
  }
  /* polaroid tilts */
  .poly-1{transform:rotate(-3deg)} .poly-2{transform:rotate(2deg)} .poly-3{transform:rotate(-1deg);width:380px}
  .poly-4{transform:rotate(4deg)} .poly-5{transform:rotate(-2deg);width:260px} .poly-6{transform:rotate(1deg)}
  .poly-7{transform:rotate(-4deg)} .poly-8{transform:rotate(3deg);width:400px}
  .poly-9{transform:rotate(2deg)} .poly-10{transform:rotate(-3deg);width:320px} .poly-11{transform:rotate(1deg)}
  .poly-12{transform:rotate(-2deg);width:280px} .poly-13{transform:rotate(3deg)} .poly-14{transform:rotate(-1deg)}
  .poly-15{transform:rotate(4deg);width:360px} .poly-16{transform:rotate(-3deg)}
  /* pink-tinted variants */
  .poly-2::before,.poly-5::before,.poly-9::before,.poly-13::before{
    background:linear-gradient(135deg,rgba(255,45,138,.4),rgba(0,0,0,.5)),repeating-linear-gradient(45deg,#2a0a1a 0 6px,#3a0e22 6px 12px);
  }
  /* paper-tinted variants */
  .poly-4::before,.poly-8::before,.poly-12::before,.poly-15::before{
    background:linear-gradient(135deg,rgba(244,241,236,.85),rgba(255,255,255,.6));
  }
  .poly-4 .label,.poly-8 .label,.poly-12 .label,.poly-15 .label{color:#0a0a0a;text-shadow:0 1px 2px rgba(255,255,255,.5)}

  /* ---------- PRESS ---------- */
  .press-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  @media(max-width:860px){.press-grid{grid-template-columns:1fr}}
  .quote{
    background:var(--ink);border-left:4px solid var(--pink);
    padding:28px 24px;position:relative;
  }
  .quote .q-mark{font-family:'Rubik Mono One',sans-serif;color:var(--pink);font-size:60px;line-height:.6;margin-bottom:8px}
  .quote p{font-size:17px;margin:0 0 16px;font-style:italic;opacity:.95}
  .quote cite{display:block;font-style:normal;font-size:12px;letter-spacing:.2em;text-transform:uppercase;opacity:.7;font-weight:700}

  /* ---------- NEWSLETTER ---------- */
  .newsletter{
    background:var(--pink);color:var(--black);
    padding:64px 40px;border-radius:0;
    display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;
    position:relative;overflow:hidden;
  }
  @media(max-width:860px){.newsletter{grid-template-columns:1fr;padding:48px 24px}}
  .newsletter h3{font-family:'Rubik Mono One',sans-serif;font-size:clamp(38px,6vw,60px);margin:0 0 8px;text-transform:uppercase;line-height:.95}
  .newsletter p{margin:0;max-width:420px;opacity:.85}
  .newsletter form{display:flex;gap:8px;flex-wrap:wrap}
  .newsletter input{
    flex:1;min-width:220px;
    padding:16px 18px;border:2px solid var(--black);background:var(--white);
    font-family:'Rubik',sans-serif;font-size:15px;border-radius:0;
  }
  .newsletter button{
    padding:16px 26px;background:var(--black);color:var(--pink);
    border:2px solid var(--black);font-weight:900;letter-spacing:.1em;text-transform:uppercase;font-size:14px;cursor:pointer;
  }
  .newsletter button:hover{background:var(--white);color:var(--black)}
  /* DSGVO-Consent — CSS Grid für garantierte Side-by-Side-Layout */
  .newsletter form.nl-form{display:flex !important;flex-direction:column !important;gap:14px;width:100%;flex-wrap:nowrap !important;align-items:stretch !important;justify-content:flex-start !important}
  .newsletter form.nl-form > .nl-row{display:flex;gap:8px;flex-wrap:wrap;width:100%;align-items:stretch}
  .newsletter form.nl-form > .nl-row input[type=email]{flex:1 1 auto;min-width:200px}
  .newsletter form.nl-form > .nl-consent{
    display:grid !important;
    grid-template-columns:18px 1fr !important;
    gap:10px !important;
    align-items:start;
    width:100%;max-width:100%;
    margin:0;padding:0;
    font-size:12px;line-height:1.45;color:rgba(0,0,0,.82);
    text-align:left;
    cursor:pointer;
  }
  .newsletter form.nl-form > .nl-consent input[type=checkbox]{
    grid-column:1 !important;grid-row:1 !important;
    width:18px !important;height:18px !important;
    min-width:0 !important;max-width:18px !important;
    margin:3px 0 0 0 !important;padding:0 !important;
    border:0 !important;background:transparent !important;
    flex:none !important;
    accent-color:var(--black);cursor:pointer;
    appearance:auto !important;-webkit-appearance:checkbox !important;
    position:static !important;
    font-size:0;border-radius:0 !important;
  }
  .newsletter form.nl-form > .nl-consent span{grid-column:2;grid-row:1;display:block;color:inherit}
  .newsletter form.nl-form > .nl-consent a{color:var(--black);text-decoration:underline;font-weight:700}
  .newsletter form.nl-form > .nl-consent a:hover{color:var(--pink-deep)}

  /* ---------- LEGAL PAGES (Impressum, Datenschutz) ---------- */
  .legal-page{
    background:var(--paper);
    color:var(--black);
    padding:160px 0 100px;
    min-height:80vh;
  }
  .legal-content{max-width:840px;margin:0 auto}
  .legal-header{margin-bottom:48px;border-bottom:3px solid var(--black);padding-bottom:32px}
  .legal-header .eyebrow{margin-bottom:12px;opacity:.6}
  .legal-content h1.display{
    font-size:clamp(48px,7vw,84px);
    margin:0;color:var(--black);
    line-height:.95;
  }
  .legal-text{font-family:'Rubik',sans-serif}
  .legal-text h2{
    font-family:'Rubik',sans-serif;font-weight:900;
    font-size:clamp(36px,5vw,56px);
    margin:0 0 24px;
    letter-spacing:-.025em;line-height:1.05;
    text-transform:none;color:var(--black);
  }
  /* Folge-H2 (nach erstem) wieder kleiner */
  .legal-text h2 ~ h2{
    font-size:clamp(22px,3vw,28px);
    margin:40px 0 14px;
    letter-spacing:-.02em;line-height:1.2;
  }
  .legal-text h3{
    font-weight:700;font-size:18px;
    margin:28px 0 10px;letter-spacing:-.01em;
    color:var(--black);
  }
  .legal-text p{
    font-size:16px;line-height:1.7;
    margin:0 0 18px;color:rgba(0,0,0,.85);
  }
  .legal-text strong{font-weight:700;color:var(--black)}
  .legal-text a{
    color:var(--pink-deep);text-decoration:underline;
    text-decoration-color:rgba(255,45,138,.4);
    text-underline-offset:3px;
    transition:all .15s ease;
    word-break:break-word;
  }
  .legal-text a:hover{color:var(--pink);text-decoration-color:var(--pink)}
  .legal-text ul,.legal-text ol{margin:0 0 18px;padding-left:24px}
  .legal-text li{margin-bottom:8px;line-height:1.6}
  .legal-back{margin-top:60px;padding-top:32px;border-top:1px solid rgba(0,0,0,.15)}
  .legal-back .btn.ghost{color:var(--black);border-color:var(--black)}
  .legal-back .btn.ghost:hover{background:var(--black);color:var(--paper)}
  .newsletter .stamp-big{
    position:absolute;right:-20px;bottom:-20px;font-family:'Rubik Spray Paint',cursive;
    font-size:180px;color:rgba(0,0,0,.06);transform:rotate(-12deg);pointer-events:none;
  }

  /* ---------- BOOKING ---------- */
  .booking{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  @media(max-width:860px){.booking{grid-template-columns:1fr}}
  .booking .card{
    padding:40px 36px;border:0;border-radius:0;
    position:relative;overflow:hidden;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .booking .card.pink{background:var(--pink);color:var(--black);box-shadow:16px 16px 0 rgba(255,45,138,.2)}
  .booking .card.paper{background:var(--paper);color:var(--black);box-shadow:16px 16px 0 rgba(255,45,138,.2)}
  .booking .card:hover{transform:translateY(-4px)}
  .booking .card::before{
    content:"";position:absolute;top:0;right:0;
    width:80px;height:80px;
    background:linear-gradient(135deg,transparent 50%, rgba(0,0,0,.08) 50%);
  }
  .booking h3{
    font-family:'Rubik',sans-serif;font-weight:900;
    font-size:28px;margin:0 0 8px;text-transform:uppercase;
    letter-spacing:-.02em;line-height:1;
  }
  .booking .card-eyebrow{
    font-size:11px;letter-spacing:.3em;text-transform:uppercase;
    font-weight:700;opacity:.6;margin-bottom:18px;
  }
  .booking a.contact{
    color:var(--black);font-weight:900;font-size:22px;
    word-break:break-all;display:inline-block;margin-top:18px;
    border-bottom:3px solid var(--black);padding-bottom:2px;
    transition:transform .15s ease;
  }
  .booking .card.pink a.contact{color:var(--black);border-color:var(--black)}
  .booking .card.paper a.contact{color:var(--pink-deep);border-color:var(--pink-deep)}
  .booking a.contact:hover{transform:translateX(4px)}

  /* ---------- SOCIAL ---------- */
  .social-bar{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:40px}
  .social-bar a{
    display:inline-flex;align-items:center;justify-content:center;
    width:56px;height:56px;border-radius:50%;
    border:2px solid var(--pink);color:var(--pink);
    transition:all .2s ease;
  }
  .social-bar a:hover{background:var(--pink);color:var(--black);transform:translateY(-3px) scale(1.05);box-shadow:0 8px 20px rgba(255,45,138,.5)}
  .social-bar svg{width:24px;height:24px;fill:currentColor}
  .social-bar a span.sr{position:absolute;left:-9999px}

  /* ---------- INSTAGRAM ---------- */
  .insta-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
  @media(max-width:1000px){.insta-grid{grid-template-columns:repeat(3,1fr)}}
  @media(max-width:520px){.insta-grid{grid-template-columns:repeat(2,1fr)}}
  .insta-tile{
    position:relative;aspect-ratio:1/1;overflow:hidden;
    background:linear-gradient(135deg,#2a2a2a,#0e0e0e);
    border:1px solid rgba(255,255,255,.05);
    display:flex;align-items:flex-end;justify-content:flex-start;
    transition:transform .2s ease;
    cursor:pointer;
  }
  .insta-tile:hover{transform:scale(1.03);border-color:var(--pink);z-index:2}
  .insta-tile::before{
    content:"";position:absolute;inset:0;
    background:
      radial-gradient(circle at 30% 30%, rgba(255,45,138,.3), transparent 60%),
      repeating-linear-gradient(135deg, rgba(255,255,255,.04) 0 2px, transparent 2px 8px);
    pointer-events:none;
  }
  .insta-tile .insta-caption{
    position:relative;z-index:2;padding:10px 12px;font-size:11px;color:rgba(255,255,255,.85);
    background:linear-gradient(180deg,transparent,rgba(0,0,0,.7));
    width:100%;
  }
  .insta-tile .icon{
    position:absolute;top:10px;right:10px;color:var(--pink);font-size:18px;z-index:2;
  }
  .insta-cta{display:flex;justify-content:center;margin-top:32px;gap:12px;flex-wrap:wrap}

  /* ---------- MERCH ---------- */
  .merch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:32px}
  @media(max-width:1000px){.merch-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:520px){.merch-grid{grid-template-columns:1fr}}
  .merch-card{
    background:var(--paper);color:var(--black);
    border-radius:0;overflow:hidden;
    transition:transform .15s ease, box-shadow .15s ease;
    display:flex;flex-direction:column;
  }
  .merch-card:hover{transform:translateY(-4px);box-shadow:12px 12px 0 var(--pink)}
  .merch-thumb{
    aspect-ratio:1/1;background:#e8e3dc;position:relative;display:flex;align-items:center;justify-content:center;
    overflow:hidden;
  }
  .merch-thumb .ph-logo{
    font-family:'Rubik Mono One',sans-serif;color:var(--black);font-size:42px;
    text-align:center;line-height:.95;letter-spacing:.02em;text-transform:uppercase;
    transform:rotate(-2deg);
  }
  .merch-thumb.shirt{background:linear-gradient(180deg,#ffd6e8,#ffb3d9)}
  .merch-thumb.hoodie{background:linear-gradient(180deg,#1a1a1a,#0a0a0a)}
  .merch-thumb.hoodie .ph-logo{color:var(--pink)}
  .merch-thumb.cap{background:linear-gradient(180deg,#FF2D8A,#D8005E)}
  .merch-thumb.cap .ph-logo{color:var(--black)}
  .merch-thumb.bag{background:linear-gradient(180deg,#f4f1ec,#dcd5cb)}
  .merch-info{padding:16px 18px;display:flex;flex-direction:column;gap:6px}
  .merch-info .name{font-family:'Rubik',sans-serif;font-weight:900;font-size:15px;letter-spacing:.02em}
  .merch-info .price{font-size:14px;font-weight:700;color:var(--pink-deep)}
  .merch-cta{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}

  /* ---------- FOOTER ---------- */
  footer{background:#000;padding:60px 0 30px;border-top:1px solid rgba(255,255,255,.06)}
  .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;margin-bottom:36px}
  @media(max-width:760px){.footer-grid{grid-template-columns:1fr 1fr}}
  footer h4{font-family:'Rubik',sans-serif;font-weight:900;font-size:14px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 14px;color:var(--pink)}
  footer ul{list-style:none;padding:0;margin:0}
  footer ul li{padding:4px 0;font-size:14px;opacity:.75}
  footer ul li a:hover{color:var(--pink);opacity:1}
  .footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid rgba(255,255,255,.08);padding-top:24px;font-size:12px;opacity:.55}

  /* ---------- SCROLL REVEAL ---------- */
  .reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease, transform .9s cubic-bezier(.2,.8,.2,1)}
  .reveal.in{opacity:1;transform:none}
  .reveal-left{transform:translateX(-50px)}
  .reveal-left.in{transform:none}
  .reveal-right{transform:translateX(50px)}
  .reveal-right.in{transform:none}
  .reveal-scale{transform:scale(.9) translateY(20px)}
  .reveal-scale.in{transform:none}
  .reveal-rotate{transform:rotate(-6deg) translateY(40px) scale(.94)}
  .reveal-rotate.in{transform:rotate(-2deg)}
  /* stagger children */
  .stagger > *{opacity:0;transform:translateY(28px);transition:opacity .7s ease, transform .8s cubic-bezier(.2,.8,.2,1)}
  .stagger.in > *{opacity:1;transform:none}
  .stagger.in > *:nth-child(1){transition-delay:.05s}
  .stagger.in > *:nth-child(2){transition-delay:.12s}
  .stagger.in > *:nth-child(3){transition-delay:.19s}
  .stagger.in > *:nth-child(4){transition-delay:.26s}
  .stagger.in > *:nth-child(5){transition-delay:.33s}
  .stagger.in > *:nth-child(6){transition-delay:.40s}
  .stagger.in > *:nth-child(7){transition-delay:.47s}
  .stagger.in > *:nth-child(8){transition-delay:.54s}
  .stagger.in > *:nth-child(9){transition-delay:.61s}
  .stagger.in > *:nth-child(10){transition-delay:.68s}
  .stagger.in > *:nth-child(11){transition-delay:.75s}
  .stagger.in > *:nth-child(12){transition-delay:.82s}

  /* Hero parallax wrappers (transform set via JS) */
  .hero-video, .hero-content{will-change:transform}

  /* ---------- PULL QUOTES ---------- */
  .pullquote{
    padding:90px 0;
    background:var(--black);
    position:relative;overflow:hidden;
  }
  .pullquote.pink-bg{background:var(--pink);color:var(--black)}
  .pullquote.paper-bg{background:var(--paper);color:var(--black)}
  .pullquote.dark-tint{
    background:
      radial-gradient(700px 400px at 50% 50%, rgba(255,45,138,.12), transparent 60%),
      #111;
  }
  .pullquote .container{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}
  .pullquote q{
    font-family:'Rubik',sans-serif;font-weight:900;
    font-size:clamp(34px,5.5vw,68px);
    line-height:1.02;letter-spacing:-.035em;word-spacing:-.04em;
    max-width:980px;display:block;
    text-transform:uppercase;
    quotes:"„" """ "‚" "'";
  }
  .pullquote q::before,.pullquote q::after{color:var(--pink)}
  .pullquote.pink-bg q::before,.pullquote.pink-bg q::after{color:var(--black)}
  .pullquote cite{
    font-style:normal;font-size:12px;letter-spacing:.3em;text-transform:uppercase;
    opacity:.7;font-weight:700;
  }
  .pullquote .accent{
    position:absolute;font-family:'Rubik Spray Paint',cursive;
    font-size:22vw;color:rgba(255,45,138,.06);
    top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;
    white-space:nowrap;
  }
  .pullquote.pink-bg .accent{color:rgba(0,0,0,.07)}
  .pullquote.tilted q{
    display:inline-block;transform:rotate(-2deg);
    background:var(--pink);color:var(--black);
    padding:18px 28px;
    box-shadow:14px 14px 0 rgba(255,255,255,.08);
    letter-spacing:-.035em;word-spacing:-.04em;
  }
  .pullquote.tilted.pink-bg q{box-shadow:14px 14px 0 var(--black)}
  .pullquote.tilted cite{margin-top:36px;color:var(--pink)}
  .pullquote.tilted.pink-bg cite{color:var(--black);opacity:.7}
  .pullquote.tilted q::before,.pullquote.tilted q::after{display:none}

  /* Review-style (für lange Zitate / Magazine-Look) */
  .pullquote.review{padding:100px 0;background:var(--paper);color:var(--black);text-align:left}
  .pullquote.review .container{display:grid;grid-template-columns:220px 1fr;gap:48px;align-items:start;text-align:left}
  @media(max-width:760px){.pullquote.review .container{grid-template-columns:1fr;gap:24px}}
  .pullquote.review .pub{
    font-family:'Rubik Mono One',sans-serif;
    font-size:22px;line-height:1;text-transform:uppercase;
    border-left:6px solid var(--pink);padding-left:18px;
  }
  .pullquote.review .pub small{
    display:block;font-family:'Rubik',sans-serif;font-weight:700;
    font-size:11px;letter-spacing:.3em;opacity:.6;margin-top:10px;
  }
  .pullquote.review .review-body{position:relative}
  .pullquote.review .review-body::before{
    content:"\201E";position:absolute;top:-40px;left:-30px;
    font-family:'Rubik Mono One',serif;color:var(--pink);
    font-size:140px;line-height:1;opacity:.25;pointer-events:none;
  }
  .pullquote.review q{
    font-family:'Rubik',sans-serif;font-weight:500;
    font-size:clamp(20px,2.2vw,28px);
    line-height:1.45;letter-spacing:-.005em;
    text-transform:none;display:block;max-width:none;
    color:var(--black);
  }
  .pullquote.review q::before,.pullquote.review q::after{display:none}
  .pullquote.review .pink-hl{background:linear-gradient(180deg,transparent 60%,rgba(255,45,138,.35) 60%);padding:0 4px}
  .pullquote.review cite{
    display:block;margin-top:24px;
    font-style:normal;font-size:12px;letter-spacing:.25em;text-transform:uppercase;
    color:var(--pink-deep);font-weight:700;
  }

  /* ---------- RIBBON ---------- */
  .ribbon{
    background:var(--pink);color:var(--black);
    padding:14px 0;font-weight:900;letter-spacing:.2em;text-transform:uppercase;
    font-size:13px;overflow:hidden;white-space:nowrap;
  }
  .ribbon .track{display:inline-block;animation:scroll 28s linear infinite;padding-left:100%}
  .ribbon .track span{margin:0 28px}
  .ribbon .track span::before{content:"★";color:var(--black);margin-right:28px}
  @keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-100%)}}
