/* ============================================================
   MaklerZukunft — Modern Overlay v1
   Legt sich nach style.css und überschreibt gezielt:
   Hero-Bühne, Scroll-Choreografie, Bento, Sticky-Prozess,
   Magnetic Buttons, Kinetic Typography, Grain, Meshes.
   ============================================================ */

:root{
  --grad-1:#1e6b6b;
  --grad-2:#2a8a8a;
  --grad-3:#0e3d3d;
  --grad-4:#3aa0a0;
  --glow:rgba(30,107,107,.28);
  --ink-strong:#050b0b;
  --tick:cubic-bezier(.22,1,.36,1);
}

html{scroll-behavior:smooth;}

/* Reduced Motion respektieren */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}

/* ── Scroll Progress Bar ───────────────────────────────── */
.mz-progress{
  position:fixed;top:0;left:0;height:2px;width:0;z-index:2000;
  background:linear-gradient(90deg,var(--grad-3),var(--grad-1),var(--grad-4));
  box-shadow:0 0 12px var(--glow);
  transition:width .1s linear;
  pointer-events:none;
}

/* ── Grain / Noise Layer (global, dezent) ─────────────── */
body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.035;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

/* ── HERO: Cinematic Mesh ─────────────────────────────── */
.hero{
  min-height:100vh;
  padding-top:140px;
  background:
    radial-gradient(1200px 800px at 85% -10%, rgba(58,160,160,.16), transparent 60%),
    radial-gradient(900px 700px at -10% 110%, rgba(30,107,107,.13), transparent 55%),
    linear-gradient(180deg,#ffffff 0%, #f7fafa 100%);
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.hero::before,
.hero::after{content:none;}

/* Animierte Blobs im Hero-Hintergrund */
.mz-mesh{
  position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;
  filter:blur(60px);opacity:.55;
}
.mz-mesh span{
  position:absolute;display:block;border-radius:50%;
  will-change:transform;
  animation:mzFloat 22s var(--tick) infinite;
}
.mz-mesh span:nth-child(1){width:520px;height:520px;top:-140px;right:-100px;background:radial-gradient(circle,rgba(58,160,160,.55),transparent 65%);animation-delay:-2s;}
.mz-mesh span:nth-child(2){width:420px;height:420px;bottom:-100px;left:-80px;background:radial-gradient(circle,rgba(30,107,107,.45),transparent 65%);animation-delay:-7s;animation-duration:26s;}
.mz-mesh span:nth-child(3){width:280px;height:280px;top:30%;left:38%;background:radial-gradient(circle,rgba(180,220,220,.6),transparent 65%);animation-delay:-4s;animation-duration:18s;}
.mz-mesh span:nth-child(4){width:340px;height:340px;bottom:20%;right:12%;background:radial-gradient(circle,rgba(30,107,107,.32),transparent 65%);animation-delay:-11s;animation-duration:24s;}

@keyframes mzFloat{
  0%,100%{transform:translate3d(0,0,0) scale(1);}
  33%{transform:translate3d(30px,-40px,0) scale(1.08);}
  66%{transform:translate3d(-25px,30px,0) scale(.94);}
}

/* Feine Grid-Overlay Linien */
.mz-grid{
  position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.35;
  background-image:
    linear-gradient(rgba(30,107,107,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(30,107,107,.06) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 60% 60% at 50% 50%, black 20%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 50%, black 20%, transparent 75%);
}

/* Hero-Badge (Live-Puls verstärken) */
.hero-badge{
  background:rgba(255,255,255,.75);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(30,107,107,.18);
  padding:8px 16px;
  box-shadow:0 8px 24px -12px var(--glow);
}

/* HERO Headline — Kinetic Word Reveal */
.hero h1{
  font-size:clamp(40px,4.7vw,62px);
  line-height:1.05;
  letter-spacing:-1px;
  color:var(--ink-strong);
  overflow:hidden;
}
/* Mittlere PC-Breiten: Text-Spalte braucht Raum, sonst bricht die H1 unschön */
@media(max-width:1280px) and (min-width:901px){
  .hero-wrap{grid-template-columns:1fr 380px;gap:56px;}
}
@media(max-width:1100px) and (min-width:901px){
  .hero-wrap{grid-template-columns:1fr 340px;gap:44px;}
  .hero-photo-bg{height:460px;}
}
.hero h1 .mz-word{
  display:inline-block;
  transform:translateY(110%);
  opacity:0;
  animation:mzRise 1s var(--tick) forwards;
}
.hero h1 .mz-word:nth-child(1){animation-delay:.05s;}
.hero h1 .mz-word:nth-child(2){animation-delay:.15s;}
.hero h1 .mz-word:nth-child(3){animation-delay:.25s;}
.hero h1 .mz-word:nth-child(4){animation-delay:.35s;}
.hero h1 .mz-word:nth-child(5){animation-delay:.45s;}
.hero h1 .mz-word:nth-child(6){animation-delay:.55s;}
.hero h1 .mz-word:nth-child(7){animation-delay:.65s;}
.hero h1 .mz-word:nth-child(8){animation-delay:.75s;}
.hero h1 .mz-word:nth-child(9){animation-delay:.85s;}
.hero h1 .mz-word:nth-child(10){animation-delay:.95s;}
.hero h1 em{
  background:linear-gradient(120deg,var(--grad-1) 0%,var(--grad-4) 50%,var(--grad-1) 100%);
  background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:mzShimmer 6s linear infinite;
}
@keyframes mzRise{to{transform:translateY(0);opacity:1;}}
@keyframes mzShimmer{to{background-position:200% center;}}

/* Sub, NWF und Button-Row: fade-up staged */
.hero-sub,.hero-nwf,.hero-btns,.hero-buyer-hint,.hero-trust,.hero-proof{
  opacity:0;transform:translateY(20px);animation:mzFadeUp .8s var(--tick) forwards;
}
.hero-sub{animation-delay:.9s;}
.hero-nwf{animation-delay:1.0s;}
.hero-btns{animation-delay:1.1s;}
.hero-buyer-hint{animation-delay:1.2s;}
.hero-trust{animation-delay:1.3s;}
.hero-proof{animation-delay:1.4s;}
@keyframes mzFadeUp{to{opacity:1;transform:translateY(0);}}

/* Primärer Button — Magnetic + Glow */
.btn-p{
  background:linear-gradient(135deg,var(--grad-1) 0%,var(--grad-3) 100%);
  padding:16px 32px;font-size:15.5px;font-weight:600;letter-spacing:-.15px;
  box-shadow:0 12px 32px -12px var(--glow),0 0 0 0 rgba(30,107,107,.15);
  position:relative;overflow:hidden;
  transition:transform .3s var(--tick),box-shadow .3s var(--tick);
}
.btn-p::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.25) 50%,transparent 70%);
  transform:translateX(-100%);
  transition:transform .7s var(--tick);
}
.btn-p:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 44px -14px var(--glow),0 0 0 6px rgba(30,107,107,.08);
}
.btn-p:hover::before{transform:translateX(100%);}

.btn-s{
  padding:16px 32px;font-size:15.5px;
  background:rgba(255,255,255,.6);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  transition:transform .3s var(--tick),border-color .3s,background .3s;
}
.btn-s:hover{transform:translateY(-2px);}

/* Trust chips als Pills mit hover-lift */
.trust-chip{
  background:rgba(255,255,255,.7);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(30,107,107,.12);
  padding:8px 14px;border-radius:50px;
  transition:transform .25s var(--tick),box-shadow .25s var(--tick);
}
.trust-chip:hover{transform:translateY(-2px);box-shadow:0 8px 20px -8px var(--glow);}

/* Hero Photo — Editorial Frame */
.hero-photo-wrap{position:relative;}
.hero-photo-wrap::before{
  content:'';position:absolute;inset:-14px;
  border:1px solid rgba(30,107,107,.18);
  border-radius:calc(var(--r3) + 12px);
  pointer-events:none;
  animation:mzFrame 1s var(--tick) .3s both;
}
@keyframes mzFrame{from{opacity:0;transform:scale(.96);}to{opacity:1;transform:scale(1);}}

.hero-photo-bg{
  box-shadow:
    0 40px 80px -30px rgba(30,107,107,.35),
    0 0 0 1px rgba(255,255,255,.6) inset;
  transition:transform .8s var(--tick);
}
.hero-photo-bg::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 60%,rgba(14,61,61,.35) 100%);
}
.hero-photo-wrap:hover .hero-photo-bg{transform:translateY(-4px);}

.hero-card{
  border-radius:18px;
  padding:16px 22px;
  box-shadow:0 20px 40px -16px rgba(0,0,0,.15);
  border:1px solid rgba(255,255,255,.9);
}

/* Floating "Live" Ticker im Hero-Portrait */
.mz-ticker{
  position:absolute;top:24px;right:24px;z-index:2;
  display:flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.85);backdrop-filter:blur(12px);
  padding:8px 14px;border-radius:50px;
  border:1px solid rgba(30,107,107,.15);
  font-size:11.5px;font-weight:600;color:var(--grad-1);
  letter-spacing:.3px;text-transform:uppercase;
  animation:mzFrame 1s var(--tick) .8s both;
}
.mz-ticker::before{
  content:'';width:8px;height:8px;border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,.25);
  animation:pulse 2s infinite;
}

/* Scroll-Down Indicator */
.mz-scroll-hint{
  position:absolute;bottom:28px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:6px;
  font-size:10.5px;color:var(--ink3);letter-spacing:2px;text-transform:uppercase;
  opacity:0;animation:mzFadeUp 1s var(--tick) 1.6s forwards;
  pointer-events:none;
}
.mz-scroll-hint::after{
  content:'';width:1px;height:36px;
  background:linear-gradient(180deg,var(--grad-1),transparent);
  animation:mzScrollLine 2s ease-in-out infinite;
}
@keyframes mzScrollLine{
  0%,100%{transform:scaleY(1);transform-origin:top;}
  50%{transform:scaleY(.3);transform-origin:top;}
}

/* ── Sektionsübergänge / Reveal ─────────────────────── */
.sec{position:relative;}
.sec::before{
  content:'';position:absolute;left:6%;right:6%;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(30,107,107,.14),transparent);
}

.mz-reveal{opacity:0;transform:translateY(18px);transition:opacity .55s var(--tick),transform .55s var(--tick);}
.mz-reveal.in{opacity:1;transform:none;}
.mz-reveal-x{opacity:0;transform:translateX(-40px);transition:opacity 1s var(--tick),transform 1s var(--tick);}
.mz-reveal-x.in{opacity:1;transform:none;}
.mz-reveal-r{opacity:0;transform:translateX(40px);transition:opacity 1s var(--tick),transform 1s var(--tick);}
.mz-reveal-r.in{opacity:1;transform:none;}
.mz-reveal-scale{opacity:0;transform:scale(.94);transition:opacity 1s var(--tick),transform 1s var(--tick);}
.mz-reveal-scale.in{opacity:1;transform:none;}

/* Stagger children */
.mz-stagger > *{opacity:0;transform:translateY(14px);transition:opacity .5s var(--tick),transform .5s var(--tick);}
.mz-stagger.in > *:nth-child(1){transition-delay:.05s;opacity:1;transform:translateY(0);}
.mz-stagger.in > *:nth-child(2){transition-delay:.15s;opacity:1;transform:translateY(0);}
.mz-stagger.in > *:nth-child(3){transition-delay:.25s;opacity:1;transform:translateY(0);}
.mz-stagger.in > *:nth-child(4){transition-delay:.35s;opacity:1;transform:translateY(0);}
.mz-stagger.in > *:nth-child(5){transition-delay:.45s;opacity:1;transform:translateY(0);}
.mz-stagger.in > *:nth-child(6){transition-delay:.55s;opacity:1;transform:translateY(0);}

/* Section-Nummer im Hintergrund (XXL Playfair Ghost Number) */
.sec[data-mz-num]::after{
  content:attr(data-mz-num);
  position:absolute;top:40px;right:4%;
  font-family:'Playfair Display',Georgia,serif;
  font-weight:700;font-style:italic;
  font-size:clamp(180px,20vw,340px);
  line-height:.8;
  color:rgba(30,107,107,.035);
  pointer-events:none;user-select:none;z-index:0;
  letter-spacing:-8px;
}
.sec-wrap,.sec > .sec-wrap{position:relative;z-index:1;}

/* ── PROZESS — Sticky-Rail Neuinterpretation ────────── */
.proc-grid{
  gap:0;background:transparent;
  border:1px solid var(--bdr);border-radius:var(--r2);overflow:hidden;
  box-shadow:0 20px 60px -30px rgba(30,107,107,.18);
}
.proc-step{
  padding:44px 32px;
  transition:background .35s var(--tick),transform .35s var(--tick);
  border-right:1px solid var(--bdr);
}
.proc-step:last-child{border-right:none;}
.proc-step:hover{
  background:linear-gradient(160deg,var(--tl) 0%,#ffffff 100%);
  transform:translateY(-4px);
}
.proc-num{
  font-size:64px;
  background:linear-gradient(135deg,var(--grad-1),var(--grad-4));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  opacity:.25;
  transition:opacity .35s;
}
.proc-step:hover .proc-num{opacity:1;}

/* ── METHODIK — 3D Karten mit Stack-Reveal ──────────── */
.m-card{
  border-radius:24px;
  transition:transform .5s var(--tick),box-shadow .5s var(--tick),border-color .35s;
  will-change:transform;
}
.m-card:hover{
  transform:translateY(-8px) rotateX(2deg);
  box-shadow:0 30px 60px -24px rgba(30,107,107,.25);
}
.m-head{
  position:relative;overflow:hidden;
  padding:24px 28px;font-size:11.5px;
}
.m-head::after{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.25),transparent 60%);
  pointer-events:none;
}

/* BQS Box — Golden Frame */
.bqs-wrap{
  border-radius:28px;
  box-shadow:0 30px 80px -30px rgba(212,184,90,.35);
  position:relative;overflow:hidden;
}
.bqs-wrap::before{
  content:'';position:absolute;top:-50%;right:-20%;width:60%;height:200%;
  background:radial-gradient(ellipse,rgba(212,184,90,.15),transparent 60%);
  pointer-events:none;
}
.bar-f{
  background:linear-gradient(90deg,var(--grad-1),var(--grad-4))!important;
  box-shadow:0 0 12px rgba(30,107,107,.25);
}

/* ── RECHNER — glasige Karte ───────────────────────── */
.calc-card{
  border-radius:28px;
  box-shadow:0 30px 80px -30px rgba(30,107,107,.25);
  overflow:hidden;
  border:1px solid rgba(30,107,107,.14);
}
.calc-head{
  background:linear-gradient(135deg,var(--grad-3) 0%,var(--grad-1) 60%,var(--grad-4) 100%);
  position:relative;overflow:hidden;
  padding:28px 36px;
}
.calc-head::after{
  content:'';position:absolute;top:-40%;right:-10%;width:60%;height:200%;
  background:radial-gradient(ellipse,rgba(255,255,255,.18),transparent 60%);
  pointer-events:none;
}
.calc-btn{
  background:linear-gradient(135deg,var(--grad-1),var(--grad-3));
  box-shadow:0 14px 32px -12px var(--glow);
  transition:transform .3s var(--tick),box-shadow .3s var(--tick);
}
.calc-btn:hover{transform:translateY(-2px);box-shadow:0 20px 40px -14px var(--glow);}

/* ── STATS ────────────────────────────────────────── */
.stats-section{
  background:linear-gradient(135deg,var(--grad-3) 0%,var(--grad-1) 60%,var(--grad-4) 100%);
  position:relative;overflow:hidden;
}
.stats-section::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at 15% 30%,rgba(255,255,255,.12),transparent 40%),
    radial-gradient(circle at 85% 70%,rgba(255,255,255,.08),transparent 40%);
}
.stat-num{font-size:48px;transition:transform .4s var(--tick);}
.stat-item:hover .stat-num{transform:scale(1.08);}

/* ── BESTÄNDE — Bento-Feel ─────────────────────────── */
.bv-card{
  border-radius:24px;
  transition:transform .4s var(--tick),box-shadow .4s var(--tick),border-color .3s;
}
.bv-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 60px -20px rgba(30,107,107,.22);
}
.bv-courtage{
  background:linear-gradient(135deg,var(--tl),#ffffff);
  border-color:var(--tm);
}
.bv-courtage-v{
  background:linear-gradient(120deg,var(--grad-1),var(--grad-4));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}

/* ── TESTIMONIALS ─────────────────────────────────── */
.test-card{
  border-radius:24px;
  background:linear-gradient(160deg,#ffffff 0%,#fafbfb 100%);
  transition:transform .4s var(--tick),box-shadow .4s var(--tick);
}
.test-card:hover{transform:translateY(-6px);}
.test-quote-mark{
  background:linear-gradient(135deg,var(--grad-1),var(--grad-4));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}

/* ── PRESSE ────────────────────────────────────────── */
.pr-card{
  box-shadow:0 40px 100px -30px rgba(30,107,107,.55);
}
.pr-card::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(600px 300px at 20% 100%,rgba(58,160,160,.25),transparent 60%);
}

/* ── FAQ ──────────────────────────────────────────── */
.faq-item{
  border-radius:16px;
  transition:transform .3s var(--tick),box-shadow .3s var(--tick),border-color .3s;
}
.faq-item:hover{transform:translateX(4px);}
.faq-item[open]{
  border-color:var(--t);
  box-shadow:0 16px 40px -16px rgba(30,107,107,.18);
}

/* ── TERMIN — Aurora ──────────────────────────────── */
.termin-box{
  border-radius:32px;
  background:linear-gradient(160deg,#ffffff 0%,#f5fafa 100%);
  box-shadow:0 30px 80px -30px rgba(30,107,107,.2);
  overflow:hidden;
  position:relative;
}
.termin-box::after{
  content:'';position:absolute;bottom:-40%;left:-10%;width:60%;height:120%;
  background:radial-gradient(ellipse,rgba(58,160,160,.2),transparent 60%);
  pointer-events:none;
}
.termin-cta{
  background:linear-gradient(135deg,var(--grad-1),var(--grad-3));
  box-shadow:0 16px 40px -14px var(--glow);
  transition:transform .3s var(--tick),box-shadow .3s var(--tick);
}
.termin-cta:hover{transform:translateY(-3px);box-shadow:0 24px 52px -14px var(--glow);}

/* ── ÜBER — Editorial Frame ───────────────────────── */
.u-photo{
  border-radius:28px;
  box-shadow:0 30px 80px -30px rgba(30,107,107,.3);
  position:relative;
}
.u-photo::before{
  content:'';position:absolute;inset:-12px;
  border:1px solid rgba(30,107,107,.18);
  border-radius:calc(28px + 10px);
  pointer-events:none;
}

/* ── RATGEBER ─────────────────────────────────────── */
.r-article{
  border-radius:24px;
  transition:transform .35s var(--tick),box-shadow .35s var(--tick),border-color .3s;
}
.r-article:not([open]):hover{transform:translateY(-4px);box-shadow:0 20px 48px -20px rgba(30,107,107,.16);}

/* ── NAV — Frosted deeper ─────────────────────────── */
#nav{transition:background .3s var(--tick),box-shadow .3s var(--tick),border-color .3s;}
#nav.scrolled{
  background:rgba(255,255,255,.78);
  box-shadow:0 10px 30px -18px rgba(0,0,0,.08);
}
.nav-cta{
  background:linear-gradient(135deg,var(--grad-1),var(--grad-3))!important;
  box-shadow:0 8px 20px -10px var(--glow);
}
.nav-cta:hover{box-shadow:0 12px 26px -10px var(--glow);}

/* ── FOOTER ───────────────────────────────────────── */
footer{
  background:linear-gradient(180deg,#0f1414 0%,#050808 100%);
  position:relative;overflow:hidden;
}
footer::before{
  content:'';position:absolute;top:-1px;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--grad-1),transparent);
}
footer::after{
  content:'';position:absolute;top:0;left:50%;width:600px;height:200px;
  transform:translate(-50%,-50%);
  background:radial-gradient(ellipse,rgba(30,107,107,.2),transparent 60%);
  pointer-events:none;
}

/* ── HERO Responsive ─────────────────────────────── */
@media(max-width:900px){
  .hero{padding-top:110px;}
  .hero h1{font-size:clamp(34px,7vw,50px);}
  .sec[data-mz-num]::after{font-size:120px;top:20px;right:4%;letter-spacing:-4px;}
  .mz-mesh{filter:blur(45px);opacity:.4;}
  .mz-scroll-hint{display:none;}
  .mz-ticker{top:14px;right:14px;padding:6px 12px;font-size:10.5px;}
}

/* ── Micro Interaction: Magnetic hover pull ─────── */
.mz-magnetic{transition:transform .25s var(--tick);}

/* ── Number Counter Roll (schöner Start) ─────────── */
.mz-count{display:inline-block;font-variant-numeric:tabular-nums;}

/* ============================================================
   V2 — HEFTIG-MODUS: Cursor, Partikel, Marquee, Tilt, Spotlight,
   Headline-Splits, Ripple, Nav-Hide, Back-to-Top
   ============================================================ */

/* ── Custom Cursor (nur Desktop, feiner Pointer) ── */
@media (pointer:fine){
  .mz-cursor-dot{
    position:fixed;top:0;left:0;width:7px;height:7px;border-radius:50%;
    background:var(--grad-1);
    box-shadow:0 0 10px rgba(30,107,107,.55);
    pointer-events:none;z-index:4000;
    transform:translate(-50%,-50%);
    transition:opacity .2s;
  }
  .mz-cursor-ring{
    position:fixed;top:0;left:0;width:36px;height:36px;border-radius:50%;
    border:1.5px solid rgba(30,107,107,.45);
    pointer-events:none;z-index:3999;
    transform:translate(-50%,-50%);
    transition:width .25s var(--tick),height .25s var(--tick),background .25s,border-color .25s,opacity .2s;
  }
  .mz-cursor-ring.on{
    width:58px;height:58px;
    background:rgba(30,107,107,.08);
    border-color:rgba(30,107,107,.7);
  }
}

/* ── Hero Partikel-Canvas ── */
.mz-canvas{position:absolute;inset:0;z-index:-1;pointer-events:none;}

/* ── Marquee-Band ── */
.mz-marquee{
  position:relative;z-index:2;
  overflow:hidden;
  background:linear-gradient(135deg,var(--grad-3) 0%,var(--grad-1) 55%,var(--grad-4) 120%);
  padding:20px 0;
  width:104%;margin-left:-2%;
  transform:rotate(-1.2deg);
  box-shadow:0 24px 60px -28px rgba(30,107,107,.5);
}
.mz-marquee-track{
  display:flex;width:max-content;
  animation:mzMarquee 30s linear infinite;
  will-change:transform;
}
.mz-marquee:hover .mz-marquee-track{animation-play-state:paused;}
.mz-mq-group{display:flex;align-items:center;gap:52px;padding-right:52px;white-space:nowrap;}
.mz-mq-group span{
  font-family:'Playfair Display',Georgia,serif;font-style:italic;
  font-size:21px;color:rgba(255,255,255,.92);letter-spacing:.2px;
  display:flex;align-items:center;gap:52px;
}
.mz-mq-group span::after{
  content:'✦';font-style:normal;font-size:13px;color:rgba(255,255,255,.45);
}
@keyframes mzMarquee{to{transform:translateX(-50%);}}
@media(max-width:680px){
  .mz-mq-group span{font-size:16px;gap:32px;}
  .mz-mq-group{gap:32px;padding-right:32px;}
  .mz-marquee{padding:14px 0;}
}

/* ── Sektions-Headline Wort-Reveal ── */
.sec-h.mz-split .mz-lw{display:inline-block;overflow:hidden;vertical-align:bottom;}
.sec-h.mz-split .mz-l{display:inline-block;transform:translateY(115%);transition:transform .85s var(--tick);}
.sec-h.mz-split.in .mz-l{transform:translateY(0);}

/* ── Spotlight-Hover auf Karten ── */
.mz-spot{position:relative;}
.mz-spot::after{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),rgba(30,107,107,.12),transparent 65%);
  opacity:0;transition:opacity .35s;pointer-events:none;z-index:1;
}
.mz-spot:hover::after{opacity:1;}

/* ── Ripple ── */
.mz-rip{position:relative;overflow:hidden;}
.mz-rip .mz-ripple{
  position:absolute;border-radius:50%;pointer-events:none;
  background:rgba(255,255,255,.4);
  transform:scale(0);opacity:.6;
  animation:mzRipple .65s ease-out forwards;
}
@keyframes mzRipple{to{transform:scale(2.8);opacity:0;}}

/* ── Nav: hide on scroll down ── */
#nav{transition:background .3s var(--tick),box-shadow .3s var(--tick),border-color .3s,transform .4s var(--tick);}
#nav.mz-hide{transform:translateY(-100%);}

/* ── Back-to-Top mit Progress-Ring ── */
#mzTop{
  position:fixed;left:24px;bottom:24px;z-index:9000;
  width:52px;height:52px;border-radius:50%;
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(30,107,107,.2);
  box-shadow:0 12px 32px -12px rgba(30,107,107,.35);
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  opacity:0;transform:translateY(16px);pointer-events:none;
  transition:opacity .35s var(--tick),transform .35s var(--tick),box-shadow .25s;
}
#mzTop.show{opacity:1;transform:translateY(0);pointer-events:auto;}
#mzTop:hover{box-shadow:0 18px 40px -12px rgba(30,107,107,.5);}
#mzTop svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);}
#mzTop svg circle{fill:none;stroke-width:2.5;}
#mzTop svg .bgc{stroke:rgba(30,107,107,.12);}
#mzTop svg .pc{stroke:var(--grad-1);stroke-linecap:round;stroke-dasharray:151;stroke-dashoffset:151;}
#mzTop .arr{position:relative;z-index:1;color:var(--grad-1);font-size:18px;line-height:1;transition:transform .25s var(--tick);}
#mzTop:hover .arr{transform:translateY(-3px);}
@media(max-width:680px){#mzTop{display:none;}}

/* ── Ink-Underline auf starke Begriffe im Hero ── */
.hero-sub strong{
  background-image:linear-gradient(120deg,rgba(30,107,107,.16),rgba(58,160,160,.20));
  background-repeat:no-repeat;background-size:0% 45%;background-position:0 92%;
  animation:mzInk .9s var(--tick) 1.9s forwards;
}
@keyframes mzInk{to{background-size:100% 45%;}}

/* ── Stats: lebendiger Verlauf ── */
.stats-section{
  background:linear-gradient(120deg,var(--grad-3),var(--grad-1),var(--grad-4),var(--grad-1),var(--grad-3));
  background-size:300% 100%;
  animation:mzStatsFlow 14s ease-in-out infinite;
}
@keyframes mzStatsFlow{
  0%,100%{background-position:0% 50%;}
  50%{background-position:100% 50%;}
}

/* ── FAQ: Antwort gleitet rein ── */
.faq-item[open] .faq-a{animation:mzFadeUp .5s var(--tick);}

/* ── Termin-Aurora driftet ── */
.termin-box::after{
  animation:mzAurora 9s ease-in-out infinite alternate;
}
@keyframes mzAurora{
  from{transform:translate(0,0) scale(1);}
  to{transform:translate(60px,-30px) scale(1.15);}
}

/* ── Scroll-Driven Ghost Numbers (Chrome/Edge) ── */
@supports (animation-timeline: view()){
  .sec[data-mz-num]::after{
    animation:mzGhostDrift linear both;
    animation-timeline:view();
  }
  @keyframes mzGhostDrift{
    from{transform:translateY(110px);}
    to{transform:translateY(-110px);}
  }
  .u-photo img{
    animation:mzImgDrift linear both;
    animation-timeline:view();
  }
  @keyframes mzImgDrift{
    from{transform:scale(1.12) translateY(14px);}
    to{transform:scale(1.12) translateY(-14px);}
  }
}

/* ── Tilt-Basis ── */
.mz-tilt{transform-style:preserve-3d;will-change:transform;}
.mz-tilt > *{transform:translateZ(0);}

/* ============================================================
   V3 — LIMIT-EDITION: Intro-Loader, Char-Kaskade, Typewriter,
   Scramble, Glow-Borders, Veils, Dot-Nav, Final-CTA, Nav-Pill
   ============================================================ */

/* ── Intro-Loader (Curtain) ── */
#mzLoader{
  position:fixed;inset:0;z-index:10000;
  display:flex;align-items:center;justify-content:center;
  pointer-events:all;
}
#mzLoader .mzl-p{
  position:absolute;left:0;right:0;height:50.5%;
  background:linear-gradient(160deg,#0b2626 0%,#0e3d3d 60%,#124d4d 100%);
  transition:transform .8s cubic-bezier(.76,0,.24,1);
}
#mzLoader .mzl-top{top:0;transform-origin:top;}
#mzLoader .mzl-bot{bottom:0;transform-origin:bottom;}
#mzLoader.open .mzl-top{transform:translateY(-101%);}
#mzLoader.open .mzl-bot{transform:translateY(101%);}
#mzLoader .mzl-core{
  position:relative;z-index:2;text-align:center;
  transition:opacity .35s ease,transform .35s ease;
}
#mzLoader.open .mzl-core{opacity:0;transform:scale(.94);}
.mzl-logo{
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(30px,4.5vw,46px);font-weight:700;color:#fff;
  letter-spacing:-.5px;margin-bottom:26px;
}
.mzl-logo span{
  font-style:italic;font-weight:400;
  background:linear-gradient(120deg,#7fd0d0,#3aa0a0,#7fd0d0);
  background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:mzShimmer 2.4s linear infinite;
}
.mzl-bar{
  width:min(280px,60vw);height:2px;margin:0 auto 14px;
  background:rgba(255,255,255,.14);border-radius:2px;overflow:hidden;
}
.mzl-bar i{
  display:block;height:100%;width:0;
  background:linear-gradient(90deg,#3aa0a0,#7fd0d0);
  box-shadow:0 0 14px rgba(58,160,160,.8);
  transition:width .12s linear;
}
.mzl-pct{
  font-family:'Inter',sans-serif;font-size:11px;letter-spacing:3px;
  color:rgba(255,255,255,.55);font-variant-numeric:tabular-nums;
}
/* Während Loader: Hero-Animationen anhalten */
body.mz-hold{overflow:hidden;}
body.mz-hold .hero *{animation-play-state:paused!important;}

/* ── Hero H1: Buchstaben-Kaskade (ersetzt Wort-Slide) ── */
.hero h1 .mz-word{transform:none;opacity:1;animation:none;white-space:nowrap;}
.hero h1 .mz-ch{
  display:inline-block;opacity:0;
  transform:translateY(.65em) rotate(7deg);
  filter:blur(9px);
}
.hero.go h1 .mz-ch{
  animation:mzChar .75s var(--tick) forwards;
  animation-delay:var(--d,0ms);
}
@keyframes mzChar{
  to{opacity:1;transform:translateY(0) rotate(0);filter:blur(0);}
}
.hero h1 .mz-em{opacity:0;transform:translateY(34px) scale(.96);filter:blur(12px);display:inline-block;}
.hero.go h1 .mz-em{
  animation:mzEmIn 1s var(--tick) forwards;
  animation-delay:var(--d,600ms);
}
@keyframes mzEmIn{
  to{opacity:1;transform:translateY(0) scale(1);filter:blur(0);}
}

/* ── Typewriter im Hero-Badge ── */
.hero-badge .mz-type::after{
  content:'';display:inline-block;width:1.5px;height:1em;
  background:var(--grad-1);margin-left:2px;vertical-align:-2px;
  animation:mzBlink .9s step-end infinite;
}
@keyframes mzBlink{50%{opacity:0;}}

/* ── Scramble-Decode auf Eyebrows ── */
.sec-eyebrow{font-variant-numeric:tabular-nums;}

/* ── Animierte Glow-Borders (Ring innen via Mask) ── */
@property --mz-ang{
  syntax:'<angle>';initial-value:0deg;inherits:false;
}
.mz-glow{position:relative;}
.mz-glow::before{
  content:'';position:absolute;inset:0;border-radius:inherit;
  padding:1.5px;
  background:conic-gradient(from var(--mz-ang),
    transparent 0deg, rgba(30,107,107,.0) 40deg,
    rgba(58,160,160,.9) 110deg, rgba(212,184,90,.55) 160deg,
    rgba(30,107,107,.0) 240deg, transparent 360deg);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask-composite:exclude;
  opacity:0;transition:opacity .4s;
  pointer-events:none;z-index:2;
}
.mz-glow:hover::before{
  opacity:1;
  animation:mzSpin 2.6s linear infinite;
}
@keyframes mzSpin{to{--mz-ang:360deg;}}

/* ── Foto-Vorhang (Veil) ── */
.mz-veil{
  position:absolute;inset:0;z-index:3;
  background:linear-gradient(160deg,var(--grad-3),var(--grad-1));
  transform-origin:top;
  transition:transform 1.1s cubic-bezier(.76,0,.24,1);
}
.mz-veil.off{transform:scaleY(0);}

/* ── Glare auf Hero-Portrait ── */
.mz-glare{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:radial-gradient(420px circle at var(--mx,70%) var(--my,20%),rgba(255,255,255,.24),transparent 55%);
  opacity:0;transition:opacity .35s;
}
.hero-photo-wrap:hover .mz-glare{opacity:1;}

/* ── Dot-Navigation (rechts, Desktop) ── */
#mzDots{
  position:fixed;right:22px;top:50%;transform:translateY(-50%);
  z-index:8000;display:flex;flex-direction:column;gap:14px;
}
#mzDots a{
  position:relative;width:9px;height:9px;border-radius:50%;
  background:transparent;border:1.5px solid rgba(30,107,107,.4);
  transition:all .25s var(--tick);display:block;
}
#mzDots a:hover{border-color:var(--grad-1);transform:scale(1.35);}
#mzDots a.on{
  background:var(--grad-1);border-color:var(--grad-1);
  box-shadow:0 0 0 4px rgba(30,107,107,.15);
}
#mzDots a::after{
  content:attr(data-label);
  position:absolute;right:22px;top:50%;transform:translateY(-50%) translateX(6px);
  background:rgba(10,26,26,.92);color:#fff;
  font-family:'Inter',sans-serif;font-size:11px;font-weight:500;letter-spacing:.3px;
  padding:5px 12px;border-radius:50px;white-space:nowrap;
  opacity:0;pointer-events:none;
  transition:opacity .2s var(--tick),transform .2s var(--tick);
}
#mzDots a:hover::after{opacity:1;transform:translateY(-50%) translateX(0);}
@media(max-width:1200px){#mzDots{display:none;}}

/* ── Finale CTA-Sektion (vor Footer) ── */
.mz-final{
  position:relative;overflow:hidden;
  background:
    radial-gradient(900px 500px at 15% 110%,rgba(58,160,160,.25),transparent 60%),
    radial-gradient(700px 450px at 90% -10%,rgba(30,107,107,.35),transparent 55%),
    linear-gradient(160deg,#0a1e1e 0%,#0e3d3d 70%,#124d4d 100%);
  padding:130px 6%;text-align:center;isolation:isolate;
}
.mz-final::before{
  content:'';position:absolute;top:-160px;left:50%;width:900px;height:400px;
  transform:translateX(-50%);
  background:radial-gradient(ellipse,rgba(58,160,160,.28),transparent 60%);
  filter:blur(40px);
  animation:mzAurora 8s ease-in-out infinite alternate;
  pointer-events:none;z-index:-1;
}
.mz-final-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:3px;
  color:#7fd0d0;margin-bottom:22px;
}
.mz-final-eyebrow::before,.mz-final-eyebrow::after{
  content:'';width:26px;height:1px;background:rgba(127,208,208,.5);
}
.mz-final-h{
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(32px,4.6vw,58px);font-weight:700;line-height:1.12;
  color:#fff;letter-spacing:-.5px;max-width:820px;margin:0 auto 20px;
}
.mz-final-h em{
  font-style:italic;
  background:linear-gradient(120deg,#7fd0d0 0%,#d4b85a 60%,#7fd0d0 100%);
  background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:mzShimmer 5s linear infinite;
}
.mz-final-p{
  font-size:17px;color:rgba(255,255,255,.65);font-weight:300;line-height:1.7;
  max-width:520px;margin:0 auto 40px;
}
.mz-final-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.mz-final-b1{
  display:inline-flex;align-items:center;gap:10px;
  background:#fff;color:var(--grad-3);
  padding:17px 36px;border-radius:50px;font-size:15.5px;font-weight:600;
  letter-spacing:-.1px;transition:transform .3s var(--tick),box-shadow .3s var(--tick);
  box-shadow:0 18px 48px -16px rgba(0,0,0,.5);
}
.mz-final-b1:hover{transform:translateY(-3px);box-shadow:0 26px 60px -18px rgba(0,0,0,.6);}
.mz-final-b2{
  display:inline-flex;align-items:center;gap:10px;
  background:transparent;color:#fff;
  padding:17px 32px;border-radius:50px;font-size:15.5px;font-weight:400;
  border:1px solid rgba(255,255,255,.28);
  transition:all .3s var(--tick);
}
.mz-final-b2:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5);transform:translateY(-2px);}
.mz-final-note{margin-top:22px;font-size:12.5px;color:rgba(255,255,255,.4);}
@media(max-width:680px){
  .mz-final{padding:80px 6%;}
  .mz-final-btns{flex-direction:column;align-items:stretch;}
  .mz-final-b1,.mz-final-b2{justify-content:center;}
}

/* ── Nav-Pill-Morph (Desktop) ── */
@media(min-width:901px){
  #nav.scrolled{background:transparent;border-bottom:none;box-shadow:none;}
  #nav.scrolled .nav-wrap{
    margin-top:12px;height:58px;max-width:1120px;
    background:rgba(255,255,255,.72);
    backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);
    border:1px solid rgba(30,107,107,.12);
    border-radius:50px;
    padding:0 12px 0 26px;
    box-shadow:0 16px 48px -20px rgba(14,61,61,.35);
    transition:all .4s var(--tick);
  }
}
.nav-wrap{transition:all .4s var(--tick);}

/* ── Rechner-Konfetti ── */
.mz-burst{
  position:fixed;width:8px;height:8px;border-radius:2px;
  pointer-events:none;z-index:9500;
}

/* ── Hero-Wrap Exit-Transition (JS-gesteuert) ── */
.hero-wrap{will-change:transform,opacity;}

/* ============================================================
   V4 — FASZINATION: Licht-Sweep, Morph-Blob, KPI-Chips,
   Orbit-Text, Sparkles, Grain-Motion, Sticky-Stack-Prozess,
   BQS-Animation, Ink-Marker, Reverse-Marquee, Desaturierung
   ============================================================ */

/* ── God-Ray: Licht-Sweep durch den Hero ── */
.hero::before{
  content:'';position:absolute;top:-25%;bottom:-25%;left:0;width:44%;
  background:linear-gradient(80deg,
    transparent 42%,
    rgba(255,255,255,.22) 49%,
    rgba(127,208,208,.14) 52%,
    transparent 60%);
  filter:blur(10px);
  transform:translateX(-140%) skewX(-9deg);
  animation:mzRay 9s var(--tick) 2.2s infinite;
  pointer-events:none;
}
@keyframes mzRay{
  0%{transform:translateX(-140%) skewX(-9deg);}
  16%{transform:translateX(380%) skewX(-9deg);}
  100%{transform:translateX(380%) skewX(-9deg);}
}

/* ── Sparkles im Hero ── */
.mz-spark{
  position:absolute;z-index:0;pointer-events:none;
  font-size:11px;color:var(--grad-4);opacity:0;
  animation:mzTwinkle 4.5s ease-in-out infinite;
}
.mz-spark:nth-of-type(1){top:18%;left:6%;animation-delay:.2s;}
.mz-spark:nth-of-type(2){top:32%;left:44%;animation-delay:1.4s;color:#d4b85a;font-size:9px;}
.mz-spark:nth-of-type(3){top:64%;left:12%;animation-delay:2.6s;font-size:13px;}
.mz-spark:nth-of-type(4){top:12%;left:58%;animation-delay:3.4s;}
.mz-spark:nth-of-type(5){top:76%;left:50%;animation-delay:.9s;color:#d4b85a;}
.mz-spark:nth-of-type(6){top:44%;left:3%;animation-delay:2s;font-size:9px;}
.mz-spark:nth-of-type(7){top:8%;left:30%;animation-delay:4s;font-size:10px;}
@keyframes mzTwinkle{
  0%,100%{opacity:0;transform:scale(.4) rotate(0deg);}
  50%{opacity:.85;transform:scale(1.15) rotate(90deg);}
}

/* ── Morph-Blob hinter dem Portrait ── */
.mz-blob{
  position:absolute;top:-52px;right:-64px;width:300px;height:300px;z-index:0;
  background:linear-gradient(135deg,rgba(58,160,160,.55),rgba(30,107,107,.3));
  filter:blur(28px);opacity:.6;
  border-radius:58% 42% 38% 62% / 52% 55% 45% 48%;
  animation:mzBlob 13s ease-in-out infinite alternate;
  pointer-events:none;
}
@keyframes mzBlob{
  0%{border-radius:58% 42% 38% 62% / 52% 55% 45% 48%;transform:rotate(0deg) scale(1);}
  50%{border-radius:40% 60% 62% 38% / 42% 38% 62% 58%;transform:rotate(14deg) scale(1.08);}
  100%{border-radius:52% 48% 45% 55% / 60% 42% 58% 40%;transform:rotate(-8deg) scale(.96);}
}
.hero-photo-bg{position:relative;z-index:1;}

/* ── Schwebende KPI-Chips am Portrait ── */
.mz-chip{
  position:absolute;z-index:4;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(14px) saturate(1.5);-webkit-backdrop-filter:blur(14px) saturate(1.5);
  border:1px solid rgba(30,107,107,.16);
  border-radius:16px;padding:10px 16px;
  box-shadow:0 16px 40px -14px rgba(14,61,61,.35);
  animation:mzChipFloat 6s ease-in-out infinite alternate;
  will-change:transform;
  pointer-events:none;
}
.mz-chip b{
  display:block;font-family:'Playfair Display',Georgia,serif;
  font-size:19px;font-weight:700;color:var(--grad-3);line-height:1.1;
}
.mz-chip span{
  display:block;font-size:9.5px;font-weight:600;letter-spacing:1px;
  text-transform:uppercase;color:var(--ink3);margin-top:2px;
}
.mz-chip.c1{top:34px;left:-52px;animation-delay:0s;}
.mz-chip.c2{top:46%;right:-42px;animation-delay:1.6s;}
.mz-chip.c3{bottom:78px;left:-60px;animation-delay:3s;}
@keyframes mzChipFloat{
  from{transform:translateY(-6px);}
  to{transform:translateY(8px);}
}
@media(max-width:900px){.mz-chip,.mz-blob,.mz-orbit{display:none;}}

/* ── Rotierender Orbit-Text ── */
.mz-orbit{
  position:absolute;bottom:-36px;left:-38px;width:122px;height:122px;z-index:5;
  animation:mzOrbit 24s linear infinite;
  pointer-events:none;
}
.mz-orbit text{
  font-family:'Inter',sans-serif;font-size:10.5px;font-weight:600;
  letter-spacing:2.8px;fill:var(--grad-1);text-transform:uppercase;
}
.mz-orbit circle{fill:var(--grad-1);}
@keyframes mzOrbit{to{transform:rotate(360deg);}}

/* ── Foto-Desaturierung → Farbe beim Scrollen ── */
.mz-desat{filter:grayscale(.85) contrast(1.03);transition:filter 1.4s var(--tick);}
.mz-desat.in{filter:none;}

/* ── Ink-Marker auf starken Begriffen (scroll-getriggert) ── */
.mz-ink{
  background-image:linear-gradient(120deg,rgba(30,107,107,.16),rgba(58,160,160,.22));
  background-repeat:no-repeat;background-size:0% 45%;background-position:0 92%;
  transition:background-size .9s var(--tick) .15s;
}
.mz-ink.in{background-size:100% 45%;}

/* ── Sticky-Stack: Prozess-Karten stapeln sich (Desktop) ── */
@media(min-width:901px){
  .proc-grid.mz-stack{
    display:block;background:transparent;border:none;
    box-shadow:none;overflow:visible;border-radius:0;
  }
  .proc-grid.mz-stack .proc-step{
    position:sticky;top:calc(108px + var(--si,0) * 20px);
    margin-bottom:26px;
    background:#fff;
    border:1px solid var(--bdr);border-right:1px solid var(--bdr);
    border-radius:24px;
    box-shadow:0 -8px 24px -18px rgba(14,61,61,.12),0 30px 70px -28px rgba(14,61,61,.3);
    padding:52px 56px;
    display:grid;grid-template-columns:150px 1fr;
    grid-template-areas:"num title" "num text";
    column-gap:36px;row-gap:8px;align-items:center;
  }
  .proc-grid.mz-stack .proc-step:last-child{margin-bottom:0;}
  .proc-grid.mz-stack .proc-num{
    grid-area:num;font-size:104px;margin:0;opacity:.3;
    transition:opacity .35s;
  }
  .proc-grid.mz-stack .proc-step:hover .proc-num{opacity:1;}
  .proc-grid.mz-stack .proc-t{grid-area:title;font-size:23px;align-self:end;}
  .proc-grid.mz-stack .proc-p{grid-area:text;font-size:15px;max-width:560px;align-self:start;}
}

/* ── Reverse-Marquee (vor Finale) ── */
.mz-marquee.rev{transform:rotate(1.2deg);margin-bottom:-14px;}
.mz-marquee.rev .mz-marquee-track{animation-direction:reverse;}

/* ── Grain: Film-Jitter ── */
body::before{
  inset:-50%;
  will-change:transform;
  animation:mzGrain 1.1s steps(1,end) infinite;
}
@keyframes mzGrain{
  0%,100%{transform:translate(0,0);}
  12%{transform:translate(-1.5%,.8%);}
  25%{transform:translate(.9%,-1.4%);}
  37%{transform:translate(-.8%,1.6%);}
  50%{transform:translate(1.6%,.7%);}
  62%{transform:translate(-1.6%,-.8%);}
  75%{transform:translate(.8%,1.4%);}
  87%{transform:translate(1.4%,-1.6%);}
}

/* ── BQS-Donut: sanfte Zahl ── */
.bv-bqs-circle{transition:none;}
.bv-bqs-circle span{font-variant-numeric:tabular-nums;}

/* ============================================================
   V5 — CINEMATIC DARK HERO: dunkle Bühne + Partikel-Nebel
   ============================================================ */
.hero.mz-dark{
  background:
    radial-gradient(1100px 650px at 72% 18%, rgba(30,107,107,.35), transparent 60%),
    radial-gradient(900px 600px at 10% 90%, rgba(18,77,77,.3), transparent 55%),
    linear-gradient(165deg,#0a2226 0%,#071a20 45%,#04121a 100%);
}
.hero.mz-dark .mz-grid{
  background-image:
    linear-gradient(rgba(127,208,208,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(127,208,208,.05) 1px,transparent 1px);
}
.hero.mz-dark .mz-mesh span{opacity:.55;filter:blur(70px) saturate(1.4);}
.hero.mz-dark h1{color:#f2f8f8;}
.hero.mz-dark .hero-sub{color:rgba(230,244,244,.72);}
.hero.mz-dark .hero-sub strong{color:#fff;}
.hero.mz-dark .hero-nwf{color:rgba(255,255,255,.42);}
.hero.mz-dark .hero-nwf a{color:#7fd0d0;border-bottom-color:rgba(127,208,208,.4);}
.hero.mz-dark .hero-badge{
  background:rgba(127,208,208,.1);color:#9fdede;
  border-color:rgba(127,208,208,.28);
}
.hero.mz-dark .btn-p{box-shadow:0 14px 44px -10px rgba(58,160,160,.55);}
.hero.mz-dark .btn-s{color:#fff;border-color:rgba(255,255,255,.3);}
.hero.mz-dark .btn-s:hover{background:rgba(255,255,255,.08);border-color:rgba(127,208,208,.6);color:#9fdede;}
.hero.mz-dark .trust-chip{
  color:rgba(255,255,255,.75);
  background:rgba(127,208,208,.08);
  border-color:rgba(127,208,208,.22);
}
.hero.mz-dark .trust-chip svg{color:#7fd0d0;}
.hero.mz-dark .hero-buyer-hint{color:rgba(255,255,255,.48);}
.hero.mz-dark .hero-buyer-hint a{color:#7fd0d0;border-bottom-color:rgba(127,208,208,.4);}
.hero.mz-dark .hero-proof{border-top-color:rgba(255,255,255,.14);}
.hero.mz-dark .hero-proof-text{color:rgba(255,255,255,.6);}
.hero.mz-dark .hero-proof-text strong{color:#fff;}
.hero.mz-dark .hero-proof-avatars span{border-color:#0a2226;}
.hero.mz-dark .mz-scroll-hint{color:rgba(255,255,255,.4);}
.hero.mz-dark .mz-scroll-hint::before{background:linear-gradient(to bottom,#7fd0d0,transparent);}
.hero.mz-dark .mz-spark{color:#7fd0d0;}
.hero.mz-dark .mz-spark:nth-of-type(2),
.hero.mz-dark .mz-spark:nth-of-type(5){color:#d4b85a;}
/* Portrait-Zone auf dunkler Bühne */
.hero.mz-dark .hero-photo-bg{
  background:
    radial-gradient(ellipse 90% 55% at 50% 100%, rgba(58,160,160,.30), transparent 70%),
    linear-gradient(165deg, rgba(22,66,70,.55) 0%, rgba(10,32,38,.65) 100%);
  border:1px solid rgba(127,208,208,.16);
}
.hero.mz-dark .hero-photo-bg img{
  filter:drop-shadow(0 34px 44px rgba(0,0,0,.65)) drop-shadow(0 0 28px rgba(58,160,160,.28));
}
.hero.mz-dark .hero-card{
  background:rgba(8,26,30,.78);
  border-color:rgba(127,208,208,.2);
}
.hero.mz-dark .hero-card-name{color:#fff;}
.hero.mz-dark .hero-card-role{color:#7fd0d0;}
.hero.mz-dark .hero-card-co{color:rgba(255,255,255,.45);}
.hero.mz-dark .mz-ticker{
  background:rgba(8,26,30,.85);color:#9fdede;
  border:1px solid rgba(127,208,208,.25);
}
.hero.mz-dark .mz-chip{
  background:rgba(10,30,36,.7);
  border-color:rgba(127,208,208,.22);
  box-shadow:0 16px 40px -14px rgba(0,0,0,.6);
}
.hero.mz-dark .mz-chip b{color:#9fdede;}
.hero.mz-dark .mz-chip span{color:rgba(255,255,255,.55);}
.hero.mz-dark .mz-orbit text{fill:rgba(127,208,208,.75);}
.hero.mz-dark .mz-orbit circle{fill:rgba(127,208,208,.75);}
.hero.mz-dark .mz-blob{
  opacity:.5;filter:blur(44px);mix-blend-mode:screen;
  background:linear-gradient(135deg,rgba(58,160,160,.8),rgba(30,107,107,.4));
}
.hero.mz-dark::before{
  background:linear-gradient(80deg,
    transparent 42%,
    rgba(255,255,255,.14) 49%,
    rgba(127,208,208,.10) 52%,
    transparent 60%);
}
/* Nav über dunklem Hero (nur ganz oben, vor dem Scrollen) */
#nav.mz-on-dark:not(.scrolled) .nav-logo{color:#fff;}
#nav.mz-on-dark:not(.scrolled) .nav-logo small{color:rgba(255,255,255,.45);}
#nav.mz-on-dark:not(.scrolled) .nav-links a{color:rgba(255,255,255,.78);}
#nav.mz-on-dark:not(.scrolled) .nav-links a:hover{background:rgba(255,255,255,.1);color:#fff;}
#nav.mz-on-dark:not(.scrolled) .nav-burger span{background:#fff;}

/* ── Freigestelltes Hero-Portrait auf Verlauf ── */
.hero-photo-bg{
  background:
    radial-gradient(ellipse 90% 60% at 50% 100%, rgba(30,107,107,.18), transparent 70%),
    linear-gradient(160deg,var(--tl) 0%,#dcefef 55%,#cfe8e8 100%);
}
.hero-photo-bg::after{content:none;}
.hero-photo-bg img{
  object-fit:contain;
  object-position:center bottom;
  padding:26px 14px 0;
  filter:drop-shadow(0 34px 44px rgba(14,61,61,.38));
}
@media(max-width:900px){
  .hero-photo-bg img{object-position:center bottom;padding:16px 10px 0;}
}



