@font-face { font-family:"Ruda"; src:url("../fonts/Ruda-Regular.ttf"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"Ruda"; src:url("../fonts/Ruda-Bold.ttf"); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:"Exo2"; src:url("../fonts/Exo2-Regular.ttf"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"MontserratAlternates"; src:url("../fonts/MontserratAlternates-Regular.ttf"); font-weight:500; font-style:normal; font-display:swap; }

:root{
  --dark:#0A0A0A;
  --magenta:#C41E7A;
  --cream:#F3EDE4;
  --pink:#c20a75;
  --bwsc-ease:cubic-bezier(.16,1,.3,1);
}

*{box-sizing:border-box;}
html{ scroll-behavior:smooth; cursor:none; }
body{
  margin:0; background:var(--dark); color:var(--cream);
  font-family:"Exo2",sans-serif; font-size:16px; line-height:1.6;
  overflow-x:hidden; -webkit-font-smoothing:antialiased;
  position:relative;
}
#bw-page{ background:var(--dark); }
h1,h2,h3,h4{ font-family:"Ruda",sans-serif; font-weight:700; margin:0; line-height:.92; letter-spacing:-0.03em; }
body h1, body h2, body h3, body h4{ color:inherit; }
p{ margin:0; }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; cursor:pointer; }
::selection{ background:var(--magenta); color:var(--cream); }

#bwsc-grain{ position:fixed; inset:0; z-index:500; pointer-events:none; opacity:.06; mix-blend-mode:overlay; }
#bwsc-cursor{ position:fixed; top:0; left:0; width:10px; height:10px; background:var(--magenta); border-radius:50%; pointer-events:none; z-index:3500; transform:translate(-50%,-50%); transition:width .25s var(--bwsc-ease), height .25s var(--bwsc-ease), background .25s; mix-blend-mode:difference; }
#bwsc-cursor.big{ width:70px; height:70px; background:var(--magenta); }

.bwsc-glow{ position:absolute; top:-200px; left:50%; width:900px; height:700px; transform:translateX(-50%); background:radial-gradient(circle, rgba(196,30,122,.35) 0%, rgba(196,30,122,0) 70%); pointer-events:none; z-index:0; }

/* ---------- Marquee-Bänder ---------- */
.bwsc-marquee{ overflow:hidden; background:var(--magenta); padding:10px 0; position:relative; z-index:2; transform:rotate(-1.6deg); margin:0 -6vw; }
.bwsc-marquee.bwsc-marquee-bottom{ background:var(--cream); transform:rotate(1.4deg); margin-top:-8px; }
.bwsc-marquee-track{ display:flex; width:max-content; animation:bwscMarquee 22s linear infinite; }
.bwsc-marquee.bwsc-marquee-bottom .bwsc-marquee-track{ animation-direction:reverse; animation-duration:26s; }
.bwsc-marquee span{ font-family:"Ruda",sans-serif; font-weight:700; font-size:15px; text-transform:uppercase; letter-spacing:.08em; color:var(--cream); padding:0 22px; white-space:nowrap; }
.bwsc-marquee.bwsc-marquee-bottom span{ color:var(--dark); }
@keyframes bwscMarquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

.bwsc-wrap{ max-width:640px; margin:0 auto; padding:0 6vw; position:relative; z-index:2; }

.bwsc-section{ padding:56px 0 100px; position:relative; }

.bwsc-logo{ display:flex; justify-content:center; padding-top:44px; }
.bwsc-logo img{ height:60px; transition:transform .4s var(--bwsc-ease); }
.bwsc-logo:hover img{ transform:rotate(-6deg) scale(1.06); }

.bwsc-title-wrap{ position:relative; text-align:center; margin-top:34px; }
.bwsc-title-wrap h1{ font-size:clamp(46px,13vw,86px); text-transform:uppercase; color:var(--cream); position:relative; z-index:2; transform:rotate(-2deg); display:inline-block; }
.bwsc-title-shadow{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:"Ruda",sans-serif; font-weight:700; font-size:clamp(46px,13vw,86px); text-transform:uppercase; color:var(--magenta); z-index:1; transform:rotate(-2deg) translate(8px,8px); opacity:.9; }

.bwsc-eyebrow{ display:flex; align-items:center; justify-content:center; gap:10px; font-family:"MontserratAlternates",sans-serif; font-weight:500; font-size:12px; letter-spacing:.25em; text-transform:uppercase; color:var(--pink); margin-top:20px; }
.bwsc-eyebrow::before, .bwsc-eyebrow::after{ content:"✦"; color:var(--magenta); }

.bwsc-intro{ text-align:center; max-width:50ch; margin:30px auto 0; }
.bwsc-intro p{ font-size:15px; opacity:.85; }
.bwsc-intro p + p{ margin-top:12px; }

.bwsc-list{ margin-top:56px; display:flex; flex-direction:column; gap:26px; }

.bwsc-divider-text{ text-align:center; font-family:"MontserratAlternates",sans-serif; font-weight:500; font-size:15px; letter-spacing:.03em; color:var(--cream); opacity:.85; max-width:36ch; margin:22px auto 0; transform:rotate(-1deg); }

.bwsc-link{
  display:flex; align-items:center; gap:16px;
  padding:20px 22px; background:var(--cream); color:var(--dark);
  border:2px solid var(--dark);
  box-shadow:7px 7px 0 var(--magenta);
  transition:transform .25s var(--bwsc-ease), box-shadow .25s var(--bwsc-ease), background .25s, color .25s;
  position:relative;
}
.bwsc-list a:nth-child(4n+1){ transform:rotate(-1.4deg); }
.bwsc-list a:nth-child(4n+2){ transform:rotate(1.1deg); }
.bwsc-list a:nth-child(4n+3){ transform:rotate(-.8deg); }
.bwsc-list a:nth-child(4n+4){ transform:rotate(1.6deg); }

.bwsc-link:hover{
  transform:rotate(0deg) translate(7px,7px) !important;
  box-shadow:0 0 0 var(--magenta);
  background:var(--magenta); color:var(--cream); border-color:var(--magenta);
}
.bwsc-link svg{ height:26px; width:26px; fill:currentColor; flex-shrink:0; transition:transform .3s var(--bwsc-ease); }
.bwsc-link:hover svg{ transform:rotate(-14deg) scale(1.15); }
.bwsc-link-label{ flex:1; font-family:"Ruda",sans-serif; font-weight:700; font-size:18px; letter-spacing:.02em; text-transform:uppercase; }
.bwsc-link-arrow{ display:inline-flex; font-size:18px; opacity:.6; }
.bwsc-link:hover .bwsc-link-arrow{ opacity:1; animation:bwscArrowBounce 1s ease-in-out infinite; }
@keyframes bwscArrowBounce{ 0%,100%{ transform:translateX(0);} 50%{ transform:translateX(6px);} }

.bwsc-footer{ text-align:center; padding:60px 0 30px; position:relative; z-index:2; }
.bwsc-footer a{ font-size:13px; opacity:.55; transition:opacity .3s, color .3s; }
.bwsc-footer a:hover{ opacity:1; color:var(--magenta); }
.bwsc-footer .bwsc-legal-row{ display:flex; justify-content:center; gap:22px; flex-wrap:wrap; margin-top:10px; }
.bwsc-copy{ margin-top:22px; font-size:12px; opacity:.4; }

@media (max-width:900px){
  html{ cursor:auto; }
  #bwsc-cursor{ display:none; }
}
@media (max-width:480px){
  .bwsc-link{ padding:18px; gap:12px; box-shadow:5px 5px 0 var(--magenta); }
  .bwsc-link:hover{ transform:rotate(0deg) translate(5px,5px) !important; }
  .bwsc-link-label{ font-size:16px; }
  .bwsc-title-wrap h1, .bwsc-title-shadow{ font-size:clamp(38px,15vw,60px); }
}
