
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:auto;}
body{font-family:'Segoe UI','Helvetica Neue',Arial,sans-serif;background:#0a0a0a;color:#e8e8e8;line-height:1.7;overflow-x:hidden;}
h1,h2,h3,h4{color:#f0f0f0;font-family:'Trebuchet MS','Segoe UI',system-ui,sans-serif;}
:root{
  --b9:#0a0a0a;--b7:#c2510f;--b6:#ea6c0a;--b5:#f97316;--b4:#fb923c;
  --b3:#fdba74;--b2:#fed7aa;--b1:#fff7ed;--b0:#fffbf5;
  --g50:#f8fafc;--g200:#e2e8f0;--g400:#999999;--g600:#555555;--g800:#1e293b;
  --sh:0 4px 24px rgba(249,115,22,.10);--shlg:0 8px 40px rgba(249,115,22,.18);
  --r:12px;--rlg:18px;
}

/* ══ NAV ══ */
nav{position:fixed;top:0;left:0;right:0;z-index:500;padding:0 5%;
  background:transparent;border-bottom:1px solid transparent;
  transition:background .4s,border-color .4s;}
nav.scrolled{background:rgba(12,12,12,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(249,115,22,.15);}
.ni{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:70px;}
.logo-img{height:48px;width:auto;object-fit:contain;transition:filter .4s;mix-blend-mode:screen;}
nav:not(.scrolled) .logo-img{filter:drop-shadow(0 1px 4px rgba(0,0,0,0.18));}
.nl{display:flex;align-items:center;gap:26px;list-style:none;}
.nl a{text-decoration:none;font-size:14px;font-weight:500;color:rgba(255,255,255,.85);transition:color .2s;}
nav.scrolled .nl a{color:#aaa;}
.nl a:hover{color:#fff;}
nav.scrolled .nl a:hover{color:var(--b5);}
.nav-tel{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;
  color:rgba(255,255,255,.9)!important;text-decoration:none;transition:color .2s;}
nav.scrolled .nav-tel{color:var(--b5)!important;}
.ncta{background:var(--b5);color:#000!important;border:none;border-radius:8px;
  padding:9px 18px;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;
  transition:background .2s,transform .15s;font-family:inherit;}
.ncta:hover{background:var(--b7)!important;transform:translateY(-1px);}
.hbg{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;}
.hbg span{width:24px;height:2px;background:#fff;border-radius:2px;transition:background .4s;}
nav.scrolled .hbg span{background:#e8e8e8;}
.mm{display:none;flex-direction:column;background:#111;border-top:1px solid rgba(249,115,22,.15);padding:8px 5%;}
.mm.open{display:flex;}
.mm a{text-decoration:none;color:#ccc;padding:11px 0;font-size:15px;font-weight:500;border-bottom:1px solid rgba(255,255,255,.08);}
.mm a:last-child{border-bottom:none;}

/* ══ PAGES ══ */
.page{display:none;}.page.active{display:block;}

/* ══════════════════════════
   SCROLL STORY
══════════════════════════ */
.story-wrap{position:relative;height:650vh;}
.story-sticky{position:sticky;top:0;height:100vh;overflow:hidden;}

/* Scene */
.sc{
  position:absolute;inset:0;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-end;
  opacity:0;pointer-events:none;
  transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1);
  transform:translateY(14px) scale(.99);
}
.sc.active{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
.sc.above{opacity:0;transform:translateY(-14px) scale(.99);}

/* Scene backgrounds */
.bg0{background:radial-gradient(ellipse at 60% 30%,#3d1a00 0%,#0a0a0a 60%,#060e1a 100%);}
.bg1{background:radial-gradient(ellipse at 50% 40%,#3b0a0a 0%,#1a0606 50%,#0d0404 100%);}
.bg2{background:radial-gradient(ellipse at 50% 20%,#3d1500 0%,#140800 60%,#0a0400 100%);}
.bg3{background:radial-gradient(ellipse at 50% 50%,#1a0d00 0%,#120800 60%,#0a0500 100%);}
.bg4{background:radial-gradient(ellipse at 50% 40%,#2a1000 0%,#1a0900 60%,#0f0500 100%);}
.bg5{background:radial-gradient(ellipse at 50% 80%,#c2510f 0%,#1a0a00 40%,#070d1a 100%);}

/* Road */
.road-layer{position:absolute;bottom:0;left:0;right:0;height:25vh;}
.road-asphalt{position:absolute;inset:0;background:linear-gradient(180deg,#243040 0%,#0f172a 100%);}
.road-line-wrap{position:absolute;inset:0;display:flex;align-items:center;overflow:hidden;}
.rd{display:flex;animation:rd .65s linear infinite;}
.rd-dash{width:52px;height:5px;background:rgba(255,255,255,.22);border-radius:2px;margin:0 14px;flex-shrink:0;}
@keyframes rd{from{transform:translateX(0);}to{transform:translateX(-80px);}}
.road-kerb{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);}

/* Cars */
.car-pos{position:absolute;bottom:28vh;transition:left .05s linear,right .05s linear;z-index:2;}
#cA{left:6%;}
#cB{right:6%;}

/* Scene text */
.sct{
  width:100%;max-width:100%;
  padding:56px 5% 48px;
  text-align:center;
  background:linear-gradient(0deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.5) 65%,transparent 100%);
  position:relative;z-index:10;
}
.sct-step{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--b3);margin-bottom:8px;}
.sct-title{font-size:clamp(26px,4.5vw,50px);font-weight:800;color:#fff;line-height:1.1;letter-spacing:-1.2px;margin-bottom:12px;}
.sct-title em{color:var(--b3);font-style:normal;}
.sct-desc{font-size:clamp(14px,1.7vw,16px);color:rgba(255,255,255,.65);max-width:560px;margin:0 auto 20px;line-height:1.8;}
.sct-cta{display:inline-flex;align-items:center;gap:10px;background:var(--b5);color:#000;
  border:none;border-radius:12px;padding:13px 26px;font-size:15px;font-weight:700;
  cursor:pointer;text-decoration:none;transition:transform .2s,box-shadow .2s;font-family:inherit;}
.sct-cta:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(249,115,22,.45);}
.sct-cta-w{background:transparent!important;color:#fff!important;border:2px solid rgba(255,255,255,.4)!important;}

/* Progress */
.pbar-wrap{position:fixed;top:0;left:0;right:0;height:3px;background:rgba(255,255,255,.08);z-index:600;}
.pbar-fill{height:100%;background:linear-gradient(90deg,var(--b5),var(--b3));width:0%;transition:width .08s linear;}

/* Dots */
.sdots{position:fixed;right:22px;top:50%;transform:translateY(-50%);
  display:flex;flex-direction:column;gap:10px;z-index:600;}
.sdot{width:8px;height:8px;border-radius:50%;border:2px solid rgba(255,255,255,.3);
  background:transparent;cursor:pointer;transition:all .3s;}
.sdot.on{background:#fff;border-color:#fff;transform:scale(1.4);}

/* Scroll hint */
.shint{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:5px;z-index:600;
  transition:opacity .5s;pointer-events:none;}
.shint-t{font-size:10px;color:rgba(255,255,255,.4);letter-spacing:2px;text-transform:uppercase;}
.shint-a{width:18px;height:18px;border-right:2px solid rgba(255,255,255,.3);
  border-bottom:2px solid rgba(255,255,255,.3);transform:rotate(45deg);
  animation:sha .9s ease-in-out infinite alternate;}
@keyframes sha{from{transform:rotate(45deg) translateY(-3px);}to{transform:rotate(45deg) translateY(4px);}}

/* ── SCENE 0: Road particles ── */
.star{position:absolute;width:2px;height:2px;background:#fff;border-radius:50%;opacity:.4;animation:twinkle var(--dur,3s) ease-in-out infinite var(--del,0s);}
@keyframes twinkle{0%,100%{opacity:.2;}50%{opacity:.7;}}

/* ── SCENE 1: Impact ── */
.impact-zone{position:absolute;bottom:28vh;left:50%;transform:translateX(-50%);display:flex;align-items:flex-end;}
.shockring{position:absolute;top:50%;left:50%;border-radius:50%;border:2.5px solid;
  transform:translate(-50%,-50%) scale(0);opacity:0;}
.debris{position:absolute;width:5px;height:5px;border-radius:50%;background:#fbbf24;opacity:0;}
.flash-overlay{position:absolute;inset:0;background:rgba(255,200,50,.06);opacity:0;pointer-events:none;}

/* ── SCENE 2: Phone ── */
/* ── SCENE 2: iPhone ── */
.phone-scene{position:absolute;top:50%;left:50%;transform:translate(-50%,-58%);}

/* iPhone Wrapper mit Seitentasten */
.iphone-wrap{
  position:relative;
  width:290px;
  filter:drop-shadow(0 32px 80px rgba(0,0,0,.8));
}

/* Seitentasten links */
.iphone-btn-silent{
  position:absolute;left:-3px;top:80px;
  width:3px;height:28px;background:linear-gradient(180deg,#555,#333);border-radius:2px 0 0 2px;
}
.iphone-btn-vol-up{
  position:absolute;left:-3px;top:120px;
  width:3px;height:48px;background:linear-gradient(180deg,#555,#333);border-radius:2px 0 0 2px;
}
.iphone-btn-vol-dn{
  position:absolute;left:-3px;top:180px;
  width:3px;height:48px;background:linear-gradient(180deg,#555,#333);border-radius:2px 0 0 2px;
}
/* Power Taste rechts */
.iphone-btn-power{
  position:absolute;right:-3px;top:130px;
  width:3px;height:72px;background:linear-gradient(180deg,#555,#333);border-radius:0 2px 2px 0;
}

/* iPhone Körper */
.iphone-body{
  background:linear-gradient(160deg,#2a2a2a 0%,#1a1a1a 40%,#111 100%);
  border-radius:50px;
  padding:12px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:
    0 0 0 1px rgba(0,0,0,.8),
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -1px 0 rgba(0,0,0,.5);
}

/* Screen */
.iphone-screen{
  background:linear-gradient(180deg,#0a0a14 0%,#060610 100%);
  border-radius:40px;
  overflow:hidden;
  position:relative;
  min-height:440px;
}

/* Status Bar */
.iphone-status{
  display:flex;justify-content:space-between;align-items:center;
  padding:14px 20px 0;
  position:relative;z-index:2;
}
.iphone-time{font-size:15px;font-weight:600;color:#fff;letter-spacing:.3px;}
.iphone-status-icons{display:flex;align-items:center;gap:6px;}

/* Dynamic Island */
.iphone-island{
  display:flex;justify-content:center;margin:-4px 0 8px;
}
.iphone-island-inner{
  width:120px;height:34px;
  background:#000;
  border-radius:20px;
  box-shadow:0 0 0 2px rgba(255,255,255,.06);
}

/* Incoming Call BG */
.iphone-call-bg{
  padding:8px 20px 16px;
  display:flex;flex-direction:column;align-items:center;
}
.iphone-call-label{
  font-size:13px;color:rgba(255,255,255,.5);
  margin-bottom:14px;letter-spacing:.3px;
}

/* Caller Photo */
.caller-photo{
  width:120px;height:120px;border-radius:50%;object-fit:cover;
  margin:0 auto 14px;display:block;
  border:3px solid var(--b5);
  box-shadow:0 0 0 6px rgba(249,115,22,.15),0 12px 40px rgba(0,0,0,.5);
  animation:caller-pulse 1.8s ease-in-out infinite;
}
@keyframes caller-pulse{
  0%,100%{box-shadow:0 0 0 6px rgba(249,115,22,.12),0 12px 40px rgba(0,0,0,.5);}
  50%{box-shadow:0 0 0 16px rgba(249,115,22,0),0 12px 40px rgba(0,0,0,.5);}
}
.caller-name{font-size:22px;font-weight:700;color:#fff;text-align:center;letter-spacing:-.3px;}
.caller-sub{font-size:13px;color:rgba(255,255,255,.5);text-align:center;margin-top:4px;margin-bottom:8px;}
.iphone-call-swipe{
  font-size:11px;color:rgba(255,255,255,.25);
  margin-bottom:20px;letter-spacing:.5px;
  animation:blink 1.4s ease-in-out infinite;
}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:.3;}}

/* Buttons */
.phone-btns{display:flex;justify-content:center;gap:40px;margin-top:4px;}
.pbtn-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;}
.pbtn-lbl{font-size:11px;color:rgba(255,255,255,.5);letter-spacing:.3px;}
.pbtn-decline{
  width:68px;height:68px;border-radius:50%;background:#ef4444;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(239,68,68,.4);
}
.pbtn-accept{
  width:68px;height:68px;border-radius:50%;background:#22c55e;
  display:flex;align-items:center;justify-content:center;
  animation:accept-pulse 1.5s ease-in-out infinite;
  box-shadow:0 4px 20px rgba(34,197,94,.4);
}
@keyframes accept-pulse{
  0%,100%{box-shadow:0 4px 14px rgba(34,197,94,.4);transform:scale(1);}
  50%{box-shadow:0 8px 32px rgba(34,197,94,.7);transform:scale(1.1);}
}

/* Home Indicator */
.iphone-home-bar{
  width:130px;height:5px;
  background:rgba(255,255,255,.25);border-radius:3px;
  margin:16px auto 8px;
}

/* ── SCENE 3: Arrive (Sinus-Route) ── */
.arrive-scene{position:absolute;bottom:24vh;left:50%;transform:translateX(-50%);text-align:center;width:440px;}
.arrive-route{display:none;}
.route-a,.route-line,.route-pulse,.route-b{display:none;}
.arrive-car-anim{display:none;}
.sinus-route{width:100%;margin:0 0 18px;padding:0 2px;}
.stat-row{display:flex;gap:10px;justify-content:center;}
.stp{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
  border-radius:10px;padding:10px 14px;text-align:center;}
.stp-n{font-size:22px;font-weight:800;color:#fff;}
.stp-l{font-size:12px;color:rgba(255,255,255,.4);margin-top:2px;text-transform:uppercase;letter-spacing:.5px;}

/* ── SCENE 4: Docs ── */
.doc-scene{position:absolute;bottom:22vh;left:50%;transform:translateX(-50%);
  display:flex;gap:10px;justify-content:center;max-width:calc(100vw - 16px);padding:0 4px;box-sizing:border-box;}
.dc{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
  border-radius:16px;padding:24px 18px;width:168px;text-align:center;
  transform:translateY(30px);opacity:0;transition:all .55s cubic-bezier(.34,1.56,.64,1);}
.dc.on{transform:translateY(0);opacity:1;}
.dc-ico{width:110px;height:110px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;margin:0 auto 14px;
  overflow:hidden;background:rgba(0,0,0,.15);}
.dc-ico svg{width:22px;height:22px;stroke:var(--b3);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.dc-lbl{font-size:13px;color:rgba(255,255,255,.72);font-weight:600;line-height:1.4;}

/* ── SCENE 5: Done ── */
.done-scene{position:absolute;bottom:24vh;left:50%;transform:translateX(-50%);text-align:center;width:420px;}
.done-ring{width:96px;height:96px;border-radius:50%;
  background:linear-gradient(135deg,var(--b5),var(--b7));
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 14px;
  animation:dpop .7s cubic-bezier(.34,1.56,.64,1) both;}
@keyframes dpop{from{transform:scale(0) rotate(-20deg);opacity:0;}to{transform:scale(1) rotate(0);opacity:1;}}
.done-rows{display:flex;flex-direction:column;gap:8px;margin-top:16px;max-width:400px;}
.done-row{display:flex;align-items:center;gap:9px;
  background:rgba(255,255,255,.07);border-radius:9px;padding:9px 13px;text-align:left;
  transform:translateX(-20px);opacity:0;transition:all .4s cubic-bezier(.34,1.56,.64,1);}
.done-row.on{transform:translateX(0);opacity:1;}
.done-row-txt{font-size:14px;color:rgba(255,255,255,.85);}

/* ══════════════════════════
   MAIN SITE SECTIONS
══════════════════════════ */
.tbar{background:#111;border-bottom:1px solid rgba(249,115,22,.15);padding:12px 5%;}
.tbi{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.tbl{font-size:12px;color:#888;font-weight:500;margin-right:4px;}
.tp{display:flex;align-items:center;gap:5px;background:#1a1a1a;border:1px solid rgba(249,115,22,.2);
  border-radius:20px;padding:5px 13px;font-size:12px;font-weight:500;color:#aaa;}
.tpi{color:var(--b5);font-weight:700;}

section{padding:70px 5%;}
.si{max-width:1100px;margin:0 auto;}
.sl{font-size:11px;font-weight:700;color:var(--b5);letter-spacing:1px;text-transform:uppercase;color:var(--b5);margin-bottom:10px;}
.st{font-size:clamp(24px,3vw,34px);font-weight:800;color:#f0f0f0;letter-spacing:-.5px;margin-bottom:12px;}
.ss{font-size:15px;color:#aaa;max-width:540px;line-height:1.75;margin-bottom:44px;}

/* Services */
.sg{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;}
.svc{background:#111;border:1px solid rgba(249,115,22,.15);border-radius:var(--rlg);padding:26px 22px;
  position:relative;overflow:hidden;transition:transform .22s,box-shadow .22s,border-color .22s;}
.svc::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--b5);
  transform:scaleX(0);transform-origin:left;transition:transform .3s;}
.svc:hover{transform:translateY(-4px);box-shadow:var(--shlg);border-color:var(--b3);}
.svc:hover::before{transform:scaleX(1);}
.svc-ico{width:46px;height:46px;border-radius:11px;background:rgba(249,115,22,.12);
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.svc-ico svg{width:22px;height:22px;stroke:var(--b5);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.svc-t{font-size:16px;font-weight:700;color:#f0f0f0;margin-bottom:7px;}
.svc-d{font-size:13.5px;color:#aaa;line-height:1.6;}
.svc-tag{display:inline-block;margin-top:13px;background:rgba(249,115,22,.1);color:#fdba74;
  font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;}

/* Equipment */
.eq-bg{background:#0d0d0d;}
.eq-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;}
.eq-vis{background:linear-gradient(135deg,#1a1a1a,#111);border-radius:20px;
  padding:40px;display:flex;flex-direction:column;align-items:center;gap:16px;min-height:280px;justify-content:center;}
.eq-bdgs{display:flex;gap:14px;}
.eq-bdg{background:#1a1a1a;border:1px solid rgba(249,115,22,.2);border-radius:14px;padding:14px 18px;text-align:center;}
.eq-bdg-n{font-size:15px;font-weight:700;color:var(--b7);}
.eq-bdg-s{font-size:11px;color:#aaa;margin-top:2px;}
.eq-list{display:flex;flex-direction:column;gap:18px;}
.eq-item{display:flex;align-items:flex-start;gap:14px;}
.eq-dot{width:28px;height:28px;border-radius:50%;background:rgba(249,115,22,.12);border:2px solid rgba(249,115,22,.3);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;}
.eq-dot svg{width:13px;height:13px;stroke:var(--b5);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;}
.eq-t{font-size:15px;font-weight:700;color:#fff;margin-bottom:2px;}
.eq-d{font-size:13.5px;color:#aaa;line-height:1.6;}

/* Process */
.proc-bg{background:var(--b9);}
.proc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2px;margin-top:40px;}
.ps{background:rgba(255,255,255,.04);padding:30px 26px;transition:background .2s;}
.ps:hover{background:rgba(255,255,255,.08);}
.ps-n{font-size:42px;font-weight:800;color:rgba(255,255,255,.06);line-height:1;margin-bottom:14px;font-family:'Trebuchet MS',sans-serif;}
.ps-t{font-size:16px;font-weight:700;color:#fff;margin-bottom:7px;}
.ps-d{font-size:13.5px;color:rgba(255,255,255,.5);line-height:1.65;}
.ps-time{display:inline-flex;align-items:center;gap:5px;background:rgba(249,115,22,.3);
  color:var(--b3);font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;margin-top:12px;}

/* Partners */
.prt-card{background:#111;border:1px solid rgba(249,115,22,.15);border-radius:var(--r);padding:22px;
  display:flex;align-items:flex-start;gap:14px;transition:box-shadow .2s;}
.prt-card:hover{box-shadow:var(--sh);}
.prt-ico{width:42px;height:42px;border-radius:10px;background:rgba(249,115,22,.12);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.prt-ico svg{width:20px;height:20px;stroke:var(--b5);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.prt-t{font-size:14px;font-weight:700;color:#f0f0f0;margin-bottom:3px;}
.prt-d{font-size:13px;color:#999;line-height:1.55;}

/* Reviews */
.rev-bg{background:#0a0a0a;}
.rev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px;}
.rev-c{background:#111;border:1px solid rgba(249,115,22,.12);border-radius:var(--rlg);padding:24px;
  transition:transform .2s,box-shadow .2s;}
.rev-c:hover{transform:translateY(-3px);box-shadow:var(--sh);}
.rev-stars{color:#f59e0b;font-size:14px;letter-spacing:2px;margin-bottom:11px;}
.rev-txt{font-size:13.5px;color:#aaa;line-height:1.75;margin-bottom:15px;font-style:italic;}
.rev-foot{display:flex;align-items:center;gap:10px;}
.rev-av{width:34px;height:34px;border-radius:50%;background:#333;
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--b6);}
.rev-n{font-size:13px;font-weight:600;color:#f0f0f0;}
.rev-l{font-size:11px;color:#888;}

/* CTA */
.cta-s{background:linear-gradient(135deg,var(--b5),var(--b7));padding:68px 5%;text-align:center;}
.cta-s h2{font-size:clamp(24px,3vw,38px);font-weight:800;color:#fff;letter-spacing:-.4px;margin-bottom:12px;}
.cta-s p{font-size:15px;color:rgba(255,255,255,.78);margin-bottom:28px;line-height:1.7;}
.cta-btns{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;}
.cta-bm{display:inline-flex;align-items:center;gap:9px;background:var(--b5);color:#000;
  border:none;border-radius:12px;padding:14px 26px;font-size:16px;font-weight:800;
  cursor:pointer;text-decoration:none;transition:transform .2s,box-shadow .2s;font-family:inherit;}
.cta-bm:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(0,0,0,.2);}
.cta-bs{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.12);
  color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:12px;
  padding:14px 26px;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none;
  transition:background .2s;font-family:inherit;}
.cta-bs:hover{background:rgba(255,255,255,.2);}

/* Contact */
.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
.ct-info{display:flex;flex-direction:column;gap:14px;}
.ct-card{background:#0f0f0f;border:1px solid rgba(255,255,255,.08);border-radius:var(--r);
  padding:17px 20px;display:flex;align-items:flex-start;gap:13px;}
.ct-ico{width:38px;height:38px;border-radius:9px;background:rgba(249,115,22,.15);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ct-ico svg{width:18px;height:18px;stroke:var(--b5);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.ct-lbl{font-size:11px;color:#888;font-weight:500;margin-bottom:3px;text-transform:uppercase;letter-spacing:.4px;}
.ct-val{font-size:14px;font-weight:600;color:#f0f0f0;}
.ct-val a{color:var(--b5);text-decoration:none;}
.ltag{display:inline-block;background:rgba(249,115,22,.1);color:#fdba74;font-size:12px;font-weight:600;
  padding:3px 9px;border-radius:20px;margin:2px 2px 0 0;}
.cf{background:#111;border:1px solid rgba(249,115,22,.15);border-radius:var(--rlg);padding:30px;box-shadow:var(--sh);}
.cf-t{font-size:19px;font-weight:700;color:#f0f0f0;margin-bottom:5px;}
.cf-s{font-size:13.5px;color:#aaa;margin-bottom:20px;}
.fg{margin-bottom:13px;}
.fg label{display:block;font-size:13px;font-weight:600;color:#aaa;margin-bottom:5px;}
.fg input,.fg select,.fg textarea{width:100%;border:1px solid rgba(255,255,255,.08);border-radius:8px;
  padding:10px 13px;font-size:14px;font-family:inherit;color:#e8e8e8;background:#1a1a1a;
  transition:border-color .2s,box-shadow .2s;outline:none;}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--b4);box-shadow:0 0 0 3px rgba(249,115,22,.1);}
.fg textarea{resize:vertical;min-height:88px;}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.fsb{width:100%;background:var(--b5);color:#000;border:none;border-radius:10px;
  padding:13px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;
  transition:background .2s,transform .1s;}
.fsb:hover{background:var(--b7);transform:translateY(-1px);}
.fnote{font-size:11px;color:#888;margin-top:9px;text-align:center;line-height:1.6;}
.succ{display:none;background:rgba(249,115,22,.1);border:1px solid rgba(249,115,22,.3);border-radius:10px;
  padding:16px;text-align:center;color:#166534;font-weight:500;margin-top:14px;}

/* Leistungen */
.ld{background:#111;border:1px solid rgba(249,115,22,.15);border-radius:var(--rlg);padding:30px;
  margin-bottom:18px;transition:box-shadow .22s;}
.ld:hover{box-shadow:var(--sh);}
.ld-head{display:flex;align-items:center;gap:16px;margin-bottom:16px;}
.ld-num{font-size:14px;font-weight:700;background:var(--b5);color:#000;width:32px;height:32px;
  border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ld-title{font-size:19px;font-weight:700;color:#f0f0f0;}
.ld-desc{font-size:14.5px;color:#aaa;line-height:1.75;margin-bottom:16px;}
.ld-box{background:#1a1a1a;border:1px solid rgba(249,115,22,.2);border-radius:12px;padding:18px 20px;margin-bottom:16px;}
.ld-box-title{font-size:12px;font-weight:700;color:#f97316;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px;}
.ld-list{display:flex;flex-direction:column;gap:7px;}
.ld-li{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:#ddd;line-height:1.5;}
.ld-li-dot{width:18px;height:18px;border-radius:50%;background:rgba(249,115,22,.15);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.ld-li-dot svg{width:10px;height:10px;stroke:var(--b5);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;}
.ld-tags{display:flex;flex-wrap:wrap;gap:8px;}
.ld-tag{display:inline-flex;align-items:center;gap:5px;background:rgba(249,115,22,.1);color:#fdba74;
  border:1px solid rgba(249,115,22,.25);border-radius:20px;font-size:12px;font-weight:600;padding:5px 13px;}
.ld-tag-green{background:rgba(249,115,22,.1);color:var(--b5);border-color:rgba(249,115,22,.3);}

/* ══ BILDINTEGRATION ══ */
/* Leistungen mit Bild (zweispaltig) */
.ld-with-image{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:start;}
.ld-with-image.reverse{grid-template-columns:.9fr 1.1fr;}
.ld-with-image.reverse .ld-img-wrap{order:-1;}
.ld-img-wrap{position:relative;border-radius:18px;overflow:hidden;box-shadow:0 12px 36px rgba(249,115,22,.18);aspect-ratio:4/3;}
.ld-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
.ld-img-wrap:hover img{transform:scale(1.04);}
.ld-img-cap{position:absolute;left:14px;bottom:14px;background:rgba(10,22,40,.85);backdrop-filter:blur(8px);color:#fff;padding:8px 14px;border-radius:8px;font-size:12px;font-weight:600;letter-spacing:.3px;}
@media(max-width:820px){
  .ld-with-image,.ld-with-image.reverse{grid-template-columns:1fr;gap:20px;}
  .ld-with-image.reverse .ld-img-wrap{order:0;}
}

/* Equipment mit Portrait */
.eq-portrait{position:relative;border-radius:18px;overflow:hidden;box-shadow:0 14px 40px rgba(0,0,0,.5);aspect-ratio:4/5;background:#111;}
.eq-portrait img{width:100%;height:100%;object-fit:cover;display:block;}
.eq-portrait-badge{position:absolute;left:16px;bottom:16px;right:16px;background:rgba(10,10,10,.92);backdrop-filter:blur(10px);border-radius:12px;padding:14px 16px;display:flex;align-items:center;gap:12px;}
.eq-portrait-badge-icon{width:38px;height:38px;border-radius:9px;background:rgba(249,115,22,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.eq-portrait-badge-icon svg{width:18px;height:18px;stroke:var(--b5);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.eq-portrait-badge-t{font-size:13px;font-weight:700;color:#fff;line-height:1.2;}
.eq-portrait-badge-s{font-size:11px;color:#aaa;margin-top:2px;}

/* Galerie auf Startseite */
.gal-bg{background:#0f0f0f;}
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px;}
.gal-item{position:relative;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(249,115,22,.12);aspect-ratio:4/5;cursor:default;transition:transform .3s,box-shadow .3s;}
.gal-item:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(249,115,22,.22);}
.gal-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
.gal-item:hover img{transform:scale(1.05);}
.gal-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,22,40,.92) 0%,rgba(10,22,40,.4) 50%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:22px 20px;}
.gal-step{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--b3);margin-bottom:6px;}
.gal-title{font-size:17px;font-weight:700;color:var(--gal-title,#fff);margin-bottom:5px;line-height:1.25;}
.gal-desc{font-size:12.5px;color:var(--gal-desc,rgba(255,255,255,.75));line-height:1.5;}
@media(max-width:820px){
  .gal-grid{grid-template-columns:1fr;gap:14px;}
  .gal-item{aspect-ratio:5/4;}
}

/* Regionen-Header mit Portrait */
.reg-intro{display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:center;margin-bottom:30px;}
.reg-intro-img{border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(249,115,22,.18);aspect-ratio:4/5;}
.reg-intro-img img{width:100%;height:100%;object-fit:cover;display:block;}
@media(max-width:820px){
  .reg-intro{grid-template-columns:1fr;gap:20px;}
  .reg-intro-img{max-width:280px;margin:0 auto;}
}

/* Legal */
.lw{max-width:780px;margin:0 auto;}
.lw h1{font-size:28px;font-weight:800;color:#f0f0f0;margin-bottom:6px;}
.lu{font-size:12px;color:#888;margin-bottom:30px;}
.lw h2{font-size:18px;font-weight:700;color:#f0f0f0;margin:26px 0 8px;}
.lw h3{font-size:15px;font-weight:600;color:var(--b6);margin:16px 0 5px;}
.lw p{color:#ccc;font-size:14px;color:#aaa;line-height:1.8;margin-bottom:12px;}
.lw ul{margin:8px 0 14px 20px;}
.lw li{color:#ccc;font-size:14px;color:#aaa;line-height:1.7;margin-bottom:5px;}
.lw a{color:var(--b5);}

/* Footer */
footer{background:var(--b9);color:rgba(255,255,255,.45);padding:50px 5% 24px;}
.fi{max-width:1100px;margin:0 auto;}
.ftt{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;
  padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:20px;}
.fli{height:42px;width:auto;object-fit:contain;margin-bottom:12px;opacity:.9;mix-blend-mode:screen;}
.fd{font-size:13px;line-height:1.7;}
.fct{font-size:12px;font-weight:700;color:#fff;margin-bottom:13px;text-transform:uppercase;letter-spacing:.4px;}
.fls{display:flex;flex-direction:column;gap:8px;}
.fls a{color:rgba(255,255,255,.45);text-decoration:none;font-size:13px;transition:color .2s;}
.fls a:hover{color:#fff;}
.fb{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;}
.fb a{color:rgba(255,255,255,.45);text-decoration:none;}

/* Scroll-triggered fade */
.fu{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease;}
.fu.vis{opacity:1;transform:translateY(0);}

/* ══ RESPONSIVE ══ */
@media(max-width:900px){
  .nl{display:none;}.hbg{display:flex;}
  .eq-grid{grid-template-columns:1fr;}
  .ct-grid{grid-template-columns:1fr;}
  .ftt{grid-template-columns:1fr 1fr;}
  .fr{grid-template-columns:1fr;}
  .sdots{right:10px;}
}

/* ══ TABLET ══ */
@media(max-width:600px){
  section{padding:48px 5%;}
  .ftt{grid-template-columns:1fr;gap:20px;}
  .doc-scene{flex-direction:column;align-items:center;}
  .sg{grid-template-columns:1fr;}
}

/* ══ IPHONE / MOBILE ══ */
@media(max-width:480px){

  /* ── Navigation ── */
  .ni{height:60px;}
  .logo-img{height:36px;mix-blend-mode:screen;}
  nav{padding:0 4%;}

  /* ── Scroll-Dots ── */
  .sdots{right:6px;gap:7px;}
  .sdot{width:7px;height:7px;}

  /* ── Scroll-Hint ── */
  .shint{bottom:18px;}

  /* ── Scene Hintergrundtext ── */
  .sct{padding:36px 5% 36px;}
  .sct-step{font-size:9px;letter-spacing:1.5px;}
  .sct-title{font-size:clamp(22px,7vw,34px);letter-spacing:-.8px;margin-bottom:10px;}
  .sct-desc{font-size:13px;line-height:1.7;margin-bottom:16px;}
  .sct-cta{font-size:13px;padding:11px 20px;gap:8px;}

  /* ── Szene 2: Telefon (mobil) ── */
  .phone-scene{bottom:20vh;}

  /* Mobile: iPhone kleiner */
  .iphone-wrap{width:240px;}
  .iphone-screen{min-height:440px;}
  .caller-photo{width:90px;height:90px;}
  .caller-name{font-size:17px;}
  .iphone-island-inner{width:90px;height:26px;}
  .pbtn-decline,.pbtn-accept{width:56px;height:56px;}

  .phone-shell{width:240px;}
  .caller-photo{width:88px;height:88px;}
  .caller-name{font-size:15px;}
  .caller-sub{font-size:11px;}
  .phone-btns{gap:32px;}
  .pbtn-decline,.pbtn-accept{width:52px;height:52px;}

  /* ── Szene 3: Sinus-Route ── */
  .arrive-scene{
    width:min(320px, 92vw) !important;
  }
  .stat-row{gap:6px;}
  .stp{padding:8px 10px;}
  .stp-n{font-size:16px;}
  .stp-l{font-size:9px;}

  /* ── Szene 4: Dokumentation ── */
  .doc-scene{
    flex-direction:column !important;
    align-items:center !important;
    bottom:22vh;
    gap:10px;
  }
  .dc{width:min(200px, 72vw);}

  /* ── Szene 5: Fertig ── */
  .done-scene{bottom:24vh;}
  .done-rows{max-width:min(320px,88vw);}
  .done-row{padding:8px 10px;gap:7px;}
  .done-row-txt{font-size:11.5px;}
  .done-ring{width:64px;height:64px;}
  .done-ring svg{width:36px;height:36px;}

  /* ── Trust-Bar ── */
  .tbi{gap:6px 8px;}
  .tp{font-size:11px;padding:4px 9px;}
  .tbl{font-size:11px;width:100%;}

  /* ── Services-Grid ── */
  .sg{grid-template-columns:1fr;}
  .svc{padding:20px 18px;}

  /* ── Equipment ── */
  .eq-bdgs{flex-wrap:wrap;gap:10px;justify-content:center;}
  .eq-bdg{padding:12px 14px;}
  .eq-bdg-n{font-size:13px;}
  .eq-vis{padding:28px 20px;min-height:200px;}

  /* ── Prozess ── */
  .proc-grid{grid-template-columns:1fr;}
  .ps{padding:24px 20px;}
  .ps-n{font-size:32px;}

  /* ── Partner ── */
  .prt-card{padding:16px;}

  /* ── CTA-Section ── */
  .cta-s{padding:48px 5%;}
  .cta-s h2{font-size:clamp(20px,6vw,28px);}
  .cta-btns{flex-direction:column;align-items:stretch;gap:10px;}
  .cta-bm,.cta-bs{text-align:center;justify-content:center;font-size:13px;}

  /* ── Footer ── */
  .ftt{grid-template-columns:1fr;gap:20px;}
  .fb{flex-direction:column;gap:6px;text-align:center;}

  /* ── Sections allgemein ── */
  section{padding:44px 5%;}
  .st{font-size:clamp(20px,5.5vw,28px);}
  .ss{font-size:13.5px;}

  /* ── Formular ── */
  .ct-grid{grid-template-columns:1fr !important;}
  .fsb{width:100%;text-align:center;justify-content:center;}

  /* ── Leistungs-Detail-Cards ── */
  .ld{padding:22px 18px;}
  .ld-title{font-size:17px;}
  .ld-desc{font-size:14px;}
}

/* ══ SUB-PAGE OVERRIDES ══ */
/* Sub-pages: nav always in scrolled state */
body.subpage #mainnav{background:rgba(12,12,12,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08);}
body.subpage #mainnav .nl a{color:#aaa;}
body.subpage #mainnav .nl a:hover{color:var(--b5);}
body.subpage #mainnav .hbg span{background:#e8e8e8;}
body.subpage #mainnav .nav-tel{color:var(--b5)!important;}
body.subpage #mainnav .logo-img{filter:none!important;mix-blend-mode:screen;}
/* Active nav link */
.nl a.nav-active{color:var(--b5)!important;font-weight:700;}
/* Sub-page hero (replaces scroll-story) */
.sphero{background:var(--b9);padding:110px 5% 62px;margin-bottom:0;}
.sphero .si{max-width:1100px;margin:0 auto;}
.sphero .sl{color:var(--b3);}
.sphero .st{color:#fff;margin-bottom:10px;}
.sphero p{color:rgba(255,255,255,.6);font-size:15px;max-width:520px;line-height:1.75;margin-top:10px;}
/* FAQ accordion */
.faq-list{max-width:760px;margin:0 auto;}
.faq-item{border-bottom:1px solid rgba(255,255,255,.08);}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;cursor:pointer;font-size:16px;font-weight:600;color:#f0f0f0;line-height:1.4;}
.faq-q svg{flex-shrink:0;transition:transform .3s;}
.faq-item.open .faq-q svg{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .45s ease,padding .3s;}
.faq-item.open .faq-a{max-height:600px;padding-bottom:20px;}
.faq-a p{color:#aaa;font-size:15px;line-height:1.8;}
.faq-a strong{color:#f0f0f0;}
.faq-a a{color:var(--b5);}
/* City grid */
.city-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:32px;}
.city-card{background:#111;border:1px solid rgba(249,115,22,.15);border-radius:var(--r);padding:24px;text-decoration:none;display:block;transition:box-shadow .2s,transform .2s,border-color .2s;}
.city-card:hover{border-color:var(--b5);box-shadow:var(--shlg);transform:translateY(-3px);border-color:var(--b4);}
.city-card-icon{width:44px;height:44px;background:rgba(249,115,22,.12);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.city-card-name{font-size:17px;font-weight:700;color:#f0f0f0;margin-bottom:6px;}
.city-card-services{font-size:13px;color:#aaa;line-height:1.6;margin-bottom:12px;}
.city-card-link{font-size:13px;font-weight:600;color:var(--b5);}
/* City detail CTA buttons */
.city-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;}
.city-btn-p{display:inline-flex;align-items:center;gap:8px;background:var(--b5);color:#000!important;border:none;border-radius:12px;padding:13px 26px;font-size:15px;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s;}
.city-btn-p:hover{background:var(--b7)!important;transform:translateY(-2px);box-shadow:0 8px 30px rgba(249,115,22,.4);}
.city-btn-s{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#fff!important;border:2px solid rgba(249,115,22,.4);border-radius:12px;padding:13px 26px;font-size:15px;font-weight:700;text-decoration:none;transition:all .2s;}
.city-btn-s:hover{background:rgba(249,115,22,.1);border-color:var(--b5);}
/* CP info box */
.cp-box{background:#1a1a1a;border:1px solid rgba(249,115,22,.2);border-radius:12px;padding:18px 20px;margin:18px 0;}
.cp-box p{color:#aaa;font-size:14px;line-height:1.75;margin:0;}
.cp-box strong{color:var(--b7);}

/* Nur Mobile sichtbar */
.mobile-only-nav{display:none;}
@media(max-width:768px){.mobile-only-nav{display:block;}}

/* Mobile: alle Scroll-Animationen sofort sichtbar – kein Stocken */
@media(max-width:768px){
  .fu{opacity:1!important;transform:none!important;transition:none!important;}
  .fu.vis{opacity:1!important;transform:none!important;}
  .rd{animation:none!important;}
  .star{animation:none!important;}
  .shint-a{animation:none!important;}
}




/* ══ THEME TOKENS ══ */
:root {
  --page-bg:#0a0a0a; --page-bg2:#0d0d0d;
  --card-bg:#111111; --card-bg2:#1a1a1a;
  --border-subtle:rgba(255,255,255,.08);
  --border-orange:rgba(249,115,22,.15);
  --heading-color:#f0f0f0; --text-main:#e8e8e8;
  --text-muted:rgba(255,255,255,.5);
  --text-muted2:rgba(255,255,255,.7);
  --text-dim:rgba(255,255,255,.3);
  --rev-header-bg:#111; --avatar-bg:#333; --rev-text-color:#e0e0e0;
  --quiz-bg:#0d0d0d; --quiz-card-bg:rgba(255,255,255,.04);
  --quiz-track-bg:rgba(255,255,255,.08);
  --quiz-meta-color:rgba(255,255,255,.35);
  --quiz-desc-color:rgba(255,255,255,.6);
  --quiz-disclaimer-color:rgba(255,255,255,.3);
  --qopt-bg:rgba(255,255,255,.04); --qopt-border:rgba(255,255,255,.1);
  --qdot-bg:rgba(255,255,255,.15);
  --mob-hero-bg:#0a0a0a; --mob-btn-label:rgba(255,255,255,.8);
}

/* ══════════════════════════════════════════
   LIGHT MODE — html.light-mode
   Mobile: prefers-color-scheme (System)
   Desktop: zeitbasiert 6:30–20:30
   ALLE Farben: Kontrast ≥ 4.5:1 (WCAG AA)
══════════════════════════════════════════ */
html.light-mode {
  --b9:#ffffff; --b7:#9e3f00; --b6:#b34b00;
  --b5:#c75400; --b4:#d96000; --b3:#9e3f00;
  --b2:#f0dece; --b1:#fdf0e8; --b0:#fffbf5;
  --sh:0 4px 24px rgba(150,60,0,.12);
  --shlg:0 8px 40px rgba(150,60,0,.2);
  --page-bg:#f5f5f5; --page-bg2:#eeeeee;
  --card-bg:#ffffff; --card-bg2:#e8e8e8;
  --border-subtle:rgba(0,0,0,.1);
  --border-orange:rgba(150,60,0,.2);
  --heading-color:#0d0d0d; --text-main:#1a1a1a;
  --text-muted:#4a4a4a; --text-muted2:#2a2a2a;
  --text-dim:#777777;
  --rev-header-bg:#ebebeb; --avatar-bg:#d0d0d0; --rev-text-color:#1a1a1a;
  --quiz-bg:#eeeeee; --quiz-card-bg:#ffffff;
  --quiz-track-bg:rgba(0,0,0,.1);
  --quiz-meta-color:#4a4a4a;
  --quiz-desc-color:#2a2a2a;
  --quiz-disclaimer-color:#666666;
  --qopt-bg:rgba(0,0,0,.04); --qopt-border:rgba(0,0,0,.15);
  --qdot-bg:rgba(0,0,0,.15);
  --mob-hero-bg:#eeeeee; --mob-btn-label:#1a1a1a;
  /* Mobile steps */
  --mob-steps-bg:#f5f5f5;
  --mob-step-border:rgba(0,0,0,.1);
  --mob-step-title:#0d0d0d;
  --mob-step-desc:#2a2a2a;
  --mob-step-strong:#9e3f00;
  /* Gallery */
  --gal-title:#0d0d0d;
  --gal-desc:#2a2a2a;
}

html.light-mode body { background:#f5f5f5; color:#1a1a1a; }
html.light-mode h1,html.light-mode h2,
html.light-mode h3,html.light-mode h4 { color:#0d0d0d; }

/* ── NAV ── */
html.light-mode nav { background:rgba(255,255,255,0); }
html.light-mode nav.scrolled {
  background:rgba(255,255,255,.97);
  border-bottom-color:rgba(150,60,0,.2);
}
html.light-mode .nl a { color:#111; }
html.light-mode nav.scrolled .nl a { color:#111; }
html.light-mode .nl a:hover,
html.light-mode nav.scrolled .nl a:hover,
html.light-mode .nl a.nav-active { color:#c75400; }
html.light-mode .nav-tel { color:#111 !important; }
html.light-mode nav.scrolled .nav-tel { color:#c75400 !important; }
html.light-mode .ncta { background:#c75400; color:#fff !important; }
html.light-mode .ncta:hover { background:#9e3f00 !important; }
html.light-mode .hbg span { background:#111; }
html.light-mode nav.scrolled .hbg span { background:#111; }
html.light-mode .mm { background:#fff; border-top-color:rgba(0,0,0,.1); }
html.light-mode .mm a { color:#111; border-bottom-color:rgba(0,0,0,.08); }
html.light-mode .mm a:hover { color:#c75400; }

/* ── TRUST BAR ── */
html.light-mode .tbar { background:#fff; border-bottom-color:rgba(150,60,0,.15); }
html.light-mode .tp { background:#f0f0f0; border-color:rgba(150,60,0,.25); color:#111; }
html.light-mode .tpi { color:#c75400; }
html.light-mode .tbl { color:#333; }

/* ── SECTIONS ── */
html.light-mode section { background:#f5f5f5; }
html.light-mode .sl { color:#c75400; }
html.light-mode .st { color:#0d0d0d; }
html.light-mode .ss { color:#2a2a2a; }

/* ── MOBILE HERO ── */
html.light-mode .mob-hero { background:#eeeeee !important; }
html.light-mode .mob-hero-overlay {
  background:
    linear-gradient(to right,rgba(230,230,230,.99) 30%,rgba(230,230,230,.7) 68%,rgba(230,230,230,.05) 100%),
    linear-gradient(to top,rgba(230,230,230,1) 0%,rgba(230,230,230,0) 40%),
    linear-gradient(to bottom,rgba(230,230,230,.95) 0%,transparent 20%) !important;
}
html.light-mode .mob-hero-photo img { opacity:.1; filter:grayscale(40%); }
html.light-mode .mob-hero-eyebrow { color:#c75400; }
html.light-mode .mob-hero-title { color:#0d0d0d !important; }
html.light-mode .mob-hero-blue { color:#9e3f00 !important; }
html.light-mode .mob-hero-desc { color:#2a2a2a !important; }
html.light-mode .mob-hero-badges span {
  color:#222; background:rgba(0,0,0,.08); border-color:rgba(0,0,0,.14);
}
html.light-mode .mob-act-btn span { color:#111; font-weight:600; }
html.light-mode .mob-quiz-btn {
  background:rgba(150,60,0,.08); border-color:#c75400; color:#c75400;
}
html.light-mode .mob-quiz-btn svg { stroke:#c75400; }
html.light-mode .mob-act-icon { box-shadow:0 3px 10px rgba(0,0,0,.12); }

/* ── PROGRESS / DOTS ── */
html.light-mode .pbar-wrap { background:rgba(0,0,0,.1); }
html.light-mode .pbar-fill { background:linear-gradient(90deg,#c75400,#d96000) !important; }
html.light-mode .sdot { border-color:rgba(0,0,0,.25); }
html.light-mode .sdot.on { background:#111; border-color:#111; }
html.light-mode .shint-t { color:rgba(0,0,0,.4); }
html.light-mode .shint-a { border-color:rgba(0,0,0,.25); }

/* ── SERVICE CARDS ── */
html.light-mode .svc {
  background:#fff; border-color:rgba(150,60,0,.2);
  box-shadow:0 2px 12px rgba(0,0,0,.07);
}
html.light-mode .svc:hover { box-shadow:var(--shlg); border-color:#c75400; }
html.light-mode .svc::before { background:#c75400; }
html.light-mode .svc-ico { background:rgba(150,60,0,.1); }
html.light-mode .svc-ico svg { stroke:#c75400; }
html.light-mode .svc-t { color:#0d0d0d; }
html.light-mode .svc-d { color:#2a2a2a; }
html.light-mode .svc-tag { background:rgba(150,60,0,.1); color:#6b2d00; }

/* ── EQUIPMENT ── */
html.light-mode .eq-bg { background:#e8e8e8; }
html.light-mode .eq-vis { background:linear-gradient(135deg,#ddd,#e8e8e8); }
html.light-mode .eq-bdg { background:#fff; border-color:rgba(150,60,0,.2); }
html.light-mode .eq-bdg-n { color:#9e3f00; }
html.light-mode .eq-bdg-s { color:#333; }
html.light-mode .eq-dot { background:rgba(150,60,0,.1); border-color:rgba(150,60,0,.3); }
html.light-mode .eq-dot svg { stroke:#c75400; }
html.light-mode .eq-t { color:#0d0d0d; }
html.light-mode .eq-d { color:#2a2a2a; }

/* ── PROCESS ── */
html.light-mode .proc-bg { background:#e8e8e8; }
html.light-mode .ps { background:rgba(0,0,0,.03); }
html.light-mode .ps:hover { background:rgba(0,0,0,.07); }
html.light-mode .ps-n { color:rgba(0,0,0,.08); }
html.light-mode .ps-t { color:#0d0d0d; }
html.light-mode .ps-d { color:#2a2a2a; }
html.light-mode .ps-time { background:rgba(150,60,0,.12); color:#6b2d00; }

/* ── PARTNER CARDS ── */
html.light-mode .prt-card { background:#fff; border-color:rgba(150,60,0,.15); }
html.light-mode .prt-ico { background:rgba(150,60,0,.1); }
html.light-mode .prt-ico svg { stroke:#c75400; }
html.light-mode .prt-t { color:#0d0d0d; }
html.light-mode .prt-d { color:#2a2a2a; }

/* ── REVIEWS ── */
html.light-mode .rev-bg { background:#e8e8e8; }
html.light-mode .rev-c { background:#fff; border-color:rgba(150,60,0,.15); }
html.light-mode .rev-stars { color:#b45309; }
html.light-mode .rev-txt { color:#2a2a2a; }
html.light-mode .rev-av { background:#d0d0d0; color:#9e3f00; }
html.light-mode .rev-n { color:#0d0d0d; }
html.light-mode .rev-l { color:#4a4a4a; }
html.light-mode .rev-card { background:#fff !important; border-color:rgba(150,60,0,.15) !important; }
html.light-mode .rev-text { color:#1a1a1a !important; }
html.light-mode #rev-header { background:#ebebeb !important; border-color:rgba(150,60,0,.15) !important; }
html.light-mode #rev-score { color:#0d0d0d !important; }
html.light-mode #rev-count { color:#333 !important; }
html.light-mode #rev-loading div { border-color:#ddd; border-top-color:#c75400; }
html.light-mode #rev-error { color:#333 !important; }

/* ── QUIZ ── */
html.light-mode #gutachter-check { background:#eeeeee !important; }
html.light-mode #gutachter-check > div > div[style*="radial-gradient"] { opacity:.15; }
html.light-mode #gutachter-check .sl { color:#c75400; }
html.light-mode #gutachter-check .st { color:#0d0d0d !important; }
html.light-mode #gutachter-check em { color:#9e3f00 !important; }
html.light-mode #gutachter-check > div > p { color:#2a2a2a !important; }
html.light-mode #quizCard {
  background:#fff !important; border-color:rgba(150,60,0,.25) !important;
  box-shadow:0 4px 24px rgba(0,0,0,.1);
}
html.light-mode #qProgressBar { box-shadow:none !important; }
html.light-mode #qStepLabel { color:#4a4a4a !important; }
html.light-mode #qStepLabel span { color:#4a4a4a; }
html.light-mode #qNum { color:#4a4a4a; }
html.light-mode .quiz-qtitle { color:#0d0d0d !important; }
html.light-mode .quiz-hint {
  color:#2a2a2a !important;
  background:rgba(150,60,0,.07) !important;
  border-left-color:rgba(150,60,0,.4) !important;
}
html.light-mode .qopt {
  background:#f0f0f0 !important; border-color:rgba(0,0,0,.15) !important;
  color:#0d0d0d !important;
}
html.light-mode .qopt:hover {
  background:rgba(150,60,0,.08) !important; border-color:rgba(150,60,0,.4) !important;
}
html.light-mode .qopt.selected {
  background:rgba(150,60,0,.12) !important; border-color:#c75400 !important;
}
html.light-mode .qopt-strong { color:#0d0d0d !important; }
html.light-mode .qopt-small { color:#4a4a4a !important; }
html.light-mode .qopt-icon {
  background:rgba(150,60,0,.1) !important;
  border-color:rgba(150,60,0,.2) !important;
  color:#555 !important;
}
html.light-mode .qopt:hover .qopt-icon,
html.light-mode .qopt.selected .qopt-icon {
  background:#c75400 !important; border-color:#c75400 !important; color:#fff !important;
}
html.light-mode .qdot { background:rgba(0,0,0,.15) !important; }
html.light-mode .qdot.active { background:#c75400 !important; box-shadow:none !important; }
html.light-mode .qdot.done { background:rgba(150,60,0,.4) !important; }
html.light-mode .qres-title { color:#0d0d0d !important; }
html.light-mode .qres-desc { color:#2a2a2a !important; }
html.light-mode .qres-points { background:#f0f0f0 !important; border-color:rgba(0,0,0,.1) !important; }
html.light-mode .qres-point { color:#2a2a2a !important; }
html.light-mode .qres-restart { color:#666 !important; }
html.light-mode .qres-restart:hover { color:#111 !important; }
html.light-mode .quiz-graphic svg { filter:drop-shadow(0 0 12px rgba(150,60,0,.3)) !important; }
/* Quiz bottom disclaimer */
html.light-mode #gutachter-check > div > p:last-child { color:#666 !important; }

/* ── CTA SECTION ── */
html.light-mode .cta-s { background:linear-gradient(135deg,#c75400,#9e3f00); }
html.light-mode .cta-s h2 { color:#fff; }
html.light-mode .cta-s p { color:rgba(255,255,255,.92); }
html.light-mode .cta-bm { background:#fff; color:#c75400; }
html.light-mode .cta-bm:hover { background:#f5f5f5 !important; }
html.light-mode .cta-bs { color:#fff !important; border-color:rgba(255,255,255,.4); }
html.light-mode .cta-bs:hover { background:rgba(255,255,255,.18); }

/* ── CONTACT ── */
html.light-mode .ct-card { background:#fff; border-color:rgba(0,0,0,.1); }
html.light-mode .ct-ico { background:rgba(150,60,0,.1); }
html.light-mode .ct-ico svg { stroke:#c75400; }
html.light-mode .ct-lbl { color:#4a4a4a; }
html.light-mode .ct-val { color:#0d0d0d; }
html.light-mode .ct-val a { color:#c75400; }
html.light-mode .ltag { background:rgba(150,60,0,.1); color:#6b2d00; }
html.light-mode .cf { background:#fff; border-color:rgba(150,60,0,.2); box-shadow:0 2px 16px rgba(0,0,0,.08); }
html.light-mode .cf-t { color:#0d0d0d; }
html.light-mode .cf-s { color:#333; }
html.light-mode .fg label { color:#222; }
html.light-mode .fg input,html.light-mode .fg select,html.light-mode .fg textarea {
  background:#f0f0f0; border-color:rgba(0,0,0,.15); color:#111;
}
html.light-mode .fg input::placeholder,html.light-mode .fg textarea::placeholder { color:#888; }
html.light-mode .fg select option { background:#fff; color:#111; }
html.light-mode .fg input:focus,html.light-mode .fg select:focus,html.light-mode .fg textarea:focus {
  border-color:#c75400; box-shadow:0 0 0 3px rgba(150,60,0,.12);
}
html.light-mode .fsb { background:#c75400; color:#fff; }
html.light-mode .fsb:hover { background:#9e3f00; }
html.light-mode .fnote { color:#555; }

/* ── LEISTUNGEN ── */
html.light-mode .ld { background:#fff; border-color:rgba(150,60,0,.2); }
html.light-mode .ld:hover { box-shadow:var(--sh); }
html.light-mode .ld-num { background:#c75400; color:#fff; }
html.light-mode .ld-title { color:#0d0d0d; }
html.light-mode .ld-desc { color:#2a2a2a; }
html.light-mode .ld-box { background:#f0f0f0; border-color:rgba(150,60,0,.2); }
html.light-mode .ld-box-title { color:#c75400; }
html.light-mode .ld-li { color:#1a1a1a; }
html.light-mode .ld-li-dot { background:rgba(150,60,0,.1); }
html.light-mode .ld-li-dot svg { stroke:#c75400; }
html.light-mode .ld-tag { background:rgba(150,60,0,.08); color:#6b2d00; border-color:rgba(150,60,0,.2); }
html.light-mode .ld-img-cap { background:rgba(255,255,255,.92); color:#111; }

/* ── CITY CARDS & CP-BOX ── */
html.light-mode .city-card { background:#fff; border-color:rgba(150,60,0,.15); }
html.light-mode .city-card:hover { border-color:#c75400; box-shadow:var(--shlg); }
html.light-mode .city-card-icon { background:rgba(150,60,0,.1); }
html.light-mode .city-card-icon svg { stroke:#c75400; }
html.light-mode .city-card-name { color:#0d0d0d; }
html.light-mode .city-card-services { color:#2a2a2a; }
html.light-mode .city-card-link { color:#c75400; }
html.light-mode .city-btn-p { background:#c75400; color:#fff !important; }
html.light-mode .city-btn-p:hover { background:#9e3f00 !important; }
html.light-mode .city-btn-s { color:#0d0d0d !important; border-color:rgba(150,60,0,.4); background:transparent; }
html.light-mode .city-btn-s:hover { background:rgba(150,60,0,.08); border-color:#c75400; }
/* The dark CTA box on city pages */
html.light-mode .cp-box { background:#fff; border-color:rgba(150,60,0,.2); }
html.light-mode .cp-box p { color:#1a1a1a; }
html.light-mode .cp-box strong { color:#9e3f00; }
html.light-mode .cp-box a { color:#c75400; }
/* Figcaptions under images */
html.light-mode figcaption:not(.gal-overlay) { background:#f0f0f0 !important; color:#333 !important; }

/* ── FAQ ── */
html.light-mode .faq-item { border-bottom-color:rgba(0,0,0,.1); }
html.light-mode .faq-q { color:#0d0d0d; }
html.light-mode .faq-item.open .faq-q { color:#c75400; }
html.light-mode .faq-a p { color:#2a2a2a; }
html.light-mode .faq-a strong { color:#0d0d0d; }
html.light-mode .faq-a a { color:#c75400; }

/* ── SPHERO ── */
html.light-mode .sphero { background:#e8e8e8; }
html.light-mode .sphero .sl { color:#c75400; }
html.light-mode .sphero .st { color:#0d0d0d; }
html.light-mode .sphero p { color:#2a2a2a; }

/* ── LEGAL ── */
html.light-mode .lw h1,html.light-mode .lw h2 { color:#0d0d0d; }
html.light-mode .lw h3 { color:#9e3f00; }
html.light-mode .lw p,html.light-mode .lw li { color:#2a2a2a; }
html.light-mode .lw a { color:#c75400; }
html.light-mode .lu { color:#555; }

/* ── GALERIE ── */
html.light-mode .gal-bg { background:#e0e0e0; }

/* ── FOOTER ── */
html.light-mode footer { background:#e0e0e0; color:#333; }
html.light-mode .ftt { border-bottom-color:rgba(0,0,0,.12); }
html.light-mode .fct { color:#0d0d0d; }
html.light-mode .fd { color:#333; }
html.light-mode .fls a { color:#444; }
html.light-mode .fls a:hover { color:#0d0d0d; }
html.light-mode .fb { color:#444; }
html.light-mode .fb a { color:#444; }
html.light-mode .fb a:hover { color:#0d0d0d; }

/* ── LOGO ── */
html.light-mode .logo-img { mix-blend-mode:normal; filter:none !important; }
html.light-mode .fli { mix-blend-mode:normal; opacity:.65; filter:brightness(0); }

/* ── SUBPAGE NAV ── */
html.light-mode body.subpage #mainnav {
  background:rgba(255,255,255,.97) !important;
  border-bottom-color:rgba(0,0,0,.08) !important;
}
html.light-mode body.subpage #mainnav .nl a { color:#111 !important; }
html.light-mode body.subpage #mainnav .nl a:hover,
html.light-mode body.subpage #mainnav .nl a.nav-active { color:#c75400 !important; }
html.light-mode body.subpage #mainnav .hbg span { background:#111 !important; }
html.light-mode body.subpage #mainnav .nav-tel { color:#c75400 !important; }

/* ── REGIONEN ── */
html.light-mode .reg-intro-img { box-shadow:0 10px 30px rgba(150,60,0,.15); }

/* ── GALERIE ── */
html.light-mode .gal-overlay {
  background: linear-gradient(to top, rgba(20,20,20,.88) 0%, rgba(20,20,20,.55) 45%, transparent 100%);
}
html.light-mode .gal-step { color:#fdba74; }
html.light-mode .gal-title { color:#ffffff; }
html.light-mode .gal-desc { color:rgba(255,255,255,.82); }
html.light-mode .gal-item { box-shadow:0 4px 16px rgba(0,0,0,.15); }
html.light-mode .gal-item:hover { box-shadow:0 8px 28px rgba(0,0,0,.25); }

/* ── MOBILE STEPS ── */
html.light-mode .mob-steps { background:#f5f5f5 !important; }
html.light-mode .mob-step { border-bottom-color:rgba(0,0,0,.1) !important; }
html.light-mode .mob-step-num { background:#c75400; box-shadow:0 0 0 4px rgba(150,60,0,.15); }
html.light-mode .mob-step-label { color:#c75400; }
html.light-mode .mob-step-title { color:#0d0d0d !important; }
html.light-mode .mob-step-title em { color:#9e3f00; }
html.light-mode .mob-step-desc { color:#2a2a2a !important; }
html.light-mode .mob-step-desc strong { color:#9e3f00 !important; }
/* Call button inside steps - orange on light bg */
html.light-mode .mob-steps .sct-cta { background:#c75400 !important; color:#fff !important; }
html.light-mode .mob-steps .sct-cta-w {
  background:transparent !important; color:#c75400 !important;
  border-color:rgba(150,60,0,.4) !important;
}
html.light-mode .mob-step::after {
  background:linear-gradient(to bottom,rgba(150,60,0,.4),rgba(150,60,0,.1)) !important;
}
