/* ============================================================
   WOLLERING Umzüge & Logistik · Design-System v2
   Basis: Mockup v9/v10 · Motion: kritisch gedämpft, interruptible
   ============================================================ */

/* ---------- Fonts (selbst gehostet, DSGVO-konform) ---------- */
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:600;font-display:swap;src:url('../fonts/playfair-display-latin-600-italic.woff2') format('woff2');}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:600;font-display:swap;src:url('../fonts/playfair-display-latin-ext-600-italic.woff2') format('woff2');unicode-range:U+0100-02BA,U+1E00-1E9F,U+2020,U+20A0-20C0;}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/plus-jakarta-sans-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/plus-jakarta-sans-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/plus-jakarta-sans-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/plus-jakarta-sans-latin-700-normal.woff2') format('woff2');}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/plus-jakarta-sans-latin-800-normal.woff2') format('woff2');}
@font-face{font-family:'Caveat';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/caveat-latin-600-normal.woff2') format('woff2');}

/* ---------- Tokens (Mockup) ---------- */
:root{
  --c:#7B8FA3;--c-lt:#A9BBC9;
  --cta:#2563EB;--cta-h:#1D4ED8;
  --dk:#0F1215;--dk2:#181C1F;--dk3:#242A2E;
  --white:#fff;--off:#F4F3EF;--lg:#E2E1DD;--paper:#F8F7F4;
  --txt:#0F1215;--txt2:#5A6068;
  --gold:#F59E0B;--hand:#E8841A;--green:#22C55E;
  --max:1160px;--nav-h:72px;--nav-h-sm:54px;
  --r:12px;--r-lg:20px;
  --spring:cubic-bezier(.4,0,.2,1);
  --t-fast:120ms;--t-med:350ms;--t-slow:600ms;
}

/* ---------- Reset / Basis ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:'Plus Jakarta Sans',sans-serif;font-weight:400;line-height:1.7;color:var(--txt);background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img,svg,video{max-width:100%;height:auto;display:block;}
a{color:inherit;}
ul[class],ol[class]{list-style:none;}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit;}
input,select,textarea{font:inherit;color:inherit;}
fieldset{border:0;min-inline-size:0;}legend{padding:0;}
:focus-visible{outline:3px solid var(--cta);outline-offset:2px;border-radius:4px;}
::selection{background:var(--cta);color:#fff;}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--dk)}::-webkit-scrollbar-thumb{background:var(--c);border-radius:3px}

/* ---------- Typografie ---------- */
h1,h2{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;line-height:1.06;letter-spacing:-.02em;text-wrap:balance;}
h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1.04;letter-spacing:-.03em;}
h2{font-size:clamp(1.8rem,3.3vw,2.6rem);}
h3,h4{font-weight:800;line-height:1.25;letter-spacing:-.01em;}
h3{font-size:clamp(1.1rem,1.6vw,1.25rem);}
h4{font-size:1rem;}
p{max-width:68ch;}
.lead{font-size:clamp(1rem,1.4vw,1.13rem);color:var(--txt2);line-height:1.75;font-weight:300;}
.kicker{font-size:.72rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--c);margin-bottom:.7rem;display:block;}
/* Highlight-Wort in Schreibschrift */
.hl{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:600;color:var(--hand);letter-spacing:0;font-size:1.06em;line-height:1;}
.hero .hl,.section--dark .hl,.hero-sub .hl{text-shadow:0 2px 20px rgba(0,0,0,.25);}
h1 .hl{display:block;font-size:1.08em;padding:.04em 0 .1em;}
.accent{color:var(--hand);}

/* ---------- Layout ---------- */
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:clamp(1.2rem,4.5vw,3.25rem);}
.section{padding-block:clamp(3.8rem,8vw,6rem);}
.section--off{background:var(--off);}
.section--dark{background:var(--dk);color:#fff;}
.section--dark .lead{color:rgba(255,255,255,.5);}
.section--dark .kicker{color:var(--c-lt);}
.grid{display:grid;gap:clamp(.9rem,1.6vw,1rem);}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));}
.grid-4{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));}
.split{display:grid;gap:clamp(2rem,5vw,4rem);grid-template-columns:1fr;align-items:center;}
@media(min-width:900px){.split{grid-template-columns:1.1fr .9fr;}}
.skip-link{position:absolute;left:-9999px;top:0;z-index:600;background:var(--dk);color:#fff;padding:.8rem 1.2rem;font-weight:600;}
.skip-link:focus{left:0;}

/* ---------- Icons ---------- */
.ico{width:20px;height:20px;flex:none;}
.icon-tile{width:44px;height:44px;border-radius:10px;background:var(--off);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:var(--dk);}
.icon-tile .ico{width:20px;height:20px;}
.icon-tile--dark{background:var(--dk);color:#fff;margin:0 auto 1rem;width:48px;height:48px;border-radius:12px;}

/* ============================================================
   NAV: oben klar transparent → beim Scrollen milchige Pille
   ============================================================ */
.nav-shell{position:fixed;inset-inline:0;top:0;z-index:500;display:flex;justify-content:center;padding:0;pointer-events:none;transition:padding .5s var(--spring);}
.nav-shell.floating{padding:14px 28px;}
.nav{
  width:100%;max-width:var(--max);height:var(--nav-h);
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:0 clamp(1.2rem,4.5vw,3.25rem);pointer-events:all;color:#fff;
  background:rgba(13,14,16,0);border:1px solid rgba(255,255,255,0);border-radius:0;
  transition:height .5s var(--spring),border-radius .5s var(--spring),background .4s,border-color .4s,padding .5s var(--spring),max-width .5s var(--spring),box-shadow .4s;
}
.nav-shell.floating .nav{
  height:var(--nav-h-sm);border-radius:100px;max-width:1040px;padding:0 28px;
  background:rgba(12,14,17,.74);border:1px solid rgba(255,255,255,.1);
  -webkit-backdrop-filter:blur(36px) saturate(200%);backdrop-filter:blur(36px) saturate(200%);
  box-shadow:0 8px 40px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.07);
}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto;}
.brand img{transition:height .5s var(--spring);}
.nav-shell.floating .brand img{height:24px !important;width:auto !important;}
.brand-name{font-size:15px;font-weight:700;letter-spacing:4px;text-transform:uppercase;line-height:1;transition:font-size .4s;}
.nav-shell.floating .brand-name{font-size:13px;}
.brand-sub{font-size:8.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--c-lt);margin-top:3px;font-weight:400;max-height:20px;opacity:1;transition:opacity .25s,max-height .4s,margin-top .4s;}
.nav-shell.floating .brand-sub{max-height:0;opacity:0;overflow:hidden;margin-top:0;}
.nav-links{display:none;gap:26px;}
@media(min-width:1020px){.nav-links{display:flex;}}
.nav-links a{color:rgba(255,255,255,.62);text-decoration:none;font-size:12.5px;font-weight:500;transition:color .2s;}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:#fff;}
.nav-cta{background:var(--cta);color:#fff;padding:9px 20px;font-size:12.5px;font-weight:700;letter-spacing:.5px;border-radius:100px;text-decoration:none;white-space:nowrap;transition:background .25s,transform .25s,box-shadow .25s;}
.nav-cta:hover{background:var(--cta-h);transform:translateY(-1px);box-shadow:0 6px 20px rgba(37,99,235,.35);}
.nav-cta:active{transform:scale(.97);}
@media(max-width:600px){.nav-cta{display:none;}}
.nav-burger{display:grid;place-items:center;width:44px;height:44px;border-radius:100px;transition:background var(--t-fast);}
.nav-burger:hover{background:rgba(255,255,255,.1);}
.nav-burger:active{transform:scale(.94);}
@media(min-width:1020px){.nav-burger{display:none;}}
.nav-burger svg{width:22px;height:22px;}
.mobile-menu{
  position:fixed;inset-inline:.8rem;top:calc(var(--nav-h) + .4rem);z-index:499;
  background:rgba(12,14,17,.92);-webkit-backdrop-filter:blur(28px) saturate(180%);backdrop-filter:blur(28px) saturate(180%);
  border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);padding:.8rem;color:#fff;box-shadow:0 24px 80px rgba(0,0,0,.5);
  transform-origin:top right;transform:scale(.92) translateY(-8px);opacity:0;visibility:hidden;
  transition:transform var(--t-med) var(--spring),opacity var(--t-med) var(--spring),visibility 0s linear var(--t-med);
}
.mobile-menu.open{transform:none;opacity:1;visibility:visible;transition:transform var(--t-med) var(--spring),opacity var(--t-med) var(--spring);}
.mobile-menu a{display:block;text-decoration:none;font-weight:600;font-size:1.02rem;padding:.85rem 1rem;border-radius:12px;transition:background var(--t-fast);}
.mobile-menu a:hover{background:rgba(255,255,255,.09);}
.mobile-menu .menu-contact{margin-top:.6rem;border-top:1px solid rgba(255,255,255,.12);padding-top:.9rem;display:flex;gap:.6rem;flex-wrap:wrap;}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700;font-size:.9rem;letter-spacing:.3px;text-decoration:none;white-space:nowrap;padding:15px 40px;border-radius:100px;transition:transform .25s var(--spring),background var(--t-fast),box-shadow .25s,border-color .25s,color .25s;will-change:transform;}
.btn:active{transform:scale(.97);}
.btn--primary{background:var(--cta);color:#fff;}
.btn--primary:hover{background:var(--cta-h);transform:translateY(-2px);box-shadow:0 16px 40px rgba(37,99,235,.35);}
.btn--ghost{border:1.5px solid rgba(255,255,255,.2);color:rgba(255,255,255,.7);}
.btn--ghost:hover{border-color:rgba(255,255,255,.45);color:#fff;transform:translateY(-2px);}
.btn--ghost-dark{border:1.5px solid rgba(15,18,21,.22);color:var(--txt);}
.btn--ghost-dark:hover{border-color:rgba(15,18,21,.5);transform:translateY(-2px);}
.btn--sm{padding:9px 20px;font-size:12.5px;}
.btn--lg{padding:16px 48px;}
.btn--gold{background:var(--gold);color:var(--dk);}
.btn--gold:hover{background:#e8940a;transform:translateY(-2px);box-shadow:0 12px 32px rgba(245,158,11,.3);}

/* ---------- Breadcrumbs ---------- */
.breadcrumbs{padding-top:calc(var(--nav-h) + 1.8rem);font-size:.8rem;}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;list-style:none;}
.breadcrumbs a{color:var(--c);text-decoration:none;transition:color var(--t-fast);}
.breadcrumbs a:hover{color:#fff;}
.breadcrumbs li:not(:last-child)::after{content:"›";margin-left:.35rem;color:var(--c);}
.breadcrumbs [aria-current]{color:var(--c-lt);font-weight:600;}

/* ============================================================
   HERO (Startseite) — Mockup-Stil, Stats direkt auf dem Bild
   ============================================================ */
.hero{position:relative;min-height:100vh;background:var(--dk);display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;}
.hero-bg{position:absolute;inset:0;}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,10,12,.92) 0%,rgba(8,10,12,.78) 38%,rgba(8,10,12,.38) 65%,rgba(8,10,12,.18) 100%);}
.hero-inner{position:relative;z-index:2;max-width:var(--max);margin:0 auto;width:100%;padding:120px clamp(1.2rem,4.5vw,3.25rem) 170px;display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;}
@media(min-width:1020px){.hero-inner{grid-template-columns:1fr 440px;gap:4rem;}}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(245,158,11,.14);border:1px solid rgba(245,158,11,.3);border-radius:100px;padding:5px 14px 5px 10px;margin-bottom:26px;font-size:11px;color:rgba(255,255,255,.7);font-weight:500;letter-spacing:.3px;}
.stars{color:var(--gold);letter-spacing:2px;font-size:11px;}
.hero-eyebrow{font-size:11px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--c-lt);margin-bottom:14px;}
.hero h1{margin-bottom:20px;}
.hero-sub-txt{font-size:16px;color:rgba(255,255,255,.52);line-height:1.75;max-width:400px;margin-bottom:30px;font-weight:300;}
.trust-pills{display:flex;flex-wrap:wrap;gap:10px;}
.trust-pill{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:100px;padding:6px 13px;font-size:12px;color:rgba(255,255,255,.65);font-weight:500;}
.trust-pill .ico{width:13px;height:13px;color:var(--gold);}

/* Stats-Leiste auf dem Hero-Bild */
.stats-bar{position:absolute;bottom:0;left:0;right:0;z-index:3;background:rgba(0,0,0,.42);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.06);}
.stats-inner{max-width:var(--max);margin:0 auto;padding:0 clamp(1.2rem,4.5vw,3.25rem);display:flex;flex-wrap:wrap;}
.stat{flex:1 1 140px;padding:20px 24px;border-right:1px solid rgba(255,255,255,.06);transition:background .2s;}
.stat:last-child{border-right:none;}
.stat:hover{background:rgba(255,255,255,.04);}
.stat-n{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:26px;line-height:1;letter-spacing:-.01em;color:#fff;}
.stat-n b{color:var(--c-lt);font-weight:400;}
.stat-l{font-size:9.5px;color:rgba(255,255,255,.35);letter-spacing:2px;text-transform:uppercase;margin-top:3px;}

/* ============================================================
   FORMULAR: 3-Schritte-Wizard
   ============================================================ */
.hform{background:rgba(255,255,255,.97);border-radius:20px;padding:30px 28px;box-shadow:0 24px 80px rgba(0,0,0,.45);color:var(--txt);}
.hform-top{margin-bottom:16px;}
.hform-rating{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--txt2);font-weight:500;margin-bottom:8px;}
.hform-rating strong{color:var(--txt);font-weight:700;}
.hform-title{font-size:17px;font-weight:800;line-height:1.25;margin-bottom:4px;}
.hform-sub{font-size:12px;color:var(--txt2);}
.hform-sub b{color:var(--cta);font-weight:700;}
/* Fortschritt */
.wiz-progress{display:flex;align-items:center;gap:6px;margin:14px 0 16px;}
.wiz-progress .bar{flex:1;height:3px;border-radius:2px;background:var(--lg);overflow:hidden;position:relative;}
.wiz-progress .bar i{position:absolute;inset:0;background:var(--cta);transform:scaleX(0);transform-origin:left;transition:transform var(--t-med) var(--spring);}
.wiz-progress .bar.done i{transform:scaleX(1);}
.wiz-progress span{font-size:10.5px;color:var(--txt2);font-weight:600;letter-spacing:.5px;white-space:nowrap;}
/* Schritte */
.wiz-step{display:none;}
.wiz-step.active{display:block;animation:wizIn .35s var(--spring) both;}
@keyframes wizIn{from{opacity:0;transform:translateX(14px);}to{opacity:1;transform:none;}}
.wiz-q{font-size:13.5px;font-weight:700;margin-bottom:10px;}
.hform-fields{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;}
.hform-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
@media(max-width:420px){.hform-row{grid-template-columns:1fr;}}
.hf label{display:block;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--txt2);margin-bottom:5px;}
.hf input,.hf select,.hf textarea{width:100%;padding:11px 14px;background:var(--paper);border:1.5px solid var(--lg);border-radius:8px;font-size:13.5px;color:var(--txt);outline:none;transition:border-color .2s,background .2s;appearance:none;-webkit-appearance:none;}
.hf input::placeholder{color:#aaa;}
.hf input:focus,.hf select:focus,.hf textarea:focus{border-color:var(--cta);background:#fff;}
.hf-arrow{position:relative;}
.hf-arrow::after{content:"";position:absolute;right:13px;top:calc(50% + 4px);width:8px;height:8px;border-right:1.5px solid var(--txt2);border-bottom:1.5px solid var(--txt2);transform:rotate(45deg) translateY(-50%);pointer-events:none;}
/* Auswahl-Kacheln (Schritt 1: Art des Umzugs) */
.wiz-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;}
.wiz-choice{position:relative;}
.wiz-choice input{position:absolute;opacity:0;inset:0;cursor:pointer;}
.wiz-choice span{display:flex;align-items:center;gap:8px;padding:11px 12px;border:1.5px solid var(--lg);border-radius:8px;background:var(--paper);font-size:12.5px;font-weight:600;transition:border-color .2s,background .2s,color .2s;}
.wiz-choice .ico{width:15px;height:15px;color:var(--c);transition:color .2s;}
.wiz-choice input:checked + span{border-color:var(--cta);background:#EFF6FF;color:var(--cta);}
.wiz-choice input:checked + span .ico{color:var(--cta);}
.wiz-choice input:focus-visible + span{outline:3px solid var(--cta);outline-offset:2px;}
/* DSGVO */
.wiz-dsgvo{display:flex;gap:9px;align-items:flex-start;font-size:11px;color:var(--txt2);line-height:1.5;margin-bottom:14px;}
.wiz-dsgvo input{width:15px;height:15px;margin-top:1px;accent-color:var(--cta);flex:none;}
.wiz-dsgvo a{color:var(--cta);}
/* Navigation */
.wiz-nav{display:flex;gap:8px;}
.wiz-back{flex:none;padding:13px 16px;border:1.5px solid var(--lg);border-radius:10px;font-size:13px;font-weight:600;color:var(--txt2);transition:border-color .2s,color .2s;}
.wiz-back:hover{border-color:var(--txt2);color:var(--txt);}
.wiz-next,.hform-cta{flex:1;padding:14px;background:var(--cta);border-radius:10px;color:#fff;font-size:14.5px;font-weight:800;letter-spacing:.3px;transition:background .25s,transform .25s var(--spring),box-shadow .25s;}
.wiz-next:hover,.hform-cta:hover{background:var(--cta-h);transform:translateY(-2px);box-shadow:0 10px 30px rgba(37,99,235,.35);}
.wiz-next:active,.hform-cta:active{transform:scale(.98);}
.hform-trust{display:flex;align-items:center;justify-content:center;gap:14px;font-size:11px;color:#888;margin-top:12px;flex-wrap:wrap;}
.hform-trust span{display:flex;align-items:center;gap:4px;}
.hform-trust .ico{width:12px;height:12px;color:var(--green);}
.hform-cert{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--lg);}
.amoe-badge{background:var(--off);border:1px solid var(--lg);border-radius:6px;padding:4px 10px;font-size:10px;font-weight:700;letter-spacing:1px;color:var(--txt2);}
.cert-txt{font-size:10px;color:#aaa;}
.honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none;}
/* no-JS: alle Schritte zeigen */
.no-js .wiz-step{display:block !important;}
.no-js .wiz-nav .wiz-next,.no-js .wiz-back,.no-js .wiz-progress{display:none;}

/* ============================================================
   SERVICE-KARTEN (überlappen als "Alles aus einer Hand")
   ============================================================ */
.svc-overlap{position:relative;z-index:10;background:var(--white);padding-top:52px;}
.svc-head{text-align:center;margin-bottom:34px;}
.svc-card{background:#fff;border-radius:16px;padding:28px 26px;box-shadow:0 4px 32px rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.05);position:relative;overflow:hidden;text-decoration:none;display:block;transition:transform .3s var(--spring),box-shadow .3s;}
.svc-card:hover{transform:translateY(-5px);box-shadow:0 16px 48px rgba(0,0,0,.13);}
.svc-tag{position:absolute;top:16px;right:16px;font-size:9.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--c);background:rgba(123,143,163,.1);border:1px solid rgba(123,143,163,.2);border-radius:100px;padding:3px 10px;}
.svc-card h3{font-size:16px;letter-spacing:-.2px;margin-bottom:4px;}
.svc-card p{font-size:13.5px;color:var(--txt2);line-height:1.65;font-weight:300;margin-bottom:16px;}
.svc-more{font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--cta);display:flex;align-items:center;gap:5px;}
.svc-card:hover .svc-more{text-decoration:underline;}

/* ---------- USP-Karten ---------- */
.usp-card{background:#fff;border-radius:16px;padding:32px 24px;text-align:center;border:1px solid rgba(0,0,0,.05);transition:transform .3s var(--spring),box-shadow .3s;}
.usp-card:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(0,0,0,.07);}
.usp-card h3{font-size:14px;margin-bottom:8px;}
.usp-card p{font-size:13px;color:var(--txt2);line-height:1.65;font-weight:300;margin-inline:auto;}

/* ---------- Ablauf ---------- */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.4rem;position:relative;}
@media(min-width:900px){.steps::before{content:"";position:absolute;top:28px;left:12.5%;right:12.5%;height:1px;background:var(--lg);z-index:0;}}
.section--dark .steps::before{background:rgba(255,255,255,.1);}
.step{text-align:center;padding:0 10px;position:relative;z-index:1;}
.step .num{width:56px;height:56px;border-radius:50%;background:#fff;border:2px solid var(--lg);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:17px;color:var(--c);letter-spacing:0;transition:border-color .3s,background .3s,color .3s,transform .3s var(--spring);}
.step:hover .num{border-color:var(--c);background:var(--c);color:#fff;transform:scale(1.05);}
.section--dark .step .num{background:var(--dk2);border-color:var(--dk3);}
.section--dark .step:hover .num{background:var(--c);border-color:var(--c);}
.step h3{font-size:14px;margin-bottom:6px;}
.step p{font-size:12.5px;color:var(--txt2);line-height:1.6;font-weight:300;margin-inline:auto;}
.section--dark .step p{color:rgba(255,255,255,.45);}

/* ---------- Karten allgemein / Unterseiten ---------- */
.card{background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:16px;padding:clamp(1.4rem,2.5vw,1.8rem);box-shadow:0 4px 24px rgba(0,0,0,.05);transition:transform .3s var(--spring),box-shadow .3s;}
a.card{text-decoration:none;display:block;}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(0,0,0,.1);}
.card h3{margin-bottom:.5rem;}
.card p{color:var(--txt2);font-size:.9rem;font-weight:300;}
.card .more{display:inline-flex;align-items:center;gap:.35rem;margin-top:1rem;font-weight:700;color:var(--cta);font-size:12px;letter-spacing:.8px;text-transform:uppercase;}
.card:hover .more{text-decoration:underline;}
.section--dark .card{background:var(--dk2);border-color:rgba(255,255,255,.08);color:#fff;}
.section--dark .card p{color:rgba(255,255,255,.5);}
.section--dark .icon-tile{background:var(--dk3);color:#fff;}

/* ---------- Unterseiten-Hero ---------- */
.hero-sub{background:linear-gradient(160deg,var(--dk) 0%,var(--dk2) 70%,var(--dk3) 100%);color:#fff;padding-bottom:clamp(2.6rem,5vw,4rem);position:relative;overflow:clip;}
.hero-sub::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 85% 10%,rgba(37,99,235,.16),transparent 70%);pointer-events:none;}
.hero-sub .wrap{position:relative;}
.hero-sub h1{margin:1.1rem 0 1rem;max-width:20ch;}
.hero-sub .lead{max-width:52rem;color:rgba(255,255,255,.55);}
.hero-sub-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem;align-items:center;}
.hero-sub-meta{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:.6rem;}
.hero-sub .trust-pill{color:rgba(255,255,255,.7);}

/* ---------- Zahlen dunkel ---------- */
.nums-sec{background:var(--dk2);border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04);color:#fff;}
.nums-inner{max-width:var(--max);margin:0 auto;padding:56px clamp(1.2rem,4.5vw,3.25rem);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:2rem;}
.num-item{text-align:center;}
.num-n{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:clamp(2rem,3.4vw,2.7rem);line-height:1;letter-spacing:-.02em;}
.num-n b{color:var(--c-lt);font-weight:400;}
.num-l{font-size:10px;color:rgba(255,255,255,.3);letter-spacing:2.5px;text-transform:uppercase;margin-top:5px;}
.num-div{width:1px;height:56px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.1),transparent);}
@media(max-width:700px){.num-div{display:none;}}

/* ---------- Bewertungen ---------- */
.review-summary{display:inline-flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--lg);border-radius:12px;padding:12px 20px;}
.review-summary .stars{font-size:16px;letter-spacing:3px;}
.review-summary b{font-size:22px;font-weight:800;}
.review-summary small{font-size:11px;color:var(--txt2);display:block;}
.review{display:flex;flex-direction:column;}
.review .stars{font-size:13px;letter-spacing:3px;margin-bottom:14px;}
.review blockquote{font-size:14px;line-height:1.7;font-style:italic;font-weight:300;flex:1;margin-bottom:18px;}
.review .who{display:flex;align-items:center;gap:10px;}
.review .avatar{width:34px;height:34px;border-radius:50%;background:var(--dk3);display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;color:var(--c-lt);flex:none;}
.review .who b{font-size:13px;display:block;line-height:1.2;}
.review .who small{font-size:11px;color:var(--txt2);}
.review .src{margin-top:14px;padding-top:14px;border-top:1px solid var(--lg);font-size:10.5px;color:#aaa;}

/* ---------- FAQ ---------- */
.faq{max-width:820px;}
.faq details{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:var(--r);margin-bottom:.7rem;overflow:hidden;transition:box-shadow var(--t-med);}
.faq details[open]{box-shadow:0 6px 24px rgba(0,0,0,.06);}
.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.05rem 1.3rem;font-weight:700;cursor:pointer;font-size:.95rem;transition:background var(--t-fast);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary:hover{background:var(--paper);}
.faq .chev{flex:none;width:20px;height:20px;color:var(--c);transition:transform var(--t-med) var(--spring);}
.faq details[open] .chev{transform:rotate(180deg);}
.faq .faq-body{padding:0 1.3rem;color:var(--txt2);font-weight:300;font-size:.92rem;display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--t-med) var(--spring),padding var(--t-med) var(--spring);}
.faq details[open] .faq-body{grid-template-rows:1fr;padding-bottom:1.2rem;}
.faq .faq-body>div{overflow:hidden;}

/* ============================================================
   ZEITSTRAHL — Hover blendet Zusatzinfos ein
   ============================================================ */
.timeline{position:relative;padding-left:2.1rem;max-width:760px;}
.timeline::before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:1px;background:linear-gradient(to bottom,var(--c) 0%,var(--lg) 100%);}
.tl-item{position:relative;padding:0 0 1rem;cursor:default;}
.tl-item::before{content:"";position:absolute;left:calc(-2.1rem + 3px);top:9px;width:13px;height:13px;border-radius:50%;background:#fff;border:2px solid var(--c);transition:background .25s,border-color .25s,transform .25s var(--spring);}
.tl-item:hover::before,.tl-item.open::before{background:var(--cta);border-color:var(--cta);transform:scale(1.15);}
.tl-year{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:600;font-size:1.35rem;letter-spacing:0;color:var(--c);line-height:1;transition:color .25s;}
.tl-item:hover .tl-year,.tl-item.open .tl-year{color:var(--cta);}
.tl-title{font-weight:800;font-size:1rem;margin:.15rem 0 .1rem;}
.tl-more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--spring),opacity .35s;opacity:0;}
.tl-item:hover .tl-more,.tl-item.open .tl-more,.tl-item:focus-within .tl-more{grid-template-rows:1fr;opacity:1;}
.tl-more>div{overflow:hidden;}
.tl-more p{color:var(--txt2);font-size:.92rem;font-weight:300;padding:.25rem 0 .5rem;}
.tl-hint{font-size:.72rem;color:var(--c);letter-spacing:.15em;text-transform:uppercase;margin-top:.8rem;}
@media(hover:none){.tl-more{grid-template-rows:1fr;opacity:1;}.tl-hint{display:none;}}

/* ---------- Projekt-Karten / Medien ---------- */
.project-media{aspect-ratio:16/10;border-radius:var(--r);overflow:hidden;background:var(--dk3);display:grid;place-items:center;color:var(--c);font-size:.82rem;margin-bottom:1.1rem;position:relative;text-align:center;padding:1rem;}
.project-media img{width:100%;height:100%;object-fit:cover;}
.project-facts{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;}
.fact{font-size:.72rem;font-weight:700;background:var(--off);border-radius:100px;padding:.3rem .8rem;color:var(--txt2);}

/* ---------- Karte (Zwei-Klick) ---------- */
.map-consent{aspect-ratio:16/9;border-radius:var(--r-lg);background:var(--dk2);color:#fff;display:grid;place-items:center;text-align:center;padding:2rem;position:relative;overflow:hidden;}
.map-consent::before{content:"";position:absolute;inset:0;opacity:.25;background-image:radial-gradient(circle at 30% 40%,var(--c) 1.5px,transparent 1.5px),radial-gradient(circle at 70% 60%,var(--c) 1.5px,transparent 1.5px);background-size:44px 44px;}
.map-consent>div{position:relative;display:grid;gap:.9rem;justify-items:center;}
.map-consent p{font-size:.85rem;color:var(--c-lt);max-width:44ch;font-weight:300;}
.map-frame{aspect-ratio:16/9;border-radius:var(--r-lg);overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.15);}
.map-frame iframe{width:100%;height:100%;border:0;display:block;}

/* ---------- CTA-Band ---------- */
.cta-band{position:relative;overflow:clip;text-align:center;padding-block:clamp(4.5rem,9vw,6.5rem);}
.cta-band::before{content:"";position:absolute;inset:0;opacity:1;pointer-events:none;background-image:radial-gradient(rgba(123,143,163,.1) 1px,transparent 1px);background-size:28px 28px;}
.cta-band .wrap{position:relative;display:grid;justify-items:center;gap:1rem;}
.cta-band h2{font-size:clamp(2.1rem,3.8vw,3.2rem);letter-spacing:-.02em;line-height:1.06;max-width:20ch;}
.cta-band .lead{margin-inline:auto;max-width:460px;}
.cta-actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:1.4rem;}
.cta-promise{font-size:.82rem;color:var(--c-lt);display:inline-flex;gap:.45rem;align-items:center;margin-top:.4rem;}
.cta-promise .ico{width:14px;height:14px;color:var(--green);}

/* ---------- Interne Links ---------- */
.related{display:flex;flex-wrap:wrap;gap:.6rem;}
.related a{text-decoration:none;font-weight:600;font-size:.85rem;color:var(--txt);border:1.5px solid var(--lg);border-radius:100px;padding:.55rem 1.1rem;background:#fff;transition:border-color var(--t-fast),color var(--t-fast),transform .25s var(--spring);}
.related a:hover{border-color:var(--cta);color:var(--cta);transform:translateY(-2px);}
.related a:active{transform:scale(.97);}

/* ---------- Footer ---------- */
footer.site{background:var(--dk2);color:#fff;border-top:1px solid rgba(255,255,255,.05);padding:clamp(3rem,6vw,4.5rem) 0 6.5rem;}
.footer-grid{display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));}
.footer-grid h4{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--c);margin-bottom:1rem;font-weight:600;}
.footer-grid ul{display:grid;gap:.45rem;}
.footer-grid a{color:rgba(255,255,255,.55);text-decoration:none;font-size:.88rem;font-weight:300;transition:color var(--t-fast);}
.footer-grid a:hover{color:#fff;}
.footer-grid address{font-style:normal;color:rgba(255,255,255,.55);font-size:.88rem;line-height:1.9;font-weight:300;}
.footer-bottom{margin-top:3rem;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.07);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;font-size:.78rem;color:rgba(255,255,255,.25);font-weight:300;}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:1.2rem;}
.footer-bottom a,.footer-bottom button{color:rgba(255,255,255,.25);text-decoration:none;font-size:.78rem;font-weight:300;transition:color .2s;}
.footer-bottom a:hover,.footer-bottom button:hover{color:rgba(255,255,255,.65);}

/* ---------- 24/7-FAB ---------- */
.fab{position:fixed;right:clamp(.9rem,3vw,1.6rem);bottom:clamp(.9rem,3vw,1.6rem);z-index:90;display:grid;justify-items:end;gap:.7rem;}
.fab-menu{display:grid;gap:.5rem;transform-origin:bottom right;transform:scale(.85) translateY(10px);opacity:0;visibility:hidden;transition:transform var(--t-med) var(--spring),opacity var(--t-med) var(--spring),visibility 0s linear var(--t-med);}
.fab.open .fab-menu{transform:none;opacity:1;visibility:visible;transition:transform var(--t-med) var(--spring),opacity var(--t-med) var(--spring);}
.fab-item{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-weight:700;font-size:.9rem;background:#fff;color:var(--txt);border-radius:100px;padding:.7rem 1.2rem;box-shadow:0 8px 32px rgba(0,0,0,.18);border:1px solid rgba(0,0,0,.05);transition:transform .25s var(--spring),box-shadow var(--t-fast);}
.fab-item:hover{box-shadow:0 14px 44px rgba(0,0,0,.22);transform:translateY(-2px);}
.fab-item:active{transform:scale(.97);}
.fab-item .ico{width:17px;height:17px;color:var(--cta);}
.fab-toggle{width:60px;height:60px;border-radius:50%;background:var(--cta);color:#fff;display:grid;place-items:center;box-shadow:0 8px 24px rgba(37,99,235,.45);transition:transform .25s var(--spring),background var(--t-fast);position:relative;}
.fab-toggle:hover{background:var(--cta-h);}
.fab-toggle:active{transform:scale(.94);}
.fab-toggle svg{width:24px;height:24px;transition:transform var(--t-med) var(--spring),opacity var(--t-med);}
.fab-toggle .ico-close{position:absolute;transform:rotate(-45deg) scale(.6);opacity:0;}
.fab.open .fab-toggle .ico-open{transform:rotate(45deg) scale(.6);opacity:0;}
.fab.open .fab-toggle .ico-close{transform:none;opacity:1;}
.fab-badge{position:absolute;top:-4px;right:-4px;background:var(--green);color:var(--dk);font-size:.56rem;font-weight:800;letter-spacing:.04em;border-radius:100px;padding:.2rem .45rem;border:2px solid var(--dk);pointer-events:none;}

/* ---------- Mobile Sticky-CTA ---------- */
.sticky-cta{position:fixed;inset-inline:0;bottom:0;z-index:80;display:flex;gap:.6rem;padding:.7rem .9rem calc(.7rem + env(safe-area-inset-bottom));background:rgba(12,14,17,.86);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);border-top:1px solid rgba(255,255,255,.12);transform:translateY(110%);transition:transform var(--t-med) var(--spring);}
.sticky-cta.show{transform:none;}
.sticky-cta .btn{flex:1;padding:.85rem 1rem;font-size:.9rem;}
@media(min-width:768px){.sticky-cta{display:none;}}

/* ---------- Cookie-Banner ---------- */
.cookie-banner{position:fixed;z-index:550;inset-inline:clamp(.8rem,3vw,1.6rem);bottom:clamp(.8rem,3vw,1.6rem);max-width:460px;margin-left:auto;background:#fff;color:var(--txt);border-radius:var(--r-lg);box-shadow:0 24px 80px rgba(0,0,0,.3);border:1px solid var(--lg);padding:1.4rem;transform:translateY(20px);opacity:0;visibility:hidden;transition:transform var(--t-med) var(--spring),opacity var(--t-med) var(--spring),visibility 0s linear var(--t-med);}
.cookie-banner.show{transform:none;opacity:1;visibility:visible;transition:transform var(--t-med) var(--spring),opacity var(--t-med) var(--spring);}
.cookie-banner h3{font-size:1rem;margin-bottom:.5rem;}
.cookie-banner p{font-size:.83rem;color:var(--txt2);margin-bottom:1rem;font-weight:300;}
.cookie-banner p a{color:var(--cta);}
.cookie-actions{display:flex;gap:.6rem;flex-wrap:wrap;}
.cookie-actions .btn{flex:1;min-width:120px;padding:.75rem 1rem;font-size:.85rem;border-radius:10px;}
.cookie-settings-link{text-decoration:underline;background:none;padding:0;}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s var(--spring),transform .75s var(--spring);will-change:opacity,transform;}
.reveal.in{opacity:1;transform:none;}
.reveal-d1{transition-delay:.08s;}.reveal-d2{transition-delay:.16s;}.reveal-d3{transition-delay:.24s;}

/* ---------- Danke / 404 / Rechtstexte ---------- */
.thanks-hero{min-height:70vh;display:grid;place-items:center;text-align:center;}
.check-circle{width:92px;height:92px;border-radius:50%;background:rgba(34,197,94,.12);color:var(--green);display:grid;place-items:center;margin:0 auto 1.6rem;}
.check-circle svg{width:44px;height:44px;}
.next-steps{max-width:640px;margin:2.5rem auto 0;text-align:left;display:grid;gap:1rem;}
.next-step{display:flex;gap:1rem;align-items:flex-start;background:#fff;border:1px solid var(--lg);border-radius:var(--r);padding:1.1rem 1.3rem;}
.next-step .n{width:34px;height:34px;flex:none;border-radius:50%;background:var(--off);display:grid;place-items:center;font-weight:800;color:var(--cta);font-size:.95rem;}
.next-step b{display:block;}
.next-step p{font-size:.88rem;color:var(--txt2);font-weight:300;}
.err-hero{min-height:78vh;display:grid;place-items:center;text-align:center;}
.err-code{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:clamp(6rem,19vw,13rem);line-height:.9;letter-spacing:-.03em;-webkit-text-stroke:2px var(--c);color:transparent;}
.legal{max-width:780px;}
.legal h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.35rem;font-weight:800;letter-spacing:0;margin:2.4rem 0 .8rem;line-height:1.3;}
.legal h3{font-size:1.05rem;margin:1.6rem 0 .5rem;}
.legal p,.legal li{color:var(--txt2);font-size:.95rem;font-weight:300;}
.legal ul{padding-left:1.2rem;margin:.6rem 0;list-style:disc;}
.legal a{color:var(--cta);}

/* ---------- Nav-Dropdown "Leistungen" ---------- */
.nav-item{position:relative;display:flex;align-items:center;}
.has-sub>a{display:inline-flex;align-items:center;gap:5px;}
.has-sub>a .chev{width:12px;height:12px;flex:none;transition:transform var(--t-med) var(--spring);}
.has-sub:hover>a .chev,.has-sub:focus-within>a .chev,.has-sub.open>a .chev{transform:rotate(180deg);}
.has-sub::after{content:"";position:absolute;top:100%;left:-24px;right:-24px;height:20px;}
.nav-sub{
  position:absolute;top:calc(100% + 16px);left:-18px;min-width:460px;
  display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:.7rem;
  background:rgba(12,14,17,.94);-webkit-backdrop-filter:blur(28px) saturate(180%);backdrop-filter:blur(28px) saturate(180%);
  border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.5);
  transform-origin:top left;transform:scale(.95) translateY(-6px);opacity:0;visibility:hidden;
  transition:transform var(--t-med) var(--spring),opacity var(--t-med) var(--spring),visibility 0s linear var(--t-med);
}
.has-sub:hover .nav-sub,.has-sub:focus-within .nav-sub,.has-sub.open .nav-sub{transform:none;opacity:1;visibility:visible;transition:transform var(--t-med) var(--spring),opacity var(--t-med) var(--spring);}
.nav-links .nav-sub a{display:flex;align-items:center;gap:.6rem;padding:.6rem .7rem;border-radius:10px;font-size:.85rem;font-weight:600;color:rgba(255,255,255,.75);white-space:nowrap;transition:background var(--t-fast),color var(--t-fast);}
.nav-links .nav-sub a:hover{background:rgba(255,255,255,.09);color:#fff;}
.nav-sub .ico{width:15px;height:15px;flex:none;color:var(--c-lt);transition:color var(--t-fast);}
.nav-sub a:hover .ico{color:var(--gold);}
.nav-links .nav-sub .nav-sub-all{grid-column:1/-1;justify-content:center;margin-top:.35rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1);border-radius:0;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c-lt);}
.nav-links .nav-sub .nav-sub-all:hover{background:none;color:#fff;}

/* Mobile-Menü: Leistungen-Untermenü */
.menu-sub-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;font-weight:600;font-size:1.02rem;padding:.85rem 1rem;border-radius:12px;text-align:left;transition:background var(--t-fast);}
.menu-sub-toggle:hover{background:rgba(255,255,255,.09);}
.menu-sub-toggle .chev{width:18px;height:18px;flex:none;color:var(--c-lt);transition:transform var(--t-med) var(--spring);}
.menu-item-sub.open .menu-sub-toggle .chev{transform:rotate(180deg);}
.menu-sub{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows var(--t-med) var(--spring),opacity var(--t-med);}
.menu-item-sub.open .menu-sub{grid-template-rows:1fr;opacity:1;}
.menu-sub>div{overflow:hidden;display:grid;}
.mobile-menu .menu-sub a{display:flex;align-items:center;gap:.6rem;font-size:.92rem;font-weight:500;padding:.55rem 1rem .55rem 1.5rem;color:rgba(255,255,255,.78);}
.menu-sub .ico{width:15px;height:15px;flex:none;color:var(--c-lt);}
.mobile-menu .menu-sub .menu-sub-all{font-weight:700;color:#fff;}

/* ---------- Links unten: Scroll-Top + Cookie ---------- */
.edge-left{position:fixed;left:clamp(.9rem,3vw,1.6rem);bottom:clamp(.9rem,3vw,1.6rem);z-index:90;display:grid;gap:.6rem;justify-items:start;transition:bottom var(--t-med) var(--spring);}
.scrolltop{width:44px;height:44px;border-radius:50%;background:rgba(12,14,17,.8);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.14);color:#fff;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.25);transform:translateY(8px) scale(.8);opacity:0;visibility:hidden;pointer-events:none;transition:transform .25s var(--spring),opacity .25s,visibility 0s linear .25s,background var(--t-fast);}
.scrolltop.show{transform:none;opacity:1;visibility:visible;pointer-events:auto;transition:transform .25s var(--spring),opacity .25s,background var(--t-fast);}
.scrolltop:hover{background:rgba(12,14,17,.95);}
.scrolltop:active{transform:scale(.92);}
.scrolltop svg{width:19px;height:19px;}
.cookie-fab{width:38px;height:38px;border-radius:50%;background:rgba(12,14,17,.5);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.72);display:grid;place-items:center;opacity:.72;transition:opacity var(--t-fast),background var(--t-fast),color var(--t-fast),transform .25s var(--spring);}
.cookie-fab:hover{opacity:1;background:rgba(12,14,17,.92);color:#fff;}
.cookie-fab:active{transform:scale(.92);}
.cookie-fab svg{width:18px;height:18px;}
/* Mobil: alle schwebenden Buttons gleiten gemeinsam ueber die Sticky-CTA-Leiste */
.fab{transition:bottom var(--t-med) var(--spring);}
@media(max-width:767px){
  body.sticky-on .edge-left,body.sticky-on .fab{bottom:calc(var(--dock-h,5.4rem) + .75rem);}
}

/* ---------- Reduced Motion / Transparenz ---------- */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{transition-duration:1ms !important;animation-duration:1ms !important;animation-iteration-count:1 !important;}
  .reveal{transform:none;transition:opacity 200ms ease !important;}
  .mobile-menu,.fab-menu,.cookie-banner,.sticky-cta,.wiz-step.active,.nav-sub,.scrolltop{transform:none !important;transition:opacity 200ms ease,visibility 0s !important;animation:none !important;}
  .card:hover,.svc-card:hover,.usp-card:hover,.step:hover .num{transform:none;}
}
@media(prefers-reduced-transparency:reduce){
  .nav-shell.floating .nav,.mobile-menu,.sticky-cta,.nav-sub,.scrolltop,.cookie-fab{background:#0F1215;-webkit-backdrop-filter:none;backdrop-filter:none;}
  .stats-bar{background:rgba(0,0,0,.85);-webkit-backdrop-filter:none;backdrop-filter:none;}
}
@media print{.nav-shell,.fab,.edge-left,.sticky-cta,.cookie-banner,.cta-band{display:none !important;}body{color:#000;}}
