@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;
  --bwwb-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(--bwwb-ease), height .25s var(--bwwb-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); }

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

.bwwb-wrap{ max-width:1400px; margin:0 auto; padding:0 6vw; }
.bwwb-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(--bwwb-ease), background .3s; }
.bwwb-btn:hover{ transform:skew(-6deg) scale(1.05); background:var(--dark); color:var(--cream); }
@keyframes bwwbArrowBounce{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(6px); } }
.bwwb-btn .bwwb-arrow{ display:inline-flex; animation:bwwbArrowBounce 1.4s ease-in-out infinite; }


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

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

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

/* ---------- hero ---------- */
.bwwb-hero{ position:relative; height:100vh; height:100svh; min-height:680px; padding-top:89px; background:var(--dark); box-sizing:border-box; display:flex; flex-direction:column; justify-content:flex-end; align-items:stretch; overflow:hidden; }
.bwwb-hero img.bwwb-bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top; filter:grayscale(1) contrast(1.15); }
.bwwb-hero::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg, var(--dark) 0%, rgba(10,10,10,.9) 25%, rgba(10,10,10,.3) 75%); }
.bwwb-hero-title{ position:relative; z-index:2; order:1; text-align:left; padding:0 6vw 160px; }
.bwwb-hero-title h1{ font-size:clamp(40px,8.5vw,140px); color:var(--cream); text-transform:uppercase; overflow-wrap:break-word; }
.bwwb-hero-kicker{ position:relative; z-index:2; order:2; text-align:left; padding:0 6vw 26px; font-family:"MontserratAlternates",sans-serif; color:var(--magenta); font-size:13px; letter-spacing:.3em; text-transform:uppercase; }
@media (max-width:600px){ .bwwb-hero{ min-height:520px; } }

/* ---------- Lede ---------- */
.bwwb-lede{ max-width:70ch; margin-top:50px; display:flex; flex-direction:column; gap:26px; }
.bwwb-lede p{ font-size:17px; color:var(--cream); opacity:.9; }

/* ---------- Statement ---------- */
.bwwb-statement{ font-size:clamp(28px,4.6vw,58px); line-height:1.25; max-width:22ch; color:var(--cream); }
.bwwb-section.bwwb-cream .bwwb-statement{ color:var(--dark); }
.bwwb-statement .bwwb-hl{ color:var(--magenta); font-style:italic; }
.bwwb-section.bwwb-cream .bwwb-statement .bwwb-hl{ color:var(--pink); }

/* ---------- Weiterbildungs-Karten ---------- */
.bwwb-kurs-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:40px; margin-top:60px; }
.bwwb-kurs-card{ background:var(--cream); color:var(--dark); padding:40px 34px; box-shadow:0 24px 50px rgba(0,0,0,.25); display:flex; flex-direction:column; }
.bwwb-kurs-card .bwwb-kurs-code{ font-family:"MontserratAlternates",sans-serif; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--pink); }
.bwwb-kurs-card h3{ margin-top:14px; font-size:clamp(22px,2.4vw,28px); }
.bwwb-kurs-card .bwwb-kurs-detail{ margin-top:16px; font-size:15px; opacity:.85; line-height:1.7; }
.bwwb-kurs-card .bwwb-kurs-subtitle{ margin-top:8px; font-family:"MontserratAlternates",sans-serif; font-size:14px; font-weight:500; color:var(--pink); }
.bwwb-kurs-card .bwwb-kurs-detail.bwwb-kurs-detail-long{ display:flex; flex-direction:column; gap:14px; }

.bwwb-kurs-card .bwwb-kurs-block{ margin-top:26px; padding-top:24px; border-top:1px solid rgba(10,10,10,.12); }
.bwwb-kurs-card .bwwb-kurs-block .bwwb-eyebrow{ color:var(--pink); }
.bwwb-kurs-card .bwwb-kurs-block p{ margin-top:10px; font-size:15px; opacity:.85; line-height:1.7; }
.bwwb-kurs-card .bwwb-kurs-lehrplan ul{ margin:10px 0 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:8px; }
.bwwb-kurs-card .bwwb-kurs-lehrplan ul li{ font-size:15px; opacity:.85; padding-left:18px; position:relative; line-height:1.6; }
.bwwb-kurs-card .bwwb-kurs-lehrplan ul li::before{ content:"—"; position:absolute; left:0; color:var(--magenta); }

.bwwb-kurs-infolist{ display:flex; flex-direction:column; gap:8px; }
.bwwb-kurs-infolist div{ font-size:15px; opacity:.85; }
.bwwb-kurs-infolist strong{ opacity:1; }

.bwwb-kurs-fee{ margin-top:26px; padding-top:24px; border-top:1px solid rgba(10,10,10,.12); }
.bwwb-kurs-fee .bwwb-kurs-fee-amount{ font-family:"Ruda",sans-serif; font-weight:700; font-size:clamp(34px,4vw,48px); color:var(--magenta); line-height:1; }
.bwwb-kurs-fee .bwwb-kurs-fee-label{ margin-top:6px; font-family:"MontserratAlternates",sans-serif; font-size:12px; letter-spacing:.2em; text-transform:uppercase; opacity:.7; }

.bwwb-kurs-zahlung{ margin-top:20px; display:flex; flex-direction:column; gap:16px; }
.bwwb-kurs-zahlung-item .bwwb-kurs-zahlung-label{ font-family:"MontserratAlternates",sans-serif; font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:var(--magenta); }
.bwwb-kurs-zahlung-item .bwwb-kurs-zahlung-detail{ margin-top:6px; font-size:15px; opacity:.85; line-height:1.6; }
.bwwb-kurs-zahlung-item .bwwb-kurs-zahlung-detail strong{ opacity:1; }

.bwwb-kurs-termine{ margin-top:10px; font-size:15px; opacity:.85; }

.bwwb-kurs-card-wide{ grid-column:1 / -1; }
.bwwb-kurs-card-wide .bwwb-kurs-columns{ display:grid; grid-template-columns:1fr 1fr; gap:0 60px; margin-top:16px; }
.bwwb-kurs-card-wide .bwwb-kurs-col-right{ padding-left:60px; }
.bwwb-kurs-card-wide .bwwb-kurs-block:first-child{ margin-top:0; padding-top:0; border-top:none; }
.bwwb-kurs-card-wide .bwwb-kurs-col-left > *:first-child,
.bwwb-kurs-card-wide .bwwb-kurs-col-right > *:first-child{ margin-top:0; }
@media (max-width:900px){
  .bwwb-kurs-card-wide .bwwb-kurs-columns{ grid-template-columns:1fr; }
  .bwwb-kurs-card-wide .bwwb-kurs-col-right{ padding-left:0; border-left:none; margin-top:26px; padding-top:24px; border-top:1px solid rgba(10,10,10,.12); }
}
.bwwb-kurs-card .bwwb-kurs-meta{ margin-top:auto; padding-top:20px; border-top:1px solid rgba(10,10,10,.12); display:flex; justify-content:space-between; align-items:baseline; }
.bwwb-kurs-card .bwwb-kurs-dauer{ font-size:14px; opacity:.75; }
.bwwb-kurs-card .bwwb-kurs-preis{ font-family:"Ruda",sans-serif; font-weight:700; font-size:clamp(26px,2.8vw,32px); color:var(--magenta); }
.bwwb-kurs-card .bwwb-btn{ margin-top:26px; justify-content:center; }

@media (max-width:900px){
  .bwwb-kurs-grid{ grid-template-columns:1fr; }
  html{ cursor:auto; }
  #bwnv-cursor{ display:none; }
}
@media (max-width:600px){
  .bwwb-hero-title h1{ font-size:clamp(18px,7vw,140px); }
  .bwwb-statement{ font-size:clamp(26px,6.2vw,58px); }
}
@media (min-width:601px) and (max-width:1024px){
  .bwwb-kurs-grid{ grid-template-columns:1fr; }
}

