/* KNUSPERHOLZ – Complete Rebuild */

:root {
  --bg:        #0d0d0d;
  --bg2:       #111111;
  --bg3:       #161616;
  --card:      #181818;
  --card2:     #1e1e1e;
  --input:     #222222;
  --border:    #282828;
  --border2:   #333333;

  --accent:    #d4880f;
  --accentH:   #bf7a0d;
  --accentDim: rgba(212,136,15,0.1);

  --white:  #ffffff;
  --g1:     #cccccc;
  --g2:     #999999;
  --g3:     #666666;
  --g4:     #404040;

  --green:     #22c55e;
  --greenDim:  rgba(34,197,94,0.12);

  --fh: 'Montserrat', -apple-system, sans-serif;
  --fb: 'Open Sans', -apple-system, sans-serif;

  --r1: 6px;
  --r2: 10px;
  --r3: 14px;

  --nav: 68px;
  --t:   0.2s ease;
  --sh:  0 8px 40px rgba(0,0,0,0.6);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--fb);background:var(--bg);color:var(--white);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:var(--t)}
ul,ol{list-style:none}
button{cursor:pointer;border:none;background:none;font:inherit;color:inherit}
input,textarea,select{font-family:inherit}

/* === LAYOUT === */
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 28px}
.section{padding:96px 0}
.section--alt{background:var(--bg2)}

.sec-label{
  display:inline-block;padding:5px 14px;
  border:1px solid var(--accent);border-radius:20px;
  color:var(--accent);font-size:.75rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;margin-bottom:20px
}

.sec-head{text-align:center;margin-bottom:56px}
.sec-head h2{
  font-family:var(--fh);font-size:clamp(1.8rem,4vw,2.8rem);
  font-weight:700;line-height:1.2;letter-spacing:-.02em;margin-bottom:14px
}
.sec-head p{font-size:1rem;color:var(--g2);max-width:560px;margin:0 auto;line-height:1.7}

/* === BUTTONS === */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 28px;font-family:var(--fh);font-size:.95rem;
  font-weight:600;border-radius:var(--r2);transition:var(--t);
  cursor:pointer;white-space:nowrap;border:2px solid transparent
}
.btn-primary{background:var(--accent);color:#0d0d0d;border-color:var(--accent)}
.btn-primary:hover{background:var(--accentH);border-color:var(--accentH);transform:translateY(-2px);box-shadow:0 6px 20px rgba(212,136,15,.3)}
.btn-ghost{background:transparent;color:var(--white);border-color:var(--border2)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn-full{width:100%;justify-content:center}

/* === NAV === */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  height:var(--nav);
  background:rgba(13,13,13,.92);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border)
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:100%}

.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.nav-logo-icon{
  width:36px;height:36px;background:var(--accent);
  border-radius:var(--r1);overflow:hidden;flex-shrink:0;
  display:flex;align-items:center;justify-content:center
}
.nav-logo-icon img{width:100%;height:100%;object-fit:cover}
.nav-logo-words{display:flex;flex-direction:column;line-height:1.1}
.nav-logo-name{font-family:var(--fh);font-size:1rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.nav-logo-sub{font-family:var(--fh);font-size:.58rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--g3)}

.nav-links{display:flex;align-items:center;gap:2px}
.nav-links a{padding:8px 13px;font-size:.88rem;font-weight:500;color:var(--g2);border-radius:var(--r1);transition:var(--t)}
.nav-links a:hover,.nav-links a.active{color:var(--white);background:rgba(255,255,255,.06)}

.nav-right{display:flex;align-items:center;gap:14px}
.nav-lang{
  display:flex;align-items:center;gap:5px;
  padding:7px 12px;font-size:.82rem;font-weight:600;color:var(--g2);
  border-radius:var(--r1);cursor:pointer;transition:var(--t)
}
.nav-lang:hover{color:var(--white);background:rgba(255,255,255,.05)}
.nav-lang svg{width:14px;height:14px}
.lang-chevron{transition:transform .2s}
.lang-picker.open .lang-chevron{transform:rotate(180deg)}

.lang-picker{position:relative}
.lang-dropdown{
  position:absolute;top:calc(100% + 8px);right:0;
  background:var(--card);border:1px solid var(--border);border-radius:var(--r2);
  min-width:160px;overflow:hidden;z-index:500;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s
}
.lang-picker.open .lang-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.lang-option{
  display:flex;align-items:center;gap:10px;width:100%;
  padding:10px 16px;font-size:.85rem;font-weight:500;color:var(--g1);
  text-align:left;cursor:pointer;background:none;border:none;transition:background .15s,color .15s
}
.lang-option:hover{background:rgba(255,255,255,.05);color:var(--white)}
.lang-option.lang-active{color:var(--accent)}

.nav-toggle{display:none;flex-direction:column;gap:5px;width:24px;cursor:pointer;padding:4px 0}
.nav-toggle span{width:100%;height:2px;background:var(--white);border-radius:2px;transition:var(--t)}

/* === HERO === */
.hero{
  padding-top:calc(var(--nav) + 80px);padding-bottom:100px;
  min-height:100vh;display:flex;align-items:center
}
.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}

.hero-title{
  font-family:var(--fh);font-size:clamp(2.4rem,5vw,3.6rem);
  font-weight:800;line-height:1.13;letter-spacing:-.025em;margin-bottom:24px
}
.hero-sub{font-size:1.05rem;color:var(--g1);line-height:1.75;margin-bottom:36px;max-width:480px}
.hero-actions{display:flex;gap:14px;margin-bottom:40px;flex-wrap:wrap}
.hero-trust{display:flex;align-items:center;gap:12px}
.hero-avatars{display:flex}
.hero-avatar{
  width:32px;height:32px;border-radius:50%;border:2px solid var(--bg);
  display:flex;align-items:center;justify-content:center;
  font-size:.68rem;font-weight:700;color:white
}
.hero-avatar+.hero-avatar{margin-left:-8px}
.av1{background:#3b82f6}.av2{background:#10b981}.av3{background:#8b5cf6}.av4{background:#f43f5e}
.hero-trust-text{font-size:.88rem;color:var(--g2)}

/* === WIDGET BASE === */
.widget{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--r3);padding:24px;box-shadow:var(--sh)
}
.widget-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}
.widget-header-left{display:flex;align-items:center;gap:12px}
.widget-icon{
  width:36px;height:36px;background:var(--accentDim);border-radius:var(--r1);
  display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0
}
.widget-title{font-family:var(--fh);font-size:.95rem;font-weight:700}
.widget-client{font-size:.78rem;color:var(--g3);margin-top:2px}
.widget-live{display:flex;align-items:center;gap:5px;font-size:.78rem;font-weight:600;color:var(--green)}
.widget-live-dot{
  width:7px;height:7px;border-radius:50%;background:var(--green);
  animation:livePulse 2s ease-in-out infinite
}
@keyframes livePulse{
  0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}
  60%{box-shadow:0 0 0 6px rgba(34,197,94,0)}
}

/* === REACH WIDGET === */
.rw-hero{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 0 18px;border-bottom:1px solid var(--border);margin-bottom:16px;gap:12px
}
.rw-big-val{
  font-family:var(--fh);font-size:2rem;font-weight:800;
  color:var(--accent);letter-spacing:-.03em;line-height:1
}
.rw-big-lbl{font-size:.72rem;color:var(--g3);margin-top:5px}
.rw-hero-minis{display:flex;align-items:center;flex-shrink:0}
.rw-mini{text-align:center;padding:0 14px}
.rw-mini-sep{width:1px;height:28px;background:var(--border)}
.rw-mini-val{
  font-family:var(--fh);font-size:1.1rem;font-weight:700;color:var(--white);
  display:block;line-height:1
}
.rw-mini-lbl{font-size:.7rem;color:var(--g3);margin-top:4px}

.rw-platforms{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.rw-row{display:flex;align-items:center;gap:10px}
.rw-icon{
  width:26px;height:26px;border-radius:6px;background:rgba(255,255,255,.06);
  display:flex;align-items:center;justify-content:center;flex-shrink:0
}
.rw-row-body{flex:1;min-width:0}
.rw-row-top{display:flex;justify-content:space-between;font-size:.76rem;color:var(--g2);margin-bottom:5px}
.rw-pct{font-weight:600;color:var(--white)}
.rw-track{height:5px;background:rgba(255,255,255,.07);border-radius:3px;overflow:hidden}
.rw-fill{
  height:100%;background:var(--c,var(--accent));border-radius:3px;
  width:0;transition:width 1.3s cubic-bezier(.22,.61,.36,1)
}
.rw-fill.animated{width:calc(var(--w,0) * 1%)}

/* toggle */
.rw-toggle-wrap{display:flex;background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:20px;padding:3px;gap:2px}
.rw-tog{
  padding:5px 13px;border-radius:16px;font-size:.73rem;font-weight:600;
  color:var(--g3);cursor:pointer;transition:all .25s;background:none;border:none
}
.rw-tog--active{background:var(--accent);color:#0d0d0d}

/* badge */
.rw-state-badge{display:flex;align-items:center;gap:5px;font-size:.75rem;color:var(--g3);margin-top:2px}
.rw-badge-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;transition:background .4s}
.rw-badge-dot--bad{background:#ef4444}
.rw-badge-dot--good{background:#22c55e;animation:livePulse 2s ease-in-out infinite}

/* bottom */
.rw-bottom{margin-top:4px}
.rw-note{
  font-size:.73rem;padding:8px 10px;border-radius:var(--r1);margin-bottom:10px;
  transition:background .4s,color .4s,border-color .4s;border:1px solid transparent
}
.rw-note--bad{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.2);color:#fca5a5}
.rw-note--good{background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.2);color:#86efac}
.rw-progress-track{height:3px;background:rgba(255,255,255,.07);border-radius:2px;overflow:hidden}
.rw-progress-fill{
  height:100%;background:var(--accent);border-radius:2px;width:0%;
  transition:width linear
}

/* big val states */
.rw-big-val{
  font-family:var(--fh);font-size:2rem;font-weight:800;
  letter-spacing:-.03em;line-height:1;transition:color .4s
}
.rw-big-val--bad{color:#ef4444}
.rw-big-val--good{color:var(--accent)}

/* === STATS BAR === */
.stats-bar{background:var(--card);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.stats-bar-inner{display:grid;grid-template-columns:repeat(4,1fr)}
.stat-item{padding:36px 20px;text-align:center;border-right:1px solid var(--border)}
.stat-item:last-child{border-right:none}
.stat-val{display:block;font-family:var(--fh);font-size:2.4rem;font-weight:800;color:var(--accent);line-height:1;margin-bottom:8px}
.stat-lbl{font-size:.85rem;color:var(--g2)}

/* === REVIEWS === */
.reviews-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:12px}
.reviews-left{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.reviews-badge{
  padding:5px 13px;border:1px solid var(--accent);border-radius:20px;
  color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase
}
.reviews-rating{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--g2)}
.stars{color:var(--accent);letter-spacing:1px}
.reviews-verified{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--g3)}

.rv-slider-wrap{position:relative;display:flex;align-items:center;gap:12px}
.rv-viewport{overflow:hidden;flex:1}
.rv-track{
  display:flex;gap:16px;
  transition:transform .45s cubic-bezier(.25,.46,.45,.94)
}
.rv-arrow{
  flex-shrink:0;width:40px;height:40px;border-radius:50%;
  background:var(--card);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  color:var(--g2);cursor:pointer;transition:all .2s
}
.rv-arrow:hover{background:var(--accent);border-color:var(--accent);color:#0d0d0d}
.rv-arrow:disabled{opacity:.25;cursor:default;pointer-events:none}

.review-card{
  flex-shrink:0;background:var(--card);
  border:1px solid var(--border);border-radius:var(--r2);padding:20px;
  transition:border-color .2s
}
.review-card:hover{border-color:rgba(212,136,15,.3)}
.review-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.review-author{display:flex;align-items:center;gap:10px}
.review-av{
  width:34px;height:34px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-size:.78rem;font-weight:700;color:white;flex-shrink:0
}
.review-name{font-size:.88rem;font-weight:600}
.review-date{font-size:.75rem;color:var(--g3);margin-top:2px}
.review-stars{color:var(--accent);font-size:.85rem;margin-bottom:8px;letter-spacing:1px}
.review-text{font-size:.84rem;color:var(--g2);line-height:1.65}

.rv-dots{display:flex;justify-content:center;gap:6px;margin-top:20px}
.rv-dot{
  width:7px;height:7px;border-radius:50%;background:var(--border);
  cursor:pointer;transition:all .25s;border:none;padding:0
}
.rv-dot.active{background:var(--accent);width:20px;border-radius:4px}
.rv-new{
  display:inline-block;font-size:.6rem;font-weight:700;padding:1px 5px;
  background:var(--accent);color:#0d0d0d;border-radius:3px;margin-left:5px;vertical-align:middle
}

/* === LEISTUNGEN === */
.leistungen-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  border:1px solid var(--border);border-radius:var(--r3);overflow:hidden
}
.leistung-card{
  background:var(--card);padding:36px;display:flex;flex-direction:column;
  border-bottom:1px solid var(--border);border-right:1px solid var(--border);
  transition:var(--t)
}
.leistung-card:nth-child(even){border-right:none}
.leistung-card:nth-child(3),.leistung-card:nth-child(4){border-bottom:none}
.leistung-card:hover{background:var(--card2)}

.leistung-num{font-size:.75rem;font-weight:600;color:var(--g4);letter-spacing:.05em;margin-bottom:18px}
.leistung-icon{width:38px;height:38px;color:var(--accent);margin-bottom:16px}
.leistung-card h3{font-family:var(--fh);font-size:1.2rem;font-weight:700;margin-bottom:10px}
.leistung-card>p{font-size:.875rem;color:var(--g2);line-height:1.65;margin-bottom:18px}

.leistung-list{flex:1;display:flex;flex-direction:column;gap:8px;margin-bottom:24px}
.leistung-list li{
  display:flex;align-items:flex-start;gap:8px;
  font-size:.84rem;color:var(--g2)
}
.leistung-check{color:var(--accent);flex-shrink:0;margin-top:1px}

.leistung-cta{
  display:flex;align-items:center;justify-content:center;gap:7px;
  padding:11px;border:1px solid var(--border);border-radius:var(--r2);
  font-size:.85rem;color:var(--g2);transition:var(--t);margin-top:auto
}
.leistung-cta:hover{border-color:var(--accent);color:var(--accent)}

/* === PAKETE === */
.pak-tabs{
  display:flex;justify-content:center;gap:8px;margin-bottom:40px;
  flex-wrap:wrap
}
.pak-tab{
  display:flex;align-items:center;gap:7px;
  padding:10px 20px;border-radius:var(--r2);font-size:.88rem;font-weight:600;
  color:var(--g2);background:var(--card);border:1px solid var(--border);
  cursor:pointer;transition:all .22s
}
.pak-tab:hover{color:var(--white);border-color:rgba(212,136,15,.4)}
.pak-tab--active{
  background:var(--accent);color:#0d0d0d;border-color:var(--accent)
}
.pak-tab--active svg *{stroke:#0d0d0d}

.pak-panel{display:none}
.pak-panel--active{
  display:block;
  animation:panelIn .3s ease
}
@keyframes panelIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

.pak-panel-head{text-align:center;margin-bottom:32px}
.pak-panel-head h3{font-family:var(--fh);font-size:1.45rem;font-weight:700;margin-bottom:6px}
.pak-panel-head p{font-size:.88rem;color:var(--g2)}

.pak-app-note{text-align:center;margin-top:20px;font-size:.85rem;color:var(--g2)}

.pakete-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pakete-grid--single{grid-template-columns:1fr;max-width:440px;margin:0 auto}

.price-card{
  background:var(--card);border:1px solid var(--border);border-radius:var(--r3);
  padding:28px;display:flex;flex-direction:column;position:relative;transition:var(--t)
}
.price-card--featured{border:2px solid var(--accent);transform:translateY(-6px)}
.price-card--featured:hover{transform:translateY(-10px)}

.price-badge{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:var(--accent);color:#0d0d0d;padding:4px 14px;border-radius:20px;
  font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap
}

.price-name{
  font-family:var(--fh);font-size:.78rem;font-weight:600;
  color:var(--g2);letter-spacing:.06em;text-transform:uppercase;
  margin-bottom:10px;order:1
}
.price-desc{display:none}

.price-amount{display:flex;align-items:baseline;gap:4px;margin-bottom:20px;order:2}
.price-currency{font-size:1.3rem;font-weight:700;color:var(--white)}
.price-value{font-family:var(--fh);font-size:3rem;font-weight:800;color:var(--white);line-height:1}
.price-period{font-size:.82rem;color:var(--g3);margin-left:4px;align-self:flex-end;padding-bottom:6px}

.price-oder{
  font-size:.75rem;color:var(--g4);text-transform:uppercase;
  letter-spacing:.08em;margin:4px 0;order:3
}
.price-abo{
  display:flex;align-items:baseline;gap:4px;
  margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border);order:3
}
.price-abo-val{font-family:var(--fh);font-size:1.15rem;font-weight:700;color:var(--accent)}
.price-abo-note{font-size:.77rem;color:var(--g3)}

/* CTA before features */
.price-cta-ghost{
  display:flex;align-items:center;justify-content:center;
  padding:13px;border:1px solid var(--border);border-radius:var(--r2);
  font-size:.88rem;font-weight:600;color:var(--g2);transition:var(--t);
  margin-bottom:24px;order:4
}
.price-cta-ghost:hover{border-color:var(--accent);color:var(--accent)}
.price-card .btn-primary{order:4;margin-bottom:24px}

.price-features{flex:1;order:5}
.price-features li{
  display:flex;align-items:flex-start;gap:8px;
  padding:8px 0;font-size:.85rem;color:var(--g2);
  border-bottom:1px solid var(--border)
}
.price-features li:last-child{border-bottom:none}
.pcheck{color:var(--accent);flex-shrink:0;margin-top:1px}

.pakete-footer-note{
  text-align:center;margin-top:40px;padding-top:24px;
  border-top:1px solid var(--border);font-size:.82rem;color:var(--g3)
}

/* === PROZESS === */
.prozess-steps{
  display:grid;grid-template-columns:repeat(4,1fr);
  margin-bottom:52px;
  border:1px solid var(--border);
  border-radius:var(--r3);
  overflow:hidden;
}
.prozess-step{
  position:relative;padding:32px 24px;text-align:center;
  background:var(--card);border-right:1px solid var(--border);
}
.prozess-step:last-child{border-right:none}

.prozess-num{display:none}
.prozess-icon{
  width:48px;height:48px;background:var(--accentDim);border-radius:var(--r2);
  display:flex;align-items:center;justify-content:center;color:var(--accent);
  margin:0 auto 14px
}
.prozess-step{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.prozess-step h3{font-family:var(--fh);font-size:1rem;font-weight:700;margin-bottom:9px}
.prozess-step p{font-size:.83rem;color:var(--g2);line-height:1.6}

.prozess-connector{display:none}

/* Prozess Slide-in Animation */
.prozess-animate{
  opacity:0;
  transform:translateX(-40px);
  transition:opacity 1.05s ease, transform 1.05s ease;
}
.prozess-animate.is-visible{
  opacity:1;
  transform:translateX(0);
}

.prozess-cta{text-align:center}
.prozess-note{margin-top:10px;font-size:.8rem;color:var(--g3)}

/* === CTA BAR === */
.cta-bar{background:var(--card2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:28px 0}
.cta-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.cta-bar-text{font-family:var(--fh);font-size:1rem;font-weight:600}

/* === BEFORE/AFTER SLIDER === */
.ba-slider{
  position:relative;
  border-radius:var(--r3);
  border:1px solid var(--border);
  overflow:hidden;
  cursor:ew-resize;
  user-select:none;
  touch-action:none;
  margin-bottom:40px;
}

.ba-s-layer{
  padding:36px 40px;
}

.ba-s-before{
  background:var(--card);
  opacity:.65;
}

.ba-s-after{
  position:absolute;
  inset:0;
  background:var(--card2);
  /* clip-path set by JS: inset(0 0 0 X%) = show from X% rightward */
  clip-path:inset(0 0 0 50%);
}

.ba-s-header{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--g3);
  margin-bottom:28px;
}
.ba-s-header--after{color:var(--green)}

.ba-s-dot{
  width:14px;height:14px;border-radius:50%;flex-shrink:0;display:inline-block
}
.ba-s-dot--before{background:var(--g4)}
.ba-s-dot--after{background:var(--green);box-shadow:0 0 8px rgba(34,197,94,.5)}

.ba-s-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px 48px;
}

.ba-s-stat{}

.ba-s-val{
  font-family:var(--fh);
  font-size:2rem;
  font-weight:800;
  line-height:1;
  margin-bottom:6px;
  color:var(--white);
}
.ba-s-val--before{color:var(--g3)}
.ba-s-lbl{font-size:.8rem;color:var(--g3)}

/* Handle */
.ba-s-handle{
  position:absolute;
  top:0;bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:40px;
  z-index:20;
  display:flex;
  flex-direction:column;
  align-items:center;
  cursor:ew-resize;
  pointer-events:all;
}
.ba-s-line{flex:1;width:2px;background:var(--accent)}
.ba-s-btn{
  width:38px;height:38px;border-radius:50%;
  background:var(--accent);
  display:flex;align-items:center;justify-content:center;
  color:#0d0d0d;
  box-shadow:0 4px 16px rgba(212,136,15,.4);
  flex-shrink:0;
  transition:transform .1s ease;
}
.ba-s-btn:hover{transform:scale(1.08)}

/* Pills */
.ba-s-pill{
  position:absolute;
  bottom:14px;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:4px 10px;
  border-radius:20px;
  pointer-events:none;
  z-index:15;
  opacity:.8;
  transition:opacity .2s;
}
.ba-s-pill--left{
  left:16px;
  background:var(--g4);
  color:var(--white);
}
.ba-s-pill--right{
  right:16px;
  background:var(--green);
  color:#0d0d0d;
}

/* === ERGEBNISSE === */
.before-after{
  background:var(--card);border:1px solid var(--border);border-radius:var(--r3);
  overflow:hidden;display:grid;grid-template-columns:1fr 60px 1fr;margin-bottom:40px
}
.ba-side{padding:32px 32px}
.ba-side--before{opacity:.65}
.ba-label{
  display:flex;align-items:center;gap:8px;
  font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--g3);margin-bottom:20px
}
.ba-label--after{color:var(--green)}
.ba-dot-before{width:16px;height:16px;border-radius:50%;background:var(--g4);display:flex;align-items:center;justify-content:center}
.ba-dot-after{width:16px;height:16px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center}
.ba-stats{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ba-stat-val{font-family:var(--fh);font-size:1.7rem;font-weight:800;line-height:1;margin-bottom:4px;color:var(--white)}
.ba-side--before .ba-stat-val{color:var(--g3)}
.ba-stat-lbl{font-size:.78rem;color:var(--g3)}
.ba-arrow{display:flex;align-items:center;justify-content:center;border-left:1px solid var(--border);border-right:1px solid var(--border);color:var(--accent)}

.ba-quote{
  margin-bottom:36px;padding:24px 28px;
  background:var(--card);border:1px solid var(--border);border-radius:var(--r3)
}
.ba-quotes{color:var(--accent);font-size:1.6rem;line-height:.9;margin-bottom:10px;font-family:Georgia,serif}
.ba-quote-text{font-size:.95rem;line-height:1.7;color:var(--g1);font-style:italic;margin-bottom:10px}
.ba-quote-author{font-size:.82rem;color:var(--g3)}

.cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.case-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r2);padding:18px}
.case-tag{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--g3);margin-bottom:10px}
.case-result{display:flex;align-items:center;gap:8px;font-family:var(--fh);font-size:.9rem;font-weight:700;margin-bottom:8px;flex-wrap:wrap}
.case-before{color:var(--g3)}.case-after{color:var(--accent)}
.case-text{font-size:.82rem;color:var(--g2);line-height:1.55}

/* === VORTEILE === */
.vorteile-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.vorteile-left>p{font-size:.9rem;color:var(--g2);line-height:1.7;margin-bottom:32px;max-width:460px}
.vorteile-features{display:flex;flex-direction:column;gap:22px}
.vorteile-feat{display:flex;gap:16px}
.vorteile-feat-icon{
  width:44px;height:44px;background:var(--accentDim);border-radius:var(--r2);
  display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0
}
.vorteile-feat h3{font-family:var(--fh);font-size:.95rem;font-weight:700;margin-bottom:5px}
.vorteile-feat p{font-size:.84rem;color:var(--g2);line-height:1.6}

.vorteile-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r3);padding:26px}
.vorteile-card h3{font-family:var(--fh);font-size:1rem;font-weight:700;margin-bottom:18px}
.vorteile-list{display:flex;flex-direction:column;margin-bottom:20px}
.vorteile-list li{
  display:flex;align-items:center;gap:10px;
  padding:9px 0;border-bottom:1px solid var(--border);font-size:.86rem;color:var(--g1)
}
.vorteile-list li:last-child{border-bottom:none}
.vcheck{
  width:18px;height:18px;border-radius:50%;background:var(--accentDim);
  border:1px solid var(--accent);display:flex;align-items:center;justify-content:center;
  color:var(--accent);flex-shrink:0;font-size:.65rem
}
.vorteile-stat-box{
  display:flex;align-items:center;justify-content:space-between;
  background:var(--input);border-radius:var(--r2);padding:14px 16px
}
.vorteile-stat-val{font-family:var(--fh);font-size:1.6rem;font-weight:800;color:var(--accent)}
.vorteile-stat-info{text-align:right}
.vorteile-stat-lbl{font-size:.78rem;color:var(--g3)}

/* === BRANCHEN === */
.branchen-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.branche-card{
  background:var(--card);border:1px solid var(--border);border-radius:var(--r3);
  padding:22px;transition:var(--t)
}
.branche-card:hover{border-color:var(--border2);transform:translateY(-3px)}
.branche-icon{
  width:42px;height:42px;background:var(--accentDim);border-radius:var(--r2);
  display:flex;align-items:center;justify-content:center;color:var(--accent);margin-bottom:14px
}
.branche-card h3{font-family:var(--fh);font-size:.9rem;font-weight:700;margin-bottom:7px}
.branche-card p{font-size:.8rem;color:var(--g2);line-height:1.55}

/* === ÜBER UNS === */
.ueber-inner{display:grid;grid-template-columns:260px 1fr;gap:56px;align-items:start}
.ueber-photo-wrap{display:flex;flex-direction:column;align-items:center}
.ueber-photo{
  width:100%;aspect-ratio:3/4;background:var(--card2);border:1px solid var(--border);
  border-radius:var(--r3);overflow:hidden;display:flex;align-items:center;justify-content:center;
  margin-bottom:14px
}
.ueber-photo img{width:100%;height:100%;object-fit:cover}
.ueber-photo-placeholder{display:flex;flex-direction:column;align-items:center;color:var(--g4)}
.ueber-name{font-family:var(--fh);font-size:.95rem;font-weight:700;text-align:center}
.ueber-role{font-size:.8rem;color:var(--g3);text-align:center;margin-top:3px}

.ueber-right h2{font-family:var(--fh);font-size:clamp(1.8rem,3.5vw,2.4rem);font-weight:800;line-height:1.2;margin-bottom:18px}
.ueber-right p{font-size:.9rem;color:var(--g2);line-height:1.75;margin-bottom:14px}

.ueber-stats{
  display:grid;grid-template-columns:repeat(3,1fr);
  background:var(--card);border:1px solid var(--border);border-radius:var(--r2);
  overflow:hidden;margin-top:24px
}
.ueber-stat{padding:18px;text-align:center;border-right:1px solid var(--border)}
.ueber-stat:last-child{border-right:none}
.ueber-stat-val{display:block;font-family:var(--fh);font-size:1.6rem;font-weight:800;color:var(--accent);margin-bottom:3px}
.ueber-stat-lbl{font-size:.78rem;color:var(--g3)}

/* === KONTAKT === */
.kontakt-inner{display:grid;grid-template-columns:1fr 1.35fr;gap:52px;align-items:start}
.kontakt-left h2{font-family:var(--fh);font-size:clamp(1.8rem,3.5vw,2.4rem);font-weight:800;line-height:1.2;margin-bottom:14px}
.kontakt-left>p{font-size:.9rem;color:var(--g2);line-height:1.7;margin-bottom:28px}

.kontakt-items{display:flex;flex-direction:column;gap:18px;margin-bottom:22px}
.kontakt-item{display:flex;gap:14px;align-items:flex-start}
.kontakt-item-icon{
  width:40px;height:40px;background:var(--accentDim);border-radius:var(--r2);
  display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0
}
.kontakt-item-label{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--g3);margin-bottom:3px}
.kontakt-item-val{font-size:.88rem;color:var(--g1)}
.kontakt-item-val a:hover{color:var(--accent)}

.kontakt-hours{background:var(--card);border:1px solid var(--border);border-radius:var(--r2);padding:16px 18px}
.kontakt-hours h4{font-family:var(--fh);font-size:.8rem;font-weight:700;margin-bottom:10px}
.kontakt-hours-row{
  display:flex;justify-content:space-between;
  font-size:.83rem;color:var(--g2);padding:5px 0;border-top:1px solid var(--border)
}

.kontakt-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--r3);overflow:hidden}
.kontakt-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border)}
.kontakt-tab{
  display:flex;align-items:center;justify-content:center;gap:7px;
  padding:15px;font-size:.88rem;font-weight:600;color:var(--g2);
  cursor:pointer;transition:var(--t);border-bottom:2px solid transparent
}
.kontakt-tab.active{color:var(--white);border-bottom-color:var(--accent);background:rgba(255,255,255,.03)}
.kontakt-tab:hover:not(.active){background:rgba(255,255,255,.02);color:var(--g1)}

.kontakt-pane{padding:28px;display:none}
.kontakt-pane.active{display:block}
.kontakt-pane-icon{
  width:52px;height:52px;background:var(--accentDim);border-radius:var(--r3);
  display:flex;align-items:center;justify-content:center;color:var(--accent);margin-bottom:18px
}
.kontakt-pane h3{font-family:var(--fh);font-size:1.1rem;font-weight:700;margin-bottom:7px}
.kontakt-pane>p{font-size:.86rem;color:var(--g2);line-height:1.65;margin-bottom:18px}
.kontakt-check-list{display:flex;flex-direction:column;gap:9px;margin-bottom:22px}
.kontakt-check-item{display:flex;align-items:center;gap:9px;font-size:.86rem;color:var(--g1)}
.kcheck{
  width:18px;height:18px;border-radius:50%;background:var(--greenDim);
  border:1px solid var(--green);display:flex;align-items:center;justify-content:center;
  color:var(--green);flex-shrink:0;font-size:.65rem
}
.kontakt-form-note{margin-top:10px;font-size:.82rem;color:var(--g3);text-align:center}
.kontakt-form-note a{color:var(--accent)}

.form-group{margin-bottom:14px}
.form-label{display:block;font-size:.82rem;font-weight:600;color:var(--g2);margin-bottom:5px}
.form-input{
  width:100%;padding:10px 13px;background:var(--input);
  border:1px solid var(--border);border-radius:var(--r1);
  color:var(--white);font-size:.88rem;transition:var(--t)
}
.form-input:focus{outline:none;border-color:var(--accent)}
textarea.form-input{resize:vertical;min-height:100px}

/* === FAQ === */
.faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:8px}
.faq-item{background:var(--card);border:1px solid var(--border);border-radius:var(--r2);overflow:hidden}
.faq-item.open{border-color:var(--border2)}
.faq-q{
  display:flex;align-items:center;justify-content:space-between;
  padding:17px 20px;cursor:pointer;font-size:.92rem;font-weight:600;gap:12px
}
.faq-chevron{color:var(--g3);flex-shrink:0;transition:transform .3s ease}
.faq-item.open .faq-chevron{transform:rotate(180deg);color:var(--accent)}
.faq-a{padding:0 20px;max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-a p{font-size:.86rem;color:var(--g2);line-height:1.7;padding:14px 0 18px;border-top:1px solid var(--border)}
.faq-item.open .faq-a{max-height:300px}

/* === FAQ CTA === */
.faq-cta{border-top:1px solid var(--border);padding:32px 0}
.faq-cta-inner{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}
.faq-cta-text{font-family:var(--fh);font-size:1rem;font-weight:600}
.faq-phone-btn{
  display:flex;align-items:center;gap:8px;
  padding:11px 22px;border:1px solid var(--border2);border-radius:var(--r2);
  font-size:.88rem;font-weight:600;color:var(--g1);transition:var(--t)
}
.faq-phone-btn:hover{border-color:var(--accent);color:var(--accent)}

/* === FOOTER === */
.footer{background:var(--card);border-top:1px solid var(--border);padding:52px 0 0}
.footer-top{display:grid;grid-template-columns:260px 1fr 1fr 1fr;gap:44px;margin-bottom:44px}
.footer-logo{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.footer-logo-icon{width:30px;height:30px;background:var(--accent);border-radius:var(--r1);overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.footer-logo-name{font-family:var(--fh);font-size:.88rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;display:block}
.footer-logo-sub{font-family:var(--fh);font-size:.54rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--g3);display:block}
.footer-desc{font-size:.82rem;color:var(--g3);line-height:1.65;margin-bottom:18px}
.footer-socials{display:flex;gap:8px}
.footer-social{
  width:32px;height:32px;background:var(--input);border:1px solid var(--border);
  border-radius:var(--r1);display:flex;align-items:center;justify-content:center;
  color:var(--g3);transition:var(--t);font-size:.75rem;font-weight:700
}
.footer-social:hover{border-color:var(--accent);color:var(--accent)}
.footer-col h4{font-family:var(--fh);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--g3);margin-bottom:14px}
.footer-col ul{display:flex;flex-direction:column;gap:9px}
.footer-col ul li a{font-size:.85rem;color:var(--g3);transition:var(--t)}
.footer-col ul li a:hover{color:var(--accent)}
.footer-col-direkt{margin-top:20px}
.footer-col-direkt h4{margin-top:0}
.footer-bottom{border-top:1px solid var(--border);padding:16px 0;display:flex;align-items:center;justify-content:space-between}
.footer-copy{font-size:.8rem;color:var(--g4)}
.footer-legal{display:flex;gap:20px}
.footer-legal a{font-size:.8rem;color:var(--g4);transition:var(--t)}
.footer-legal a:hover{color:var(--g2)}

/* === FLOATING === */
.whatsapp-btn{
  position:fixed;bottom:24px;right:24px;z-index:900;
  width:52px;height:52px;background:#25d366;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 18px rgba(37,211,102,.4);color:white;transition:var(--t)
}
.whatsapp-btn:hover{transform:scale(1.08);box-shadow:0 6px 24px rgba(37,211,102,.5)}

.scroll-top{
  position:fixed;bottom:24px;right:88px;z-index:900;
  width:40px;height:40px;background:var(--card2);border:1px solid var(--border);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:var(--g2);opacity:0;visibility:hidden;transition:all .3s ease;cursor:pointer
}
.scroll-top.visible{opacity:1;visibility:visible}
.scroll-top:hover{background:var(--accent);color:#0d0d0d;border-color:var(--accent)}

/* === COOKIE === */
.cookie-banner{
  position:fixed;bottom:24px;left:24px;z-index:9999;max-width:360px;
  background:var(--card);border:1px solid var(--border2);border-radius:var(--r3);
  padding:20px;box-shadow:var(--sh);display:none
}
.cookie-banner.show{display:block}
.cookie-banner h4{font-family:var(--fh);font-size:.9rem;font-weight:700;margin-bottom:8px}
.cookie-banner p{font-size:.8rem;color:var(--g2);line-height:1.6;margin-bottom:14px}
.cookie-actions{display:flex;gap:8px}
.cookie-accept{flex:1;padding:9px;background:var(--accent);color:#0d0d0d;border-radius:var(--r1);font-size:.82rem;font-weight:600;cursor:pointer;border:none;transition:var(--t)}
.cookie-accept:hover{background:var(--accentH)}
.cookie-decline{flex:1;padding:9px;background:transparent;color:var(--g2);border:1px solid var(--border);border-radius:var(--r1);font-size:.82rem;font-weight:600;cursor:pointer;transition:var(--t)}
.cookie-decline:hover{border-color:var(--g2);color:var(--white)}

/* === RESPONSIVE === */
@media(max-width:1024px){
  .hero-inner{gap:48px}
  .branchen-grid{grid-template-columns:repeat(2,1fr)}
  .footer-top{grid-template-columns:1fr 1fr}
  .footer-top .footer-brand{grid-column:1/-1}
  .prozess-steps{grid-template-columns:repeat(2,1fr)}
  .prozess-step{border-right:1px solid var(--border)!important}
  .prozess-step:nth-child(even){border-right:none!important}
  .prozess-step:nth-child(1),.prozess-step:nth-child(2){border-bottom:1px solid var(--border)!important}
  .prozess-step:nth-child(3),.prozess-step:nth-child(4){border-bottom:none!important}
  .vorteile-inner{gap:36px}
  .ueber-inner{grid-template-columns:220px 1fr;gap:40px}
}

@media(max-width:768px){
  .section{padding:64px 0}
  .nav-links{display:none}
  .nav-links.open{
    display:flex;flex-direction:column;
    position:fixed;top:var(--nav);left:0;right:0;
    background:var(--card);border-bottom:1px solid var(--border);
    padding:16px;gap:4px;z-index:999
  }
  .nav-links.open a{display:block;padding:11px 14px}
  .nav-toggle{display:flex}
  .hero-inner{grid-template-columns:1fr;gap:40px}
  .hero-actions{flex-direction:column}
  .hero-actions .btn{width:100%;justify-content:center}
  .stats-bar-inner{grid-template-columns:repeat(2,1fr)}
  .stat-item:nth-child(2){border-right:none}
  .stat-item:nth-child(1),.stat-item:nth-child(2){border-bottom:1px solid var(--border)}
  .leistungen-grid{grid-template-columns:1fr}
  .leistung-card{border-right:1px solid var(--border)!important;border-bottom:1px solid var(--border)!important}
  .leistung-card:last-child{border-bottom:none!important}
  .pakete-grid{grid-template-columns:1fr}
  .price-card--featured{transform:none}
  .before-after{grid-template-columns:1fr}
  .ba-arrow{display:none}
  .cases-grid{grid-template-columns:1fr}
  .vorteile-inner{grid-template-columns:1fr}
  .ueber-inner{grid-template-columns:1fr}
  .ueber-photo{aspect-ratio:4/3;max-height:240px}
  .kontakt-inner{grid-template-columns:1fr}
  .cta-bar-inner{flex-direction:column;text-align:center}
  .prozess-steps{grid-template-columns:1fr}
  .prozess-step{border-right:none!important;border-bottom:1px solid var(--border)!important}
  .prozess-step:last-child{border-bottom:none!important}
  .footer-top{grid-template-columns:1fr 1fr}
  .footer-top .footer-brand{grid-column:1/-1}
  .footer-bottom{flex-direction:column;gap:10px;text-align:center}
}

@media(max-width:480px){
  .branchen-grid{grid-template-columns:1fr}
  .reviews-header{flex-direction:column;align-items:flex-start}
  .ueber-stats{grid-template-columns:repeat(3,1fr)}
  .faq-cta-inner{flex-direction:column}
}

/* =============================================
   BOOKING WIDGET
   ============================================= */

/* Steps */
.bw-step { display: none; }
.bw-step.active { display: block; }

.bw-title { font-size: 1.15rem; font-weight: 700; color: var(--text-primary, #fff); margin: 0 0 6px; }
.bw-sub   { color: var(--text-secondary, #aaa); font-size: 0.9rem; margin: 0 0 16px; }

/* Back button */
.bw-back {
  background: none; border: none; color: var(--accent, #d4880f);
  font-size: 0.85rem; cursor: pointer; padding: 0; margin-bottom: 12px;
  display: inline-flex; align-items: center; gap: 4px;
}
.bw-back:hover { opacity: 0.8; }

/* Service cards */
.bw-services       { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
.bw-service-card   {
  background: var(--bg-card, #252525); border: 1.5px solid var(--border, #333);
  border-radius: 10px; padding: 14px 16px; cursor: pointer;
  display: flex; justify-content: space-between; align-items: center;
  transition: border-color .2s, background .2s;
}
.bw-service-card:hover   { border-color: var(--accent, #d4880f); }
.bw-service-card.selected { border-color: var(--accent, #d4880f); background: rgba(212,136,15,.08); }
.bw-svc-name { font-weight: 600; color: var(--text-primary, #fff); font-size: 0.95rem; }
.bw-svc-dur  { color: var(--accent, #d4880f); font-size: 0.85rem; font-weight: 600; }
.bw-loading  { color: var(--text-secondary, #aaa); font-size: 0.9rem; padding: 8px 0; }

/* Calendar */
.bw-calendar-wrap  { margin-bottom: 16px; }
.bw-cal-header     { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.bw-cal-month      { font-weight: 700; color: var(--text-primary, #fff); font-size: 0.95rem; }
.bw-cal-nav        {
  background: var(--bg-card, #252525); border: 1px solid var(--border, #333);
  color: var(--text-primary, #fff); width: 30px; height: 30px; border-radius: 6px;
  cursor: pointer; font-size: 1.1rem; display: flex; align-items: center; justify-content: center;
}
.bw-cal-nav:hover  { border-color: var(--accent, #d4880f); }

.bw-cal-grid       { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.bw-cal-day-hdr    { text-align: center; font-size: 0.7rem; color: var(--text-secondary, #aaa); padding: 4px 0; font-weight: 600; }
.bw-cal-cell       {
  aspect-ratio: 1; display: flex; align-items: center; justify-content: center;
  border-radius: 6px; font-size: 0.82rem; cursor: pointer; border: 1.5px solid transparent;
  background: var(--bg-card, #252525); color: var(--text-primary, #fff);
  transition: border-color .15s, background .15s;
}
.bw-cal-cell:hover:not(:disabled)  { border-color: var(--accent, #d4880f); }
.bw-cal-cell.bw-cal-selected       { background: var(--accent, #d4880f); color: #000; font-weight: 700; border-color: var(--accent, #d4880f); }
.bw-cal-cell.bw-cal-disabled,
.bw-cal-cell:disabled              { opacity: .25; cursor: default; background: transparent; }
.bw-cal-empty                      { background: transparent; cursor: default; border: none; }

/* Slots */
.bw-slots-wrap    { margin-bottom: 16px; }
.bw-slots-label   { font-size: 0.88rem; font-weight: 600; color: var(--text-secondary, #aaa); margin: 0 0 10px; }
.bw-slots-grid    { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.bw-slot          {
  background: var(--bg-card, #252525); border: 1.5px solid var(--border, #333);
  color: var(--text-primary, #fff); border-radius: 8px; padding: 8px 4px;
  font-size: 0.82rem; cursor: pointer; text-align: center;
  transition: border-color .15s, background .15s;
}
.bw-slot:hover     { border-color: var(--accent, #d4880f); }
.bw-slot.selected  { background: var(--accent, #d4880f); color: #000; border-color: var(--accent, #d4880f); font-weight: 700; }
.bw-no-slots       { color: var(--text-secondary, #aaa); font-size: 0.85rem; margin: 0; }
.bw-slots-loading  { color: var(--text-secondary, #aaa); font-size: 0.85rem; padding: 8px 0; }

/* Summary bar */
.bw-summary       { background: rgba(212,136,15,.1); border-left: 3px solid var(--accent, #d4880f); border-radius: 6px; padding: 10px 14px; margin-bottom: 16px; }
.bw-summary-row   { display: flex; justify-content: space-between; gap: 8px; font-size: 0.85rem; }
.bw-summary-row span { color: var(--text-secondary, #aaa); }
.bw-summary-row strong { color: var(--text-primary, #fff); }

/* Consent */
.bw-consent       { display: flex; align-items: flex-start; gap: 10px; font-size: 0.82rem; color: var(--text-secondary, #aaa); margin: 12px 0 16px; cursor: pointer; line-height: 1.5; }
.bw-consent input { margin-top: 2px; flex-shrink: 0; accent-color: var(--accent, #d4880f); width: 15px; height: 15px; }
.bw-consent a     { color: var(--accent, #d4880f); }

/* Error */
.bw-error { color: #ef4444; font-size: 0.85rem; margin-top: 8px; }

/* Success */
.bw-success        { text-align: center; padding: 16px 0; }
.bw-success-icon   { width: 56px; height: 56px; background: #22c55e; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.6rem; color: #fff; margin: 0 auto 16px; }
.bw-success h3     { color: var(--text-primary, #fff); margin: 0 0 8px; }
.bw-success p      { color: var(--text-secondary, #aaa); font-size: 0.9rem; }

/* Mobile tweaks */
@media(max-width:480px) {
  .bw-slots-grid { grid-template-columns: repeat(3, 1fr); }
}

/* =============================================
   ENHANCED RESPONSIVE — alle Geräte & Modelle
   Breakpoints:
   1024px – iPad, kleine Laptops
    768px – Tablets, große Phones (Pixel, Galaxy S Ultra)
    600px – Galaxy S22/S23, OnePlus, Xiaomi
    480px – iPhone SE 3rd, Samsung A-Serie
    390px – iPhone 14/15/16, Pixel 8
    375px – iPhone SE 2nd, iPhone 12 mini
    360px – Samsung Galaxy S22, Motorola
    320px – iPhone SE 1st, sehr kleine Androids
   ============================================= */

/* ── 768px Verbesserungen ──────────────────── */
@media(max-width:768px){
  html{font-size:15px}
  .nav-right .btn{display:none}
  .nav-logo-sub{display:none}

  /* BUG 1 FIX: iOS Zoom verhindern – Inputs brauchen min. 16px */
  .form-input,
  .form-input:focus,
  textarea.form-input,
  select.form-input{font-size:16px}

  /* BUG 2 FIX: pak-tabs horizontal scrollbar statt 2-Zeilen-Wrap */
  .pak-tabs{
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:4px;
    justify-content:flex-start;
  }
  .pak-tabs::-webkit-scrollbar{display:none}
  .pak-tab{flex-shrink:0}

  /* BUG 3 FIX: Review-Pfeile auf Tablet noch OK, ab 600px ausblenden */
  .rv-slider-wrap{gap:8px}

  /* BUG 4+6 FIX: WhatsApp links unten, scroll-top ausblenden */
  .whatsapp-btn{right:auto;left:16px;bottom:12px;width:46px;height:46px}
  .scroll-top{display:none!important}

  /* BUG 5 FIX: hero-actions margin-bottom kompakter */
  .hero-actions{margin-bottom:24px}

  .wrap{padding:0 20px}
  .hero{min-height:auto;padding-top:calc(var(--nav) + 48px);padding-bottom:56px}
  .widget{padding:16px}
  .rw-big-val{font-size:1.65rem}
  .rw-mini{padding:0 10px}
  .stat-item{padding:22px 12px}
  .stat-val{font-size:2rem}
  .leistung-card{padding:22px}
  .ba-s-layer{padding:20px}
  .ba-side{padding:20px}
  .ba-stats{gap:12px}
  .ba-stat-val{font-size:1.5rem}
  .vorteile-card{padding:18px}
  .footer-top{gap:28px}
  .cookie-banner{left:12px;right:12px;max-width:none;bottom:12px}
  .pak-tabs{gap:6px}
  .pak-tab{padding:9px 16px}
  .review-card{padding:16px}
  .kontakt-pane{padding:22px}
  .kontakt-item-icon{width:36px;height:36px}
  .ueber-stat{padding:14px 10px}
}

/* ── 600px – Galaxy S22, OnePlus, Xiaomi ───── */
@media(max-width:600px){
  /* BUG 3 FIX: Review-Pfeile verstecken → volle Breite für Cards, Touch-Swipe reicht */
  .rv-arrow{display:none}
  .rv-slider-wrap{gap:0}

  /* Leistung Cards — interne Abstände komprimieren */
  .leistung-num{margin-bottom:8px;font-size:.7rem}
  .leistung-icon{width:28px;height:28px;margin-bottom:8px}
  .leistung-card h3{margin-bottom:6px}
  .leistung-card>p{margin-bottom:10px;font-size:.82rem;line-height:1.55}
  .leistung-list{gap:5px;margin-bottom:12px}
  .leistung-list li{font-size:.8rem}
  .leistung-cta{padding:9px;font-size:.8rem}

  /* Section-Header kompakter */
  .sec-head{margin-bottom:24px}
  .sec-head h2{margin-bottom:8px}
  .sec-head p{font-size:.85rem}
  .section{padding:44px 0}
  .sec-label{font-size:.68rem;padding:4px 10px;margin-bottom:12px}

  /* Prozess kompakter */
  .prozess-icon{width:32px;height:32px;margin-bottom:8px}
  .prozess-step h3{margin-bottom:5px;font-size:.88rem}

  /* Vorteile kompakter */
  .vorteile-feat{gap:10px}
  .vorteile-feat-icon{width:32px;height:32px}
  .vorteile-feat h3{font-size:.86rem;margin-bottom:3px}
  .vorteile-feat p{font-size:.8rem}
  .vorteile-features{gap:14px}

  /* Branchen kompakter */
  .branche-icon{margin-bottom:8px}

  /* Kontakt kompakter */
  .kontakt-items{gap:12px}
  .kontakt-item{gap:10px}
  .kontakt-check-list{gap:6px}

  /* Ueber-uns kompakter */
  .ueber-right h2{margin-bottom:12px}
  .ueber-right p{margin-bottom:10px;font-size:.86rem}

  /* FAQ kompakter */
  .faq-list{gap:5px}
  .faq-a p{font-size:.83rem;padding:10px 0 14px}

  .wrap{padding:0 16px}
  .section{padding:48px 0}
  .sec-head{margin-bottom:30px}
  .sec-head h2{font-size:clamp(1.5rem,5.5vw,2rem)}
  .sec-head p{font-size:.88rem}
  .hero-title{font-size:clamp(1.8rem,7vw,2.4rem)}
  .hero-sub{font-size:.9rem;margin-bottom:22px}
  .hero-actions{gap:10px}
  .widget{padding:14px}
  .stat-val{font-size:1.7rem}
  .stat-item{padding:16px 10px}
  .leistung-card{padding:16px}
  .leistung-card h3{font-size:1rem}
  .leistung-card>p{font-size:.82rem}
  .pakete-grid{gap:10px;grid-template-columns:1fr}
  .pak-tabs{gap:5px;margin-bottom:20px}
  .pak-tab{padding:8px 12px;font-size:.8rem}
  .pak-panel-head{margin-bottom:16px}
  .pak-panel-head h3{font-size:1.05rem}
  .pak-panel-head p{font-size:.82rem}

  /* Price cards — mobile single-column */
  .price-card{
    padding:16px;
    display:grid;
    grid-template-columns:1fr auto;
    grid-template-rows:auto auto 1fr auto;
    column-gap:12px;
    align-items:start;
  }
  .price-card--featured{transform:none;grid-template-columns:1fr auto}
  .price-badge{position:static;transform:none;display:inline-block;margin-bottom:6px;font-size:.6rem;grid-column:1/-1}
  .price-name{font-size:.95rem;margin-bottom:2px;grid-column:1}
  .price-desc{font-size:.76rem;margin-bottom:0;grid-column:1;color:var(--g3)}
  .price-amount{grid-column:2;grid-row:1/3;align-self:center;flex-direction:column;align-items:flex-end;gap:0;margin-bottom:0}
  .price-value{font-size:1.5rem;line-height:1}
  .price-currency{font-size:.75rem}
  .price-period{font-size:.7rem}
  .price-oder{display:none}
  .price-abo{grid-column:1/-1;margin-top:10px;margin-bottom:8px;padding-bottom:8px;display:flex;align-items:center;gap:8px}
  .price-abo-val{font-size:.95rem}
  .price-abo-note{font-size:.74rem}
  .price-features{grid-column:1/-1;margin-bottom:10px}
  .price-features li{font-size:.82rem;padding:5px 0;gap:7px}
  .price-cta-ghost{grid-column:1/-1;padding:11px;font-size:.84rem}
  .btn.btn-full{grid-column:1/-1}
  .ba-s-grid{grid-template-columns:1fr}
  .ba-s-val{font-size:1.4rem}
  .ba-side{padding:14px}
  .ba-stat-val{font-size:1.3rem}
  .cases-grid{gap:8px}
  .case-card{padding:12px}
  .case-text{font-size:.8rem}
  .footer-top{grid-template-columns:1fr;gap:18px}
  .footer-top .footer-brand{grid-column:1}
  .kontakt-pane{padding:16px}
  .prozess-step{padding:20px 14px}
  .prozess-step h3{font-size:.9rem}
  .prozess-step p{font-size:.8rem}
  .branche-card{padding:16px}
  .branche-card h3{font-size:.86rem}
  .branche-card p{font-size:.78rem}
  .nav-logo-sub{display:none}
  .faq-q{font-size:.88rem;padding:13px 16px}
  .review-card{padding:14px}
  .review-text{font-size:.82rem}
}

/* ── 480px Verbesserungen ──────────────────── */
@media(max-width:480px){
  .wrap{padding:0 14px}
  .section{padding:48px 0}
  .sec-head{margin-bottom:30px}
  .sec-head h2{font-size:clamp(1.5rem,6vw,2rem)}
  .hero{padding-top:calc(var(--nav) + 36px);padding-bottom:44px}
  .hero-title{font-size:clamp(1.75rem,8vw,2.2rem)}
  .hero-sub{font-size:.9rem;margin-bottom:20px}
  .hero-trust{flex-direction:column;align-items:flex-start;gap:6px}
  .stat-val{font-size:1.65rem}
  .stat-item{padding:15px 8px}
  .stat-lbl{font-size:.78rem}
  .leistung-card{padding:16px}
  .pakete-grid{gap:10px}
  .price-card{padding:18px}
  .price-value{font-size:1.75rem}
  .price-badge{font-size:.62rem;padding:3px 10px}
  .prozess-step{padding:20px 14px}
  .prozess-icon{width:40px;height:40px}
  .prozess-step h3{font-size:.92rem}
  .prozess-step p{font-size:.8rem}
  .ba-s-layer{padding:14px}
  .ba-s-val{font-size:1.4rem}
  .ba-s-lbl{font-size:.75rem}
  .ba-side{padding:14px}
  .ba-stat-val{font-size:1.3rem}
  .ba-stat-lbl{font-size:.74rem}
  .ba-quote{padding:18px}
  .ba-quote-text{font-size:.88rem}
  .case-card{padding:12px}
  .case-result{font-size:.82rem}
  .vorteile-feat-icon{width:38px;height:38px}
  .vorteile-feat h3{font-size:.9rem}
  .branche-card{padding:16px}
  .branche-icon{width:36px;height:36px}
  .ueber-stat-val{font-size:1.3rem}
  .ueber-stat{padding:12px 6px}
  .ueber-stat-lbl{font-size:.74rem}
  .kontakt-pane{padding:16px}
  .kontakt-item-icon{width:32px;height:32px}
  .faq-q{padding:14px 16px;font-size:.88rem}
  .footer{padding:36px 0 0}
  .footer-top{gap:18px;margin-bottom:28px}
  .pak-tab{padding:8px 12px;font-size:.82rem}
  .rv-arrow{width:34px;height:34px}
  .cookie-banner{left:8px;right:8px;padding:14px}
  .bw-cal-grid{gap:3px}
  .bw-cal-cell{font-size:.76rem}
}

/* ── 390px – iPhone 14/15/16, Pixel 8 ──────── */
@media(max-width:390px){
  html{font-size:14px}
  .wrap{padding:0 13px}
  .section{padding:44px 0}
  .sec-head h2{font-size:clamp(1.45rem,7vw,1.85rem)}
  .hero-title{font-size:clamp(1.65rem,9vw,2rem)}
  .btn{padding:11px 18px;font-size:.88rem}
  .widget{padding:12px}
  .rw-big-val{font-size:1.3rem}
  .rw-mini-val{font-size:.9rem}
  .rw-mini{padding:0 7px}
  .stat-val{font-size:1.5rem}
  .leistung-card{padding:14px}
  .price-card{padding:14px}
  .price-value{font-size:1.65rem}
  .prozess-step{padding:18px 12px}
  .ba-s-val{font-size:1.3rem}
  .ba-stat-val{font-size:1.2rem}
  .branche-card{padding:14px}
  .ueber-stat-val{font-size:1.2rem}
  .faq-q{font-size:.85rem}
  .footer-col h4{font-size:.65rem}
  .pak-tab{padding:7px 10px;font-size:.78rem}
  .nav-logo-name{font-size:.88rem}
  .kontakt-tab{padding:13px 8px;font-size:.82rem}
  .bw-slots-grid{grid-template-columns:repeat(2,1fr)}
}

/* ── 375px – iPhone SE 2nd, iPhone 12 mini ─── */
@media(max-width:375px){
  html{font-size:13.5px}
  :root{--nav:60px}
  .wrap{padding:0 12px}
  .section{padding:40px 0}
  .hero{padding-top:calc(var(--nav) + 30px);padding-bottom:40px}
  .hero-title{font-size:clamp(1.6rem,9.5vw,1.95rem);letter-spacing:-.02em}
  .hero-sub{font-size:.87rem;margin-bottom:18px}
  .hero-actions{gap:8px}
  .btn{padding:10px 16px;font-size:.86rem}
  .sec-head{margin-bottom:28px}
  .sec-head h2{font-size:clamp(1.4rem,7.5vw,1.75rem)}
  .sec-head p{font-size:.86rem}
  .widget{padding:11px}
  .rw-big-val{font-size:1.25rem}
  .rw-mini{padding:0 6px}
  .rw-mini-val{font-size:.85rem}
  .rw-mini-lbl{font-size:.64rem}
  .stat-val{font-size:1.4rem}
  .stat-item{padding:13px 6px}
  .stat-lbl{font-size:.75rem}
  .leistung-card{padding:13px}
  .leistung-card h3{font-size:1rem}
  .leistung-card>p{font-size:.82rem}
  .pakete-grid{gap:8px}
  .price-card{padding:13px}
  .price-value{font-size:1.55rem}
  .price-name{font-size:.95rem}
  .prozess-step{padding:16px 12px}
  .prozess-icon{width:36px;height:36px}
  .prozess-step h3{font-size:.88rem}
  .prozess-step p{font-size:.76rem}
  .ba-s-layer{padding:12px}
  .ba-s-val{font-size:1.2rem}
  .ba-s-lbl{font-size:.72rem}
  .ba-side{padding:12px}
  .ba-stat-val{font-size:1.15rem}
  .ba-quote{padding:14px}
  .ba-quote-text{font-size:.85rem}
  .case-card{padding:11px}
  .case-result{font-size:.8rem}
  .case-text{font-size:.78rem}
  .vorteile-feat-icon{width:34px;height:34px}
  .vorteile-feat h3{font-size:.86rem}
  .vorteile-feat p{font-size:.8rem}
  .branche-card{padding:13px}
  .branche-icon{width:34px;height:34px}
  .branche-card h3{font-size:.85rem}
  .branche-card p{font-size:.76rem}
  .ueber-inner{gap:20px}
  .ueber-stat{padding:10px 5px}
  .ueber-stat-val{font-size:1.15rem}
  .ueber-stat-lbl{font-size:.7rem}
  .kontakt-pane{padding:13px}
  .kontakt-item-icon{width:30px;height:30px}
  .kontakt-item-val{font-size:.84rem}
  .kontakt-hours-row{font-size:.78rem}
  .faq-q{padding:12px 14px;font-size:.84rem}
  .faq-a p{font-size:.82rem}
  .footer{padding:32px 0 0}
  .footer-top{gap:16px;margin-bottom:24px}
  .footer-desc{font-size:.78rem}
  .footer-col ul li a{font-size:.8rem}
  .footer-copy{font-size:.74rem}
  .footer-legal a{font-size:.74rem}
  .cookie-banner{left:6px;right:6px;padding:13px}
  .cookie-banner h4{font-size:.85rem}
  .cookie-banner p{font-size:.76rem}
  .reviews-badge{font-size:.65rem}
  .review-card{padding:14px}
  .review-name{font-size:.82rem}
  .review-text{font-size:.8rem}
  .rv-arrow{width:30px;height:30px}
  .bw-cal-cell{font-size:.72rem}
  .bw-slots-grid{grid-template-columns:repeat(2,1fr)}
  .whatsapp-btn{width:46px;height:46px;bottom:14px;right:14px}
  .scroll-top{right:70px;bottom:14px;width:36px;height:36px}
  .nav-logo-name{font-size:.88rem}
}

/* ── 360px – Samsung Galaxy S22/S23, Motorola ─ */
@media(max-width:360px){
  .wrap{padding:0 11px}
  .hero-title{font-size:1.55rem}
  .sec-head h2{font-size:1.38rem}
  .btn{padding:10px 14px;font-size:.84rem}
  .stat-val{font-size:1.3rem}
  .price-value{font-size:1.45rem}
  .rw-big-val{font-size:1.2rem}
  .leistung-card{padding:12px}
  .price-card{padding:12px}
  .ba-s-val{font-size:1.15rem}
  .ba-stat-val{font-size:1.1rem}
  .branche-card{padding:12px}
  .ueber-stat-val{font-size:1.1rem}
  .pak-tab{font-size:.76rem;padding:7px 9px}
}

/* ── 320px – iPhone SE 1st gen, mini Androids ── */
@media(max-width:320px){
  html{font-size:13px}
  :root{--nav:56px}
  .wrap{padding:0 10px}
  .section{padding:36px 0}
  .hero{padding-top:calc(var(--nav) + 24px);padding-bottom:36px}
  .hero-title{font-size:1.45rem}
  .hero-sub{font-size:.84rem}
  .sec-head h2{font-size:1.3rem}
  .btn{padding:9px 13px;font-size:.82rem}
  .widget{padding:10px}
  .rw-hero{flex-direction:column;align-items:flex-start;gap:10px}
  .rw-hero-minis{width:100%;justify-content:space-around}
  .rw-big-val{font-size:1.15rem}
  .stats-bar-inner{grid-template-columns:1fr}
  .stat-item{border-right:none!important;border-bottom:1px solid var(--border)}
  .stat-item:last-child{border-bottom:none}
  .stat-val{font-size:1.6rem}
  .stat-item{padding:14px 10px}
  .leistung-card{padding:11px}
  .price-card{padding:11px}
  .price-value{font-size:1.35rem}
  .prozess-step{padding:14px 10px}
  .ba-s-layer{padding:10px}
  .ba-s-grid{gap:12px}
  .ba-side{padding:10px}
  .ba-stat-val{font-size:1rem}
  .case-card{padding:10px}
  .branche-card{padding:11px}
  .ueber-stats{grid-template-columns:1fr}
  .ueber-stat{border-right:none!important;border-bottom:1px solid var(--border)}
  .ueber-stat:last-child{border-bottom:none}
  .kontakt-tabs{flex-direction:column}
  .kontakt-tab{padding:11px;font-size:.8rem}
  .kontakt-pane{padding:11px}
  .faq-q{padding:11px 12px;font-size:.82rem}
  .footer-legal{flex-direction:column;gap:6px;text-align:center}
  .footer-top{gap:14px}
  .pak-tab{font-size:.74rem;padding:6px 8px}
  .cookie-banner{left:4px;right:4px;padding:11px}
  .bw-slots-grid{grid-template-columns:repeat(2,1fr)}
  .bw-cal-day-hdr{font-size:.62rem}
  .bw-cal-cell{font-size:.68rem}
  .reviews-header{gap:8px}
  .rv-arrow{width:28px;height:28px}
  .whatsapp-btn{width:42px;height:42px;bottom:12px;right:12px}
  .scroll-top{right:64px;bottom:12px;width:34px;height:34px}
}

/* ── Landscape Mobile ──────────────────────── */
@media(max-height:500px) and (orientation:landscape){
  .hero{min-height:auto;padding-top:calc(var(--nav) + 24px);padding-bottom:32px}
  .nav-links.open{max-height:calc(100vh - var(--nav));overflow-y:auto}
  .section{padding:40px 0}
}

/* === LEGAL PAGES === */
.legal-wrap{max-width:760px;margin:0 auto;padding:0 24px}
.legal-hero{padding:calc(var(--nav) + 56px) 0 40px;border-bottom:1px solid var(--border)}
.legal-hero h1{font-family:var(--fh);font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;letter-spacing:-.02em;margin-bottom:8px}
.legal-hero .legal-meta{font-size:.85rem;color:var(--g3)}
.legal-body{padding:48px 0 80px}
.legal-section{margin-bottom:40px}
.legal-section h2{font-family:var(--fh);font-size:1.05rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.legal-section h3{font-family:var(--fh);font-size:.9rem;font-weight:700;color:var(--g1);margin:18px 0 8px}
.legal-section p{font-size:.9rem;color:var(--g2);line-height:1.8;margin-bottom:10px}
.legal-section ul{margin:0 0 10px 0;display:flex;flex-direction:column;gap:5px}
.legal-section ul li{font-size:.9rem;color:var(--g2);line-height:1.7;padding-left:16px;position:relative}
.legal-section ul li::before{content:'–';position:absolute;left:0;color:var(--accent)}
.legal-section a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.legal-section a:hover{color:var(--white)}
.legal-section strong{color:var(--g1)}
.legal-back{margin-top:48px;padding-top:32px;border-top:1px solid var(--border)}
