/* Elementor-Container fließen wie normale Blöcke (wie die HTML-Version: Abstände fallen zusammen).
   Raster- und Zeilen-Klassen des Designsystems (unten) setzen ihr eigenes display, flex-direction usw.
   Elementors Flex-Grundwerte (Spalte, Abstände, Ausrichtung) werden neutralisiert. */
.e-con{display:block;flex-direction:row;flex-wrap:nowrap;justify-content:normal;align-items:normal;align-content:normal;gap:normal;position:static}
.elementor-editor-active .e-con{position:relative}
/* ==========================================================================
   Ad on Wheels – Designsystem „Night Drive“
   Orange · Schwarz · Weiß, abgeleitet aus dem Logo:
   Speed-Lines · gekippter Screen-Rahmen · LED-Punktraster · Orange-Glow.
   Mobile-first. Tokens = später Elementor Global Colors / Fonts.
   ========================================================================== */

/* ---------- Schriften (lokal, SIL OFL) ---------- */
@font-face{font-family:"Unbounded";font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/unbounded-latin.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/manrope-latin.woff2) format("woff2")}
/* Konfigurator-Schriften: lädt der Browser erst, wenn ein Besucher sie auswählt */
@font-face{font-family:"Bebas Neue";font-weight:400;font-display:swap;src:url(../fonts/bebas-neue-latin.woff2) format("woff2")}
@font-face{font-family:"Anton";font-weight:400;font-display:swap;src:url(../fonts/anton-latin.woff2) format("woff2")}
@font-face{font-family:"Montserrat";font-weight:800;font-display:swap;src:url(../fonts/montserrat-800-latin.woff2) format("woff2")}
@font-face{font-family:"Playfair Display";font-weight:700;font-display:swap;src:url(../fonts/playfair-display-700-latin.woff2) format("woff2")}
@font-face{font-family:"Orbitron";font-weight:800;font-display:swap;src:url(../fonts/orbitron-800-latin.woff2) format("woff2")}
@font-face{font-family:"Bungee";font-weight:400;font-display:swap;src:url(../fonts/bungee-latin.woff2) format("woff2")}
@font-face{font-family:"Permanent Marker";font-weight:400;font-display:swap;src:url(../fonts/permanent-marker-latin.woff2) format("woff2")}
@font-face{font-family:"Pacifico";font-weight:400;font-display:swap;src:url(../fonts/pacifico-latin.woff2) format("woff2")}

/* ---------- Tokens ---------- */
:root{
  /* Flächen */
  --black:#0A0A0A;
  --carbon:#111111;
  --graphite:#1A1A1A;
  --steel:#262626;
  --white:#FFFFFF;
  --chalk:#F4F4F2;
  --chalk-2:#E9E9E5;
  --line:#E2E2DE;
  --line-d:rgba(255,255,255,.10);
  --line-d2:rgba(255,255,255,.18);

  /* Marke */
  --orange:#FF6A00;          /* Logo-Kern · Buttons (schwarze Schrift 6,9:1) */
  --orange-hot:#FF8A1F;      /* Hover */
  --amber:#FFB238;           /* Chrom-Glanzlicht · Fokus */
  --orange-deep:#D94800;
  --orange-ink:#C24E00;      /* Orange als Text auf Weiß (4,8:1) */
  --orange-soft:#FFF1E6;
  --chrome:linear-gradient(100deg,#FFB238 0%,#FF8A1F 26%,#FF6A00 50%,#E85200 72%,#FFA03A 100%);
  --chrome-ink:linear-gradient(100deg,#C24E00 0%,#E35B00 45%,#B84400 100%);

  /* Text */
  --text:#0F0F0F;
  --muted:#55555B;           /* 7,4:1 auf Weiß */
  --muted-d:#A6A6A6;         /* 8,3:1 auf Schwarz */

  /* Typo */
  --f-display:"Unbounded",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-body:"Manrope",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --fs-hero:clamp(2.15rem,1.05rem + 4.1vw,4.4rem);
  --fs-h1:clamp(1.9rem,1.1rem + 3.1vw,3.7rem);
  --fs-h2:clamp(1.5rem,1.05rem + 1.9vw,2.6rem);
  --fs-h3:clamp(1.18rem,1rem + .7vw,1.5rem);
  --fs-lead:clamp(1.04rem,.98rem + .3vw,1.22rem);
  --fs-body:1.0625rem;
  --fs-small:.9rem;

  /* Raum & Form */
  --gutter:clamp(16px,4vw,40px);
  --container:1280px;
  --section-y:clamp(72px,9vw,132px);
  --header-h:72px;
  --r-sm:8px;
  --r:12px;
  --r-lg:18px;

  /* Bewegung & Tiefe */
  --ease:cubic-bezier(.2,.8,.2,1);
  --shadow:0 1px 2px rgba(0,0,0,.05),0 16px 36px -18px rgba(0,0,0,.28);
  --glow:0 0 0 1px rgba(255,106,0,.4),0 22px 60px -18px rgba(255,106,0,.55);

  /* Ton je Sektion (hell als Standard) */
  --fg:var(--text);
  --fg-muted:var(--muted);
  --accent:var(--orange-ink);
  --card:var(--white);
  --card-line:var(--line);
}

/* Dunkle Flächen setzen den Ton um */
.sec--dark,.sec--carbon,.hero,.phero,.ftr,.mnav,.contact__card--dark,.pkg--featured,.mode--dark,.brand-box{
  --fg:#fff;--fg-muted:var(--muted-d);--accent:var(--orange);--card:var(--graphite);--card-line:var(--line-d);
  color:var(--fg);
}

/* ---------- Basis ---------- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 20px);overflow-x:clip}
body{margin:0;font-family:var(--f-body);font-size:var(--fs-body);line-height:1.65;color:var(--fg);background:var(--white);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;overflow-wrap:break-word}
img,svg,video{display:block;max-width:100%}
img,video{height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
button,input,select,textarea{font:inherit;color:inherit}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0}
h1,h2,h3,h4,h5{margin:0 0 .55em;color:var(--fg);text-wrap:balance}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:4px}
::selection{background:var(--orange);color:#000}

.h1,.h2,.h3{font-family:var(--f-display);font-weight:600;letter-spacing:-.025em;line-height:1.1;hyphens:manual}
@media (max-width:600px){.h1,.h2,.h3{hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:12 5 5}}
.h1{font-size:var(--fs-h1);font-weight:650}
.h2{font-size:var(--fs-h2)}
.h3{font-size:var(--fs-h3)}
.h4{font-family:var(--f-body);font-size:1.14rem;font-weight:800;letter-spacing:-.01em;line-height:1.3}
.h5{font-family:var(--f-body);font-size:.98rem;font-weight:800;letter-spacing:0;line-height:1.35}
.lead{font-size:var(--fs-lead);line-height:1.6;color:var(--fg-muted);max-width:62ch}
.small{font-size:var(--fs-small)}
.muted{color:var(--fg-muted)}
.center{text-align:center}
.ink-orange{color:var(--accent)}

/* Chrom-Akzent (Verlauf aus dem Logo) */
.chrome{background:var(--chrome);-webkit-background-clip:text;background-clip:text;color:var(--orange);-webkit-text-fill-color:transparent}
.sec--light .chrome,.sec--chalk .chrome{background:var(--chrome-ink);-webkit-background-clip:text;background-clip:text;color:var(--orange-ink)}

/* Eyebrow mit Speed-Line (Echo auf „W H E E L S“) */
.eyebrow{display:inline-flex;align-items:center;gap:12px;margin:0 0 18px;font-size:.74rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}
.eyebrow::before{content:"";width:30px;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,currentColor);flex:none}
.eyebrow--ink{color:var(--black)}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:200;padding:12px 18px;border-radius:var(--r-sm);background:var(--orange);color:#000;font-weight:800;text-decoration:none}
.skip:focus{top:12px}

.container{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}

.ico{width:22px;height:22px;flex:none}

/* ---------- Sektionen ---------- */
.sec{position:relative;padding-block:var(--section-y);isolation:isolate}
/* Gleicher Hintergrund hintereinander: Abstand nicht verdoppeln */
.sec--light + .sec--light,.sec--chalk + .sec--chalk{padding-top:calc(var(--section-y) * .3)}
.sec--light{background:var(--white)}
.sec--chalk{background:var(--chalk)}
.sec--dark{background:var(--black)}
.sec--carbon{background:var(--carbon)}
.sec--dark::before,.sec--carbon::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.3px);background-size:18px 18px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 70%);mask-image:linear-gradient(180deg,#000,transparent 70%)}
.sec--glow::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(45% 55% at 85% 50%,rgba(255,106,0,.18),transparent 70%)}

.sec-head{margin-bottom:clamp(32px,4vw,56px)}
.sec-head .h2{margin-bottom:.5em}
.sec-head--center{text-align:center;max-width:780px;margin-inline:auto}
.sec-head--center .lead{margin-inline:auto}
.sec-head--center .eyebrow{justify-content:center}
.sec-head--split{display:grid;gap:12px 48px}
@media (min-width:960px){
  .sec-head--split{grid-template-columns:1.1fr 1fr;align-items:end}
  .sec-head--split .lead{margin:0 0 .4em}
}

/* ---------- Buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 22px;border-radius:var(--r-sm);
  border:1.5px solid transparent;font-weight:800;font-size:1rem;letter-spacing:.005em;line-height:1.1;text-decoration:none;cursor:pointer;
  transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),box-shadow .25s var(--ease),transform .2s var(--ease)}
.btn__ico{width:20px;height:20px;transition:transform .25s var(--ease)}
.btn:hover .btn__ico{transform:translateX(4px)}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--orange);color:#000}
.btn--primary:hover{background:var(--orange-hot);box-shadow:var(--glow)}
.btn--ghost{border-color:rgba(255,255,255,.3);color:#fff}
.btn--ghost:hover{border-color:var(--orange);color:var(--orange)}
.btn--dark{background:var(--black);color:#fff}
.btn--dark:hover{background:#222}
.btn--dark:hover .btn__ico{color:var(--orange)}
.btn--ghost-dark{border-color:rgba(0,0,0,.22);color:var(--text)}
.btn--ghost-dark:hover{border-color:var(--black);background:var(--black);color:#fff}
.btn--black{background:var(--black);color:#fff}
.btn--black:hover{background:#1E1E1E;box-shadow:0 14px 36px -14px rgba(0,0,0,.6)}
.btn--wa{background:#25D366;color:#04210F;width:100%}
.btn--wa:hover{background:#3BE07A}
.btn--sm{min-height:42px;padding:0 16px;font-size:.92rem}
.btn--lg{min-height:58px;padding:0 28px;font-size:1.05rem}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn-row--center{justify-content:center;margin-top:44px}

/* ---------- Chips ---------- */
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:24px 0 0}
.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;font-size:.85rem;font-weight:700;line-height:1.2;
  background:rgba(255,255,255,.06);border:1px solid var(--line-d2);color:#fff}
.chip::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--orange);box-shadow:0 0 10px var(--orange)}
.chips--light .chip{background:var(--chalk);border-color:var(--line);color:var(--text)}
.sec--chalk .chips--light .chip{background:var(--white)}
.chips--light .chip::before{box-shadow:none}
.chip--sm{padding:6px 10px;font-size:.78rem}
/* Große Bildschirme: Fakten-Chips im Seitenkopf kompakt in einer Reihe */
@media (min-width:1200px){
  .hero .chips,.phero .chips{gap:6px}
  .hero .chip,.phero .chip{padding:6px 9px;font-size:.74rem;gap:6px;white-space:nowrap}
  .hero .chip::before,.phero .chip::before{width:5px;height:5px}
}

/* ---------- Header ---------- */
.hdr{position:fixed;inset:0 0 auto;z-index:100;height:var(--header-h);color:#fff;transition:background-color .3s var(--ease),border-color .3s var(--ease),backdrop-filter .3s;border-bottom:1px solid transparent}
.hdr.is-scrolled,body.menu-open .hdr{background:rgba(10,10,10,.86);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border-bottom-color:var(--line-d)}
.hdr__in{display:flex;align-items:center;gap:20px;height:100%}
.hdr__logo{display:block;flex:none;margin-right:auto}
.hdr__img{height:38px;width:auto}
.nav{display:none}
.nav__list{display:flex;gap:4px;list-style:none}
.nav__link{display:block;position:relative;padding:10px 12px;font-size:.93rem;font-weight:700;color:rgba(255,255,255,.8);text-decoration:none;border-radius:6px;transition:color .2s}
.nav__link::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--orange));transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ease)}
.nav__link:hover,.nav__link.is-active{color:#fff}
.nav__link:hover::after,.nav__link.is-active::after{transform:scaleX(1)}
.hdr__actions{display:flex;align-items:center;gap:8px}
.hdr__phone{display:none;place-items:center;width:44px;height:44px;border-radius:var(--r-sm);border:1px solid var(--line-d2);color:#fff;transition:border-color .2s,color .2s}
.hdr__phone:hover{border-color:var(--orange);color:var(--orange)}
.hdr__phone .ico{width:19px;height:19px}
.hdr__cta{display:none}
.burger{display:grid;place-items:center;width:46px;height:46px;border-radius:var(--r-sm);border:1px solid var(--line-d2);background:transparent;cursor:pointer}
.burger__bars,.burger__bars::before,.burger__bars::after{display:block;width:20px;height:2px;border-radius:2px;background:#fff;transition:transform .3s var(--ease),opacity .2s}
.burger__bars{position:relative}
.burger__bars::before,.burger__bars::after{content:"";position:absolute;left:0}
.burger__bars::before{top:-6px}
.burger__bars::after{top:6px;width:14px}
.burger[aria-expanded="true"] .burger__bars{background:transparent}
.burger[aria-expanded="true"] .burger__bars::before{transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] .burger__bars::after{transform:translateY(-6px) rotate(-45deg);width:20px}
@media (min-width:480px){.hdr__cta{display:inline-flex}}
@media (min-width:640px){.hdr__phone{display:grid}}
@media (min-width:1200px){
  .nav{display:block}
  .burger{display:none}
  .hdr__img{height:42px}
}

/* Mobile Navigation */
.mnav{position:fixed;inset:0;z-index:90;background:var(--black);padding:calc(var(--header-h) + 16px) var(--gutter) 32px;overflow-y:auto;
  display:flex;flex-direction:column;gap:28px;opacity:0;transform:translateY(-8px);transition:opacity .25s var(--ease),transform .3s var(--ease)}
.mnav:not(.is-open){pointer-events:none}
.mnav.is-open{opacity:1;transform:none}
.mnav::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 40% at 100% 100%,rgba(255,106,0,.22),transparent 70%)}
.mnav__list{list-style:none}
.mnav__link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid var(--line-d);
  font-family:var(--f-display);font-size:clamp(1.15rem,1rem + 1.2vw,1.5rem);font-weight:600;color:#fff;text-decoration:none}
.mnav__link .ico{color:var(--orange);transition:transform .25s var(--ease)}
.mnav__link:hover .ico{transform:translateX(4px)}
.mnav__link.is-active{color:var(--orange)}
.mnav__foot{display:grid;gap:22px}
body.menu-open{overflow:hidden}

/* ---------- Hintergrund-Layer (Hero & Seitenkopf) ---------- */
.hero__bg,.phero__bg{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1.3px);background-size:18px 18px;
  -webkit-mask-image:radial-gradient(70% 70% at 70% 40%,#000 15%,transparent 75%);mask-image:radial-gradient(70% 70% at 70% 40%,#000 15%,transparent 75%)}
.glow{position:absolute;inset:0;background:radial-gradient(45% 55% at 78% 62%,rgba(255,106,0,.32),transparent 70%),radial-gradient(35% 40% at 10% 100%,rgba(255,106,0,.12),transparent 70%)}
.lines{position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,transparent 0 38%,#000 62%);mask-image:linear-gradient(90deg,transparent 0 38%,#000 62%)}
.lines span{position:absolute;left:0;height:5px;width:38%;border-radius:5px;opacity:0;
  background:linear-gradient(90deg,transparent,rgba(255,106,0,.15) 30%,var(--orange) 85%,var(--amber));
  animation:streak 6s var(--ease) infinite}
.lines span:nth-child(1){top:22%;animation-delay:.2s}
.lines span:nth-child(2){top:34%;width:28%;animation-delay:1.6s}
.lines span:nth-child(3){top:52%;width:44%;animation-delay:3s}
.lines span:nth-child(4){top:68%;width:24%;animation-delay:.9s}
.lines span:nth-child(5){top:80%;width:34%;animation-delay:4.2s}
.lines span:nth-child(6){top:44%;width:20%;animation-delay:2.4s}
@keyframes streak{
  0%{transform:translateX(-110%);opacity:0}
  15%{opacity:.55}
  55%{transform:translateX(230%);opacity:0}
  100%{transform:translateX(230%);opacity:0}
}

/* ---------- Hero (Startseite) ---------- */
.hero{position:relative;isolation:isolate;background:var(--black);padding:calc(var(--header-h) + clamp(36px,6vw,72px)) 0 clamp(56px,7vw,96px);overflow:hidden}
.hero__grid{display:grid;gap:clamp(36px,5vw,64px);align-items:center}
.hero__copy,.phero__copy,.why .split__copy{position:relative;z-index:1}   /* Text liegt über den Speed-Lines des Trucks */
.hero__title{font-size:var(--fs-hero);font-weight:700;letter-spacing:-.035em;line-height:1.02;margin-bottom:.45em}
.hero__title .chrome{display:inline-block;padding-bottom:.06em}
.hero .lead{color:rgba(255,255,255,.78)}
@media (min-width:1024px){
  .hero{min-height:min(100svh,940px);display:flex;align-items:center}
  .hero__grid{grid-template-columns:1fr 1.05fr}
}
@media (min-width:1200px){.hero__grid{grid-template-columns:1.2fr 1fr}}

/* Hero: Fahrt durch Frankfurt (Ebenen wie der Konfigurator-Hintergrund, erzeugt von main.js) */
.hero-city{position:absolute;left:0;right:0;top:var(--top,0);height:var(--bgh,100%);z-index:-1;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .9s var(--ease)}
.hero-city.is-on{opacity:1}
.hero-city--frankfurt .cfg-bg__far{background-image:url(../img/staedte/frankfurt-far.svg)}
.hero-city--frankfurt .cfg-bg__city{background-image:url(../img/staedte/frankfurt-city.svg)}
.hero-city--frankfurt .cfg-bg__ground{background-image:url(../img/staedte/frankfurt-ground.svg)}
.hero-city .cfg-bg__far{animation:cfg-pan var(--fdur,120s) linear infinite}
.hero-city .cfg-bg__city{animation:cfg-pan var(--cdur,36s) linear infinite}
.hero-city .cfg-bg__ground{animation:cfg-pan var(--gdur,8s) linear infinite}
/* oben und unten in den Hintergrund auslaufen; auf Desktop zur Textseite hin abdunkeln */
.hero-city::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--black) 0,rgba(10,10,10,.6) 20%,rgba(10,10,10,0) 44%,rgba(10,10,10,0) 90%,var(--black) 100%)}
@media (min-width:1024px){
  .hero-city::after{background:linear-gradient(90deg,var(--black) 0,rgba(10,10,10,.95) 38%,rgba(10,10,10,.6) 50%,rgba(10,10,10,0) 63%),
    linear-gradient(180deg,var(--black) 0,rgba(10,10,10,.6) 20%,rgba(10,10,10,0) 44%,rgba(10,10,10,0) 90%,var(--black) 100%)}
}
.hero--city .hero__bg .lines{display:none}
.hero--city .hv{animation:cfg-bump .42s ease-in-out infinite alternate}
.hero--city .hv .wheel{animation-duration:var(--spin,.9s)}

/* Hero-Visual: gezeichneter LED-Truck mit animiertem Screen */
.hv{position:relative;isolation:isolate;aspect-ratio:680/340;width:100%;max-width:760px;margin-inline:auto;animation:float 6s ease-in-out infinite}
.hv::after{content:"";position:absolute;left:8%;right:8%;bottom:-6%;height:30%;z-index:-1;background:radial-gradient(50% 50% at 45% 50%,rgba(255,106,0,.45),transparent 70%);filter:blur(10px)}
.hv__svg{width:100%;height:auto;overflow:visible}
.hv__screen{position:absolute;left:8.53%;top:18.82%;width:59.12%;height:50.59%;overflow:hidden;border-radius:3px;container-type:inline-size;
  background:radial-gradient(85% 120% at 30% 35%,#FF8A1F,#E24A00 38%,#4A1400 76%,#160600);box-shadow:0 0 50px rgba(255,106,0,.45)}
.hv__slides{position:absolute;inset:0}
.hv__slide{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5em;text-align:center;padding:0 10%;
  opacity:0;animation:slide 12s infinite}
.hv__slide:nth-child(2){animation-delay:4s}
.hv__slide:nth-child(3){animation-delay:8s}
.hv__big{font-family:var(--f-display);font-weight:800;color:#fff;font-size:8.2cqw;letter-spacing:-.01em;line-height:1;text-shadow:0 0 18px rgba(255,255,255,.35);white-space:nowrap}
.hv__small{font-weight:800;text-transform:uppercase;letter-spacing:.18em;font-size:max(.66rem,3.5cqw);line-height:1.25;color:#FFE9CC;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.hv__px,.cfg__px{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,transparent 0 .9px,rgba(0,0,0,.38) 1.4px);background-size:4px 4px}
.hv__px::after,.cfg__px::after{content:"";position:absolute;inset:-50% 0;background:linear-gradient(180deg,transparent 40%,rgba(255,255,255,.12) 50%,transparent 60%);animation:scan 5s linear infinite}
@keyframes slide{0%{opacity:0;transform:translateY(8px)}4%,30%{opacity:1;transform:none}34%,100%{opacity:0;transform:translateY(-8px)}}
@keyframes scan{from{transform:translateY(-30%)}to{transform:translateY(30%)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
/* Speed-Lines: hinter dem Truck (eigene Ebene), auf Höhe der LED-Fläche, enden verdeckt hinter dem Aufbau */
.hv__lines{position:absolute;z-index:-1;left:-12%;top:21%;width:27%;height:34%;display:grid;align-content:space-between;pointer-events:none}
.hv__lines span{display:block;height:5px;border-radius:5px;background:linear-gradient(90deg,transparent,var(--orange) 80%,var(--amber));opacity:.85;justify-self:end}
.hv__lines span:nth-child(1){width:70%}.hv__lines span:nth-child(2){width:100%}.hv__lines span:nth-child(3){width:55%}.hv__lines span:nth-child(4){width:85%}.hv__lines span:nth-child(5){width:60%}

/* ---------- Seitenkopf (Unterseiten) ---------- */
.phero{position:relative;isolation:isolate;background:var(--black);padding:calc(var(--header-h) + clamp(28px,4vw,56px)) 0 clamp(56px,7vw,100px);overflow:hidden}
.phero .lead{color:rgba(255,255,255,.78)}
.phero .lines{-webkit-mask-image:linear-gradient(90deg,transparent 0 52%,#000 78%);mask-image:linear-gradient(90deg,transparent 0 52%,#000 78%)}
.phero .h1{margin-bottom:.4em;max-width:18ch}
.phero--split .h1{max-width:none}
.phero__grid{display:grid;gap:clamp(36px,5vw,64px);align-items:center}
@media (min-width:1024px){.phero__grid{grid-template-columns:1.05fr 1fr}}
@media (min-width:1200px){.phero__grid{grid-template-columns:1.2fr 1fr}}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 22px;font-size:.84rem;color:var(--muted-d)}
.crumbs li+li::before{content:"/";margin-right:6px;opacity:.5}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:#fff;text-decoration:underline}
.crumbs [aria-current]{color:#fff}

/* ---------- LED-Laufschrift ---------- */
.ticker{position:relative;display:flex;align-items:center;background:var(--black);border-block:1px solid var(--line-d);overflow:hidden;height:66px}
.ticker::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,transparent 0 1px,rgba(10,10,10,.55) 1.5px);background-size:4px 4px}
.ticker__track{display:flex;width:max-content;animation:marquee 48s linear infinite}
.ticker.is-paused .ticker__track{animation-play-state:paused}
.ticker__run{display:flex;align-items:center;flex:none}
.ticker__item{font-family:var(--f-display);font-weight:700;font-size:1.15rem;text-transform:uppercase;letter-spacing:.04em;color:var(--orange);text-shadow:0 0 14px rgba(255,106,0,.6);white-space:nowrap;padding:0 28px}
.ticker__sep{color:var(--amber);font-size:.7rem;opacity:.8}
.ticker__toggle{position:absolute;right:10px;top:50%;z-index:2;transform:translateY(-50%);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;
  border:1px solid var(--line-d2);background:rgba(10,10,10,.85);color:#fff;cursor:pointer}
.ticker__toggle .ico{width:16px;height:16px}
.ticker__toggle:hover{border-color:var(--orange);color:var(--orange)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- Medien, Rahmen, Platzhalter ---------- */
.media{position:relative;margin:0;aspect-ratio:var(--ratio,16/10);overflow:hidden;border-radius:var(--r);background:#0B0B0B}
.media>img,.media>.scene{width:100%;height:100%;object-fit:cover}
.media__tag{position:absolute;left:12px;bottom:12px;padding:5px 9px;border-radius:5px;font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  background:rgba(10,10,10,.7);color:#fff;border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.media__tag--ph{border-style:dashed;border-color:rgba(255,178,56,.6);color:var(--amber)}
.scene .scene-lines rect{animation:pulse-line 4s ease-in-out infinite}
.scene .scene-lines rect:nth-child(2n){animation-delay:1.2s}
@keyframes pulse-line{0%,100%{opacity:.55}50%{opacity:1}}

/* Gekippter Screen-Rahmen (wie im Logo) */
.frame{perspective:1600px}
.frame__bezel{padding:6px;border-radius:16px;background:linear-gradient(135deg,#FFC163 0%,#FF7A10 24%,#C23E00 52%,#FF8A1F 78%,#FFB238 100%);
  box-shadow:0 34px 80px -34px rgba(255,106,0,.65),inset 0 0 0 1px rgba(255,255,255,.3);
  transform:rotateY(-6deg) rotateX(2deg);transition:transform .7s var(--ease)}
.frame__bezel .media{border-radius:11px;box-shadow:inset 0 0 0 2px #000}
.frame:hover .frame__bezel{transform:rotateY(-2deg) rotateX(1deg)}
@media (min-width:1024px){.frame__bezel{transform:rotateY(-11deg) rotateX(3deg)}.split--flip .frame__bezel{transform:rotateY(11deg) rotateX(3deg)}}

/* ---------- Layouts ---------- */
.split{display:grid;gap:clamp(36px,5vw,80px);align-items:center}
.split--top{align-items:start}
@media (min-width:960px){
  .split{grid-template-columns:1fr 1fr}
  .split--flip>.split__media{order:2}
}
.prose{max-width:68ch}
.prose p{color:var(--fg-muted)}
.prose--legal{max-width:76ch}
.prose--legal h2{font-family:var(--f-body);font-size:1.15rem;font-weight:800;margin:2em 0 .6em}
.prose--legal p{color:var(--text)}
.prose--legal h3{margin:1.4em 0 .6em}
.prose--legal a{color:var(--orange-ink);font-weight:700}
.legal-list{list-style:none;display:grid;gap:10px;margin:0 0 1em}
.legal-list li{position:relative;padding-left:20px;line-height:1.55}
.legal-list li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:3px;border-radius:2px;background:var(--orange)}

/* Häkchen-Listen */
.ticks{list-style:none;display:grid;gap:12px;margin:24px 0 0}
.ticks li{display:flex;gap:12px;align-items:flex-start;line-height:1.5}
.ticks .ico{width:20px;height:20px;margin-top:2px;color:var(--accent);stroke-width:2.4}
.ticks--light li{color:rgba(255,255,255,.88)}
@media (min-width:640px){.ticks--2{grid-template-columns:1fr 1fr}}

/* ---------- Kennzahlen ---------- */
.facts{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:32px;border-radius:var(--r-lg);overflow:hidden;background:var(--card-line)}
.fact{display:flex;flex-direction:column;gap:6px;padding:22px 20px;background:var(--black)}
.facts--light{background:var(--line)}
.facts--light .fact{background:var(--white)}
.sec--chalk .facts--light .fact{background:var(--white)}
.sec--light .facts--light .fact{background:var(--chalk)}
.fact__v{font-family:var(--f-display);font-weight:700;font-size:clamp(1.9rem,1.4rem + 1.8vw,3rem);line-height:1;letter-spacing:-.04em;color:var(--fg)}
.facts--light .fact__v{color:var(--text)}
.facts--dark .fact__v{color:#fff}
.fact__u{color:var(--orange);font-size:.6em;letter-spacing:-.02em;margin-left:.05em}
.facts--light .fact__u{color:var(--orange-ink)}
.fact__l{font-size:.88rem;line-height:1.4;color:var(--fg-muted)}
.facts--light .fact__l{color:var(--muted)}
.facts--dark .fact__l{color:var(--muted-d)}
.split__media>.facts{margin-top:0}
@media (min-width:1024px){
  .sec-head+.pillars+.facts,.pillars+.facts{grid-template-columns:repeat(4,1fr);margin-top:48px}
}

/* ---------- Karten: Säulen, Einsatzbereiche, Formate ---------- */
.pillars{display:grid;gap:16px}
.why + .pillars{margin-top:clamp(48px,6vw,80px)}
@media (min-width:960px){.why{grid-template-columns:1fr 1.15fr}}
@media (min-width:768px){.pillars{grid-template-columns:repeat(3,1fr)}}
@media (min-width:768px){.pillars--4{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.pillars--4{grid-template-columns:repeat(4,1fr)}}
.pillar{padding:28px;border-radius:var(--r-lg);background:var(--chalk);border:1px solid transparent;transition:border-color .3s,transform .3s var(--ease)}
.sec--dark .pillar,.sec--carbon .pillar,.pillar--dark{background:var(--graphite);border-color:var(--line-d)}
.pillar:hover{border-color:var(--orange);transform:translateY(-3px)}
.pillar p{margin:0;color:var(--fg-muted)}
.pillar__ico,.uc__ico,.addon__ico,.mode__ico{display:grid;place-items:center;width:48px;height:48px;border-radius:10px;background:var(--black);color:var(--orange);margin-bottom:20px}
.sec--dark .pillar__ico,.sec--carbon .pillar__ico,.pillar--dark .pillar__ico{background:rgba(255,106,0,.12)}

.ucs{display:grid;gap:16px}
@media (min-width:640px){.ucs{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.ucs{grid-template-columns:repeat(3,1fr)}.ucs--detail{grid-template-columns:repeat(2,1fr)}}
.uc{position:relative;padding:28px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--card-line);transition:border-color .3s,transform .3s var(--ease),box-shadow .3s}
.uc:hover{border-color:var(--orange);transform:translateY(-3px);box-shadow:var(--shadow)}
.uc__ico{background:var(--chalk);color:var(--orange-ink);transition:background-color .3s,color .3s}
.uc:hover .uc__ico{background:var(--orange);color:#000}
.uc p{margin:0;color:var(--fg-muted)}
.ucs--detail .uc{padding:32px}
@media (min-width:1024px){.ucs--detail .uc{display:grid;grid-template-columns:auto 1fr;column-gap:22px}.ucs--detail .uc__ico{grid-row:span 3;margin:0}}
.ucs--detail .ticks{margin-top:18px;gap:8px;font-size:.95rem}

.fmts{display:grid;gap:18px}
@media (min-width:860px){.fmts{grid-template-columns:repeat(3,1fr)}}
.fmt{display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;background:var(--white);border:1px solid var(--line);transition:transform .3s var(--ease),box-shadow .3s}
.fmt:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.fmt__media .media{border-radius:0}
.fmt__body{padding:24px 24px 28px;position:relative}
.fmt__tag{margin:0 0 6px;font-size:.74rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-ink)}
.fmt h3 a{text-decoration:none}
.fmt h3 a::after{content:"";position:absolute;inset:0}
.fmt h3 a:hover{color:var(--orange-ink)}
.fmt p{color:var(--muted);margin:0}
.fmt .chips{margin-top:18px}

.fmt-mini{display:grid;gap:10px;grid-template-columns:1fr}
@media (min-width:560px){.fmt-mini{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.fmt-mini{grid-template-columns:repeat(5,1fr)}}
.fmt-mini__item{display:flex;align-items:center;gap:14px;padding:18px;border-radius:var(--r);border:1px solid var(--line);text-decoration:none;transition:border-color .2s,background-color .2s}
.fmt-mini__item .ico{color:var(--orange-ink)}
.fmt-mini__item>span{display:grid}
.fmt-mini__item strong{font-weight:800}
.fmt-mini__item span span{font-size:.85rem;color:var(--muted)}
.fmt-mini__item:hover{border-color:var(--orange);background:var(--orange-soft)}

/* ---------- Konfigurator „Ihre Werbung auf dem Truck“ ---------- */
.cfg{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.cfg>*{min-width:0}
@media (min-width:1024px){.cfg{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}}
.cfg__stage{position:relative}
.cfg__scene{position:relative;padding:4% 0 2%}
.cfg__truck{position:relative;aspect-ratio:680/340}
.cfg__truck::after{content:"";position:absolute;left:6%;right:6%;bottom:-4%;height:26%;z-index:-1;background:radial-gradient(50% 50% at 45% 50%,rgba(255,106,0,.4),transparent 70%);filter:blur(12px)}
.cfg__svg{width:100%;height:auto}
.cfg__screen{position:absolute;left:8.53%;top:18.82%;width:59.12%;height:50.59%;overflow:hidden;border-radius:3px;container-type:size;
  --bg:radial-gradient(85% 120% at 30% 35%,#FF8A1F,#E24A00 38%,#4A1400 76%,#160600);
  background:var(--bg);box-shadow:0 0 60px color-mix(in srgb,var(--glowc,#FF6A00) 55%,transparent);transition:box-shadow .4s}
.cfg__screen[data-theme="night"]{--bg:radial-gradient(90% 120% at 30% 30%,#2A2A2A,#0A0A0A 70%);--glowc:#ffffff}
.cfg__screen[data-theme="ice"]{--bg:radial-gradient(85% 120% at 30% 35%,#5BE7FF,#0091C2 40%,#002A3D 80%);--glowc:#00C2FF}
.cfg__screen[data-theme="magenta"]{--bg:radial-gradient(85% 120% at 30% 35%,#FF6FB5,#D4006E 40%,#3D0020 80%);--glowc:#FF2E93}
.cfg__screen[data-theme="lime"]{--bg:radial-gradient(85% 120% at 30% 35%,#E4FF8A,#A8E000 45%,#3B5200 85%);--glowc:#B8FF2E}
.cfg__screen.no-glow{box-shadow:none}
.cfg__media{position:absolute;inset:0}
.cfg__media img,.cfg__media video{display:block;width:100%;height:100%;object-fit:var(--fit,cover)}
.cfg__shade{position:absolute;inset:0;background:#000;opacity:var(--dim,.35)}
.cfg__content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3cqh;padding:6cqh 5cqw;text-align:center}
.cfg__screen[data-logopos="left"] .cfg__content{flex-direction:row;gap:4cqw}
.cfg__texts{display:flex;flex-direction:column;align-items:center;gap:2.5cqh;min-width:0;max-width:100%}
.cfg__brand{font-family:var(--f-display);font-weight:800;color:#fff;font-size:9cqw;line-height:1.02;letter-spacing:-.01em;text-transform:uppercase;white-space:nowrap;text-shadow:0 0 3cqw color-mix(in srgb,currentColor 40%,transparent)}
.cfg__slogan{font-weight:800;color:#FFB238;font-size:4cqw;line-height:1.2;letter-spacing:.05em;text-transform:uppercase;overflow-wrap:anywhere}
.cfg__extra{font-family:var(--f-body);font-weight:700;color:#fff;font-size:3cqw;line-height:1.2;letter-spacing:.03em;opacity:.95}
.cfg__screen.no-glow .cfg__brand{text-shadow:none}
.cfg__logo{display:block;width:auto;height:auto;object-fit:contain;flex:none;filter:drop-shadow(0 0 1.5cqw rgba(255,255,255,.22))}
.cfg__screen.no-glow .cfg__logo{filter:none}
/* Effekte */
.cfg__screen[data-fx="marquee"] .cfg__content{right:auto;width:max-content;flex-direction:row;justify-content:flex-start;gap:6cqw;padding:0 0 0 100cqw;white-space:nowrap;animation:cfg-marquee var(--dur,10s) linear infinite}
.cfg__screen[data-fx="marquee"] .cfg__texts{flex-direction:row;align-items:center;gap:5cqw}
.cfg__screen[data-fx="marquee"] .cfg__slogan,.cfg__screen[data-fx="marquee"] .cfg__extra{white-space:nowrap}
@keyframes cfg-marquee{from{transform:translateX(0)}to{transform:translateX(-100%)}}
.cfg__screen[data-fx="pulse"] .cfg__content>*{animation:cfg-pulse var(--dur,2.4s) ease-in-out infinite}
@keyframes cfg-pulse{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.07);filter:brightness(1.3)}}
.cfg__screen[data-fx="fade"] .cfg__logo,.cfg__screen[data-fx="fade"] .cfg__texts>*{animation:cfg-fade var(--dur,5s) ease-in-out infinite both}
.cfg__screen[data-fx="fade"] .cfg__brand{animation-delay:.2s}
.cfg__screen[data-fx="fade"] .cfg__slogan{animation-delay:.45s}
.cfg__screen[data-fx="fade"] .cfg__extra{animation-delay:.7s}
@keyframes cfg-fade{0%{opacity:0;transform:translateY(14%)}14%,78%{opacity:1;transform:none}92%,100%{opacity:0;transform:translateY(-10%)}}
.cfg__hint{margin:14px 0 0;font-size:.85rem;color:var(--muted-d);text-align:center}

/* Stadt-Hintergründe der Sektion */
.cfg-scenes{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:22px}
.cfg-scenes__l{width:100%;text-align:center;font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-bottom:2px}
.pill{position:relative;cursor:pointer}
.pill input{position:absolute;inset:0;opacity:0;cursor:pointer}
.pill span{display:inline-flex;align-items:center;min-height:40px;padding:0 15px;border-radius:999px;border:1px solid var(--line-d2);background:rgba(10,10,10,.72);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-weight:700;font-size:.88rem;transition:background-color .2s,border-color .2s,color .2s}
.pill:hover span{border-color:var(--orange)}
.pill input:checked+span{background:var(--orange);border-color:var(--orange);color:#000}
.pill input:focus-visible+span{outline:3px solid var(--amber);outline-offset:2px}
/* Stadt-Hintergrund mit Parallax: ferne Skyline (langsam) · Straße/Fluss (schnell) · Wahrzeichen (mittel) */
.cfg-bg{position:absolute;left:0;right:0;top:0;height:var(--bgh,100%);z-index:-1;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .7s var(--ease)}
.cfg-bg.is-on{opacity:1}
.cfg-bg__sky{position:absolute;inset:0;background:url(../img/staedte/sterne.svg) 0 0/var(--tile,1800px) 100% repeat-x,radial-gradient(55% 50% at 50% 66%,rgba(255,106,0,.3),transparent 70%),linear-gradient(180deg,#050505 0,#0A0908 42%,#1E1009 62%,#341707 66.6%,#0A0A0A 66.7%)}
.cfg-bg__layer{position:absolute;top:0;left:0;height:100%;width:calc(var(--tile,1800px) * 3);background-repeat:repeat-x;background-size:var(--tile,1800px) 100%;background-position:0 0;will-change:transform}
.cfg-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,17,17,.9) 0,rgba(17,17,17,.42) 20%,rgba(0,0,0,0) 42%,rgba(0,0,0,0) 86%,#111 100%)}
.is-driving .cfg-bg__far{animation:cfg-pan var(--fdur,90s) linear infinite}
.is-driving .cfg-bg__city{animation:cfg-pan var(--cdur,28s) linear infinite}
.is-driving .cfg-bg__ground{animation:cfg-pan var(--gdur,6s) linear infinite}
@keyframes cfg-pan{to{transform:translateX(calc(var(--tile,1800px) * -1))}}
/* Räder drehen sich, der Truck federt leicht */
.wheel{transform-box:fill-box;transform-origin:50% 50%}
.hv .wheel{animation:wheel-spin .9s linear infinite}
.is-driving .cfg__truck .wheel{animation:wheel-spin var(--spin,.8s) linear infinite}
@keyframes wheel-spin{to{transform:rotate(360deg)}}
.is-driving .cfg__truck{animation:cfg-bump .42s ease-in-out infinite alternate}
@keyframes cfg-bump{to{transform:translateY(-1.5px)}}
.cfg-sound{position:absolute;right:0;top:0;z-index:3;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 15px;border-radius:999px;border:1px solid var(--orange);
  background:var(--orange);color:#000;font-weight:800;font-size:.85rem;cursor:pointer;box-shadow:0 8px 24px -8px rgba(255,106,0,.6);animation:sound-pulse 2s ease-in-out infinite}
.cfg-sound .ico{width:18px;height:18px}
.cfg-sound__on{display:none}
.cfg-sound.is-on{background:rgba(10,10,10,.8);color:#fff;border-color:var(--line-d2);box-shadow:none;animation:none}
.cfg-sound.is-on .cfg-sound__on{display:block;color:var(--orange)}
.cfg-sound.is-on .cfg-sound__off{display:none}
@keyframes sound-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,106,0,.55)}50%{box-shadow:0 0 0 8px rgba(255,106,0,0)}}
.cfg-drive{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 15px;border-radius:999px;border:1px solid var(--line-d2);background:rgba(10,10,10,.72);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-weight:700;font-size:.85rem;cursor:pointer;transition:border-color .2s}
.cfg-drive:hover{border-color:var(--orange)}
.cfg-drive .ico{width:16px;height:16px;color:var(--orange)}
.has-city{overflow:hidden}
.has-city .sec-head .h2,.has-city .sec-head .lead{text-shadow:0 2px 18px rgba(0,0,0,.6)}

@media (max-width:1023px){
  .cfg__stage.has-float{padding-top:var(--scene-h,0)}
  .cfg__scene.is-floating{position:fixed;top:calc(var(--header-h) + 6px);left:50%;z-index:70;width:min(250px,68vw);padding:8px 10px 3px;transform:translateX(-50%);cursor:pointer;
    border-radius:14px;background:rgba(17,17,17,.94);border:1px solid var(--line-d2);box-shadow:0 18px 44px -12px rgba(0,0,0,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:float-in .25s var(--ease)}
  .cfg__scene.is-floating::after{content:"Live-Vorschau · antippen zum Vergrößern";display:block;margin-top:2px;text-align:center;font-size:.68rem;font-weight:700;letter-spacing:.04em;color:var(--muted-d)}
  .cfg__scene.is-floating .cfg-sound{top:-6px;right:-6px;min-height:32px;padding:0 10px;font-size:.75rem}
}
@keyframes float-in{from{opacity:0;transform:translate(-50%,-10px)}}
/* Handy: Stadt-Auswahl als Dropdown statt Button-Reihe */
.cfg-citypick{display:none;margin-top:18px}
.cfg-citypick__l{display:block;margin-bottom:8px;text-align:center;font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--orange)}
.cfg-citypick__box{position:relative}
.cfg-citypick__box>.ico{position:absolute;left:16px;top:50%;z-index:2;width:20px;height:20px;transform:translateY(-50%);color:var(--orange);pointer-events:none}
.cfg-citypick select{width:100%;min-height:54px;padding:0 48px 0 46px;border-radius:14px;border:1px solid var(--orange);color:#fff;font-weight:800;font-size:1rem;cursor:pointer;appearance:none;-webkit-appearance:none;
  background:rgba(10,10,10,.86) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23FF6A00' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center/20px;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 30px -12px rgba(255,106,0,.5)}
.cfg-citypick select:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.cfg-citypick option{background:#151515;color:#fff}
@media (max-width:767px){
  .cfg-citypick{display:block}
  .cfg-scenes{margin-top:12px}
  .cfg-scenes .pill,.cfg-scenes__l{display:none}
  .cfg__hint{font-size:.8rem}
}
@media (max-width:600px){
  .cfg-tabs{flex-wrap:wrap}
  .cfg-tab{flex:1 1 auto;min-height:38px;padding:0 10px}
}

/* Bedienfeld */
.cfg__panel{display:grid;gap:18px;padding:clamp(16px,2.4vw,26px);border-radius:var(--r-lg);background:rgba(26,26,26,.94);border:1px solid var(--line-d);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.cfg-tabs{display:flex;gap:4px;padding:4px;border-radius:11px;background:#0E0E0E;border:1px solid var(--line-d);overflow-x:auto;scrollbar-width:none}
.cfg-tabs::-webkit-scrollbar{display:none}
.cfg-tab{flex:1 0 auto;min-height:40px;padding:0 12px;border:0;border-radius:8px;background:none;color:var(--muted-d);font-weight:800;font-size:.84rem;white-space:nowrap;cursor:pointer;transition:background-color .2s,color .2s}
.cfg-tab:hover{color:#fff;background:rgba(255,255,255,.06)}
.cfg-tab[aria-selected="true"]{background:var(--orange);color:#000}
.cfg-pane{display:grid;gap:16px;align-content:start}
.cfg-more{border-radius:12px;border:1px solid #2A2A2A;background:#121212}
.cfg-more__sum{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 14px;list-style:none;cursor:pointer;font-weight:800;font-size:.9rem;color:#fff;border-radius:12px;transition:color .2s}
.cfg-more__sum::-webkit-details-marker{display:none}
.cfg-more__hint{flex:1;min-width:0;font-weight:600;font-size:.82rem;color:var(--muted-d);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cfg-more__ico{flex:none;width:18px;height:18px;color:var(--orange);transition:transform .25s var(--ease)}
.cfg-more[open] .cfg-more__ico{transform:rotate(45deg)}
.cfg-more__sum:hover{color:var(--orange)}
.cfg-more__sum:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.cfg-more__body{display:grid;gap:16px;padding:2px 14px 16px}
.cfg-field{border:0;padding:0;margin:0;min-width:0}
.cfg-label{display:block;margin:0 0 8px;padding:0;font-weight:800;font-size:.88rem;color:#fff}
.cfg-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.cfg-val{font-weight:800;font-size:.85rem;color:var(--orange)}
.cfg-group{display:grid;gap:12px;padding:16px;border-radius:12px;background:#141414;border:1px solid #262626}
.cfg-group__h{margin:0;font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--orange)}
.cfg-two{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center}
.cfg-switches{display:grid;gap:14px}
.cfg-mediaopts{padding:14px;border-radius:10px;background:rgba(255,106,0,.07);border:1px solid rgba(255,106,0,.28)}
.cfg-custom{display:grid;gap:12px}
.seg{display:flex;gap:4px;padding:4px;border-radius:10px;background:#101010;border:1px solid #2C2C2C}
.seg__opt{position:relative;flex:1}
.seg__opt input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.seg__opt span{display:flex;align-items:center;justify-content:center;min-height:38px;padding:0 6px;border-radius:7px;color:var(--muted-d);font-weight:700;font-size:.84rem;text-align:center;transition:background-color .2s,color .2s}
.seg__opt:hover span{color:#fff}
.seg__opt input:checked+span{background:#fff;color:#000}
.seg__opt input:focus-visible+span{outline:2px solid var(--amber);outline-offset:1px}
.range{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer}
.range::-webkit-slider-runnable-track{height:6px;border-radius:6px;background:linear-gradient(90deg,var(--orange) var(--p,50%),#2E2E2E var(--p,50%))}
.range::-moz-range-track{height:6px;border-radius:6px;background:#2E2E2E}
.range::-moz-range-progress{height:6px;border-radius:6px;background:var(--orange)}
.range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-8px;border-radius:50%;background:#fff;border:3px solid var(--orange);box-shadow:0 2px 8px rgba(0,0,0,.4)}
.range::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--orange)}
.range:focus-visible{outline:none}
.range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px rgba(255,178,56,.6)}
.color{position:relative;display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 10px;border-radius:10px;background:#101010;border:1px solid #2C2C2C;cursor:pointer;transition:border-color .2s}
.color:hover{border-color:var(--orange)}
.color input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.color:focus-within{outline:3px solid var(--amber);outline-offset:2px}
.color__chip{flex:none;width:30px;height:30px;border-radius:8px;background:var(--c,#fff);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.color__txt{display:grid;line-height:1.25;font-size:.8rem;color:var(--muted-d)}
.color__txt code{font-family:ui-monospace,Menlo,monospace;font-size:.82rem;color:#fff}
.cfg-select{width:100%;min-height:48px;padding:0 40px 0 12px;border-radius:10px;border:1px solid #2C2C2C;color:#fff;font-weight:700;cursor:pointer;appearance:none;-webkit-appearance:none;
  background:#101010 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23FF6A00' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center/18px}
.cfg-select:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.cfg-select option{background:#151515;color:#fff}
.cfg-remove{justify-self:start;padding:4px 0;border:0;background:none;color:var(--muted-d);font-weight:700;font-size:.85rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cfg-remove:hover{color:#fff}
.cfg__actions{display:grid;gap:10px;padding-top:4px;border-top:1px solid var(--line-d)}
.cfg__actions .btn{width:100%;margin-top:14px}
.cfg__reset{justify-self:center;padding:8px 12px;border:0;background:none;color:var(--muted-d);font-weight:700;font-size:.9rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer;border-radius:6px}
.cfg__reset:hover{color:#fff}
.field__label{font-weight:800;font-size:.92rem;color:#fff}
.field__hint{margin:0;font-size:.82rem;color:var(--muted-d)}
.upload{position:relative;display:block;cursor:pointer}
.upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.upload__btn{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 14px;border-radius:var(--r-sm);border:1.5px dashed #444;background:#101010;color:#fff;font-weight:700;font-size:.92rem;transition:border-color .2s;overflow:hidden}
.upload__btn span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.upload__btn .ico{width:18px;height:18px;color:var(--orange);flex:none}
.upload:hover .upload__btn{border-color:var(--orange)}
.upload:focus-within .upload__btn{outline:3px solid var(--amber);outline-offset:2px}
.upload.has-file .upload__btn{border-style:solid;border-color:var(--orange)}
.upload.is-error .upload__btn{border-color:#FF5A4F;color:#FFB3AD}

/* ---------- Formulare ---------- */
.field{display:grid;gap:7px;align-content:start}
.field label,.form__legend{font-weight:800;font-size:.92rem}
.field input,.field select,.field textarea{width:100%;min-height:52px;padding:12px 14px;border-radius:var(--r-sm);border:1.5px solid var(--line);background:var(--white);color:var(--text);
  transition:border-color .2s,box-shadow .2s}
.field textarea{min-height:140px;resize:vertical;line-height:1.5}
.field select{appearance:none;-webkit-appearance:none;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%230F0F0F' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:20px}
.field input::placeholder,.field textarea::placeholder{color:#8A8A90}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--black);box-shadow:0 0 0 4px rgba(255,106,0,.25)}
.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea{border-color:#C62828}
.field__err{margin:0;font-size:.86rem;font-weight:700;color:#B3261E}
.field--full{grid-column:1/-1}
.field--dark label{color:#fff}
.field--dark input{background:#121212;border-color:#333;color:#fff}
.field--dark input::placeholder{color:#8F8F8F}
.field--dark input:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(255,106,0,.22)}
.req{color:var(--orange-ink)}
.opt{font-weight:600;color:var(--muted)}
.form{display:grid;gap:26px}
.form__group{border:0;padding:0;margin:0;min-width:0}
.form__legend{padding:0;margin-bottom:12px}
.form__grid{display:grid;gap:18px}
@media (min-width:640px){.form__grid{grid-template-columns:1fr 1fr}}
.picks{display:flex;flex-wrap:wrap;gap:10px}
.pick{position:relative;cursor:pointer}
.pick input{position:absolute;opacity:0;inset:0;cursor:pointer}
.pick span{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:10px 16px;border-radius:var(--r-sm);border:1.5px solid var(--line);background:var(--white);font-weight:700;font-size:.95rem;transition:all .2s}
.pick span::before{content:"";width:16px;height:16px;border-radius:4px;border:1.5px solid #9A9AA0;transition:all .2s;flex:none}
.pick:hover span{border-color:var(--black)}
.pick input:checked+span{background:var(--black);border-color:var(--black);color:#fff}
.pick input:checked+span::before{background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;border-color:var(--orange)}
.pick input:focus-visible+span{outline:3px solid var(--amber);outline-offset:2px}
.form__group.is-invalid .pick span{border-color:#C62828}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:.92rem;line-height:1.5;color:var(--muted);cursor:pointer}
.consent input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--orange-ink);flex:none}
.consent a{color:var(--text);font-weight:700}
.form__foot{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.form__note{display:flex;align-items:center;gap:8px;margin:0;font-size:.9rem;color:var(--muted)}
.form__note .ico{width:18px;height:18px;color:var(--orange-ink)}
.form__status{padding:18px 20px;border-radius:var(--r);font-weight:700}
.form__status p{margin:0 0 12px}
.form__status--ok{background:#E9F6EC;color:#1B5E20}
.form__status--err{background:#FDECEA;color:#8E1B1B}
.form__status--info{background:var(--orange-soft);color:#5A2400;border:1px dashed var(--orange)}
.form__status .btn{width:auto}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.swatches{border:0;padding:0;margin:0}
.swatches legend{font-weight:800;font-size:.92rem;color:#fff;margin-bottom:10px;padding:0}
.swatches__row{display:flex;gap:12px;flex-wrap:wrap}
.swatch{position:relative;cursor:pointer}
.swatch input{position:absolute;opacity:0;inset:0;cursor:pointer}
.swatch__dot{display:block;width:40px;height:40px;border-radius:50%;box-shadow:inset 0 0 0 2px rgba(255,255,255,.15);transition:box-shadow .2s,transform .2s}
.swatch--orange .swatch__dot{background:radial-gradient(circle at 35% 35%,#FFB238,#FF6A00 45%,#7A2400)}
.swatch--night .swatch__dot{background:radial-gradient(circle at 35% 35%,#555,#0A0A0A 60%)}
.swatch--ice .swatch__dot{background:radial-gradient(circle at 35% 35%,#9FF2FF,#00A7DB 50%,#003549)}
.swatch--magenta .swatch__dot{background:radial-gradient(circle at 35% 35%,#FF9CCB,#E0007A 50%,#45002A)}
.swatch--lime .swatch__dot{background:radial-gradient(circle at 35% 35%,#F0FFB0,#B6F000 50%,#3E5600)}
.swatch--custom .swatch__dot{background:conic-gradient(#FF3B3B,#FFB238,#C6FF3D,#2EE6FF,#3B6BFF,#E02EFF,#FF3B3B)}
.swatch input:checked+.swatch__dot{box-shadow:0 0 0 3px var(--graphite),0 0 0 5px #fff;transform:scale(1.05)}
.swatch input:focus-visible+.swatch__dot{box-shadow:0 0 0 3px var(--graphite),0 0 0 6px var(--amber)}
.switch{display:inline-flex;align-items:center;gap:12px;font-weight:700;color:#fff;cursor:pointer;position:relative}
.switch input{position:absolute;opacity:0;width:44px;height:26px;cursor:pointer}
.switch__track{width:44px;height:26px;border-radius:26px;background:#333;position:relative;transition:background .2s;flex:none}
.switch__track::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s var(--ease)}
.switch input:checked+.switch__track{background:var(--orange)}
.switch input:checked+.switch__track::after{transform:translateX(18px)}
.switch input:focus-visible+.switch__track{outline:3px solid var(--amber);outline-offset:2px}

/* ---------- Ball ---------- */
.evs{display:grid;gap:0 32px}
@media (min-width:640px){.evs{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.evs{grid-template-columns:repeat(3,1fr)}}
.ev{padding:28px 0;border-top:2px solid var(--black)}
.ev__n{display:block;font-family:var(--f-display);font-weight:700;font-size:.9rem;color:var(--orange-ink);margin-bottom:14px}
.ev p{margin:0;color:var(--muted)}
/* Rollen des Balls: Kachel-Raster + orange Ideen-Kachel */
.roles{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}
@media (min-width:1100px){.roles{grid-template-columns:repeat(4,1fr)}}
.role{display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:var(--r-lg);background:var(--graphite);border:1px solid var(--line-d);transition:border-color .25s,transform .25s var(--ease)}
.role:hover{border-color:var(--orange);transform:translateY(-3px)}
.role__ico{display:grid;place-items:center;width:46px;height:46px;margin-bottom:8px;border-radius:12px;background:rgba(255,106,0,.14);color:var(--orange)}
.role__ico .ico{width:22px;height:22px}
.role .h5{margin:0;font-size:1.05rem}
.role p{margin:0;font-size:.93rem;line-height:1.55;color:var(--muted-d)}
.role--cta{position:relative;overflow:hidden;background:var(--orange);border-color:var(--orange);color:#000}
.role--cta::after{content:"";position:absolute;right:-30%;bottom:-40%;width:80%;height:80%;background:radial-gradient(circle,rgba(255,178,56,.55),transparent 70%);pointer-events:none}
.role--cta > *{position:relative;z-index:1}
.role--cta .role__ico{background:#000;color:var(--orange)}
.role--cta p{color:rgba(0,0,0,.78);font-weight:600}
.role--cta .btn{margin-top:auto;align-self:flex-start;min-height:46px;padding:0 18px}
.role--cta p + .btn{margin-top:14px}
@media (max-width:599px){
  .role{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;row-gap:4px;align-items:start;padding:18px}
  .role__ico{grid-row:span 2;width:44px;height:44px;margin:0}
  .role--cta .btn{grid-column:2;margin-top:12px}
}
.brand-box--wide{display:grid;gap:22px 56px;margin-top:22px;align-items:center}
@media (min-width:900px){.brand-box--wide{grid-template-columns:1.1fr 1fr}}
.brand-box--wide p:last-child{margin-bottom:0}
.brand-box--wide > *{position:relative;z-index:1}
.brand-box.brand-box--wide::after{right:-6%;top:-90%;width:52%;height:220%;background:radial-gradient(closest-side,rgba(255,106,0,.2),transparent)}
.brand-box--wide .ticks{margin:0}
/* Technische Daten: rechte Spalte füllt bis zur Bildkante */
@media (min-width:960px){.split--fill{align-items:stretch}}
.plan-col{display:flex;flex-direction:column;gap:16px}
.plan-cta{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden;padding:clamp(24px,2.6vw,32px);border-radius:var(--r-lg);background:var(--black);color:#fff;border:1px solid var(--black)}
.plan-cta::after{content:"";position:absolute;right:-20%;bottom:-50%;width:70%;height:90%;background:radial-gradient(circle,rgba(255,106,0,.26),transparent 70%);pointer-events:none}
.plan-cta > *{position:relative;z-index:1}
.plan-cta .eyebrow{color:var(--orange)}
.plan-cta .h4{margin:0 0 14px;color:#fff}
.plan-cta p:not(.eyebrow){margin:0;color:var(--muted-d)}
.plan-cta .btn{margin-top:auto;align-self:flex-start}
.plan-cta p + .btn{margin-top:22px}
.brand-box{padding:clamp(26px,3vw,40px);border-radius:var(--r-lg);background:var(--graphite);border:1px solid var(--line-d);position:relative;overflow:hidden}
.brand-box::after{content:"";position:absolute;right:-30%;top:-30%;width:70%;height:70%;background:radial-gradient(circle,rgba(255,106,0,.25),transparent 70%)}
.brand-box p{color:var(--muted-d)}
.ball-teaser .facts{margin-top:28px}

/* ---------- Truck-Seite ---------- */
.topdown{width:100%;height:auto;max-width:560px;margin-inline:auto}
.formats-box{margin-top:32px;padding:clamp(20px,2.4vw,28px);border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow)}
.formats-box .h5{margin-bottom:16px}
.fformats{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (min-width:560px){.fformats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.fformat{display:grid;justify-items:center;gap:10px;padding:16px 8px 14px;border-radius:12px;background:var(--chalk);text-align:center;transition:transform .25s var(--ease),box-shadow .25s}
.fformat:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.ficon{width:54px;height:66px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.12))}
.fformat strong{display:block;font-weight:800;font-size:.92rem}
.fformat span span{display:block;margin-top:2px;font-size:.76rem;line-height:1.3;color:var(--muted)}
.formats-box__note{display:flex;gap:10px;align-items:flex-start;margin:18px 0 0;font-size:.88rem;line-height:1.5;color:var(--muted)}
.formats-box__note .ico{flex:none;width:18px;height:18px;margin-top:2px;color:var(--orange-ink)}
.modes{display:grid;gap:18px}
@media (min-width:860px){.modes{grid-template-columns:1fr 1fr}}
.mode{padding:clamp(26px,3vw,40px);border-radius:var(--r-lg);background:var(--chalk)}
.mode--dark{background:var(--black)}
.mode p{color:var(--fg-muted)}
.mode__ico{background:var(--orange);color:#000}

/* Technische Daten als Kacheln */
.specs{display:grid;gap:12px;margin:0;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
.spec{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;row-gap:3px;align-items:start;padding:18px;border-radius:14px;background:var(--white);border:1px solid var(--line);
  transition:border-color .25s,transform .25s var(--ease),box-shadow .25s}
.sec--light .spec{background:var(--chalk)}
.spec:hover{border-color:var(--orange);transform:translateY(-2px);box-shadow:var(--shadow)}
.spec__ico{grid-row:span 2;display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:var(--orange-soft);color:var(--orange-ink)}
.spec__ico .ico{width:21px;height:21px}
.spec dt{font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.spec dd{margin:0;font-weight:700;font-size:.97rem;line-height:1.45;color:var(--text)}
/* Einheitlicher Rhythmus in Textspalten: Chips → Daten → Zwischenüberschrift → Liste → Button */
* + .specs{margin-top:28px}
.specs + .h5,.specs + h3{margin-top:36px}
.h5 + .ticks{margin-top:14px}
.split__copy > .h5{margin-bottom:0}
.lead + .chips{margin-top:22px}
.split__copy > .chips + .btn-row,.phero__copy > .chips + .btn-row{margin-top:28px}

/* ---------- Kampagnen (Video-Karten) ---------- */
.partner-note{display:flex;align-items:center;gap:12px;width:100%;margin:0 0 22px;padding:14px 18px;border-radius:var(--r);border:1px solid var(--card-line);background:rgba(255,255,255,.03);font-size:.92rem;line-height:1.5;color:var(--fg-muted)}
.partner-note .ico{color:var(--accent);width:20px;height:20px;margin-top:1px}
.cases{display:grid;gap:18px}
@media (min-width:720px){.cases{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.cases{grid-template-columns:repeat(3,1fr)}}
.case{display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;background:var(--graphite);border:1px solid var(--line-d);transition:border-color .3s,transform .3s var(--ease)}
.case:hover{border-color:rgba(255,106,0,.55);transform:translateY(-3px)}
.case__media{position:relative;aspect-ratio:16/10;background:#000}
.case__play{position:absolute;inset:0;display:block;width:100%;padding:0;border:0;background:#000;cursor:pointer}
.case__play img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:opacity .3s,transform .6s var(--ease)}
.case__play:hover img{opacity:1;transform:scale(1.03)}
.case__btn{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:var(--orange);color:#000;
  box-shadow:0 0 0 8px rgba(255,106,0,.25);transition:transform .3s var(--ease),box-shadow .3s}
.case__btn .ico{width:22px;height:22px;fill:#000;stroke:none;margin-left:3px}
.case__play:hover .case__btn{transform:scale(1.08);box-shadow:0 0 0 12px rgba(255,106,0,.22)}
.case__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
.case__fmt{position:absolute;left:12px;top:12px;padding:5px 9px;border-radius:5px;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;background:rgba(10,10,10,.75);color:#fff;pointer-events:none}
.case__body{padding:22px 22px 26px}
.case__brand{margin:0 0 6px;font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--orange)}
.case__body p:last-child{margin:0;color:var(--muted-d);font-size:.95rem}
.sec--light .case,.sec--chalk .case{background:var(--black)}

/* ---------- Ablauf ---------- */
.steps{list-style:none;display:grid;gap:28px;counter-reset:step}
@media (min-width:640px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.steps{grid-template-columns:repeat(4,1fr);gap:24px}}
.step{position:relative;padding-top:8px}
.step__n{display:flex;align-items:center;gap:14px;font-family:var(--f-display);font-weight:700;font-size:2.4rem;letter-spacing:-.04em;color:var(--accent);line-height:1;margin-bottom:22px}
.step__n::after{content:"";flex:1;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--orange),transparent)}
.step p{color:var(--fg-muted);margin-bottom:12px}
.step ul{list-style:none;display:grid;gap:6px;font-size:.93rem}
.step li{position:relative;padding-left:18px}
.step li::before{content:"";position:absolute;left:0;top:.7em;width:9px;height:2px;background:var(--orange)}

/* ---------- Pakete ---------- */
.pkgs{display:grid;gap:18px}
@media (min-width:1024px){.pkgs{grid-template-columns:repeat(3,1fr);align-items:stretch}}
.pkg{position:relative;display:flex;flex-direction:column;padding:clamp(26px,3vw,36px);border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line)}
.pkg--featured{background:var(--black);border-color:var(--orange);box-shadow:0 30px 70px -30px rgba(255,106,0,.55)}
.pkg__badge{position:absolute;right:22px;top:22px;padding:6px 10px;border-radius:5px;background:var(--orange);color:#000;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.pkg__tag{margin:0 0 8px;font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.pkg__name{font-family:var(--f-display);font-weight:650;font-size:clamp(1.4rem,1.2rem + .8vw,1.8rem);letter-spacing:-.03em;margin-bottom:10px}
.pkg__text{color:var(--fg-muted)}
.pkg__price{display:flex;align-items:center;gap:10px;margin:4px 0 22px;padding:14px 0;border-block:1px solid var(--card-line);font-weight:800;font-size:1.02rem}
.pkg__price::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--orange);box-shadow:0 0 12px var(--orange)}
.pkg__list{list-style:none;display:grid;gap:10px;margin-bottom:28px}
.pkg__list li{display:flex;gap:10px;align-items:flex-start;line-height:1.45;font-size:.97rem}
.pkg__list .ico{width:19px;height:19px;color:var(--accent);margin-top:2px;stroke-width:2.4}
.pkg .btn{margin-top:auto;width:100%}
.pkg--wide{grid-column:1/-1;flex-direction:column;gap:20px;border-style:dashed;border-width:1.5px;border-color:#BDBDB8;background:transparent}
.pkg--wide .pkg__text{margin:0;max-width:62ch}
.pkg--wide .btn{width:auto;margin-top:0}
@media (min-width:860px){.pkg--wide{flex-direction:row;align-items:center;justify-content:space-between}}
.pkgs__note{margin-top:22px}
.tbd-note{padding:8px 12px;border-left:3px dashed var(--orange);font-size:.85rem;color:var(--fg-muted);background:rgba(255,106,0,.06);border-radius:0 6px 6px 0}

.addons{list-style:none;display:grid;gap:14px}
@media (min-width:640px){.addons{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.addons{grid-template-columns:repeat(3,1fr)}}
.addon{display:flex;gap:16px;align-items:flex-start;padding:22px;border-radius:var(--r);background:var(--card);border:1px solid var(--card-line)}
.addon__ico{margin:0;width:44px;height:44px;background:rgba(255,106,0,.12);color:var(--orange)}
.addon strong{display:block;font-weight:800;margin-bottom:2px}
.addon span span{color:var(--fg-muted);font-size:.94rem}

.factors{list-style:none;display:grid;gap:14px}
@media (min-width:640px){.factors{grid-template-columns:1fr 1fr}}
.factors li{display:flex;gap:14px;align-items:flex-start;padding:20px;border-radius:var(--r);background:var(--chalk)}
.sec--chalk .factors li{background:var(--white)}
.factors .ico{width:24px;height:24px;color:var(--orange-ink);margin-top:2px}
.factors strong{display:block;font-weight:800;margin-bottom:2px}
.factors span{color:var(--muted);font-size:.95rem}

/* ---------- Einsatzgebiet ---------- */
.cities{list-style:none;display:grid;gap:10px;margin-top:28px}
@media (min-width:560px){.cities{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.sec--light .cities,.sec--chalk .cities{grid-template-columns:repeat(4,1fr)}}
.city{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--r);border:1px solid var(--card-line);background:var(--card);text-decoration:none;transition:border-color .2s,background-color .2s}
.city>.ico:first-child{color:var(--accent);width:20px;height:20px}
.city>span{display:grid;flex:1;line-height:1.3}
.city strong{font-weight:800}
.city span span{font-size:.84rem;color:var(--fg-muted)}
.city__arr{width:18px;height:18px;opacity:.5;transition:transform .25s var(--ease),opacity .2s}
.city:hover{border-color:var(--orange)}
.city:hover .city__arr{opacity:1;transform:translateX(3px);color:var(--accent)}
.city--de{border-color:rgba(255,106,0,.5)}
.city--hq{border-color:var(--orange);background:rgba(255,106,0,.1)!important}
.city--hq>.ico:first-child{color:var(--amber)}
.sec--dark .city{background:rgba(255,255,255,.03)}
.area__map{position:relative;padding:12px;border-radius:var(--r-lg);background:var(--graphite);border:1px solid var(--line-d)}
.map{width:100%;height:auto}
.map__river{fill:none;stroke:rgba(255,255,255,.14);stroke-width:7;stroke-linecap:round;stroke-linejoin:round}
.map__rl{font-family:var(--f-body);font-size:13px;font-style:italic;fill:rgba(255,255,255,.35)}
.map__rl--ring{font-style:normal;font-weight:800;font-size:11px;letter-spacing:.2em;text-transform:uppercase;fill:rgba(255,106,0,.7)}
.map__spokes path{fill:none;stroke:var(--orange);stroke-width:2;stroke-dasharray:2 9;stroke-linecap:round;opacity:.7;animation:drive 1.6s linear infinite}
@keyframes drive{to{stroke-dashoffset:-22}}
.map__pt circle{fill:var(--orange);transition:r .2s}
.map__pt text{font-family:var(--f-body);font-weight:800;font-size:15px;fill:#fff;transition:fill .2s}
.map__pt:hover text,.map__pt:focus-visible text{fill:var(--orange)}
.map__pt--hq circle:not(.map__pulse){fill:var(--amber);stroke:var(--orange);stroke-width:3}
.map--de{display:block;width:100%;height:auto;max-height:620px;margin-inline:auto}
.map__land{fill:#161616}
.map__border{fill:none;stroke:rgba(255,255,255,.22);stroke-width:1.5;stroke-linejoin:round}
.map--de .map__pt text{font-size:13px}
.map__pulse{fill:none!important;stroke:var(--orange);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:pulse 2.4s ease-out infinite}
@keyframes pulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.6);opacity:0}}

.spots{list-style:none;display:grid;gap:14px}
@media (min-width:640px){.spots{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.spots{grid-template-columns:repeat(3,1fr)}}
.spot{display:flex;gap:14px;padding:22px;border-radius:var(--r);background:var(--white);border:1px solid var(--line)}
.spot>.ico{color:var(--orange-ink);margin-top:2px}
.spot p{margin:0;color:var(--muted);font-size:.95rem}
.spot h3{margin-bottom:4px}
.anl{list-style:none;display:grid;margin-top:22px}
.anl li{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line-d);font-weight:700}
.anl .ico{color:var(--orange);width:20px;height:20px}
.routes{display:grid;gap:14px;margin:6px 0 18px}
.route{padding:22px;border-radius:var(--r);background:var(--graphite);border-left:3px solid var(--orange)}
.route__n{display:block;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:8px}
.route p{margin:0;color:var(--muted-d);font-size:.95rem}

.tour{list-style:none;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:22px}
@media (min-width:900px){.tour{grid-template-columns:repeat(4,minmax(0,1fr))}}
.tour li{display:grid;border-radius:var(--r);background:var(--graphite);border:1px solid var(--line-d);transition:border-color .2s,transform .2s var(--ease)}
.tour li:hover{border-color:var(--orange);transform:translateY(-2px)}
.tour a{display:grid;gap:6px;padding:20px;text-decoration:none;color:inherit;border-radius:inherit}
.tour strong{font-family:var(--f-display);font-weight:600;font-size:1.02rem;letter-spacing:-.02em}
.tour span{font-size:.86rem;color:var(--muted-d);line-height:1.4}

.presence{display:grid;gap:14px}
@media (min-width:640px){.presence{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.presence{grid-template-columns:repeat(4,1fr)}}
.pres{padding:26px;border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line)}
.pres>.ico{color:var(--orange-ink);width:26px;height:26px;margin-bottom:18px}
.pres p{margin:0;color:var(--muted);font-size:.96rem}

.duo{display:grid;gap:18px}
@media (min-width:860px){.duo{grid-template-columns:1fr 1fr}}
.duo__card{display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;background:var(--white);border:1px solid var(--line);text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s}
.duo__card .media{border-radius:0}
.duo__card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.duo__body{position:relative;display:grid;gap:6px;padding:26px 70px 28px 26px}
.duo__body .eyebrow{margin:0}
.duo__body>span:last-of-type{color:var(--muted)}
.duo__body>.ico{position:absolute;right:26px;top:50%;margin-top:-11px;color:var(--orange-ink);transition:transform .25s var(--ease)}
.duo__card:hover .duo__body>.ico{transform:translateX(4px)}

.gallery{display:grid;gap:16px}
@media (min-width:720px){.gallery{grid-template-columns:1fr 1fr}.gallery__wide{grid-column:1/-1}}

/* ---------- FAQ ---------- */
.faq-wrap{display:grid;gap:12px 64px}
@media (min-width:1024px){.faq-wrap{grid-template-columns:1fr 1.8fr;align-items:start}.faq-wrap .sec-head{position:sticky;top:calc(var(--header-h) + 32px)}}
.faq{border-top:2px solid var(--black)}
.faq__item{border-bottom:1px solid var(--line)}
.faq__q{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;cursor:pointer;list-style:none;font-weight:800;font-size:1.08rem;line-height:1.4}
.faq__q::-webkit-details-marker{display:none}
.faq__q:hover{color:var(--orange-ink)}
.faq__ico{position:relative;flex:none;width:34px;height:34px;border-radius:50%;background:var(--chalk);transition:background-color .2s,transform .3s var(--ease)}
.sec--chalk .faq__ico{background:var(--white)}
.faq__ico::before,.faq__ico::after{content:"";position:absolute;left:50%;top:50%;width:13px;height:2px;margin:-1px 0 0 -6.5px;border-radius:2px;background:var(--text);transition:transform .3s var(--ease)}
.faq__ico::after{transform:rotate(90deg)}
.faq__item[open] .faq__ico{background:var(--orange)}
.faq__item[open] .faq__ico::after{transform:rotate(0)}
.faq__a{padding:0 56px 24px 0;color:var(--muted)}
.faq__a p{margin:0}

/* ---------- CTA-Band (Orange) ---------- */
.sec--orange{background:var(--orange);color:#000;overflow:hidden}
.cta-band .h2{color:#000;font-size:clamp(1.7rem,1.1rem + 2.4vw,3.1rem)}
.cta-band .chrome{background:#000;color:var(--orange);-webkit-text-fill-color:var(--orange);padding:0 .18em;border-radius:6px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.cta-band .lead{color:rgba(0,0,0,.78)}
.cta-band__grid{display:grid;gap:36px;align-items:center;position:relative;z-index:1}
@media (min-width:1024px){.cta-band__grid{grid-template-columns:1.5fr 1fr;gap:64px}}
.cta-band__ticks{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 0;padding:0}
.cta-band__ticks li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border-radius:999px;background:rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.14);font-weight:700;font-size:.9rem}
.cta-band__ticks .ico{width:16px;height:16px}
/* Kontaktkarte im CTA-Band: schwarzer LED-Screen auf Orange */
.cta-card{position:relative;overflow:hidden;display:grid;gap:16px;padding:clamp(22px,2.6vw,32px);border-radius:var(--r-lg);background:var(--black);color:#fff;
  border:1px solid rgba(255,255,255,.08);box-shadow:0 40px 70px -30px rgba(0,0,0,.55),0 0 0 6px rgba(0,0,0,.08)}
.cta-card::after{content:"";position:absolute;right:-25%;top:-45%;width:75%;height:85%;background:radial-gradient(circle,rgba(255,106,0,.28),transparent 68%);pointer-events:none}
.cta-card__dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.3px);background-size:16px 16px;pointer-events:none;
  -webkit-mask-image:linear-gradient(160deg,#000,transparent 70%);mask-image:linear-gradient(160deg,#000,transparent 70%)}
.cta-card > *{position:relative;z-index:1}
.cta-card__head{display:flex;align-items:center;gap:10px;margin:0;font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-d)}
.cta-card__pulse{width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 0 rgba(255,106,0,.6);animation:ctaPulse 2.2s infinite}
@keyframes ctaPulse{70%{box-shadow:0 0 0 9px rgba(255,106,0,0)}100%{box-shadow:0 0 0 0 rgba(255,106,0,0)}}
.cta-card .btn{width:100%;min-height:60px;font-size:1.05rem}
.cta-card__tiles{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,232px),1fr))}
.cta-tile{display:flex;align-items:center;gap:12px;min-width:0;padding:13px 14px;border-radius:var(--r);background:rgba(255,255,255,.04);border:1px solid var(--line-d);color:#fff;text-decoration:none;transition:border-color .2s,background .2s,transform .2s var(--ease)}
.cta-tile:hover{border-color:var(--orange);background:rgba(255,106,0,.08);transform:translateY(-2px)}
.cta-tile__ico{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:rgba(255,106,0,.14);color:var(--orange)}
.cta-tile__ico .ico{width:19px;height:19px}
.cta-tile > span:last-child{display:grid;min-width:0}
.cta-tile small{font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-d)}
.cta-tile strong{font-size:.98rem;white-space:nowrap}
.cta-card__meta{display:flex;align-items:flex-start;gap:9px;margin:2px 0 0;padding-top:14px;border-top:1px solid var(--line-d);font-size:.84rem;line-height:1.45;color:var(--muted-d)}
.cta-card__meta .ico{flex:none;width:16px;height:16px;margin-top:2px;color:var(--orange)}
@media (prefers-reduced-motion:reduce){.cta-card__pulse{animation:none}}
.cta-band__lines{position:absolute;right:-4%;top:0;bottom:0;width:48%;display:grid;align-content:center;gap:22px;pointer-events:none;opacity:.14}
.cta-band__lines span{display:block;height:14px;border-radius:14px;background:linear-gradient(90deg,transparent,#000)}
.cta-band__lines span:nth-child(2){width:80%;justify-self:end}
.cta-band__lines span:nth-child(3){width:92%;justify-self:end}
.cta-band__lines span:nth-child(4){width:64%;justify-self:end}
.sec--orange .tbd{outline-color:#000}

/* ---------- Kontakt ---------- */
.contact__grid{display:grid;gap:40px}
@media (min-width:1024px){.contact__grid{grid-template-columns:1.6fr 1fr;gap:56px;align-items:start}.contact__aside{position:sticky;top:calc(var(--header-h) + 24px)}}
.contact__aside{display:grid;gap:18px}
.contact__card{padding:28px;border-radius:var(--r-lg);background:var(--chalk)}
.contact__card--dark{background:var(--black)}
.contact__card .btn--wa{margin-top:18px}
.clist{list-style:none;display:grid;gap:14px;margin:18px 0}
.clist li{display:flex;gap:12px;align-items:flex-start;line-height:1.45}
.clist .ico{width:20px;height:20px;color:var(--accent);margin-top:2px}
.clist a{font-weight:800;text-decoration:none}
.clist__h{display:block;font-weight:800}
.clist a:hover{text-decoration:underline}
.clist--footer{margin:0;gap:12px;font-size:.94rem}
.clist--footer a{font-weight:700;color:#fff}
.clist--footer span{color:var(--muted-d)}
.clist--compact{gap:10px;font-size:.95rem}
.hours{display:flex;gap:10px;align-items:center;margin:0;font-size:.9rem;color:var(--muted)}
.hours .ico{width:18px;height:18px;color:var(--orange-ink)}
.mini-steps{list-style:none;counter-reset:ms;display:grid;gap:16px;margin-top:16px}
.mini-steps li{counter-increment:ms;display:grid;grid-template-columns:34px 1fr;column-gap:12px}
.mini-steps li::before{content:counter(ms);grid-row:span 2;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--orange);color:#000;font-weight:800;font-size:.9rem}
.mini-steps span{color:var(--muted-d);font-size:.93rem}
/* Kontakt: dunkles Formular mit Orange-Akzenten */
.contact .contact__form{position:relative;isolation:isolate;overflow:hidden;padding:clamp(22px,3.2vw,44px);border-radius:var(--r-lg);
  background:linear-gradient(180deg,#191919 0%,#121212 100%);border:1px solid var(--line-d);box-shadow:0 30px 70px -40px rgba(0,0,0,.9)}
.contact .contact__form::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,var(--orange) 25%,var(--amber) 50%,var(--orange) 75%,transparent)}
.contact .contact__form::after{content:"";position:absolute;right:-20%;top:-30%;width:60%;height:60%;z-index:-1;background:radial-gradient(circle,rgba(255,106,0,.16),transparent 70%);pointer-events:none}
.contact .contact__form .h3{color:#fff}
.contact .muted{color:var(--muted-d)}
.contact .field label,.contact .form__legend{color:#fff}
.contact .req{color:var(--orange)}
.contact .opt{color:var(--muted-d)}
.contact .field input,.contact .field select,.contact .field textarea{background-color:#0D0D0D;border-color:#2F2F2F;color:#fff}
.contact .field input::placeholder,.contact .field textarea::placeholder{color:#7C7C7C}
.contact .field input:hover,.contact .field select:hover,.contact .field textarea:hover{border-color:#4A4A4A}
.contact .field input:focus,.contact .field select:focus,.contact .field textarea:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(255,106,0,.22)}
.contact .field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23FF6A00' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}
.contact .field select option{background:#151515;color:#fff}
.contact .field.is-invalid input,.contact .field.is-invalid select,.contact .field.is-invalid textarea{border-color:#FF6B5E}
.contact .field__err{color:#FF9A90}
.contact .pick span{background:#0D0D0D;border-color:#2F2F2F;color:#fff}
.contact .pick span::before{border-color:#5C5C5C}
.contact .pick:hover span{border-color:var(--orange)}
.contact .pick input:checked+span{background:var(--orange);border-color:var(--orange);color:#000;box-shadow:0 8px 22px -10px rgba(255,106,0,.7)}
.contact .pick input:checked+span::before{background:#000 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF8A1F' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;border-color:#000}
.contact .form__group.is-invalid .pick span{border-color:#FF6B5E}
.contact .consent{color:var(--muted-d)}
.contact .consent a{color:var(--orange)}
.contact .consent input{accent-color:var(--orange)}
.contact .form__foot{padding-top:6px;border-top:1px solid var(--line-d)}
.contact .form__foot .btn{margin-top:20px}
.contact .form__note{color:var(--muted-d);margin-top:20px}
.contact .form__note .ico{color:var(--orange)}
.contact .form__status--info{background:rgba(255,106,0,.12);color:#FFE0C4;border:1px solid rgba(255,106,0,.5)}
.contact .form__status--err{background:rgba(255,90,80,.12);color:#FFB8B0}
.contact .form__status--ok{background:rgba(60,200,120,.12);color:#B9F2CF}
.contact .contact__card{background:var(--graphite);border:1px solid var(--line-d)}
.contact .contact__card--dark{background:#0B0B0B;border-color:rgba(255,106,0,.35)}
.contact .hours{color:var(--muted-d)}
.contact .hours .ico{color:var(--orange)}
.thanks{display:grid;gap:40px}
.thanks__actions{display:flex;flex-wrap:wrap;gap:12px}
.thanks__actions .btn--wa{width:auto}

/* Rechtliches & Platzhalter */
.legal-note{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:var(--r);background:var(--orange-soft);border:1px dashed var(--orange);color:#5A2400 !important;font-size:.95rem}
.legal-note .ico{color:var(--orange-ink);margin-top:1px}
.tbd{outline:1.5px dashed var(--orange);outline-offset:2px;border-radius:3px;background:rgba(255,106,0,.08)}

/* ---------- Footer ---------- */
.ftr{position:relative;background:var(--black);padding-top:clamp(64px,8vw,104px);overflow:hidden;isolation:isolate}
.ftr::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 40% at 85% 0%,rgba(255,106,0,.14),transparent 70%)}
.ftr__top{display:grid;gap:40px 32px}
@media (min-width:640px){.ftr__top{grid-template-columns:1fr 1fr}.ftr__brand{grid-column:1/-1}}
@media (min-width:1280px){.ftr__top{grid-template-columns:1.5fr .9fr .9fr 1.1fr 1.25fr}.ftr__brand{grid-column:auto}}
.ftr__logo img{width:190px;height:auto;margin-bottom:22px}
.ftr__brand p{color:var(--muted-d);font-size:.95rem;max-width:42ch}
.ftr__h{margin:0 0 16px;font-family:var(--f-body);font-size:.76rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--orange)}
.ftr__col ul{list-style:none;display:grid;gap:9px}
.ftr__col a{color:var(--muted-d);text-decoration:none;font-size:.95rem;transition:color .2s}
.ftr__col a:hover{color:#fff}
.ftr__social{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.soc{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,106,0,.55);color:var(--orange);background:rgba(255,106,0,.1);
  transition:background-color .2s,border-color .2s,color .2s,transform .2s var(--ease),box-shadow .2s}
.soc__ico{width:18px;height:18px}
.soc:hover{background:var(--orange);border-color:var(--orange);color:#000;transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(255,106,0,.8)}
.soc:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
.ftr__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:56px;padding:24px 0;border-top:1px solid var(--line-d);font-size:.86rem;color:var(--muted-d)}
.ftr__bottom p{margin:0}
.ftr__bottom ul{list-style:none;display:flex;gap:20px}
.ftr__bottom a{text-decoration:none}
.ftr__bottom a:hover{color:#fff;text-decoration:underline}
.ftr__credit a{color:var(--orange);font-weight:700;text-decoration:none;transition:color .2s}
.ftr__credit a:hover,.ftr__credit a:focus-visible{color:#fff;text-decoration:none}
/* Großer Schriftzug im Footer: dezent, nur Umrandung – Farben wie im Logo, in einer Reihe */
.ftr__mark{display:flex;align-items:baseline;justify-content:center;margin-top:16px;padding:0 var(--gutter);font-family:var(--f-display);font-weight:800;
  font-size:min(8.6vw,10rem);line-height:.8;letter-spacing:-.03em;white-space:nowrap;color:transparent;transform:translateY(10%);user-select:none;pointer-events:none}
.ftr__ad,.ftr__on,.ftr__wh{-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.ftr__ad{-webkit-text-stroke:1px rgba(255,106,0,.42);background-image:linear-gradient(180deg,rgba(255,106,0,.16),transparent 75%)}
.ftr__on{margin-left:.24em;-webkit-text-stroke:1px rgba(255,255,255,.12);background-image:linear-gradient(180deg,rgba(255,255,255,.06),transparent 75%)}
.ftr__wh{margin-left:.36em;font-weight:500;letter-spacing:.16em;-webkit-text-stroke:1px rgba(255,255,255,.1);background-image:linear-gradient(180deg,rgba(255,255,255,.05),transparent 75%)}

/* ---------- Mobile Schnellkontakt ---------- */
.mbar{position:fixed;inset:auto 0 0;z-index:80;display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:1px;background:var(--line-d);border-top:1px solid var(--line-d);
  padding-bottom:env(safe-area-inset-bottom);transform:translateY(110%);transition:transform .35s var(--ease)}
.mbar.is-visible{transform:none}
.mbar__a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:62px;background:rgba(10,10,10,.96);color:#fff;text-decoration:none;font-size:.78rem;font-weight:800}
.mbar__a .ico{width:20px;height:20px;color:var(--orange)}
.mbar__a--cta{background:var(--orange);color:#000;flex-direction:row;font-size:.95rem;gap:8px}
.mbar__a--cta .ico{color:#000}
@media (min-width:900px){.mbar{display:none}}
@media (max-width:899px){.ftr{padding-bottom:64px}}

/* ---------- Scroll-Reveal (nur mit JS) ---------- */
.js [data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--i,0) * 90ms)}
.js [data-reveal].is-in{opacity:1;transform:none}

/* ---------- Reduzierte Bewegung ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js [data-reveal]{opacity:1;transform:none}
  .lines span{opacity:.35;transform:translateX(20%)}
  .hv__slide:first-child{opacity:1}
  .ticker__track{animation:none}
  .frame__bezel{transform:none}
}

/* ---------- Druck ---------- */
@media print{.hdr,.mnav,.mbar,.ticker,.hero__bg,.phero__bg,.ftr__mark{display:none!important}body{color:#000}}
.clist__map{display:inline-block;margin-top:4px;font-size:.88em;font-weight:800;color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.clist__map:hover{color:var(--orange)}


/* ==========================================================================
   Elementor-Kompatibilität – Ad on Wheels
   Überträgt das Designsystem „Night Drive“ auf das Markup von Elementor
   (Container, Widgets, Theme-Builder-Header/-Footer, Pro-Formular).
   Einstellungen im Editor überschreiben diese Werte.
   ========================================================================== */

/* ---------- Container-Grundwerte neutralisieren ---------- */
.e-con.e-con {
  --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
  --padding-block-start: 0px; --padding-block-end: 0px; --padding-inline-start: 0px; --padding-inline-end: 0px;
  --row-gap: 0px; --column-gap: 0px; --gap: 0px 0px;
  --widgets-spacing: 0px 0px; --widgets-spacing-row: 0px; --widgets-spacing-column: 0px;
  --width: auto; --min-height: 0; --margin-top: 0px; --margin-bottom: 0px; --margin-left: 0px; --margin-right: 0px;
}
.e-con.e-con { width: auto; min-width: 0; }
.elementor-widget:not(:last-child) { margin-block-end: 0; }
.e-con > .elementor-widget { max-width: 100%; }
.elementor-element, .elementor-widget-container { min-width: 0; }
/* Container im Raster: Zelle ausfüllen */
.e-con.split__copy, .e-con.split__media { width: auto; }

/* Zeilen-Container (Logo · Navigation · Aktionen, Button-Reihen) */
.e-con.hdr__actions { flex: none; }

/* Widgets ohne eigenes Layout: Inhalt direkt in den Fluss (Shortcodes, HTML-Hüllen um Inline-Elemente) */
.elementor-widget-shortcode .elementor-shortcode { display: contents; }

/* Elementor setzt Grundwerte für Links innerhalb von .elementor – Designsystem wiederherstellen */
:where(a:hover, a:active) { color: inherit; }
.elementor .prose a, .elementor .prose--legal a { text-decoration: underline; text-underline-offset: 3px; }

/* Barrierefreiheit: Sprunglink von Hello Elementor */
.skip-link.screen-reader-text:focus { clip: auto; width: auto; height: auto; margin: 0; overflow: visible; top: 12px; left: 12px; z-index: 999; background: var(--orange); color: #000; padding: 12px 18px; border-radius: var(--r-sm); font-weight: 800; }

/* ---------- Abstände zwischen Geschwistern (im HTML direkte Nachbarn, in Elementor Widget-Hüllen) ---------- */
.elementor-element + .elementor-element > :is(.specs, .elementor-widget-container > .specs) { margin-top: 28px; }
.elementor-element:has(> .specs, > .elementor-widget-container > .specs) + .elementor-element > :is(.h5, h3), .elementor-element:has(> .specs, > .elementor-widget-container > .specs) + .elementor-element > .elementor-widget-container > :is(.h5, h3) { margin-top: 36px; }
.elementor-element:has(> .h5, > .elementor-widget-container > .h5) + .elementor-element :is(.ticks):first-child { margin-top: 14px; }
.elementor-element:has(> .lead, > .elementor-widget-container > .lead) + .elementor-element > :is(.chips, .elementor-widget-container > .chips) { margin-top: 22px; }
.e-con:is(.split__copy, .phero__copy, .hero__copy) > .elementor-element:has(.chips) + .e-con.btn-row { margin-top: 28px; }
.e-con.split__copy > .elementor-element > .h5, .e-con.split__copy > .elementor-element > .elementor-widget-container > .h5 { margin-bottom: 0; }
@media (min-width: 1024px) {
  .e-con.pillars + .elementor-element > .facts, .e-con.pillars + .elementor-element > .elementor-widget-container > .facts { grid-template-columns: repeat(4, 1fr); margin-top: 48px; }
}
.e-con.plan-cta > .e-con.btn-row, .e-con.plan-cta > .elementor-widget-button { margin-top: 22px; align-self: flex-start; }
.e-con.plan-cta { display: flex; flex-direction: column; }
/* In Flex-Spalten werden Kinder im HTML zu Blöcken – in Elementor steckt die Kleinzeile in einer Hülle */
.e-con:is(.plan-cta, .plan-col) > .elementor-element > .eyebrow, .e-con:is(.plan-cta, .plan-col) > .elementor-element > .elementor-widget-container > .eyebrow { display: flex; }
/* :last-child-Regel des Designs trifft in Elementor jedes letzte Kind einer Hülle – Kleinzeile behält ihren Abstand */
.e-con.brand-box--wide .eyebrow { margin-bottom: 18px; }
.e-con.plan-cta > * { position: relative; z-index: 1; }
.e-con.split__media > .elementor-element > .facts, .e-con.split__media > .elementor-element > .elementor-widget-container > .facts { margin-top: 0; }
.e-con.brand-box--wide > * { position: relative; z-index: 1; }

/* ---------- Buttons (Elementor-Button-Widget, Klassen aow-btn …; Grundregeln generiert aus .btn) ---------- */
body .aow-btn .elementor-button-wrapper { display: block; }
body .aow-btn .elementor-button { font-family: inherit; text-align: center; fill: currentColor; background-color: transparent; color: inherit; }
body .aow-btn .elementor-button:where(:hover, :focus, :visited) { background-color: transparent; color: inherit; }
body .aow-btn .elementor-button-content-wrapper, body .aow-btn .elementor-button-text { display: inline-flex; align-items: center; gap: 10px; }
body .aow-btn .elementor-button-text::after {
  content: ""; width: 20px; height: 20px; flex: none; background: currentColor;
  -webkit-mask: var(--ico-arrow) center / contain no-repeat; mask: var(--ico-arrow) center / contain no-repeat;
}
body .aow-btn.aow-ico-before .elementor-button-text::after, body .aow-btn.aow-ico-none .elementor-button-text::after { content: none; }
body .aow-btn.aow-ico-before .elementor-button-text::before {
  content: ""; width: 20px; height: 20px; flex: none; background: currentColor;
  -webkit-mask: var(--ico-arrow) center / contain no-repeat; mask: var(--ico-arrow) center / contain no-repeat;
}
body .aow-btn--wa .elementor-button-wrapper, body .cta-card .aow-btn .elementor-button-wrapper { width: 100%; }
body .aow-btn--wa .elementor-button { width: 100%; }

/* ---------- Header (Theme Builder) ---------- */
.e-con.hdr { position: fixed; inset: 0 0 auto; z-index: 100; height: var(--header-h); }
.admin-bar .e-con.hdr { top: 32px; }
@media (max-width: 782px) { .admin-bar .e-con.hdr { top: 46px; } }
.admin-bar .mnav { padding-top: calc(var(--header-h) + 16px + 32px); }
@media (max-width: 782px) { .admin-bar .mnav { padding-top: calc(var(--header-h) + 16px + 46px); } }
.e-con.hdr > .e-con.hdr__in { height: 100%; }
.e-con.hdr__in > .aow-logo { flex: none; margin-right: auto; }
.e-con.hdr__in > .aow-nav { flex: none; }
.e-con.aow-mnav-wrap { position: static; height: 0; }
/* Telefon, Navigation & Hamburger je nach Breite: leere Hüllen ohne Abstand ausblenden (Breakpoints wie im HTML) */
.e-con.hdr__actions > .aow-phone { display: none; }
@media (min-width: 640px) { .e-con.hdr__actions > .aow-phone { display: block; } }
.e-con.hdr__in > .aow-nav { display: none; }
@media (min-width: 1200px) { .e-con.hdr__in > .aow-nav { display: block; } .e-con.hdr__actions > .aow-burger { display: none; } }
.elementor-editor-active .e-con.hdr { position: relative; background: var(--black); }
.elementor-editor-active .e-con.aow-mnav-wrap { height: auto; }
.elementor-editor-active .mnav { position: relative; inset: auto; display: block; opacity: 1; visibility: visible; transform: none; min-height: 0; padding-top: 24px; }

/* Inhalt beginnt unter dem festen Header (wie <main> im HTML) */
.aow-main { display: block; }

/* ---------- Footer ---------- */
.aow-floating { position: static; height: 0; }
.elementor-editor-active .mbar { position: relative; transform: none; }

/* ---------- Anfrageformular (Elementor-Pro-Formular, dunkle Karte wie die HTML-Version) ---------- */
.e-con.aow-lead-form { display: block; }
.aow-form .elementor-form-fields-wrapper { display: flex; flex-wrap: wrap; margin: 0 -7px; }
.aow-form .elementor-field-group { padding: 0 7px; margin-bottom: 18px; }
.aow-form.elementor-widget-form .elementor-form .elementor-field-group { margin-bottom: 18px; }
.aow-form .elementor-field-group > .elementor-field-label { font-weight: 800; font-size: .92rem; color: #fff; margin: 0 0 7px; padding: 0; line-height: inherit; }
.aow-form .elementor-mark-required .elementor-field-label::after { content: " *"; color: var(--orange); padding: 0; }
.aow-form .elementor-field-group .elementor-field-textual,
.aow-form .elementor-field-group select {
  width: 100%; min-height: 52px; padding: 12px 14px; border-radius: var(--r-sm); border: 1.5px solid #2F2F2F;
  background-color: #0D0D0D; color: #fff; font-family: var(--f-body); font-size: var(--fs-body); line-height: 1.65; box-shadow: none;
  transition: border-color .2s, box-shadow .2s;
}
.aow-form .elementor-field-group textarea.elementor-field-textual { min-height: 140px; resize: vertical; line-height: 1.5; }
.aow-form .elementor-field-group .elementor-field-textual::placeholder { color: #7C7C7C; }
.aow-form .elementor-field-group .elementor-field-textual:hover, .aow-form .elementor-field-group select:hover { border-color: #4A4A4A; }
.aow-form .elementor-field-group .elementor-field-textual:focus, .aow-form .elementor-field-group select:focus { outline: none; border-color: var(--orange); box-shadow: 0 0 0 4px rgba(255,106,0,.22); }
.aow-form .elementor-select-wrapper::before { content: ""; position: absolute; right: 12px; top: 50%; width: 20px; height: 20px; margin-top: -10px; color: var(--orange); font-size: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23FF6A00' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / 20px no-repeat; pointer-events: none; }
.aow-form .elementor-select-wrapper select { appearance: none; -webkit-appearance: none; padding-right: 42px; }
.aow-form .elementor-field-group select option { background: #151515; color: #fff; }
/* Formate: Auswahlkarten wie .pick */
.aow-form.elementor-widget-form .elementor-form .elementor-field-group.elementor-field-group-formate > .elementor-field-label { margin-bottom: 12px; }
.aow-form .elementor-field-group-formate .elementor-field-subgroup { display: flex; flex-wrap: wrap; gap: 10px; }
.aow-form .elementor-field-group-formate .elementor-field-option { position: relative; margin: 0; padding: 0; }
.aow-form .elementor-field-group-formate .elementor-field-option input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; z-index: 1; }
.aow-form .elementor-field-group-formate .elementor-field-option label {
  display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 10px 16px; border-radius: var(--r-sm);
  border: 1.5px solid #2F2F2F; background: #0D0D0D; color: #fff; font-weight: 700; font-size: .95rem; line-height: inherit; cursor: pointer; transition: all .2s;
}
.aow-form .elementor-field-group-formate .elementor-field-option label::before { content: ""; width: 16px; height: 16px; border-radius: 4px; border: 1.5px solid #5C5C5C; transition: all .2s; flex: none; }
.aow-form .elementor-field-group-formate .elementor-field-option:hover label { border-color: var(--orange); }
.aow-form .elementor-field-group-formate .elementor-field-option input:checked + label { background: var(--orange); border-color: var(--orange); color: #000; box-shadow: 0 8px 22px -10px rgba(255,106,0,.7); }
.aow-form .elementor-field-group-formate .elementor-field-option input:checked + label::before {
  background: #000 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF8A1F' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 12px no-repeat; border-color: #000;
}
.aow-form .elementor-field-group-formate .elementor-field-option input:focus-visible + label { outline: 3px solid var(--amber); outline-offset: 2px; }
/* Einwilligung */
.aow-form .elementor-field-type-acceptance > .elementor-field-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.aow-form .elementor-field-type-acceptance .elementor-field-subgroup { display: block; }
.aow-form .elementor-field-type-acceptance .elementor-field-option { display: flex; gap: 12px; align-items: flex-start; }
.aow-form .elementor-field-type-acceptance input { width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--orange); flex: none; }
.aow-form .elementor-field-type-acceptance label { font-size: .92rem; line-height: 1.5; color: var(--muted-d); cursor: pointer; }
.aow-form .elementor-field-type-acceptance label::after { content: " *"; color: var(--orange); }
.aow-form .elementor-field-type-acceptance a { color: var(--orange); font-weight: 700; }
/* Absenden-Button wie .btn--primary.btn--lg (Elementor setzt Breite 100 % und weiße Schrift mit hoher Gewichtung) */
body .aow-form.elementor-widget-form .elementor-form .elementor-field-group.elementor-field-type-submit .elementor-button { width: auto; flex: none; color: #000; background-color: var(--orange); }
body .aow-form.elementor-widget-form .elementor-form .elementor-field-group.elementor-field-type-submit .elementor-button:hover { color: #000; background-color: var(--orange-hot); }
body .aow-form.elementor-widget-form .elementor-form .elementor-field-group.elementor-field-type-submit { justify-content: flex-start; }
/* Abstände zwischen den Gruppen wie .form { gap: 26px } */
.aow-form.elementor-widget-form .elementor-form .elementor-field-group:is(.elementor-field-group-formate, .elementor-field-group-nachricht, .elementor-field-type-acceptance) { margin-bottom: 26px; }
/* Fußzeile wie .form__foot: Linie, Button, Hinweis daneben (per Skript hierher verschoben) */
.aow-form.elementor-widget-form .elementor-form .elementor-field-group.elementor-field-type-submit { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin: 0 7px; padding: 6px 0 0; border-top: 1px solid var(--line-d); width: calc(100% - 14px); }
.aow-form .elementor-field-type-submit .elementor-button { margin-top: 20px; }
.aow-form .elementor-field-type-submit .aow-form-note { margin: 20px 0 0; }
.aow-form .elementor-field-type-submit .elementor-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: auto; min-height: 58px; padding: 0 28px;
  border-radius: var(--r-sm); border: 1.5px solid var(--orange); background: var(--orange); color: #000;
  font-family: var(--f-body); font-weight: 800; font-size: 1.05rem; letter-spacing: .005em; line-height: 1.1; cursor: pointer;
  transition: background-color .2s var(--ease), box-shadow .25s var(--ease), transform .2s var(--ease);
}
.aow-form .elementor-field-type-submit .elementor-button:hover { background: var(--orange-hot); border-color: var(--orange-hot); color: #000; box-shadow: var(--glow); }
.aow-form .elementor-field-type-submit .elementor-button-text { display: inline-flex; align-items: center; gap: 10px; }
.aow-form .elementor-field-type-submit .elementor-button-text::after {
  content: ""; width: 20px; height: 20px; flex: none; background: currentColor; transition: transform .25s var(--ease);
  -webkit-mask: var(--ico-arrow) center / contain no-repeat; mask: var(--ico-arrow) center / contain no-repeat;
}
.aow-form .elementor-field-type-submit .elementor-button:hover .elementor-button-text::after { transform: translateX(4px); }
@media (max-width: 639px) { .aow-form .elementor-field-group.elementor-col-50 { width: 100%; } }
/* Fehlermeldungen & Status */
.aow-form .elementor-field-group .elementor-message-danger, .aow-form .elementor-error .elementor-field-textual { border-color: #FF6B5E; }
.aow-form .elementor-message { margin-top: 16px; padding: 18px 20px; border-radius: var(--r); font-weight: 700; }
.aow-form .elementor-message.elementor-message-success { background: rgba(255,106,0,.12); color: #fff; border: 1px solid var(--orange); }
.aow-form .elementor-message.elementor-message-danger { background: #2A1210; color: #FF9A90; border: 1px solid #FF6B5E; }
.aow-form .elementor-field-group .elementor-message-danger { background: none; padding: 6px 0 0; color: #FF9A90; font-weight: 700; font-size: .86rem; border: 0; }
.aow-lead-form > .elementor-widget-html > .aow-form-note, .aow-lead-form > .elementor-widget-html > .elementor-widget-container > .aow-form-note { margin: 14px 0 0; }
/* Elementor gleicht den Zeilenabstand mit einem negativen Außenabstand aus – im HTML gibt es den nicht */
.aow-form.elementor-widget-form .elementor-form .elementor-form-fields-wrapper.elementor-labels-above { margin-bottom: 0; }

/* ---------- Editor: versteckte Animationen sichtbar ---------- */
.elementor-editor-active [data-reveal] { opacity: 1 !important; transform: none !important; }

/* Buttons (generiert aus .btn) */
body .aow-btn .elementor-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 22px;border-radius:var(--r-sm);
  border:1.5px solid transparent;font-weight:800;font-size:1rem;letter-spacing:.005em;line-height:1.1;text-decoration:none;cursor:pointer;
  transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),box-shadow .25s var(--ease),transform .2s var(--ease)}
body .aow-btn .elementor-button-text::after{width:20px;height:20px;transition:transform .25s var(--ease)}
body .aow-btn .elementor-button:hover .elementor-button-text::after{transform:translateX(4px)}
body .aow-btn .elementor-button:active{transform:translateY(1px)}
body .aow-btn--primary .elementor-button{background:var(--orange);color:#000}
body .aow-btn--primary .elementor-button:hover{background:var(--orange-hot);box-shadow:var(--glow)}
body .aow-btn--ghost .elementor-button{border-color:rgba(255,255,255,.3);color:#fff}
body .aow-btn--ghost .elementor-button:hover{border-color:var(--orange);color:var(--orange)}
body .aow-btn--dark .elementor-button{background:var(--black);color:#fff}
body .aow-btn--dark .elementor-button:hover{background:#222}
body .aow-btn--dark .elementor-button:hover .elementor-button-text::after{color:var(--orange)}
body .aow-btn--ghost-dark .elementor-button{border-color:rgba(0,0,0,.22);color:var(--text)}
body .aow-btn--ghost-dark .elementor-button:hover{border-color:var(--black);background:var(--black);color:#fff}
body .aow-btn--black .elementor-button{background:var(--black);color:#fff}
body .aow-btn--black .elementor-button:hover{background:#1E1E1E;box-shadow:0 14px 36px -14px rgba(0,0,0,.6)}
body .aow-btn--wa .elementor-button{background:#25D366;color:#04210F;width:100%}
body .aow-btn--wa .elementor-button:hover{background:#3BE07A}
body .aow-btn--sm .elementor-button{min-height:42px;padding:0 16px;font-size:.92rem}
body .aow-btn--lg .elementor-button{min-height:58px;padding:0 28px;font-size:1.05rem}
body .cfg__actions .aow-btn .elementor-button{width:100%;margin-top:14px}
body .form__status .aow-btn .elementor-button{width:auto}
body .role--cta .aow-btn .elementor-button{margin-top:auto;align-self:flex-start;min-height:46px;padding:0 18px}
body .role--cta p + .aow-btn .elementor-button{margin-top:14px}
body .role--cta .aow-btn .elementor-button{grid-column:2;margin-top:12px}
body .plan-cta .aow-btn .elementor-button{margin-top:auto;align-self:flex-start}
body .plan-cta p + .aow-btn .elementor-button{margin-top:22px}
body .pkg .aow-btn .elementor-button{margin-top:auto;width:100%}
body .pkg--wide .aow-btn .elementor-button{width:auto;margin-top:0}
body .cta-card .aow-btn .elementor-button{width:100%;min-height:60px;font-size:1.05rem}
body .contact__card .aow-btn--wa .elementor-button{margin-top:18px}
body .contact .form__foot .aow-btn .elementor-button{margin-top:20px}
body .thanks__actions .aow-btn--wa .elementor-button{width:auto}
/* Rasterzellen (generiert): Widget-Hülle = Rasterzelle wie das Element im HTML (Mindestbreite = Inhalt) */
.e-con:is(.addons,.anl,.brand-box--wide,.burger,.case__btn,.cases,.cfg,.cfg-custom,.cfg-group,.cfg-more__body,.cfg-pane,.cfg-switches,.cfg-two,.cfg__actions,.cfg__panel,.cities,.clist,.color__txt,.contact__aside,.contact__grid,.cta-band__grid,.cta-band__lines,.cta-card,.cta-card__tiles,.cta-tile__ico,.duo,.duo__body,.evs,.factors,.facts,.faq-wrap,.fformat,.fformats,.field,.fmt-mini,.fmts,.form,.form__grid,.ftr__top,.gallery,.hero__grid,.hv__lines,.legal-list,.mbar,.mini-steps,.mnav__foot,.mode__ico,.modes,.phero__grid,.pillars,.pkg__list,.pkgs,.presence,.role__ico,.roles,.routes,.sec-head--split,.soc,.spec,.spec__ico,.specs,.split,.spots,.steps,.thanks,.ticker__toggle,.ticks,.tour,.ucs) > .elementor-element { min-width: auto; }

/* Rasterzellen (generiert): Karte füllt die Zelle */
:where(.e-con:is(.addons,.anl,.brand-box--wide,.burger,.case__btn,.cases,.cfg,.cfg-custom,.cfg-group,.cfg-more__body,.cfg-pane,.cfg-switches,.cfg-two,.cfg__actions,.cfg__panel,.cities,.clist,.color__txt,.contact__aside,.contact__grid,.cta-band__grid,.cta-band__lines,.cta-card,.cta-card__tiles,.cta-tile__ico,.duo,.duo__body,.evs,.factors,.facts,.faq-wrap,.fformat,.fformats,.field,.fmt-mini,.fmts,.form,.form__grid,.ftr__top,.gallery,.hero__grid,.hv__lines,.legal-list,.mbar,.mini-steps,.mnav__foot,.mode__ico,.modes,.phero__grid,.pillars,.pkg__list,.pkgs,.presence,.role__ico,.roles,.routes,.sec-head--split,.soc,.spec,.spec__ico,.specs,.split,.spots,.steps,.thanks,.ticker__toggle,.ticks,.tour,.ucs) > .elementor-widget-html > :only-child, .e-con:is(.addons,.anl,.brand-box--wide,.burger,.case__btn,.cases,.cfg,.cfg-custom,.cfg-group,.cfg-more__body,.cfg-pane,.cfg-switches,.cfg-two,.cfg__actions,.cfg__panel,.cities,.clist,.color__txt,.contact__aside,.contact__grid,.cta-band__grid,.cta-band__lines,.cta-card,.cta-card__tiles,.cta-tile__ico,.duo,.duo__body,.evs,.factors,.facts,.faq-wrap,.fformat,.fformats,.field,.fmt-mini,.fmts,.form,.form__grid,.ftr__top,.gallery,.hero__grid,.hv__lines,.legal-list,.mbar,.mini-steps,.mnav__foot,.mode__ico,.modes,.phero__grid,.pillars,.pkg__list,.pkgs,.presence,.role__ico,.roles,.routes,.sec-head--split,.soc,.spec,.spec__ico,.specs,.split,.spots,.steps,.thanks,.ticker__toggle,.ticks,.tour,.ucs) > .elementor-widget-html > .elementor-widget-container > :only-child){height:100%}

/* Rasterplatzierung (generiert): gilt für die Widget-Hülle */
@media (max-width:599px){.elementor-element:has(> .role__ico, > .elementor-widget-container > .role__ico){grid-row:span 2}}
@media (min-width:720px){.elementor-element:has(> .gallery__wide, > .elementor-widget-container > .gallery__wide){grid-column:1/-1}}
@media (min-width:640px){.elementor-element:has(> .ftr__brand, > .elementor-widget-container > .ftr__brand){grid-column:1/-1}}
@media (min-width:1280px){.elementor-element:has(> .ftr__brand, > .elementor-widget-container > .ftr__brand){grid-column:auto}}
.elementor-element:has(> .cfg-remove, > .elementor-widget-container > .cfg-remove){justify-self:start}
.elementor-element:has(> .cfg__reset, > .elementor-widget-container > .cfg__reset){justify-self:center}
.elementor-element:has(> .field--full, > .elementor-widget-container > .field--full){grid-column:1/-1}
.elementor-element:has(> .spec__ico, > .elementor-widget-container > .spec__ico){grid-row:span 2}
.elementor-element:has(> .pkg--wide, > .elementor-widget-container > .pkg--wide){grid-column:1/-1}

/* Flex-Zeilen (generiert): Widget-Hüllen so breit wie ihr Inhalt – wie die Elemente im HTML */
.e-con:is(.addon,.btn,.btn-row,.case,.cfg-drive,.cfg-more__sum,.cfg-row,.cfg-scenes,.cfg-sound,.cfg-tabs,.cfg__content,.cfg__texts,.chip,.chips,.city,.color,.consent,.cta-band__ticks,.cta-card__head,.cta-card__meta,.cta-tile,.duo__card,.eyebrow,.fact,.faq__q,.fmt,.fmt-mini__item,.form__foot,.form__note,.formats-box__note,.ftr__bottom,.ftr__mark,.ftr__social,.hdr__actions,.hdr__in,.hours,.hv__slide,.legal-note,.mbar__a,.mnav,.mnav__link,.nav__list,.partner-note,.picks,.pkg,.pkg__price,.plan-col,.plan-cta,.role,.seg,.spot,.step__n,.swatches__row,.switch,.thanks__actions,.ticker,.ticker__run,.ticker__track,.upload__btn) > .elementor-widget { width: auto; --container-widget-width: auto; }

/* Absolut positionierte Elemente (generiert): Bezug ist der Abschnitt, nicht die Widget-Hülle */
.elementor-widget:has(> :is(.case__btn,.case__fmt,.case__play,.cfg-bg,.cfg-bg__layer,.cfg-bg__sky,.cfg-sound,.cfg__content,.cfg__media,.cfg__px,.cfg__screen,.cfg__shade,.cta-band__lines,.cta-card__dots,.dots,.glow,.hero-city,.hp,.hv__lines,.hv__screen,.hv__slide,.hv__slides,.lines,.media__tag,.phero__bg,.pkg__badge,.skip,.sr-only,.ticker__toggle)), .elementor-widget-container:has(> :is(.case__btn,.case__fmt,.case__play,.cfg-bg,.cfg-bg__layer,.cfg-bg__sky,.cfg-sound,.cfg__content,.cfg__media,.cfg__px,.cfg__screen,.cfg__shade,.cta-band__lines,.cta-card__dots,.dots,.glow,.hero-city,.hp,.hv__lines,.hv__screen,.hv__slide,.hv__slides,.lines,.media__tag,.phero__bg,.pkg__badge,.skip,.sr-only,.ticker__toggle)) { position: static; }

/* Bilder (generiert): Designsystem vor Elementor-Grundwerten */
.elementor .hdr__img{height:38px;width:auto}
.elementor .hdr__img{height:42px}
.elementor .media>img{width:100%;height:100%;object-fit:cover}
.elementor .cfg__media img{display:block;width:100%;height:100%;object-fit:var(--fit,cover)}
.elementor .cfg__logo{display:block;width:auto;height:auto;object-fit:contain;flex:none;filter:drop-shadow(0 0 1.5cqw rgba(255,255,255,.22))}
.elementor .cfg__screen.no-glow .cfg__logo{filter:none}
.elementor .cfg__screen[data-fx="fade"] .cfg__logo{animation:cfg-fade var(--dur,5s) ease-in-out infinite both}
.elementor .case__play img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:opacity .3s,transform .6s var(--ease)}
.elementor .case__play:hover img{opacity:1;transform:scale(1.03)}
.elementor .ftr__logo img{width:190px;height:auto;margin-bottom:22px}

/* Button-Icons (generiert) */
:root{--ico-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");--ico-whatsapp:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21l1.7-4.6A8.5 8.5 0 1 1 8 19.6z'/%3E%3Cpath d='M9 9.5c.3 1.6 1.9 3.8 4.4 4.6l1.2-1.1 1.9.8c0 .9-.7 1.8-1.8 1.8-3.3 0-6.9-3.2-6.9-6.6 0-1 .8-1.8 1.7-1.8l.8 1.9z'/%3E%3C/svg%3E");}
body .aow-ico-arrow .elementor-button-text::after, body .aow-ico-before.aow-ico-arrow .elementor-button-text::before{-webkit-mask-image:var(--ico-arrow);mask-image:var(--ico-arrow)}
body .aow-ico-whatsapp .elementor-button-text::after, body .aow-ico-before.aow-ico-whatsapp .elementor-button-text::before{-webkit-mask-image:var(--ico-whatsapp);mask-image:var(--ico-whatsapp)}
