@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url('assets/fonts/dm-sans-300-italic.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('assets/fonts/dm-sans-300-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('assets/fonts/dm-sans-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('assets/fonts/dm-sans-500-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('assets/fonts/syne-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('assets/fonts/syne-600-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('assets/fonts/syne-700-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('assets/fonts/syne-800-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --d0: #06070c;
  --d1: #0a0c16;
  --d2: #0f1220;
  --db: rgba(255,255,255,0.07);
  --db2: rgba(255,255,255,0.13);
  --a:  #00c8ff;
  --a2: #0050ff;
  --a3: #00e5a0;
  --dt: #edf0f9;
  --dt2:#7d85a2;
  --dt3:#424e6a;

  --l0: #f4f5fa;
  --l1: #ffffff;
  --l2: #eceef6;
  --lb: rgba(0,0,0,0.07);
  --lb2:rgba(0,0,0,0.13);
  --lt: #0d0f1e;
  --lt2:#474d6a;
  --lt3:#9098b2;

  --H: 'Syne', sans-serif;
  --B: 'DM Sans', sans-serif;
  --r: 12px;
  --R: 20px;
}
/* ── MAX WIDTH CONTAINER — zentriert auf allen Bildschirmen ── */
.container {
  max-width: 1400px;
  margin: 0 auto;
  width: 100%;
}
/* Nav inner */
.nav-inner {
  max-width: 1400px;
  margin: 0 auto;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
/* Hero */
.hero-wrap {
  max-width: 1400px;
  margin: 0 auto;
}
/* Emergency bar inner */
.emergency-inner {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  position: relative;
  width: 100%;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:hidden;scroll-behavior:smooth}
body{overflow-x:hidden;background:var(--d0);color:var(--dt);font-family:var(--B);font-size:16px;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:300;height:68px;padding:0 clamp(20px,5vw,80px);display:flex;align-items:center;justify-content:space-between;background:rgba(6,7,12,0.88);backdrop-filter:blur(22px);border-bottom:1px solid var(--db)}
.logo{font-family:var(--H);font-weight:800;font-size:1.4rem;letter-spacing:-0.03em;color:var(--dt);text-decoration:none}
.logo-it{color:var(--a)}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{color:var(--dt2);text-decoration:none;font-size:0.875rem;transition:color .2s}
.nav-links a:hover{color:var(--dt)}
.nav-r{display:flex;align-items:center;gap:16px}
.nav-ph{font-size:.85rem;color:var(--dt2);text-decoration:none;transition:color .2s}
.nav-ph:hover{color:var(--dt)}
.nav-cta{background:var(--a);color:#06070c;font-weight:700;font-size:.85rem;padding:9px 20px;border-radius:8px;text-decoration:none;font-family:var(--B);transition:opacity .2s,transform .15s;white-space:nowrap}
.nav-cta:hover{opacity:.88;transform:translateY(-1px)}

/* ── BUTTONS ── */
.btn{background:linear-gradient(135deg,var(--a2),var(--a));color:#fff;font-weight:600;font-size:.95rem;padding:13px 28px;border-radius:var(--r);text-decoration:none;box-shadow:0 4px 28px rgba(0,80,255,.32);transition:transform .2s,box-shadow .2s;display:inline-block}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 36px rgba(0,80,255,.48)}
.btn-gd{color:var(--dt);font-weight:500;font-size:.95rem;padding:13px 24px;border-radius:var(--r);text-decoration:none;border:1px solid var(--db2);transition:background .2s,border-color .2s}
.btn-gd:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.25)}
.btn-gl{color:var(--lt);font-weight:500;font-size:.95rem;padding:13px 24px;border-radius:var(--r);text-decoration:none;border:1px solid var(--lb2);transition:background .2s}
.btn-gl:hover{background:rgba(0,0,0,.04)}

/* ── SHARED ── */
section{padding:0}
.sl{font-size:.74rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-bottom:14px}
.sl-a{color:var(--a)}
.sl-b{color:var(--a2)}
h2{font-family:var(--H);font-weight:700;font-size:clamp(1.9rem,3.8vw,2.9rem);line-height:1.1;letter-spacing:-.025em;margin-bottom:18px}
.sub{font-size:1.05rem;line-height:1.75;max-width:540px;margin-bottom:52px;font-weight:300}
.sub-d{color:var(--dt2)}
.sub-l{color:var(--lt2)}

/* ════════════════════════
   DARK ZONE
════════════════════════ */

/* HERO */
.hero{min-height:100vh;display:flex;align-items:center;padding:130px clamp(20px,5vw,80px) 80px;position:relative;overflow:hidden;background:var(--d0)}
.orb1{position:absolute;width:900px;height:720px;background:radial-gradient(ellipse,rgba(0,80,255,.2) 0%,transparent 65%);top:-130px;right:-200px;pointer-events:none}
.orb2{position:absolute;width:600px;height:480px;background:radial-gradient(ellipse,rgba(0,200,255,.09) 0%,transparent 65%);bottom:40px;left:-100px;pointer-events:none}
.grid{position:absolute;inset:0;pointer-events:none;opacity:.027;background-image:linear-gradient(rgba(0,200,255,1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,200,255,1) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 90% 85% at 50% 50%,black 0%,transparent 80%)}
.hero-wrap{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center;width:100%;max-width:1280px}

.hbadge{display:inline-flex;align-items:center;gap:8px;background:rgba(0,200,255,.07);border:1px solid rgba(0,200,255,.17);color:var(--a);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px 14px;border-radius:100px;margin-bottom:26px}
.pulse{width:6px;height:6px;border-radius:50%;background:var(--a);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}

h1{font-family:var(--H);font-weight:800;font-size:clamp(2.8rem,5.5vw,5.2rem);line-height:1.03;letter-spacing:-.036em;margin-bottom:4px}
.h1b{font-family:var(--H);font-weight:600;font-size:clamp(1.1rem,2.2vw,1.65rem);color:var(--dt2);letter-spacing:-.018em;margin-bottom:28px;line-height:1.3}
.h1b em{font-style:normal;color:var(--a)}
.hcopy{font-size:1.02rem;color:var(--dt2);font-weight:300;line-height:1.85;max-width:472px;margin-bottom:40px}
.hcopy strong{color:var(--dt);font-weight:500}
.hbtns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:52px}

.hstats{display:grid;grid-template-columns:repeat(2,1fr);gap:3px}
.hs{background:var(--d1);padding:17px 19px;border:1px solid var(--db)}
.hs:nth-child(1){border-radius:var(--r) 0 0 0}
.hs:nth-child(2){border-radius:0 var(--r) 0 0}
.hs:nth-child(3){border-radius:0 0 0 var(--r)}
.hs:nth-child(4){border-radius:0 0 var(--r) 0}
.hn{font-family:var(--H);font-weight:800;font-size:1.85rem;color:var(--dt);line-height:1;margin-bottom:3px}
.hn span{color:var(--a)}
.hl{font-size:.76rem;color:var(--dt3)}

/* RZ PANEL */
.rzpanel{background:var(--d1);border:1px solid var(--db);border-radius:var(--R);padding:28px}
.rzp-title{font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--a);margin-bottom:20px;display:flex;align-items:center;gap:8px}
.rzp-title::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--a3);animation:pulse 2s .5s infinite}

.rzloc{background:var(--d2);border:1px solid var(--db);border-radius:var(--r);padding:18px;margin-bottom:10px}
.rzloc:last-of-type{margin-bottom:0}
.rzlh{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.rzln{font-family:var(--H);font-weight:700;font-size:.92rem;display:flex;align-items:center;gap:7px}
.rzup{font-size:.68rem;font-weight:700;color:var(--a3);background:rgba(0,229,160,.08);border:1px solid rgba(0,229,160,.15);padding:3px 9px;border-radius:100px}
.rzsvcs{display:flex;flex-direction:column;gap:5px}
.rzsvc{display:flex;align-items:center;justify-content:space-between;padding:5px 9px;background:rgba(255,255,255,.03);border-radius:5px}
.rzsvn{font-size:.76rem;color:var(--dt2);display:flex;align-items:center;gap:7px}
.dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.dot-md{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.tav-init{background:var(--l2);color:var(--a2)}
.mrz-chip-aktiv{background:rgba(0,229,160,.06);border-color:rgba(0,229,160,.15)}
.on {background:var(--a3);animation:pulse 2s infinite}
.on2{background:var(--a);animation:pulse 2s .4s infinite}
.rzst{font-size:.66rem;color:var(--dt3);font-weight:600;letter-spacing:.05em}

.rzall{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding:10px 14px;background:rgba(0,229,160,.05);border:1px solid rgba(0,229,160,.13);border-radius:8px}
.rzall-l{font-size:.78rem;color:var(--a3);font-weight:700;display:flex;align-items:center;gap:7px}
.rzall-l::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--a3)}
.rzall-r{font-size:.7rem;color:var(--dt3)}

/* TICKER */
.ticker-wrap{border-top:1px solid var(--db);border-bottom:1px solid var(--db);padding:13px 0;overflow:hidden;background:var(--d1)}
.ticker{display:flex;gap:48px;width:max-content;animation:scroll 32s linear infinite}
.ticker:hover{animation-play-state:paused}
@keyframes scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.ti{display:flex;align-items:center;gap:10px;font-size:.76rem;font-weight:600;color:var(--dt3);white-space:nowrap;text-transform:uppercase;letter-spacing:.09em}
.td{width:4px;height:4px;border-radius:50%;background:var(--a);opacity:.4}

/* ════════════════════════
   STATEMENT BRIDGE
════════════════════════ */
.bridge{
  background:var(--l1);
  padding:0 clamp(20px,5vw,80px);
  overflow:hidden;
  position:relative;
}
/* Top dark wedge — clips into the white */
.bridge::before{
  content:'';
  display:block;
  width:100%;
  height:80px;
  background:var(--d0);
  clip-path:polygon(0 0,100% 0,100% 100%,0 0);
  /* actually we paint a dark triangle at the top */
}
.bridge-inner{
  padding:64px 0 88px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  position:relative;
}
.bridge-rule{
  width:48px;height:3px;
  background:linear-gradient(90deg,var(--a2),var(--a));
  border-radius:2px;margin-bottom:36px;
}
.bridge-inner h2{
  font-family:var(--H);font-weight:800;
  font-size:clamp(2rem,5vw,3.8rem);
  line-height:1.08;letter-spacing:-.03em;
  color:var(--lt);max-width:820px;margin-bottom:0;
}
.bridge-inner h2 em{font-style:normal;color:var(--a2)}
.bridge-inner p{
  font-size:1.1rem;color:var(--lt2);font-weight:300;
  line-height:1.8;max-width:580px;margin-top:24px;
}
.bridge-chips{display:grid;grid-template-columns:repeat(3,auto);gap:10px;justify-content:center;margin-top:32px}
.bchip{font-size:.82rem;font-weight:600;color:var(--a2);background:rgba(0,80,255,.07);border:1px solid rgba(0,80,255,.15);padding:8px 20px;border-radius:8px;text-align:center;white-space:nowrap}

/* ════════════════════════
   LIGHT ZONE
════════════════════════ */

/* SERVICES */
.svc{background:var(--l0)}
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.scard{background:var(--l1);border:1px solid var(--lb);border-radius:var(--r);padding:34px;position:relative;overflow:hidden;transition:box-shadow .25s,transform .2s}
.scard:hover{box-shadow:0 8px 28px rgba(0,0,0,.07);transform:translateY(-2px)}
.scard::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--a2),var(--a));transform:scaleX(0);transform-origin:left;transition:transform .3s}
.scard:hover::before{transform:scaleX(1)}
.sico{width:42px;height:42px;border-radius:10px;background:rgba(0,80,255,.07);border:1px solid rgba(0,80,255,.11);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.sico svg{width:19px;height:19px;stroke:var(--a2);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.scard h3{font-family:var(--H);font-weight:600;font-size:1rem;margin-bottom:9px;color:var(--lt)}
.scard p{font-size:.875rem;color:var(--lt2);line-height:1.7;margin-bottom:18px}
.slink{font-size:.8rem;font-weight:600;color:var(--a2);text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:gap .2s}
.slink:hover{gap:10px}
.snum{position:absolute;bottom:18px;right:22px;font-family:var(--H);font-size:4.5rem;font-weight:800;color:rgba(0,0,0,.03);line-height:1;pointer-events:none}

/* HOW */
.how{background:var(--l2)}
.how-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--lb);border-radius:var(--R);overflow:hidden}
.how-step{padding:38px 30px;background:var(--l1);border-right:1px solid var(--lb)}
.how-step:last-child{border-right:none}
.how-step::before{content:attr(data-n);font-family:var(--H);font-weight:800;font-size:3.5rem;color:rgba(0,80,255,.08);line-height:1;display:block;margin-bottom:16px}
.how-step h3{font-family:var(--H);font-weight:600;font-size:.97rem;margin-bottom:9px;color:var(--lt)}
.how-step p{font-size:.86rem;color:var(--lt2);line-height:1.7}

/* MODELLE */
.modelle{background:var(--l0)}
.mod-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.mod{background:var(--l1);border:1px solid var(--lb);border-radius:var(--r);padding:40px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;transition:box-shadow .25s}
.mod:hover{box-shadow:0 8px 28px rgba(0,0,0,.06)}
.mod.star{background:linear-gradient(140deg,#eef3ff,#e6f8ff);border:2px solid rgba(0,80,255,.18)}
.mtag{display:inline-flex;align-items:center;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 12px;border-radius:100px;width:fit-content;margin-bottom:2px}
.tp{background:rgba(0,229,160,.12);color:#007050}
.tr{background:rgba(60,100,255,.1);color:#2244cc}
.tm{background:rgba(0,80,255,.1);color:var(--a2)}
.t4{background:rgba(0,0,0,.05);color:var(--lt3)}
.mod h3{font-family:var(--H);font-weight:700;font-size:1.45rem;color:var(--lt)}
.mod p{font-size:.9rem;color:var(--lt2);line-height:1.75}
.mod ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.mod li{font-size:.86rem;color:var(--lt2);padding-left:17px;position:relative}
.mod li::before{content:'→';position:absolute;left:0;color:var(--a2);font-weight:700}
.sbadge{position:absolute;top:16px;right:16px;background:var(--a2);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:6px}

/* ════════════════════════
   DARK: RECHENZENTRUM
════════════════════════ */
.rzsec{background:var(--d0);padding:0}
.rzhead{max-width:760px;margin-bottom:52px}
.rzhead h2{color:var(--dt);font-size:clamp(2rem,4.5vw,3.3rem);margin-bottom:18px}
.rzhead p{font-size:1.05rem;color:var(--dt2);line-height:1.8;font-weight:300}
.rzhead p strong{color:var(--dt);font-weight:500}

.rzlocs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:44px}
.rzcard{background:var(--d1);border:1px solid var(--db);border-radius:var(--r);padding:26px;transition:border-color .2s}
.rzcard:hover{border-color:rgba(0,200,255,.2)}
.rzct{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}
.rzci{font-family:var(--H);font-weight:700;font-size:1.25rem;color:var(--dt);display:flex;align-items:center;gap:8px}
.rzcsub{font-size:.78rem;color:var(--dt3);margin-top:3px}
.rzup2{display:flex;align-items:center;gap:5px;font-size:.68rem;font-weight:700;color:var(--a3);background:rgba(0,229,160,.07);border:1px solid rgba(0,229,160,.14);padding:3px 9px;border-radius:100px;white-space:nowrap}
.rzup2::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--a3);animation:pulse 2s infinite}
.rzdiv{height:1px;background:var(--db);margin-bottom:14px}
.rzrows{display:flex;flex-direction:column;gap:5px}
.rzrow{display:flex;align-items:center;justify-content:space-between}
.rzsn{font-size:.8rem;color:var(--dt2);display:flex;align-items:center;gap:8px}
.rzs{font-size:.67rem;color:var(--dt3);font-weight:600;letter-spacing:.05em}

.rzfacts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.rzfact{background:var(--d1);border:1px solid var(--db);border-radius:var(--r);padding:18px}
.rzfact-i{font-size:1.3rem;margin-bottom:8px}
.rzfact strong{font-weight:600;font-size:.88rem;color:var(--dt);display:block;margin-bottom:3px}
.rzfact span{font-size:.78rem;color:var(--dt2)}
.rztags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.rztag{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--dt2);background:var(--d1);border:1px solid var(--db);padding:5px 13px;border-radius:100px}
.rztag::before{content:'✓';color:var(--a3);font-weight:700}

/* BRANCHEN (light) */
.branchen{background:var(--l2)}
.br-grid{display:flex;flex-wrap:wrap;gap:10px}
.br{padding:10px 20px;border-radius:100px;border:1px solid var(--lb2);font-size:.87rem;color:var(--lt2);background:var(--l1);transition:all .2s;cursor:default}
.br:hover{border-color:var(--a2);color:var(--a2);background:rgba(0,80,255,.04)}

/* CTO (dark) */
.ctosec{background:var(--d1);padding:0}
.ctoin{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.ctocard{background:linear-gradient(140deg,rgba(0,80,255,.1),rgba(0,229,160,.05));border:1px solid rgba(0,200,255,.13);border-radius:var(--R);padding:44px;position:relative;overflow:hidden}
.ctocard::before{content:'CTO';position:absolute;bottom:-22px;right:14px;font-family:var(--H);font-weight:800;font-size:7rem;color:rgba(255,255,255,.03);line-height:1;pointer-events:none}
.ctocard h3{font-family:var(--H);font-weight:700;font-size:1.45rem;margin-bottom:14px;color:var(--dt)}
.ctoq{background:rgba(0,200,255,.05);border-left:2px solid var(--a);padding:14px 18px;border-radius:0 8px 8px 0;font-size:.88rem;color:var(--dt2);font-style:italic;line-height:1.7;margin-bottom:22px}
.ctopt{list-style:none;display:flex;flex-direction:column;gap:8px}
.ctopt li{font-size:.86rem;color:var(--dt2);padding-left:17px;position:relative}
.ctopt li::before{content:'→';position:absolute;left:0;color:var(--a);font-weight:700}
.ctogeo{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}
.ctogeo span{font-size:.78rem;color:var(--dt3);background:var(--d2);border:1px solid var(--db);padding:4px 12px;border-radius:100px}

/* WHY (light) */
.why{background:var(--l1)}
.why-g{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.wyc{background:var(--l0);border:1px solid var(--lb);border-radius:var(--r);padding:30px 26px;transition:box-shadow .2s,border-color .2s}
.wyc:hover{border-color:rgba(0,80,255,.15);box-shadow:0 4px 20px rgba(0,0,0,.05)}
.wi{font-size:1.5rem;margin-bottom:13px}
.wyc h3{font-family:var(--H);font-weight:600;font-size:.97rem;margin-bottom:9px;color:var(--lt)}
.wyc p{font-size:.86rem;color:var(--lt2);line-height:1.7}

/* TEAM (light) */
.teamsec{background:var(--l2);padding:0}
.team-g{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.tc{background:var(--l1);border:1px solid var(--lb);border-radius:var(--r);padding:26px;text-align:center;transition:box-shadow .2s}
.tc:hover{box-shadow:0 4px 20px rgba(0,0,0,.06)}
.tav{width:62px;height:62px;border-radius:50%;margin:0 auto 13px;background:var(--l2);border:2px solid var(--lb2);display:flex;align-items:center;justify-content:center;font-family:var(--H);font-weight:700;font-size:1.05rem;color:var(--a2);overflow:hidden}
.tav img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.tc h4{font-family:var(--H);font-weight:600;font-size:.92rem;margin-bottom:3px;color:var(--lt)}
.tc span{font-size:.78rem;color:var(--lt2)}

/* CTA BAND (dark) */
.ctaband{background:var(--d0);background-image:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(0,80,255,.12) 0%,transparent 70%);border-top:1px solid var(--db);text-align:center}
.ctaband h2{color:var(--dt);font-size:clamp(2rem,5vw,3.2rem);margin-bottom:16px;max-width:680px;margin-left:auto;margin-right:auto}
.ctaband .csub{color:var(--dt2);font-size:1rem;max-width:460px;margin:0 auto 40px}
.ctar{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.ctnote{font-size:.77rem;color:var(--dt3);margin-top:18px}

/* CONTACT (light) */
/* Kontakt */
.contact{background:var(--l0)}
.ct-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:52px;align-items:start;margin-top:44px}
.ct-aside{display:flex;flex-direction:column;gap:10px}
.ci{display:flex;align-items:center;gap:14px;background:var(--l1);border:1px solid var(--lb);border-radius:var(--r);padding:16px 18px;text-decoration:none;transition:border-color .2s,box-shadow .2s}
.ci:hover{border-color:rgba(0,80,255,.2);box-shadow:0 4px 16px rgba(0,0,0,.05)}
.ci svg{width:18px;height:18px;stroke:var(--a2);flex-shrink:0}
.ci-text strong{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--lt3);margin-bottom:2px}
.ci-text span{font-size:.9rem;font-weight:500;color:var(--lt);transition:color .2s}
.ci:hover .ci-text span{color:var(--a2)}
.ct-trust{margin-top:6px;display:flex;flex-direction:column;gap:10px;padding:22px;background:var(--l2);border-radius:var(--r);border:1px solid var(--lb)}
.ct-trust-item{display:flex;align-items:flex-start;gap:10px;font-size:.84rem;color:var(--lt2);line-height:1.5}
.ct-trust-dot{width:7px;height:7px;border-radius:50%;background:var(--a3);flex-shrink:0;margin-top:5px}
.ct-form-card{background:var(--l1);border:1px solid var(--lb);border-radius:var(--R);padding:36px 32px}
.ctform{display:flex;flex-direction:column;gap:13px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:13px}
input,select,textarea{background:var(--l0);border:1px solid var(--lb2);border-radius:10px;padding:12px 15px;color:var(--lt);font-family:var(--B);font-size:.9rem;width:100%;transition:border-color .25s,background .2s;outline:none}
input::placeholder,textarea::placeholder{color:var(--lt3)}
input:focus,select:focus,textarea:focus{border-color:rgba(0,80,255,.35);background:var(--l1)}
textarea{resize:vertical;min-height:120px}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239098b2' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
select option{background:#fff;color:var(--lt)}
.fsub{background:linear-gradient(135deg,var(--a2),var(--a));color:#fff;font-weight:700;font-size:.93rem;padding:13px 28px;border-radius:var(--r);border:none;cursor:pointer;font-family:var(--B);box-shadow:0 4px 24px rgba(0,80,255,.26);transition:transform .2s,box-shadow .2s;align-self:flex-start}
.fsub:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,80,255,.38)}
.fsub:disabled{opacity:.6;transform:none;cursor:not-allowed}
@media(max-width:860px){.ct-grid{grid-template-columns:1fr}}
@media(max-width:560px){.ct-form-card{padding:24px 18px}.frow{grid-template-columns:1fr}}

/* Mobile-only elements versteckt auf Desktop */
.mobile-rz-strip { display:none }
.mobile-call-btn { display:none }
.partner-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.pcard{background:var(--d2);border:1px solid var(--db);border-radius:var(--r);padding:28px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;transition:border-color .2s,transform .2s;text-align:center;height:110px}
.pcard:hover{border-color:rgba(0,200,255,.25);transform:translateY(-2px)}
.plogo{display:flex;align-items:center;justify-content:center;height:40px;width:100%;opacity:.85;transition:opacity .2s}
.pcard:hover .plogo{opacity:1}
.plogo svg{max-width:120px;width:100%;height:auto}
.ptag{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--lt3);background:var(--l2);border:1px solid var(--lb);padding:3px 10px;border-radius:100px;white-space:nowrap}

/* FAQ */
.faq-wrap{display:flex;flex-direction:column;gap:0;border:1px solid var(--lb);border-radius:var(--R);overflow:hidden}
.faq-item{background:var(--l1);border-bottom:1px solid var(--lb)}
.faq-item:last-child{border-bottom:none}
.faq-q{width:100%;background:none;border:none;text-align:left;padding:22px 28px;font-family:var(--H);font-weight:600;font-size:1rem;color:var(--lt);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;transition:background .2s}
.faq-q:hover{background:var(--l0)}
.faq-icon{width:22px;height:22px;border-radius:50%;background:rgba(0,80,255,.08);border:1px solid rgba(0,80,255,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.8rem;color:var(--a2);transition:transform .25s,background .2s}
.faq-item.open .faq-icon{transform:rotate(45deg);background:var(--a2);color:#fff;border-color:var(--a2)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .25s}
.faq-item.open .faq-a{max-height:300px}
.faq-a-inner{padding:0 28px 22px;font-size:.95rem;color:var(--lt2);line-height:1.8;border-top:1px solid var(--lb)}

/* Section heading colors — avoids per-element inline overrides */
.svc h2,.how h2,.modelle h2,.branchen h2,.why h2,.teamsec h2,.faq-sec h2,.contact h2{color:var(--lt)}
.partner h2{color:var(--dt)}
.partner .sl{text-align:center}
.partner h2{text-align:center;margin-bottom:12px}
.partner .partner-sub{color:var(--dt2);text-align:center;font-size:1rem;font-weight:300;max-width:480px;margin:0 auto 52px;line-height:1.7}
/* Section backgrounds */
.partner{background:var(--d1)}
.faq-sec{background:var(--l0)}
/* Footer inner layout */
.footer-inner{padding-top:56px;padding-bottom:32px;display:flex;flex-direction:column;gap:44px}
/* RZ note */
.rz-note{margin-top:14px;padding:10px 12px;background:rgba(0,200,255,.05);border:1px solid rgba(0,200,255,.1);border-radius:8px;font-size:.74rem;color:var(--dt3);line-height:1.6}
/* RZ location badge */
.rzloc-badge{font-size:.72rem;color:var(--dt3);font-weight:400}
/* Cookie banner */
#cookie-banner{display:none;position:fixed;bottom:0;left:0;right:0;z-index:800;background:var(--d1);border-top:1px solid var(--db2);padding:16px clamp(20px,5vw,80px)}
.cb-inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.cb-text{font-size:.85rem;color:var(--dt2);line-height:1.6;margin:0;flex:1;min-width:260px}
.cb-text a{color:var(--a);text-decoration:none;white-space:nowrap}
.cb-actions{display:flex;gap:10px;flex-shrink:0}
.cb-btn{background:var(--a2);color:#fff;border:none;padding:9px 22px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;font-family:var(--B)}
.cb-link{background:none;border:1px solid var(--db2);color:var(--dt2);padding:9px 16px;border-radius:8px;font-size:.85rem;text-decoration:none;display:flex;align-items:center}
/* Form status messages */
.form-status{display:none;padding:12px 16px;border-radius:10px;font-size:.88rem;font-weight:500;line-height:1.5}
.form-status.ok{background:rgba(0,200,100,.1);color:#007a3d;border:1px solid rgba(0,200,100,.2)}
.form-status.err{background:rgba(255,60,60,.08);color:#c0392b;border:1px solid rgba(255,60,60,.15)}

/* STORY OVERLAY */
#story-overlay{
  position:fixed;inset:0;z-index:900;
  background:rgba(0,0,0,.7);
  backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  animation:fadeIn .2s ease;
}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.story-modal{
  background:var(--d1);
  border:1px solid var(--db2);
  border-radius:var(--R);
  padding:48px;
  max-width:620px;width:100%;
  position:relative;
  max-height:90vh;overflow-y:auto;
  animation:slideUp .25s ease;
}
@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.story-close{
  position:absolute;top:16px;right:20px;
  background:rgba(255,255,255,.06);border:1px solid var(--db);
  color:var(--dt2);font-size:1.2rem;width:32px;height:32px;
  border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .2s,color .2s;
}
.story-close:hover{background:rgba(255,255,255,.12);color:var(--dt)}
.story-header{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.story-tag{
  display:inline-flex;align-items:center;
  font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--a);background:rgba(0,200,255,.08);border:1px solid rgba(0,200,255,.18);
  padding:4px 12px;border-radius:100px;margin-bottom:18px;
}
.story-title{
  font-family:var(--H);font-weight:700;font-size:1.4rem;
  color:var(--dt);line-height:1.2;margin-bottom:18px;
}
.story-body{font-size:.95rem;color:var(--dt2);line-height:1.85;margin-bottom:24px}
.story-body p{margin-bottom:12px}
.story-body p:last-child{margin-bottom:0}
.story-results{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px;
}
.story-result{
  background:rgba(0,229,160,.06);border:1px solid rgba(0,229,160,.15);
  border-radius:var(--r);padding:16px 14px;text-align:center;
}
.story-result-n{font-family:var(--H);font-weight:800;font-size:1.5rem;color:var(--a3);line-height:1;margin-bottom:4px}
.story-result-l{font-size:.75rem;color:var(--dt2)}

/* Card hover & CTA */
.tcard{cursor:pointer}
.tcard:hover{background:var(--d2);transform:translateY(-2px)}
.tcard-featured:hover{background:linear-gradient(160deg,rgba(0,80,255,.24),rgba(0,200,255,.13))}
.tcard-cta{
  font-size:.78rem;font-weight:700;color:var(--a);
  letter-spacing:.06em;text-transform:uppercase;
  margin-top:16px;display:flex;align-items:center;gap:6px;
  opacity:.7;transition:opacity .2s,gap .2s;
}
.tcard:hover .tcard-cta{opacity:1;gap:10px}

.section-inner {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(20px, 5vw, 80px);
  padding-right: clamp(20px, 5vw, 80px);
  padding-top: 96px;
  padding-bottom: 96px;
}

/* Mobile story modal — bottom sheet */
@media(max-width:680px){
  #story-overlay{align-items:flex-end;padding:0}
  .story-modal{
    border-radius:var(--R) var(--R) 0 0;
    padding:32px 22px 40px;
    max-height:85vh;
    width:100%;
    animation:slideUpMobile .3s ease;
  }
  @keyframes slideUpMobile{from{transform:translateY(100%)}to{transform:translateY(0)}}
  .story-results{grid-template-columns:1fr 1fr}
  .story-close{top:12px;right:14px}
  /* Drag indicator */
  .story-modal::before{
    content:'';display:block;
    width:40px;height:4px;border-radius:2px;
    background:rgba(255,255,255,.15);
    margin:0 auto 24px;
  }
}

/* CAROUSEL */
.tcarousel-wrap{position:relative;overflow:hidden}
.tcarousel{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(255,255,255,.05);transition:transform .4s cubic-bezier(.4,0,.2,1)}
.tdots{display:none;justify-content:center;gap:10px;margin-top:24px}
.tdot{width:8px;height:8px;border-radius:50%;border:none;background:rgba(255,255,255,.2);cursor:pointer;padding:0;transition:background .2s,transform .2s}
.tdot.active{background:var(--a);transform:scale(1.25)}
@media(min-width:681px){.tcarousel{transform:none !important}.tdots{display:none !important}}
@media(max-width:680px){
  .tcarousel-wrap{overflow:hidden;touch-action:pan-y}
  .tcarousel{display:flex;gap:0;background:none;will-change:transform}
  .tcard{flex:0 0 100%;width:100%}
  .tcard-featured{border-left:none !important;border-right:none !important;border-top:2px solid var(--a)}
  .tdots{display:flex}
}

/* TESTIMONIALS */
.tcard{background:var(--d1);padding:44px 40px;display:flex;flex-direction:column;justify-content:space-between;gap:32px;position:relative;transition:background .25s}
.tcard:hover{background:var(--d2)}
.tcard-featured{background:linear-gradient(160deg,rgba(0,80,255,.18),rgba(0,200,255,.08));border-left:2px solid var(--a);border-right:2px solid var(--a)}
.tcard-featured:hover{background:linear-gradient(160deg,rgba(0,80,255,.22),rgba(0,200,255,.12))}
.tcard-top{flex:1}
.tquote-mark{font-family:var(--H);font-weight:800;font-size:5rem;line-height:.8;color:var(--a);opacity:.25;margin-bottom:16px;display:block}
.ttext{font-size:.97rem;color:var(--dt2);line-height:1.8;font-weight:300;font-style:italic}
.tcard-featured .ttext{color:var(--dt);font-size:1rem}
.tcard-bottom{display:flex;align-items:center;gap:14px;padding-top:28px;border-top:1px solid var(--db)}
.tavatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--a2),var(--a));display:flex;align-items:center;justify-content:center;font-family:var(--H);font-weight:700;font-size:.9rem;color:#fff;flex-shrink:0}
.tname{font-family:var(--H);font-weight:600;font-size:.92rem;color:var(--dt);margin-bottom:2px}
.trole{font-size:.78rem;color:var(--dt3)}
.tstars{margin-left:auto;color:var(--a);font-size:1rem;letter-spacing:2px;flex-shrink:0}

/* ════════════════════════════════════════
   TABLET
════════════════════════════════════════ */
@media(max-width:1100px){
  .partner-grid{grid-template-columns:repeat(3,1fr)}
  .team-g{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:900px){
  .hero-wrap,.ctoin,.ct-wrap{grid-template-columns:1fr;gap:40px}
  .mod-grid{grid-template-columns:1fr}
  .how-grid{grid-template-columns:1fr 1fr}
  .how-step{border-right:none;border-bottom:1px solid var(--lb)}
  .how-step:last-child{border-bottom:none}
  .why-g{grid-template-columns:1fr 1fr}
  .ftop{grid-template-columns:1fr 1fr}
  .rzlocs{grid-template-columns:1fr}
  .rzfacts{grid-template-columns:1fr 1fr}
  [style*="grid-template-columns:repeat(3,1fr);gap:2px"]{grid-template-columns:1fr !important}
  .partner-grid{grid-template-columns:repeat(3,1fr)}
}

/* ════════════════════════════════════════
   MOBILE — komplett neu gedacht
════════════════════════════════════════ */
@media(max-width:680px){

  /* Nav — sticky, minimal */
  nav { height:60px; padding:0 18px }
  .logo { font-size:1.2rem }
  .nav-links,.nav-ph { display:none }
  .nav-cta { font-size:.8rem; padding:8px 16px }

  /* Sektionen — deutlich kompakter */
  .section-inner { padding:56px 20px !important }

  /* Hero — komplett umgebaut für Mobile */
  .hero { min-height:auto; padding:96px 18px 56px; align-items:flex-start }
  .hero .hero-wrap { padding:0 }
  .hero-wrap { grid-template-columns:1fr; gap:0 }

  /* Hero-Right (RZ Panel) auf Mobile ausblenden — zu komplex */
  .hero-right { display:none }

  h1 { font-size:2.6rem; letter-spacing:-.03em; margin-bottom:2px }
  .h1b { font-size:1.1rem; margin-bottom:18px }
  .hcopy { font-size:.95rem; margin-bottom:28px; max-width:100% }

  .hbtns { flex-direction:column; gap:10px; margin-bottom:32px }
  .hbtns .btn { width:100%; text-align:center; padding:15px; font-size:1rem }
  .hbtns .btn-gd { width:100%; text-align:center; padding:14px; font-size:.95rem }

  /* Hero Stats — 2x2, kompakter */
  .hstats { grid-template-columns:1fr 1fr; gap:2px }
  .hs { padding:14px 12px }
  .hn { font-size:1.6rem }
  .hl { font-size:.7rem }

  /* Mobile RZ Status — vereinfacht, direkt unter Hero */
  .mobile-rz-strip {
    display:flex !important;
    background:var(--d1);
    border-top:1px solid var(--db);
    border-bottom:1px solid var(--db);
    padding:14px 18px;
    gap:8px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .mobile-rz-strip::-webkit-scrollbar { display:none }
  .mrz-chip {
    display:flex;
    align-items:center;
    gap:6px;
    background:var(--d2);
    border:1px solid var(--db);
    border-radius:100px;
    padding:7px 14px;
    white-space:nowrap;
    flex-shrink:0;
  }
  .mrz-chip span { font-size:.75rem; color:var(--dt2); }
  .mrz-chip strong { font-size:.75rem; color:var(--dt); font-weight:600 }

  /* Bridge */
  .bridge-inner { padding:44px 0 56px }
  .bridge-inner h2 { font-size:1.9rem; letter-spacing:-.025em }
  .bridge-inner p { font-size:.95rem; margin-top:16px }
  .bridge-chips { gap:8px; margin-top:20px }
  .bchip { font-size:.75rem; padding:5px 12px }

  /* Services — single column, kompakter */
  .svc-grid { grid-template-columns:1fr; gap:10px }
  .scard { padding:26px 22px }
  .snum { display:none }

  /* How — single column, weniger padding */
  .how-grid { grid-template-columns:1fr }
  .how-step { padding:24px 22px; border-right:none; border-bottom:1px solid var(--lb) }
  .how-step::before { font-size:2.5rem; margin-bottom:10px }

  /* Modelle — single column */
  .mod-grid { grid-template-columns:1fr }
  .mod { padding:28px 22px }
  .mod.star { order:-1 } /* Featured Karte nach oben */

  /* RZ Sektion */

  .rzhead { margin-bottom:36px }
  .rzhead h2 { font-size:1.8rem }
  .rzlocs { grid-template-columns:1fr; gap:10px; margin-bottom:28px }
  .rzcard { padding:20px }
  .rzfacts { grid-template-columns:1fr 1fr; gap:10px }
  .rzfact { padding:16px 14px }
  .rztags { gap:6px; margin-top:20px }
  .rztag { font-size:.72rem }

  /* Branchen — 2-col grid auf Mobile, alles sichtbar */
  .br-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .br { font-size:.82rem; padding:10px 14px; text-align:center; border-radius:10px }

  /* FAQ */
  .faq-q { padding:18px 20px; font-size:.92rem }
  .faq-a-inner { padding:0 20px 18px; font-size:.9rem }

  /* Partner — 2 Spalten */
  .partner-grid { grid-template-columns:1fr 1fr; gap:10px }
  .pcard { padding:20px 14px; min-height:90px }

  /* CTO Sektion */

  .ctoin { grid-template-columns:1fr; gap:36px }
  .ctocard { padding:28px 22px }
  .ctocard::before { display:none }

  /* Testimonials */
  #stimmen { padding:56px 18px }
  [style*="grid-template-columns:repeat(3,1fr);gap:2px"] { grid-template-columns:1fr !important }
  .tcard { padding:28px 22px; gap:22px }
  .tcard-featured { border-left:2px solid var(--a); border-right:none; border-top:2px solid var(--a) }
  .tcard-featured { order:-1 } /* Featured zuerst */
  .tquote-mark { font-size:4rem; margin-bottom:10px }

  /* Why */
  .why-g { grid-template-columns:1fr }
  .wyc { padding:22px 20px }

  /* Team — 2 Spalten, kompakter */
  .team-g { grid-template-columns:1fr 1fr; gap:10px }
  .tc { padding:20px 14px }
  .tav { width:52px; height:52px; font-size:.9rem }

  /* CTA Band */
  .ctaband { padding:64px 18px }
  .ctaband h2 { font-size:1.8rem }
  .ctar { flex-direction:column; align-items:stretch }
  .ctar .btn,.ctar .btn-gd { width:100%; text-align:center; padding:15px }

  /* Kontakt */
  .ct-grid { grid-template-columns:1fr; gap:32px; margin-top:32px }
  .ct-form-card { padding:24px 18px }

  /* Stats row in testimonials */
  [style*="display:flex;align-items:center;justify-content:center;gap:40px"] {
    gap:0 !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
  }
  [style*="width:1px;height:48px;background:var(--db)"] { display:none !important }

  /* Footer */
  .ftop { grid-template-columns:1fr }
  .fbot { flex-direction:column; gap:12px; text-align:center }
  footer { padding:44px 18px 28px }

  /* Floating call button — nur auf Mobile */
  .mobile-call-btn {
    display:flex !important;
    position:fixed;
    bottom:20px;
    right:20px;
    z-index:500;
    background:linear-gradient(135deg,var(--a2),var(--a));
    color:#fff;
    width:56px;
    height:56px;
    border-radius:50%;
    align-items:center;
    justify-content:center;
    box-shadow:0 4px 20px rgba(0,80,255,.45);
    text-decoration:none;
    font-size:1.3rem;
    transition:transform .15s;
  }
  .mobile-call-btn:hover { transform:scale(1.08) }
  .mobile-call-btn::after {
    content:'';
    position:absolute;
    width:100%;
    height:100%;
    border-radius:50%;
    background:var(--a);
    opacity:.3;
    animation:ripple 2s ease-out infinite;
  }
  @keyframes ripple {
    0% { transform:scale(1); opacity:.3 }
    100% { transform:scale(1.7); opacity:0 }
  }

  /* Sections mit zu viel padding-top nach Bridge */


  /* RZ Panel im Hero nur als Strip zeigen, Panel verstecken */
  .rzpanel { display:none }

}
footer{background:var(--d1);border-top:1px solid var(--db)}
.ftop{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:44px}
.fbrand .logo{display:inline-flex;margin-bottom:13px}
.fbrand p{font-size:.86rem;color:var(--dt2);line-height:1.7;max-width:252px}
.fcol h4{font-family:var(--H);font-weight:600;font-size:.86rem;margin-bottom:15px;color:var(--dt)}
.fcol ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.fcol a{font-size:.83rem;color:var(--dt2);text-decoration:none;transition:color .2s}
.fcol a:hover{color:var(--dt)}
.fbot{display:flex;align-items:center;justify-content:space-between;padding-top:22px;border-top:1px solid var(--db)}
.fbot p{font-size:.76rem;color:var(--dt3)}
.fleg{display:flex;gap:22px}
.fleg a{font-size:.76rem;color:var(--dt3);text-decoration:none;transition:color .2s}
.fleg a:hover{color:var(--dt2)}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.hero-left>*{animation:fadeUp .55s ease both}
.hero-left>*:nth-child(1){animation-delay:.08s}
.hero-left>*:nth-child(2){animation-delay:.16s}
.hero-left>*:nth-child(3){animation-delay:.24s}
.hero-left>*:nth-child(4){animation-delay:.32s}
.hero-left>*:nth-child(5){animation-delay:.42s}
.hero-right{animation:fadeUp .6s ease .52s both}
.bridge-inner>*{animation:fadeUp .5s ease both}
.bridge-inner>*:nth-child(1){animation-delay:.05s}
.bridge-inner>*:nth-child(2){animation-delay:.12s}
.bridge-inner>*:nth-child(3){animation-delay:.2s}
.bridge-inner>*:nth-child(4){animation-delay:.28s}

/* RESPONSIVE */
@media(max-width:1100px){.svc-grid{grid-template-columns:repeat(2,1fr)}.team-g{grid-template-columns:repeat(4,1fr)}.rzfacts{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.hero-wrap,.ctoin,.ct-wrap{grid-template-columns:1fr;gap:44px}.mod-grid{grid-template-columns:1fr}.how-grid{grid-template-columns:1fr 1fr}.how-step{border-right:none;border-bottom:1px solid var(--lb)}.how-step:last-child{border-bottom:none}.why-g{grid-template-columns:1fr 1fr}.ftop{grid-template-columns:1fr 1fr}.rzlocs{grid-template-columns:1fr}}
@media(max-width:640px){.nav-links,.nav-ph{display:none}.svc-grid{grid-template-columns:1fr}.team-g{grid-template-columns:1fr 1fr}.why-g,.how-grid{grid-template-columns:1fr}.frow{grid-template-columns:1fr}.ftop{grid-template-columns:1fr}.fbot{flex-direction:column;gap:14px;text-align:center}.hstats{grid-template-columns:1fr 1fr}.rzfacts{grid-template-columns:1fr 1fr}}
