@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:#151515;
  --magenta:#C41E7A;
  --cream:#F3EDE4;
  --pink:#c20a75;
  --bwbh-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;
}
#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); }

#bwnv-grain{ position:fixed; inset:0; z-index:500; pointer-events:none; opacity:.05; mix-blend-mode:overlay; }

#bwnv-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(--bwbh-ease), height .25s var(--bwbh-ease), background .25s; mix-blend-mode:difference; }
#bwnv-cursor.big{ width:64px; height:64px; background:var(--magenta); }

#bwnv-progress{ height:5px; width:0%; background:var(--magenta); }

.bwbh-reveal{ opacity:0; transform:translateY(40px) rotate(.3deg); transition:opacity 1s var(--bwbh-ease), transform 1s var(--bwbh-ease); }
.bwbh-reveal.is-visible{ opacity:1; transform:translateY(0) rotate(0); }

.bwbh-wrap{ max-width:1400px; margin:0 auto; padding:0 6vw; }

.bwbh-cut-top{ clip-path:polygon(0 4vw, 100% 0, 100% 100%, 0 100%); margin-top:-4vw; position:relative; z-index:2; }

.bwbh-section{ padding:120px 0; position:relative; }
.bwbh-section.bwbh-cream{ background:var(--cream); color:var(--dark); }

.bwbh-eyebrow{ font-family:"MontserratAlternates",sans-serif; font-weight:500; font-size:12px; letter-spacing:.25em; text-transform:uppercase; }

/* ---------- Intro ---------- */
.bwbh-intro-title{ font-size:clamp(36px,6vw,84px); text-transform:uppercase; color:var(--cream); white-space:nowrap; }
@media (max-width:900px){ .bwbh-intro-title{ font-size:7.5vw; } }
.bwbh-lede{ max-width:65ch; margin-top:32px; }
.bwbh-lede p{ font-size:17px; color:var(--cream); opacity:.9; }

/* ---------- Buttons ---------- */
.bwbh-btn{ display:inline-flex; align-items:center; gap:10px; background:var(--magenta); color:var(--cream); font-weight:700; padding:18px 36px; border-radius:2px; font-family:"MontserratAlternates",sans-serif; font-size:14px; text-transform:uppercase; letter-spacing:.08em; border:none; cursor:pointer; transition:transform .3s var(--bwbh-ease), background .3s; }
.bwbh-btn:hover{ transform:skew(-6deg) scale(1.05); background:var(--dark); color:var(--cream); }
.bwbh-arrow{ display:inline-flex; animation:bwbhArrowBounce 1.4s ease-in-out infinite; }
@keyframes bwbhArrowBounce{ 0%,100%{ transform:translateX(0);} 50%{ transform:translateX(5px);} }

/* ---------- Body-Text ---------- */
.bwbh-body{ max-width:70ch; display:flex; flex-direction:column; gap:24px; }
.bwbh-body p{ font-size:18px; opacity:.9; }
.bwbh-body strong{ font-weight:700; }

.bwbh-cta-row{ margin-top:56px; display:flex; align-items:center; gap:36px; flex-wrap:wrap; }

/* ---------- Foto + Text Split ---------- */
.bwbh-split{ position:relative; max-width:1400px; margin:0 auto; }
.bwbh-photo-wild{ position:absolute; top:-120px; bottom:-120px; left:0; width:50%; overflow:hidden; background:var(--dark); }
.bwbh-photo-wild img{ width:100%; height:100%; object-fit:cover; object-position:center top; filter:grayscale(1) contrast(1.2); }
.bwbh-photo-tablet{ display:none; }
.bwbh-split-copy{ margin-left:50%; padding:0 60px; min-height:640px; display:flex; flex-direction:column; justify-content:center; }
.bwbh-split-copy .bwbh-body{ max-width:none; }

@media (max-width:600px){
  .bwbh-split{ display:block; }
  .bwbh-photo-wild{ position:static; width:100%; height:550px; margin:-120px 0 0; }
  .bwbh-split-copy{ margin-left:0; padding:50px 6vw 0; min-height:0; display:block; }
}

/* ---------- Tablet: volle Breite, Schräge oben+unten, Bild zentriert, Text darunter ---------- */
@media (min-width:601px) and (max-width:1024px){
  .bwbh-split{ display:block; max-width:none; margin:0; }
  .bwbh-photo-wild{
    position:static; width:100%; height:340px; margin:-160px 0 0;
    clip-path:polygon(0 40px, 100% 0, 100% calc(100% - 40px), 0 100%);
  }
  .bwbh-photo-wild img{ object-position:center center; }
  .bwbh-photo-desktop{ display:none; }
  .bwbh-photo-tablet{ display:block; }
  .bwbh-split-copy{
    margin-left:0; min-height:0; display:block;
    width:auto; padding:50px 6vw 0;
    background:none; box-shadow:none;
  }
}
@media (max-width:900px){
  html{ cursor:auto; }
  #bwnv-cursor{ display:none; }
}

