/* ==========================================================================
   Codemonks Refresh 2026 – rein optische Überarbeitung (Staging, 2026-10-21)
   Wird NACH styles.css geladen. Kein Markup, keine URLs, keine Überschriften-
   Hierarchie geändert. Entfernen = alter Look.
   ========================================================================== */

/* Fonts lokal (kein Google-Request, DSG-freundlich) */
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/refresh/Inter-latin.woff2) format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500 800;font-display:swap;src:url(../fonts/refresh/PlusJakartaSans-latin.woff2) format('woff2')}

:root{
  --cm-navy:#0b2a45;
  --cm-navy-2:#123a5e;
  --cm-blue:#004d79;
  --cm-orange:#d7583e;
  --cm-orange-d:#bf4630;
  --cm-ink:#1d2b38;
  --cm-text:#4a5866;
  --cm-muted:#7b8794;
  --cm-bg-soft:#f5f3ef;
  --cm-line:#e6e2dc;
  --cm-radius:18px;
  --cm-shadow:0 1px 2px rgba(11,42,69,.06),0 12px 32px -12px rgba(11,42,69,.18);
  --cm-shadow-h:0 2px 4px rgba(11,42,69,.08),0 24px 48px -16px rgba(11,42,69,.28);
  --cm-head:'Plus Jakarta Sans',system-ui,sans-serif;
  --cm-body:'Inter',system-ui,sans-serif;
}

/* ---------- Typografie ---------- */
body{font-family:var(--cm-body);color:var(--cm-text);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--cm-head);font-weight:700;letter-spacing:-.02em;color:var(--cm-ink);line-height:1.15}
h1,.h1{font-size:clamp(34px,4.6vw,60px)}
h2,.h2{font-size:clamp(28px,3.4vw,44px)}
h3,.h3{font-size:clamp(22px,2.4vw,32px)}
.light-content h1,.light-content h2,.light-content h3,.light-content h4,.light-content p,.light-content{color:#fff}
.text-secondary{color:var(--cm-ink)!important}
a{color:var(--cm-blue)}
a:hover,a:focus{color:var(--cm-orange)}
p{max-width:68ch}
.text-center p,p.text-center{margin-left:auto;margin-right:auto}

/* ---------- Header ---------- */
.banner{background:#fff;box-shadow:0 1px 0 rgba(11,42,69,.08)}
@media (min-width:1200px){.banner{background:rgba(255,255,255,.9);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px)}}
.navbar-nav>li>a{font-family:var(--cm-body);font-weight:500;font-size:16px;color:var(--cm-ink);letter-spacing:0}
.navbar-nav>li>a:hover,.navbar-nav>li>a:focus{color:var(--cm-orange);background:transparent}
.navbar-nav>li.menu-kontakt>a,.navbar-nav>li>a[href*="/kontakt"]{background:var(--cm-orange);color:#fff!important;border:0!important;box-shadow:none!important;outline:0;border-radius:999px;padding:10px 22px!important;margin-top:17px;line-height:20px;transition:background .2s,transform .2s}
.navbar-nav>li>a[href*="/kontakt"]:hover{background:var(--cm-orange-d);transform:translateY(-1px)}
.cm-dropdown-menu{border:0!important;border-radius:14px!important;box-shadow:var(--cm-shadow-h)!important;padding:8px!important;overflow:hidden}
.cm-dropdown-menu a{border-radius:8px;font-weight:500}

/* ---------- Hero / Slider ---------- */
.header-image{background:var(--cm-navy)}
.header-image .carousel-inner>.item>img{filter:saturate(.55) brightness(.5) contrast(1.05)}
.carousel-caption h1,.carousel-caption h2{font-family:var(--cm-head);font-weight:800;letter-spacing:-.03em;color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.carousel-caption p{color:rgba(255,255,255,.88)}
.carousel-indicators li{border-color:rgba(255,255,255,.7)}
.carousel-indicators .active{background:var(--cm-orange);border-color:var(--cm-orange)}

/* ---------- Buttons ---------- */
.btn{font-family:var(--cm-body)!important;font-weight:600!important;letter-spacing:.005em;border-radius:999px!important;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease!important}
.btn:not(.btn-full-secondary){font-size:16px;padding:13px 28px;color:var(--cm-navy);box-shadow:inset 0 0 0 2px var(--cm-navy)}
.btn:not(.btn-full-secondary):before{border-radius:999px!important}
.btn:not(.btn-full-secondary):hover{color:#fff;transform:translateY(-2px)}
.btn:not(.btn-full-secondary):hover:before{background:var(--cm-navy)}
.light-content .btn:not(.btn-full-secondary){box-shadow:none}
.btn-full-secondary,.btn-full{background:var(--cm-orange)!important;border-color:var(--cm-orange)!important;color:#fff!important;padding:13px 28px!important;font-size:16px!important;box-shadow:0 8px 20px -8px rgba(215,88,62,.6)}
.btn-full-secondary:hover,.btn-full:hover{background:var(--cm-orange-d)!important;transform:translateY(-2px)}
.btn-full-secondary:before,.btn-full:before{display:none!important}
.button-group .btn+.btn{margin-left:10px}

/* ---------- Sektionen ---------- */
@media (min-width:768px){.section{padding:110px 0}}
.section-header h3,.section-header h2{font-size:clamp(28px,3.2vw,42px);margin-bottom:40px}
.hero-content h2{margin-top:0;margin-bottom:22px}
.hero-content p{font-size:18px;color:var(--cm-text)}
.hero-content.light-content p{color:rgba(255,255,255,.85)}
.hero-image img{border-radius:24px}
.section.bg-secondary{background:linear-gradient(160deg,var(--cm-navy) 0%,var(--cm-navy-2) 100%)!important}
.section.bg-secondary:before,.section.bg-secondary:after{opacity:.35}

/* ---------- Karten (Blog, Team, Counter) ---------- */
.card{border-radius:var(--cm-radius);box-shadow:var(--cm-shadow);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.blog-item .card:hover{transform:translateY(-4px);box-shadow:var(--cm-shadow-h)}
.blog-item .card h2,.blog-item .card h3,.blog-item .card .entry-title{font-size:24px;font-weight:700;color:var(--cm-ink)}
.blog-item .card .entry-title a{color:var(--cm-ink)}
.blog-item .card .entry-title a:hover{color:var(--cm-orange)}
.blog-item .card .tags a,.blog-item .card .tag-links a{border-radius:999px}
.counter-item.card{border-radius:var(--cm-radius);box-shadow:none;background:transparent}
.counter-total-box{border-radius:var(--cm-radius)!important;background:var(--cm-navy)!important;box-shadow:var(--cm-shadow-h)}
#counter .counter-item h3,#counter .counter-number,#counter .count{font-family:var(--cm-head);font-weight:800;color:var(--cm-navy)}

/* ---------- Footer ---------- */
.footer-top .section-header h3{font-weight:700}
.footer-box a{color:#fff}
.footer-box a:hover{color:#ffd2c7}
footer.content-info,.content-info{background:#081f33!important}

/* ---------- Kleinkram ---------- */
::selection{background:rgba(215,88,62,.2)}
img{image-rendering:auto}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- Feinschliff v3 ---------- */
.banner .navbar-nav>li#menu-item-384>a:before{display:none!important}
.banner .navbar-nav>li#menu-item-384>a{color:#fff!important}
/* Hero: ruhigerer Hintergrund (Code-Textur nur noch angedeutet) */
.header-image .carousel-inner{background:radial-gradient(900px 500px at 20% 45%,#164a74 0%,transparent 70%),linear-gradient(135deg,#0b2a45 0%,#0f3556 55%,#0b2a45 100%)}
.header-image .carousel-inner>.item>img{opacity:.13;filter:grayscale(.5)}
.carousel-caption .button-group .btn-full-secondary:first-child{background:transparent!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.85)!important;border-color:transparent!important}
.carousel-caption .button-group .btn-full-secondary:first-child:hover{background:#fff!important;color:var(--cm-navy)!important}
/* dunkle Sektionen: Überschriften immer hell (auch mobil) */
.section.bg-secondary .section-header h3,.section.bg-secondary .section-header h2,.section.bg-secondary h3.text-center{color:#fff!important}
/* Code-Textur (code-bg.jpeg) durch ruhigen Verlauf ersetzen, Formen-Layer bleibt */
#header-image .carousel-inner{background:radial-gradient(900px 520px at 22% 45%,#1a5482 0%,rgba(26,84,130,0) 70%),linear-gradient(135deg,#0b2a45 0%,#0f3556 55%,#0b2a45 100%)!important}
#header-image .carousel-inner>.item{background-blend-mode:soft-light}

/* ==========================================================================
   v2 (2026-10-21): Mega-Menü, neues Startseiten-Layout, Code-Animation
   ========================================================================== */
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 500;font-display:swap;src:url(../fonts/refresh/JetBrainsMono-400-latin.woff2) format('woff2')}

/* ---------- Header / Navigation ---------- */
.banner{transition:box-shadow .3s ease,background .3s ease}
.banner.cm-scrolled{box-shadow:0 10px 30px -12px rgba(11,42,69,.25)}
@media (min-width:1200px){
  nav.visible-lg .navbar-nav>li>a{position:relative;padding-left:14px;padding-right:14px}
  nav.visible-lg .navbar-nav>li:not(#menu-item-384)>a:after{content:"";position:absolute;left:14px;right:14px;bottom:20px;height:2px;border-radius:2px;background:var(--cm-orange);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
  nav.visible-lg .navbar-nav>li:not(#menu-item-384):hover>a:after,nav.visible-lg .navbar-nav>li.cm-open>a:after,nav.visible-lg .navbar-nav>li.current-menu-item>a:after,nav.visible-lg .navbar-nav>li.current-menu-ancestor>a:after{transform:scaleX(1)}
  nav.visible-lg .dropdown-arrow{display:inline-block;transition:transform .25s ease;opacity:.6}
  nav.visible-lg li.cm-open>a .dropdown-arrow{transform:rotate(180deg)}
  nav.visible-lg li.dropdown-depth-0.open:not(.cm-open)>a:after{transform:scaleX(0)}

  /* Grund-Dropdown (z.B. „Über uns“) als schwebende Karte */
  nav.visible-lg li.dropdown-depth-0{position:relative}
  nav.visible-lg li.dropdown-depth-0>.cm-dropdown-depth-0{display:flex!important;flex-direction:column;position:absolute;top:calc(100% - 6px);left:50%;min-width:240px;margin:0;padding:10px!important;list-style:none;background:#fff;border-radius:18px!important;
    box-shadow:0 30px 60px -20px rgba(11,42,69,.35),0 0 0 1px rgba(11,42,69,.06)!important;opacity:0;visibility:hidden;transform:translate(-50%,10px);transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s;z-index:200}
  nav.visible-lg li.dropdown-depth-0.cm-open>.cm-dropdown-depth-0{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .22s ease,transform .22s ease}
  nav.visible-lg li.dropdown-depth-0>.cm-dropdown-depth-0:before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
  nav.visible-lg .cm-dropdown-depth-0>li>a{display:block;padding:10px 14px!important;border-radius:10px;color:var(--cm-ink)!important;font-weight:500;font-size:15px;white-space:nowrap;transition:background .15s,color .15s,padding .15s}
  nav.visible-lg .cm-dropdown-depth-0>li>a:hover{background:var(--cm-bg-soft);color:var(--cm-orange)!important;padding-left:18px!important}

  /* Mega-Menü „Leistungen“ (#menu-item-311): Spalten je Kategorie */
  nav.visible-lg li#menu-item-311{position:static}
  nav.visible-lg li#menu-item-311>.cm-dropdown-depth-0{display:grid!important;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:8px 28px;left:50%;top:100%;width:min(1120px,94vw);max-width:none!important;padding:28px 32px!important;flex-direction:initial}
  nav.visible-lg li#menu-item-311>.cm-dropdown-depth-0>li>a{font-family:var(--cm-head);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--cm-orange)!important;padding:6px 0 12px!important;margin-bottom:6px;border-bottom:1px solid var(--cm-line);border-radius:0;background:none!important}
  nav.visible-lg li#menu-item-311>.cm-dropdown-depth-0>li>a:hover{padding-left:0!important;color:var(--cm-navy)!important}
  nav.visible-lg li#menu-item-311 .cm-dropdown-depth-1{display:grid!important;grid-template-columns:1fr;gap:2px;position:static!important;opacity:1!important;visibility:inherit!important;transform:none!important;box-shadow:none!important;padding:0!important;margin:0;list-style:none;background:none!important;max-width:none!important}
  nav.visible-lg li#menu-item-311 #menu-item-344 .cm-dropdown-depth-1{grid-template-columns:1fr 1fr}
  nav.visible-lg li#menu-item-311 .cm-dropdown-depth-1 a{display:flex;align-items:center;gap:10px;padding:8px 10px!important;border-radius:10px;color:var(--cm-ink)!important;font-size:15px;font-weight:500;white-space:normal;transition:background .15s,color .15s}
  nav.visible-lg li#menu-item-311 .cm-dropdown-depth-1 a:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cm-line);flex:0 0 6px;transition:background .15s,transform .15s}
  nav.visible-lg li#menu-item-311 .cm-dropdown-depth-1 a:hover{background:var(--cm-bg-soft);color:var(--cm-navy)!important}
  nav.visible-lg li#menu-item-311 .cm-dropdown-depth-1 a:hover:before{background:var(--cm-orange);transform:scale(1.4)}
  nav.visible-lg li#menu-item-311 .cm-dropdown-depth-1 .glyphicon{display:none}
}

/* ---------- Hero mit Code-Animation ---------- */
#header-image .carousel-inner{position:relative;overflow:hidden;background:radial-gradient(1100px 600px at 75% 30%,#174b78 0%,rgba(23,75,120,0) 65%),radial-gradient(800px 500px at 10% 90%,rgba(215,88,62,.22) 0%,rgba(215,88,62,0) 60%),linear-gradient(135deg,#071d31 0%,#0b2a45 50%,#0a2238 100%)!important}
.cm-code-canvas{position:absolute;inset:0;z-index:0;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 85% 75% at 50% 45%,#000 30%,transparent 100%);mask-image:radial-gradient(ellipse 85% 75% at 50% 45%,#000 30%,transparent 100%);opacity:.75}
#header-image .carousel-inner>.item{z-index:1;background-color:transparent!important}
#header-image .carousel-inner>.item>img.bg-image{opacity:0!important}
#header-image .carousel-inner:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent)}
.carousel .logo-overlay{opacity:.06}
@media (min-width:768px){
  .carousel-caption h1,.carousel-caption h2{font-size:clamp(44px,5vw,76px)!important;line-height:1.02}
}
.carousel-caption img{border-radius:14px;box-shadow:0 40px 80px -30px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.08)}
/* Slider-Punkte als Fortschrittsbalken */
#header-image .carousel-indicators li{width:26px!important;height:4px!important;border-radius:4px;margin:0 4px!important;border:0!important;background:rgba(255,255,255,.3)!important;transition:width .3s ease,background .3s ease}
#header-image .carousel-indicators li.active{width:46px!important;background:var(--cm-orange)!important}

/* ---------- Startseite: Sektion 1 „Herausforderungen“ ---------- */
.home .main>section:first-of-type .hero-block{align-items:center;gap:56px}
.home .main .hero-content h4{display:inline-flex;align-items:center;gap:10px;font-family:var(--cm-body);font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--cm-orange);margin:0 0 18px;padding:7px 14px;border-radius:999px;background:rgba(215,88,62,.08)}
.home .main .hero-content h4 strong{font-weight:600}
.home .main .hero-content h4:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cm-orange);box-shadow:0 0 0 4px rgba(215,88,62,.18)}
.home .main>section:first-of-type h2{font-size:clamp(34px,4vw,56px);font-weight:800}
.home .main>section:first-of-type .hero-image-big{position:relative;flex:0 0 auto}
.home .main>section:first-of-type .hero-image-big:before{content:"";position:absolute;inset:6% 2% 4% 8%;border-radius:40px;background:linear-gradient(135deg,#e9f1f8 0%,#fbe7e1 100%);transform:rotate(-4deg);z-index:0}
.home .main>section:first-of-type .hero-image-big img{position:relative;z-index:1;border-radius:0}

/* ---------- Sektion 3 „Dürfen wir uns vorstellen?“ + Team ---------- */
.home .main>section:nth-of-type(3) .hero-block{align-items:center;gap:56px}
.home #team-slider .card{background:#fff!important;border-radius:28px;box-shadow:var(--cm-shadow-h)!important;padding:28px 20px 18px}
.home #team-slider .round-image{box-shadow:0 0 0 6px #fff,0 0 0 8px rgba(215,88,62,.35)}
.home #team-slider .team-name{font-family:var(--cm-head);font-weight:700;font-size:20px;color:var(--cm-ink)}
.home #team-slider .team-function{color:var(--cm-orange);font-weight:500}
.home #team-slider .team-navigation{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--cm-bg-soft);color:var(--cm-navy);cursor:pointer;transition:background .2s,color .2s}
.home #team-slider .team-navigation:hover{background:var(--cm-orange);color:#fff}

/* ---------- Blog: 2 Karten nebeneinander, Bild oben ---------- */
@media (min-width:992px){
  .home .blog{display:grid;grid-template-columns:1fr 1fr;gap:32px}
  .home .blog-item{margin-bottom:0}
  .home .blog-item .card{height:100%}
  .home .blog-item .flex{display:flex!important;flex-direction:column}
  .home .blog-item .flex-aside{width:auto!important;max-width:none!important;flex:none!important}
  .home .blog-item .flex-main{padding:0 8px 8px!important;width:auto!important;max-width:none!important}
}
.home .blog-item .card-content{padding:28px}
.home .blog-item .flex-image .round-image{display:block;width:120px;height:120px;border-radius:24px;overflow:hidden;background:var(--cm-bg-soft);margin-bottom:18px}
.home .blog-item .flex-image .round-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.home .blog-item .card:hover .flex-image img{transform:scale(1.06)}
.home .blog-item h4{font-size:22px;line-height:1.3;margin-top:0}
.home .blog-item h4 a{color:var(--cm-ink)}
.home .blog-item h4 a:hover{color:var(--cm-orange)}
.home .blog-item .meta-infos p{font-size:13px;color:var(--cm-muted);margin-bottom:6px}
.home .blog-item .keywords a{display:inline-block;font-size:12px;padding:3px 10px;margin:0 4px 4px 0;border-radius:999px;background:var(--cm-bg-soft);color:var(--cm-text)}

/* ---------- Zähler „Mit uns können Sie rechnen“ (Fix + modern) ---------- */
#counter .counter-item.card,#counter .counter-item{overflow:visible!important}
#counter .counter-item{opacity:.55;transition:opacity .25s ease,transform .25s ease}
#counter .counter-item.active,#counter .counter-item:hover{opacity:1;transform:translateY(-4px)}
#counter .counter-item-total{font-family:var(--cm-head);font-weight:800;font-size:clamp(28px,3vw,40px);color:var(--cm-navy);letter-spacing:-.02em}
#counter .counter-item.active .counter-item-total{color:var(--cm-orange)}
#counter .counter-item-title{font-weight:500;color:var(--cm-text);margin-bottom:14px}
#counter .round-image{box-shadow:0 0 0 6px #fff,0 18px 40px -16px rgba(11,42,69,.45);transition:box-shadow .25s ease}
#counter .counter-item.active .round-image{box-shadow:0 0 0 6px #fff,0 0 0 9px var(--cm-orange),0 18px 40px -16px rgba(11,42,69,.45)}
#counter .counter-total-box{border-radius:22px!important;padding:22px 40px;background:linear-gradient(135deg,var(--cm-navy),var(--cm-navy-2))!important}
#counter .counter-total-count{font-family:var(--cm-head);font-weight:800;letter-spacing:-.02em}

/* ---------- Footer-CTA ---------- */
footer>.section.bg-secondary{background:radial-gradient(700px 360px at 85% 0%,rgba(215,88,62,.28),transparent 60%),linear-gradient(160deg,#081f33,#0b2a45)!important}
.footer-top .section-header h3{font-size:clamp(30px,3.6vw,48px)!important;font-weight:800!important}
.footer-box .round-icon{background:rgba(255,255,255,.08)!important;border:0!important;transition:background .2s}
.footer-box a:hover .round-icon{background:var(--cm-orange)!important}
.footermenue-cm .footermenue-inner>li>a{border-radius:999px!important;background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.12)!important;transition:background .2s,border-color .2s}
.footermenue-cm .footermenue-inner>li>a:hover{background:var(--cm-orange)!important;border-color:var(--cm-orange)!important}

/* v2.1: Theme-Dropdown-Regeln neutralisieren (blauer Vollbreiten-Balken) */
@media (min-width:1200px){
  html.cm-refresh nav.visible-lg li.dropdown-depth-0 .cm-dropdown-menu.cm-dropdown-depth-0{position:absolute!important;background:#fff!important;width:auto;right:auto!important;justify-content:initial}
  html.cm-refresh nav.visible-lg li#menu-item-311 .cm-dropdown-menu.cm-dropdown-depth-0{position:fixed!important;top:80px!important;width:min(1120px,94vw)!important}
  html.cm-refresh nav.visible-lg .menu-item.dropdown-depth-1,html.cm-refresh nav.visible-lg .menu-item.dropdown-depth-2{width:auto!important;font-size:15px}
  html.cm-refresh nav.visible-lg .menu-item.dropdown-depth-1>ul.cm-submenu{margin-bottom:0}
  html.cm-refresh nav.visible-lg .menu-item.dropdown-depth-2>a:before{border:0!important;transform:none!important;margin-right:0!important;height:6px!important;width:6px!important}
  html.cm-refresh nav.visible-lg .cm-dropdown-depth-0>li.dropdown-depth-1:not(.dropdown)>a{color:var(--cm-ink)!important;text-transform:none!important;font-weight:500!important}
  html.cm-refresh nav.visible-lg .navbar-nav>li:not(#menu-item-384)>a:before{display:none!important}
  html.cm-refresh nav.visible-lg .navbar-nav>li:not(#menu-item-384)>a{border:0!important;box-shadow:none!important;background:transparent}
  html.cm-refresh nav.visible-lg .navbar-nav>li:not(#menu-item-384)>a:after{bottom:calc(50% - 17px)}
}
/* Code im Hero etwas präsenter (Wunsch: Code-Look behalten) */
.cm-code-canvas{opacity:.95}
@media (min-width:1200px){
  html.cm-refresh nav.visible-lg .navbar-nav>li#menu-item-384>a{background:var(--cm-orange)!important;color:#fff!important}
  html.cm-refresh nav.visible-lg .navbar-nav>li#menu-item-384>a:hover{background:var(--cm-orange-d)!important}
  nav.visible-lg li#menu-item-311>.cm-dropdown-depth-0{grid-template-columns:2.1fr 1fr 1.2fr 1.1fr!important}
  nav.visible-lg li#menu-item-311 .cm-dropdown-depth-1 a{white-space:nowrap!important}
  nav.visible-lg li#menu-item-311 .cm-dropdown-depth-1>li{margin:0!important;padding:0!important}
}
/* v2.2 Blog-Bilder: Theme nutzt padding-top:100% → für Karten-Layout zurücksetzen */
.home .blog-item .flex-image{max-width:none;margin:0 0 18px}
.home .blog-item .flex-image .round-image{width:132px!important;height:132px!important;padding-top:0!important;border-radius:28px!important;margin:0}
.home .blog-item .flex-image .round-image img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover}
/* v2.3 Mobile-Feinschliff */
@media (max-width:767px){
  #header-image .carousel-indicators{width:auto;left:16px;right:16px;margin:0;white-space:nowrap}
  #header-image .carousel-indicators li{width:16px!important;margin:0 3px!important}
  #header-image .carousel-indicators li.active{width:30px!important}
  .button-group .btn+.btn{margin-left:0}
  .home .blog-item .flex-image .round-image{margin:0 auto}
  .home .blog-item .card-content{padding:22px}
}

/* ==========================================================================
   v3 (2026-10-21): Himmel-Sektion modern, Klick-Dropdowns, mehr Bewegung
   ========================================================================== */

/* ---------- „Wohin soll die Reise gehen?“ – Himmel mit Tiefe ---------- */
.home .section.jk-parallax{position:relative;overflow:hidden;isolation:isolate;min-height:clamp(560px,78vh,820px);display:flex;align-items:center;
  background-size:cover!important;padding:120px 0!important}
.home .section.jk-parallax:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 22%,rgba(255,255,255,0) 70%,#fff 100%),
             radial-gradient(1200px 520px at 80% 50%,rgba(255,255,255,.35),transparent 70%)}
.home .section.jk-parallax>.container{position:relative;z-index:2;width:100%}
.home .section.jk-parallax .hero-block{align-items:center;gap:64px;background:none!important;box-shadow:none!important;padding:0!important}
.home .section.jk-parallax .hero-block:after{display:none}
/* Glas-Karte für den Text */
.home .section.jk-parallax .hero-content{position:relative;padding:48px 52px!important;border-radius:28px;
  background:linear-gradient(135deg,rgba(255,255,255,.62),rgba(255,255,255,.32));-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);
  border:1px solid rgba(255,255,255,.7);box-shadow:0 30px 70px -30px rgba(11,42,69,.45),inset 0 1px 0 rgba(255,255,255,.8);
  transform:perspective(1000px) rotateX(var(--rx,0)) rotateY(var(--ry,0));transition:transform .25s ease}
.home .section.jk-parallax .light-content h2{color:var(--cm-ink)!important;font-size:clamp(32px,3.6vw,52px);font-weight:800}
.home .section.jk-parallax .light-content p{color:var(--cm-text)!important;font-size:18px}
.home .section.jk-parallax .light-content a:not(.btn){color:var(--cm-orange)!important;text-decoration:underline;text-underline-offset:3px}
.home .section.jk-parallax .btn:not(.btn-full-secondary){color:#fff!important;box-shadow:none}
.home .section.jk-parallax .btn:not(.btn-full-secondary):before{background:var(--cm-navy)}
.home .section.jk-parallax .btn:not(.btn-full-secondary):hover:before{background:var(--cm-orange)}
/* Bild schwebt */
.home .section.jk-parallax .hero-image.hidden-xs img{border-radius:50%;animation:cm-float 7s ease-in-out infinite;filter:drop-shadow(0 30px 40px rgba(11,42,69,.25))}
/* Wolken-Ebenen (dekorative <span>, per JS eingefügt) */
.cm-cloud,.cm-sun{position:absolute;pointer-events:none;z-index:1;border-radius:50%}
.cm-cloud{background:radial-gradient(closest-side,rgba(255,255,255,.95),rgba(255,255,255,.55) 55%,rgba(255,255,255,0));filter:blur(6px)}
.cm-cloud-1{width:520px;height:180px;top:12%;left:-10%;animation:cm-drift 48s linear infinite;transform:translateY(calc(var(--sky-p,0) * -80px))}
.cm-cloud-2{width:380px;height:130px;top:62%;left:-20%;opacity:.85;animation:cm-drift 36s linear infinite -12s}
.cm-cloud-3{width:700px;height:220px;bottom:-60px;left:-30%;opacity:.9;animation:cm-drift 64s linear infinite -30s}
.cm-sun{width:420px;height:420px;top:-120px;right:6%;background:radial-gradient(closest-side,rgba(255,236,200,.85),rgba(255,214,170,.25) 60%,transparent);animation:cm-pulse 9s ease-in-out infinite}
@keyframes cm-drift{from{translate:0 0}to{translate:150vw 0}}
@keyframes cm-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-18px) rotate(1.5deg)}}
@keyframes cm-pulse{0%,100%{opacity:.75;scale:1}50%{opacity:1;scale:1.08}}
@media (max-width:767px){
  .home .section.jk-parallax{min-height:0;padding:60px 0!important}
  .home .section.jk-parallax .hero-content{padding:28px 22px!important}
  .cm-cloud-1{width:300px}.cm-cloud-3{width:420px}.cm-sun{width:260px;height:260px}
}

/* ---------- Scroll-Reveal ---------- */
.cm-reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1) var(--cm-d,0ms),transform .8s cubic-bezier(.2,.7,.2,1) var(--cm-d,0ms)}
.cm-reveal.cm-in{opacity:1;transform:none}
.counter-item.cm-reveal{transform:translateY(28px) scale(.96)}
.counter-item.cm-reveal.cm-in{transform:none}
#counter .counter-item.cm-in:hover,#counter .counter-item.cm-in.active{transform:translateY(-4px)}

/* ---------- Karten-Tilt + Glanz ---------- */
.cm-tilt{transform:perspective(1000px) rotateX(var(--rx,0)) rotateY(var(--ry,0));transition:transform .2s ease,box-shadow .25s ease;will-change:transform}
.home .blog-item .card.cm-tilt:after,.home #team-slider .card.cm-tilt:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;
  background:radial-gradient(400px circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.55),transparent 45%)}
.home .blog-item .card.cm-tilt:hover:after,.home #team-slider .card.cm-tilt:hover:after{opacity:1}
.home .blog-item .card.cm-tilt:hover{transform:perspective(1000px) rotateX(var(--rx,0)) rotateY(var(--ry,0)) translateY(-4px)}

/* ---------- Buttons: Glanz-Wisch ---------- */
.btn-full-secondary,.btn-full,.navbar-nav>li#menu-item-384>a{position:relative;overflow:hidden}
.btn-full-secondary:after,.btn-full:after,html.cm-refresh nav.visible-lg .navbar-nav>li#menu-item-384>a:after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transition:left .6s ease;pointer-events:none}
.btn-full-secondary:hover:after,.btn-full:hover:after,html.cm-refresh nav.visible-lg .navbar-nav>li#menu-item-384>a:hover:after{left:130%}
html.cm-refresh nav.visible-lg .navbar-nav>li#menu-item-384>a:after{height:auto;border-radius:0;transform:skewX(-20deg)}

/* ---------- Hero: Screenshot schwebt, Headline-Glow ---------- */
@media (min-width:768px){ .carousel .item.active .carousel-caption img{animation:cm-float 8s ease-in-out infinite} }
.carousel .item.active .carousel-caption h1,.carousel .item.active .carousel-caption h2{background:linear-gradient(90deg,#fff 0%,#fff 40%,#ffd3c6 50%,#fff 60%,#fff 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:cm-sheen 6s ease-in-out 1.2s infinite}
@keyframes cm-sheen{0%{background-position:100% 0}60%,100%{background-position:-50% 0}}

/* ---------- Sektion 1: Bild schwebt, Farbfläche atmet ---------- */
.home .main>section:first-of-type .hero-image-big img{animation:cm-float 9s ease-in-out infinite}
.home .main>section:first-of-type .hero-image-big:before{animation:cm-wobble 14s ease-in-out infinite}
@keyframes cm-wobble{0%,100%{transform:rotate(-4deg) scale(1)}50%{transform:rotate(3deg) scale(1.04)}}

/* ---------- Counter: Strom fliesst durch die Verbindungslinien ---------- */
#counter .counter-connector{background:linear-gradient(180deg,var(--cm-blue) 0%,var(--cm-blue) 40%,var(--cm-orange) 50%,var(--cm-blue) 60%,var(--cm-blue) 100%)!important;background-size:100% 300%!important;animation:cm-flow 2.6s linear infinite}
#counter .counter-item.active .counter-connector{animation-duration:1.2s}
@keyframes cm-flow{from{background-position:0 100%}to{background-position:0 0}}

/* ---------- Scroll-Fortschritt ---------- */
.cm-progress{position:absolute;left:0;right:0;bottom:-1px;height:3px;background:linear-gradient(90deg,var(--cm-orange),#f2a36b);transform-origin:left;transform:scaleX(0);pointer-events:none;z-index:3}

@media (prefers-reduced-motion:reduce){.cm-cloud,.cm-sun{animation:none!important}.cm-reveal{opacity:1!important;transform:none!important}}
/* v3.1 Himmel als eigene Ebene (Theme-Parallax verschiebt sonst über den Bildrand hinaus) */
.home .section.jk-parallax{background-image:none!important;background-color:#9cc3e3!important}
.home .section.jk-parallax:after{content:"";position:absolute;inset:-15% 0;z-index:-2;pointer-events:none;
  background:url(../img/clouds.jpg) center/cover no-repeat;transform:translate3d(0,calc(var(--sky-p,0) * 90px),0) scale(1.08);will-change:transform}
/* v3.2 Counter: Titel einzeilig, damit alle Kreise auf einer Linie liegen */
#counter .counter-item-title{white-space:nowrap;font-size:clamp(13px,1.2vw,16px)}

/* v4 (2026-10-21) */
/* Header: kein Schweben/Wackeln mehr (Irmela: zu viel) */
.carousel .item.active .carousel-caption img{animation:none!important}
/* Reise-Sektion: Text sauber linksbündig, einheitliche Abstände */
.home .section.jk-parallax .hero-content,.home .section.jk-parallax .hero-content *{text-align:left!important}
.home .section.jk-parallax .hero-content{max-width:620px;margin-left:auto}
.home .section.jk-parallax .hero-content h2{margin:0 0 18px!important;max-width:none}
.home .section.jk-parallax .hero-content p{margin:0 0 28px!important;max-width:52ch}
.home .section.jk-parallax .hero-content .button-group{margin:0!important}
@media (max-width:767px){.home .section.jk-parallax .hero-content{max-width:none}.home .section.jk-parallax .hero-content .hero-image{margin:0 0 20px}}
@media (min-width:768px){
  .home .section.jk-parallax .hero-block{justify-content:center;gap:56px}
  .home .section.jk-parallax .hero-content{margin-left:0;flex:0 1 620px}
  .home .section.jk-parallax .hero-image.hidden-xs{flex:0 0 auto}
}
/* v4.1 Reise: kein Kasten um den Text (Irmela) – Text direkt auf dem Himmel, Lesbarkeit über weichen Lichthof */
.home .section.jk-parallax .hero-content{background:none!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;padding:0!important;border-radius:0;transform:none!important}
.home .section.jk-parallax .hero-content:before{content:"";position:absolute;inset:-60px -80px;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,rgba(255,255,255,.55),rgba(255,255,255,0));filter:blur(10px)}
.home .section.jk-parallax .light-content h2{text-shadow:0 2px 24px rgba(255,255,255,.6)}
.home .section.jk-parallax .light-content p{color:var(--cm-ink)!important}

/* ==========================================================================
   v5 (2026-10-21): EIN Button-System für alle Buttons, Bildfläche weg, Logo-Fix
   ========================================================================== */
/* Alle Theme-/Alt-Effekte (Gradient-Rand, Wisch-Ebene, Glanz) aus */
html.cm-refresh .btn:before,html.cm-refresh .btn:after,
html.cm-refresh nav.visible-lg .navbar-nav>li#menu-item-384>a:after{content:none!important;display:none!important;animation:none!important}

/* Basis – gleich für alle */
html.cm-refresh a.btn,html.cm-refresh .btn,
html.cm-refresh nav.visible-lg .navbar-nav>li#menu-item-384>a{
  display:inline-flex!important;align-items:center;justify-content:center;gap:8px;
  font-family:var(--cm-body)!important;font-weight:600!important;font-size:16px!important;line-height:1.2!important;
  padding:14px 28px!important;border-radius:999px!important;border:2px solid transparent!important;
  transform:none;box-shadow:none!important;text-decoration:none!important;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease!important}
html.cm-refresh .btn:hover,html.cm-refresh .btn:focus-visible,
html.cm-refresh nav.visible-lg .navbar-nav>li#menu-item-384>a:hover{transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(11,42,69,.45)!important}
html.cm-refresh .btn:active{transform:translateY(0)}

/* Variante 1: Primär (gefüllt Orange) – .btn-full, .btn-full-secondary, Kontakt im Menü */
html.cm-refresh .btn.btn-full,html.cm-refresh .btn.btn-full-secondary,
html.cm-refresh nav.visible-lg .navbar-nav>li#menu-item-384>a{background:var(--cm-orange)!important;border-color:var(--cm-orange)!important;color:#fff!important}
html.cm-refresh .btn.btn-full:hover,html.cm-refresh .btn.btn-full-secondary:hover,
html.cm-refresh nav.visible-lg .navbar-nav>li#menu-item-384>a:hover{background:var(--cm-orange-d)!important;border-color:var(--cm-orange-d)!important;color:#fff!important}
html.cm-refresh nav.visible-lg .navbar-nav>li#menu-item-384>a{padding:10px 22px!important;font-size:15px!important}

/* Variante 2: Sekundär (Umriss Navy) – alle übrigen .btn */
html.cm-refresh .btn:not(.btn-full):not(.btn-full-secondary){background:transparent!important;border-color:var(--cm-navy)!important;color:var(--cm-navy)!important}
html.cm-refresh .btn:not(.btn-full):not(.btn-full-secondary):hover{background:var(--cm-navy)!important;color:#fff!important}

/* Auf dunklem Grund (Hero, Navy-Sektionen): Umriss Weiss */
html.cm-refresh .carousel-caption .button-group .btn-full-secondary:first-child,
html.cm-refresh .bg-secondary .btn:not(.btn-full):not(.btn-full-secondary){background:transparent!important;border-color:rgba(255,255,255,.9)!important;color:#fff!important}
html.cm-refresh .carousel-caption .button-group .btn-full-secondary:first-child:hover,
html.cm-refresh .bg-secondary .btn:not(.btn-full):not(.btn-full-secondary):hover{background:#fff!important;border-color:#fff!important;color:var(--cm-navy)!important}

/* Sektion 1: eckige Farbfläche hinter dem Foto weg */
.home .main>section:first-of-type .hero-image-big:before{content:none!important;display:none!important}

/* Header immer deckend weiss – das Theme blendet beim Scrollen Logo-Buchstaben mit weissen Flächen aus */
.banner,html.cm-refresh .banner{background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html.cm-refresh .home .section.jk-parallax .btn:not(.btn-full):not(.btn-full-secondary){background:transparent!important;border-color:var(--cm-navy)!important;color:var(--cm-navy)!important}
html.cm-refresh .home .section.jk-parallax .btn:not(.btn-full):not(.btn-full-secondary):hover{background:var(--cm-navy)!important;color:#fff!important}
html.cm-refresh nav.visible-lg .navbar-nav>li#menu-item-384>a:before{content:none!important;display:none!important}

/* v6 (2026-10-21): Button-Farbe = helles Kontakt-Orange (Irmela) */
:root{--cm-btn:#df7965;--cm-btn-h:#cf6550}
html.cm-refresh nav.visible-lg .navbar-nav>li#menu-item-384>a{opacity:1!important}
html.cm-refresh .btn.btn-full,html.cm-refresh .btn.btn-full-secondary,
html.cm-refresh nav.visible-lg .navbar-nav>li#menu-item-384>a{background:var(--cm-btn)!important;border-color:var(--cm-btn)!important}
html.cm-refresh .btn.btn-full:hover,html.cm-refresh .btn.btn-full-secondary:hover,
html.cm-refresh nav.visible-lg .navbar-nav>li#menu-item-384>a:hover{background:var(--cm-btn-h)!important;border-color:var(--cm-btn-h)!important}
/* Umriss-Buttons auf hellem Grund ebenfalls im Button-Orange */
html.cm-refresh .btn:not(.btn-full):not(.btn-full-secondary),
html.cm-refresh .home .section.jk-parallax .btn:not(.btn-full):not(.btn-full-secondary){border-color:var(--cm-btn)!important;color:var(--cm-btn-h)!important}
html.cm-refresh .btn:not(.btn-full):not(.btn-full-secondary):hover,
html.cm-refresh .home .section.jk-parallax .btn:not(.btn-full):not(.btn-full-secondary):hover{background:var(--cm-btn)!important;color:#fff!important}
/* auf dunklem Grund bleibt Umriss Weiss */
html.cm-refresh .carousel-caption .button-group .btn-full-secondary:first-child,
html.cm-refresh .bg-secondary .btn:not(.btn-full):not(.btn-full-secondary){background:transparent!important;border-color:rgba(255,255,255,.9)!important;color:#fff!important}
html.cm-refresh .carousel-caption .button-group .btn-full-secondary:first-child:hover,
html.cm-refresh .bg-secondary .btn:not(.btn-full):not(.btn-full-secondary):hover{background:#fff!important;border-color:#fff!important;color:var(--cm-navy)!important}
/* v6.1: ALLE Buttons dauerhaft gefüllt im Button-Orange (Irmela), auch auf dunklem Grund */
html.cm-refresh .btn,html.cm-refresh a.btn,
html.cm-refresh .btn:not(.btn-full):not(.btn-full-secondary),
html.cm-refresh .home .section.jk-parallax .btn:not(.btn-full):not(.btn-full-secondary),
html.cm-refresh .carousel-caption .button-group .btn-full-secondary:first-child,
html.cm-refresh .bg-secondary .btn:not(.btn-full):not(.btn-full-secondary){background:var(--cm-btn)!important;border-color:var(--cm-btn)!important;color:#fff!important}
html.cm-refresh .btn:hover,html.cm-refresh a.btn:hover,
html.cm-refresh .btn:not(.btn-full):not(.btn-full-secondary):hover,
html.cm-refresh .home .section.jk-parallax .btn:not(.btn-full):not(.btn-full-secondary):hover,
html.cm-refresh .carousel-caption .button-group .btn-full-secondary:first-child:hover,
html.cm-refresh .bg-secondary .btn:not(.btn-full):not(.btn-full-secondary):hover{background:var(--cm-btn-h)!important;border-color:var(--cm-btn-h)!important;color:#fff!important}
html.cm-refresh .carousel-caption .button-group .btn-full-secondary:first-child{box-shadow:none!important}
html.cm-refresh .carousel-caption .button-group .btn-full-secondary:first-child:hover{box-shadow:0 10px 24px -10px rgba(11,42,69,.45)!important}

/* ==========================================================================
   v7 (2026-10-21): Unterseiten im Startseiten-Stil
   ========================================================================== */

/* ---------- Seitenkopf (.header-teaser) mit Code-Animation wie Startseite ---------- */
.header-teaser{position:relative;overflow:hidden;isolation:isolate;background-image:none!important;
  background:radial-gradient(900px 480px at 80% 20%,#174b78 0%,rgba(23,75,120,0) 65%),radial-gradient(700px 420px at 5% 100%,rgba(215,88,62,.22) 0%,rgba(215,88,62,0) 60%),linear-gradient(135deg,#071d31 0%,#0b2a45 50%,#0a2238 100%)!important}
.header-teaser:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent)}
.header-teaser .cm-code-canvas{opacity:.55}
.header-teaser>.container{position:relative;z-index:2}
.header-teaser-inner{min-height:clamp(260px,32vh,380px)!important;padding:56px 0 64px;gap:48px}
.header-teaser h1{font-family:var(--cm-head);font-weight:800;letter-spacing:-.03em;color:#fff!important;font-size:clamp(36px,4.6vw,64px);line-height:1.04;margin:0 0 14px}
.header-teaser .content,.header-teaser .content p{color:rgba(255,255,255,.82)!important;font-size:18px;max-width:60ch}
.header-teaser-image img{max-height:240px;width:auto;filter:drop-shadow(0 30px 40px rgba(0,0,0,.35))}
/* weicher Übergang nach unten statt harter Kante */
.header-teaser:before{content:"";position:absolute;left:0;right:0;bottom:-1px;height:48px;z-index:1;pointer-events:none;background:#fff;clip-path:ellipse(70% 100% at 50% 100%)}
.header-teaser + .main>.section:first-child.bg-lighter,.header-teaser + main>.section:first-child.bg-lighter{padding-top:80px}

/* ---------- Inhaltsbereiche allgemein ---------- */
.main .section.bg-lighter{background:var(--cm-bg-soft)!important}
.main .hero-content h2,.main .entry-content h2{font-size:clamp(28px,3vw,42px);font-weight:800;margin-bottom:18px}
.main .hero-content h3,.main .entry-content h3{font-size:clamp(20px,1.8vw,26px);font-weight:700;margin-top:32px}
.main .hero-content p,.main .entry-content p{font-size:17px;line-height:1.75}
.main .hero-content a:not(.btn),.main .entry-content a:not(.btn){color:var(--cm-btn-h);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.main .hero-content a:not(.btn):hover,.main .entry-content a:not(.btn):hover{color:var(--cm-navy)}
/* Listen mit orangen Punkten */
.main .hero-content ul:is(:not([class]),[class="cm-reveal"],[class="cm-reveal cm-in"]),.main .entry-content ul:is(:not([class]),[class="cm-reveal"],[class="cm-reveal cm-in"]){list-style:none;padding-left:0}
.main .hero-content ul:is(:not([class]),[class="cm-reveal"],[class="cm-reveal cm-in"])>li,.main .entry-content ul:is(:not([class]),[class="cm-reveal"],[class="cm-reveal cm-in"])>li{position:relative;padding-left:26px;margin-bottom:10px}
.main .hero-content ul:is(:not([class]),[class="cm-reveal"],[class="cm-reveal cm-in"])>li:before,.main .entry-content ul:is(:not([class]),[class="cm-reveal"],[class="cm-reveal cm-in"])>li:before{content:"";position:absolute;left:4px;top:.72em;width:8px;height:8px;border-radius:50%;background:var(--cm-btn);box-shadow:0 0 0 4px rgba(223,121,101,.18)}
.main .hero-image img{border-radius:20px}

/* ---------- Feature-Karten (Leistungsseiten: Flexibilität, Skalierbarkeit …) ---------- */
.feature-item-inner{border-radius:22px!important;box-shadow:var(--cm-shadow)!important;border:1px solid rgba(11,42,69,.06);padding:72px 26px 28px!important;transition:transform .25s ease,box-shadow .25s ease!important}
.feature-item-inner:hover{transform:translateY(-6px);box-shadow:var(--cm-shadow-h)!important}
.feature-icon .round-icon,.feature-icon>span,.feature-icon{z-index:2}
.feature-icon [class^="icon-"],.feature-icon [class*=" icon-"]{color:#fff}
.feature-icon>*:first-child{background:linear-gradient(135deg,var(--cm-navy),#174b78)!important;box-shadow:0 0 0 8px #fff,0 18px 30px -12px rgba(11,42,69,.55)!important;border:0!important}
.feature-item-inner h3,.feature-item-inner h4,.feature-content h3,.feature-content h4{font-family:var(--cm-head);font-weight:700;color:var(--cm-ink);font-size:21px}
.feature-content p{font-size:15.5px;line-height:1.65;color:var(--cm-text)}
.cmm-toggler{color:var(--cm-btn-h)!important;font-weight:600}

/* ---------- Fakten-Zahlen ---------- */
.facts-highlight{font-family:var(--cm-head)!important;font-weight:800!important;opacity:1!important;letter-spacing:-.03em;background:linear-gradient(135deg,#fff,#ffd0c4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.section:not(.bg-secondary) .facts-highlight{background:linear-gradient(135deg,var(--cm-navy),var(--cm-btn-h));-webkit-background-clip:text;background-clip:text}
.facts-item-inner{padding:28px 18px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);height:100%}

/* ---------- Tabellen ---------- */
.main .table-responsive{border-radius:18px;box-shadow:var(--cm-shadow);border:1px solid var(--cm-line);overflow:hidden}
.main table.table{margin:0;background:#fff}
.main table.table>thead>tr>th{background:var(--cm-navy);color:#fff;font-family:var(--cm-head);font-weight:700;border:0!important;padding:14px 16px}
.main table.table>tbody>tr>td{padding:12px 16px;border-top:1px solid var(--cm-line)!important}
.main table.table-hover>tbody>tr:hover{background:#fbf3f1}

/* ---------- Referenzen ---------- */
.label-item{border-radius:999px!important;border:1px solid rgba(255,255,255,.35)!important;transition:background .2s,border-color .2s,color .2s}
.label-item.active,.label-item:hover{background:var(--cm-btn)!important;border-color:var(--cm-btn)!important;color:#fff!important}
.referenzen-item{transition:transform .3s ease}
.referenzen-item:hover{transform:translateY(-6px)}
.referenzen-item-image-container{border-radius:18px;overflow:hidden;box-shadow:var(--cm-shadow)}
.referenzen-item:hover .referenzen-item-image-container{box-shadow:var(--cm-shadow-h)}
.referenzen-item-image-container:before{border-radius:18px!important;background:linear-gradient(180deg,rgba(11,42,69,.15),rgba(11,42,69,.65))!important;opacity:.85!important}
.referenzen-item:hover .referenzen-item-image-container:before{opacity:.25!important}
.referenzen-item-image{transition:transform .5s ease}
.referenzen-item:hover .referenzen-item-image{transform:scale(1.04)}
.referenzen-list-item h2,.referenzen-list-item h3,.referenzen-item h3,.referenzen-item h2{font-family:var(--cm-head);font-weight:700;color:var(--cm-ink)}
.referenzen-details-inner{border-radius:24px;overflow:hidden}

/* ---------- Team-Raster ---------- */
.team-grid .team-item .card-image-container{border-radius:20px;overflow:hidden;box-shadow:var(--cm-shadow);transition:transform .3s ease,box-shadow .3s ease}
.team-grid .team-item:hover .card-image-container{transform:translateY(-6px);box-shadow:var(--cm-shadow-h)}
.team-grid .team-name{font-family:var(--cm-head);font-weight:700;font-size:19px;color:var(--cm-ink)}
.team-grid .team-function{color:var(--cm-btn-h);font-weight:500}
.card-toggle-button{background:#fff!important;color:var(--cm-navy)!important;border-radius:50%!important;box-shadow:0 6px 16px -6px rgba(11,42,69,.4)}
.card-popup{border-radius:20px}

/* ---------- Formulare (Kontakt, Projekt anfragen) ---------- */
.wpcf7 .form-control,.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 textarea,.wpcf7 select{
  height:auto;min-height:52px;padding:14px 16px!important;border:1.5px solid var(--cm-line)!important;border-radius:14px!important;background:#fff!important;color:var(--cm-ink)!important;
  font-family:var(--cm-body);font-size:16px!important;box-shadow:none!important;transition:border-color .2s,box-shadow .2s}
.wpcf7 textarea{min-height:160px}
.wpcf7 .form-control:focus,.wpcf7 input:focus,.wpcf7 textarea:focus,.wpcf7 select:focus{border-color:var(--cm-btn)!important;box-shadow:0 0 0 4px rgba(223,121,101,.18)!important;outline:0}
.wpcf7 ::placeholder{color:#97a1ab}
.wpcf7 input[type=file]{border:1.5px dashed var(--cm-line)!important;border-radius:14px;padding:14px;background:var(--cm-bg-soft)!important;width:100%}
.wpcf7 input[type=submit],.wpcf7 .wpcf7-submit{background:var(--cm-btn)!important;border:0!important;color:#fff!important;border-radius:999px!important;padding:14px 30px!important;font-weight:600!important;transition:background .2s,transform .2s!important}
.wpcf7 input[type=submit]:hover,.wpcf7 .wpcf7-submit:hover{background:var(--cm-btn-h)!important;transform:translateY(-2px)}
.wpcf7 .small-info,.wpcf7 .small-info p{font-size:13px;color:var(--cm-muted)}
.wpcf7 form .wpcf7-response-output{border-radius:12px}
.page-template-page-contact .main .container>.row>div:first-child,.page-template-page-inquiry .main h2{font-family:var(--cm-head)}

/* ---------- Blog-Liste + Beitrag ---------- */
.blog .blog-item .card,.main .blog-item .card{border-radius:22px}
.blog-item .card-content{padding:28px}
.blog-item .flex-image .round-image{border-radius:24px!important}
.blog-item h4 a{color:var(--cm-ink)}
.blog-item h4 a:hover{color:var(--cm-btn-h)}
.blog-item .keywords a,.single .keywords a,.meta-infos .keywords a{display:inline-block;font-size:12px;padding:3px 10px;margin:0 4px 4px 0;border-radius:999px;background:var(--cm-bg-soft);color:var(--cm-text)!important;text-decoration:none!important}
.single .entry-content{font-size:17.5px}
.single .entry-content h2{margin-top:44px}
.author-info{border-radius:20px;box-shadow:var(--cm-shadow)!important;border:1px solid var(--cm-line);align-items:center;gap:20px}
.author-info .avatar{border-radius:50%}
.sidebar .card,aside .card{border-radius:18px!important;box-shadow:var(--cm-shadow)!important;transition:transform .25s ease}
.sidebar .card:hover,aside .card:hover{transform:translateY(-4px)}
.pagination>li>a,.pagination>li>span{border-radius:999px!important;margin:0 3px;border-color:var(--cm-line)!important;color:var(--cm-navy)!important}
.pagination>.active>a,.pagination>.active>span{background:var(--cm-btn)!important;border-color:var(--cm-btn)!important;color:#fff!important}

/* ---------- Wiki (BetterDocs) ---------- */
.betterdocs-single-category-wrapper .betterdocs-single-category-inner,.betterdocs-category-grid-wrapper .betterdocs-single-category-inner{border-radius:20px!important;box-shadow:var(--cm-shadow)!important;border:1px solid var(--cm-line)!important;transition:transform .25s ease,box-shadow .25s ease}
.betterdocs-single-category-inner:hover{transform:translateY(-4px);box-shadow:var(--cm-shadow-h)!important}
.betterdocs-category-title{font-family:var(--cm-head)!important;font-weight:700!important;color:var(--cm-ink)!important}
.betterdocs-category-items-counts span,.betterdocs-category-items-counts{background:var(--cm-btn)!important;color:#fff!important}
.betterdocs-articles-list li a{color:var(--cm-text)!important}
.betterdocs-articles-list li a:hover{color:var(--cm-btn-h)!important}
.betterdocs-search-form-wrapper input,.betterdocs-searchform input{border-radius:999px!important}
.betterdocs-entry-title,.betterdocs-entry-heading h1{font-family:var(--cm-head)!important;font-weight:800!important;color:var(--cm-ink)!important}
.betterdocs-sidebar .betterdocs-single-category-inner{box-shadow:none!important}
/* v7.1 Formulare: Bezeichnung fest über dem Feld (statt hineinanimiert) */
html.cm-refresh .wpcf7 .form-group label,html.cm-refresh .form-group label{transform:none!important;position:static!important;display:block;margin:0 0 6px 2px;font-size:14px!important;font-weight:600;color:var(--cm-ink)!important;letter-spacing:.01em}
html.cm-refresh .wpcf7 .form-group{margin-bottom:22px}
.wpcf7 ::placeholder{color:transparent!important}
.wpcf7 .wpcf7-not-valid{border-color:#d9534f!important}
.wpcf7 .wpcf7-not-valid-tip{font-size:13px;margin-top:6px}
html.cm-refresh .wpcf7 .form-group br{display:none}
html.cm-refresh .wpcf7 .form-group>p{margin:0}
html.cm-refresh .wpcf7 .form-group .wpcf7-form-control-wrap{display:block}
/* v7.2 FAQ-Blöcke (.cmm-faq) als ruhige Karten – Inhalte bleiben alle sichtbar */
.cmm-faq{background:#fff;border:1px solid var(--cm-line);border-radius:22px;padding:8px 32px 20px;box-shadow:var(--cm-shadow);margin:32px 0}
.cmm-faq>h3{margin-top:24px}
.cmm-faq .cmm-toggler{font-family:var(--cm-head);font-weight:700;font-size:19px;color:var(--cm-ink)!important;margin:0;padding:20px 0 8px 22px;border-top:1px solid var(--cm-line);position:relative}
.cmm-faq .cmm-toggler:before{content:"";position:absolute;left:0;top:29px;width:10px;height:10px;border-radius:50%;background:var(--cm-btn);box-shadow:0 0 0 4px rgba(223,121,101,.18)}
.cmm-faq h3+.cmm-toggler{border-top:0}
.cmm-faq .cmm-content{padding:0 0 12px 22px;color:var(--cm-text);line-height:1.75}
@media (max-width:767px){.cmm-faq{padding:4px 18px 14px}}
/* v7.3 Mobile: Tabellen scrollen in sich, Fliesstext linksbündig auf Unterseiten */
@media (max-width:767px){
  .main table.table-responsive{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  body:not(.home) .main .hero-content,body:not(.home) .main .hero-content p,body:not(.home) .main .hero-content ul,body:not(.home) .main .hero-content h2,body:not(.home) .main .hero-content h3,
  body:not(.home) .main .entry-content,body:not(.home) .main .entry-content p,body:not(.home) .main .entry-content ul,body:not(.home) .main .entry-content h2,body:not(.home) .main .entry-content h3,
  body:not(.home) .cmm-faq{text-align:left!important}
  body:not(.home) .main .hero-content .button-group{text-align:left}
}
.main .hero-content ul:is(:not([class]),[class="cm-reveal"],[class="cm-reveal cm-in"])>li:before,.main .entry-content ul:is(:not([class]),[class="cm-reveal"],[class="cm-reveal cm-in"])>li:before{position:absolute!important;display:block!important;left:4px!important;top:.72em!important;margin:0!important;transform:none!important;font-size:0!important}
.main .hero-content ul:is(:not([class]),[class="cm-reveal"],[class="cm-reveal cm-in"])>li,.main .entry-content ul:is(:not([class]),[class="cm-reveal"],[class="cm-reveal cm-in"])>li{text-align:left!important;display:block}
/* v7.4 Globale Theme-Listen (.main ul li) – oranger Punkt links, auf allen Breiten */
html.cm-refresh .main ul li{padding-top:0!important;padding-left:26px!important;text-align:left;position:relative;list-style:none}
html.cm-refresh .main ul li:before{content:""!important;font-size:0!important;position:absolute!important;left:4px!important;top:.72em!important;transform:none!important;width:8px;height:8px;border-radius:50%;background:var(--cm-btn);box-shadow:0 0 0 4px rgba(223,121,101,.18)}
/* Komponenten-Listen ohne Punkt */
html.cm-refresh .main ul.betterdocs-articles-list li,html.cm-refresh .main .betterdocs-sidebar ul li,html.cm-refresh .main .pagination li,html.cm-refresh .main .keywords li,
html.cm-refresh .main ul[class*="referenzen"] li,html.cm-refresh .main ul.nav li,html.cm-refresh .main .slick-dots li,html.cm-refresh .main .carousel-indicators li{padding-left:0!important}
html.cm-refresh .main ul.betterdocs-articles-list li:before,html.cm-refresh .main .betterdocs-sidebar ul li:before,html.cm-refresh .main .pagination li:before,html.cm-refresh .main .keywords li:before,
html.cm-refresh .main ul[class*="referenzen"] li:before,html.cm-refresh .main ul.nav li:before,html.cm-refresh .main .slick-dots li:before,html.cm-refresh .main .carousel-indicators li:before{content:none!important;display:none!important}
/* v7.5 Wiki-Suchkopf im gleichen Look */
.betterdocs-search-form-wrapper{position:relative;overflow:hidden;isolation:isolate;padding:70px 16px 80px!important;
  background:radial-gradient(900px 480px at 80% 20%,#174b78 0%,rgba(23,75,120,0) 65%),radial-gradient(700px 420px at 5% 100%,rgba(215,88,62,.22) 0%,rgba(215,88,62,0) 60%),linear-gradient(135deg,#071d31 0%,#0b2a45 50%,#0a2238 100%)!important}
.betterdocs-search-form-wrapper .cm-code-canvas{opacity:.5}
.betterdocs-search-form-wrapper>*:not(canvas){position:relative;z-index:2}
.betterdocs-searchform{border-radius:999px!important;box-shadow:0 20px 50px -20px rgba(0,0,0,.6)!important;border:0!important}
.betterdocs-search-form-wrapper{overflow:visible!important;z-index:20}
.betterdocs-search-form-wrapper .cm-code-canvas{border-radius:0}
.betterdocs-live-search .docs-search-result{border-radius:18px!important;box-shadow:0 30px 60px -20px rgba(11,42,69,.45)!important}
/* v7.6 Geschlossene Dropdowns dürfen keine Klicks abfangen */
@media (min-width:1200px){
  nav.visible-lg li.dropdown-depth-0:not(.cm-open)>.cm-dropdown-depth-0,
  nav.visible-lg li.dropdown-depth-0:not(.cm-open)>.cm-dropdown-depth-0 *{pointer-events:none!important;visibility:hidden!important}
  nav.visible-lg li.dropdown-depth-0.cm-open>.cm-dropdown-depth-0,
  nav.visible-lg li.dropdown-depth-0.cm-open>.cm-dropdown-depth-0 *{pointer-events:auto!important;visibility:visible!important}
}
/* v7.7 Mobile-Robustheit: Tabellen, lange Buttons/Wörter/Links */
@media (max-width:767px){
  .main table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  html.cm-refresh .btn{white-space:normal!important;text-align:center;max-width:100%}
  .main p,.main li,.main a,.main b,.main strong,.main h1,.main h2,.main h3,.main h4,.header-teaser h1{overflow-wrap:anywhere;word-break:normal}
}
/* v7.8 Wiki-Titel mobil umbrechen (lange Komposita in Versalien) */
@media (max-width:767px){
  .betterdocs-entry-title,.betterdocs-entry-heading h1{font-size:clamp(22px,7vw,30px)!important;overflow-wrap:anywhere;word-break:normal;line-height:1.15}
  .betterdocs-content-area,.betterdocs-content-wrapper{max-width:100%;overflow-wrap:anywhere}
}
.betterdocs-searchform .betterdocs-searchform-input-wrap,.betterdocs-searchform input.betterdocs-search-field{border:0!important;box-shadow:none!important;outline:0;background:transparent!important}
/* v8 GEO: Kurz-erklärt-Box oben auf Kernseiten */
.cm-summary-section{padding:40px 0 0!important}
.cm-summary{position:relative;max-width:900px;padding:22px 28px 22px 30px;border-radius:18px;background:linear-gradient(135deg,#fff,#fbf3f1);border:1px solid var(--cm-line);box-shadow:var(--cm-shadow)}
.cm-summary:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;border-radius:4px;background:var(--cm-btn)}
.cm-summary-label{display:inline-block;font-family:var(--cm-body);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cm-btn-h);margin-bottom:6px}
.cm-summary p{margin:0;font-size:18px;line-height:1.65;color:var(--cm-ink);max-width:none}
@media (max-width:767px){.cm-summary-section{padding:24px 0 0!important}.cm-summary{padding:18px 18px 18px 22px}.cm-summary p{font-size:16.5px}}
.cm-summary,.cm-summary p,.cm-summary-label{text-align:left!important}
.author-info .author-image img,.author-info .cm-author-photo{width:96px;height:96px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 5px #fff,0 0 0 7px rgba(223,121,101,.35)}

/* v9 Inhaltsbausteine: Leistungs-Karten, Fakten (Leistungen / Über uns) */
.cm-services-title{font-family:var(--cm-head);font-weight:800;font-size:clamp(22px,2vw,28px);color:var(--cm-ink);margin:48px 0 18px}
.cm-services{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;margin:0 0 12px}
.main .cm-service-card,.main .cm-service-card:hover{text-decoration:none!important}
.cm-service-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:26px 24px 52px;border-radius:20px;background:#fff;border:1px solid var(--cm-line);box-shadow:var(--cm-shadow);color:var(--cm-text)!important;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.cm-service-card:hover{transform:translateY(-6px);box-shadow:var(--cm-shadow-h);border-color:rgba(223,121,101,.45)}
.cm-service-card strong{font-family:var(--cm-head);font-size:20px;font-weight:700;color:var(--cm-ink);line-height:1.25}
.cm-service-card>span:last-child{font-size:15.5px;line-height:1.6}
.cm-service-kicker{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cm-btn-h)}
.cm-service-card:after{content:"→";position:absolute;right:22px;bottom:16px;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--cm-bg-soft);color:var(--cm-navy);font-weight:700;transition:background .2s,color .2s,transform .2s}
.cm-service-card:hover:after{background:var(--cm-btn);color:#fff;transform:translateX(3px)}
.cm-services-cta{margin-top:48px;padding:32px 36px;border-radius:24px;background:linear-gradient(135deg,#0b2a45,#123a5e);color:#fff}
.cm-services-cta p{color:rgba(255,255,255,.88)!important;max-width:none}
.cm-services-cta strong{color:#fff}
.cm-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:32px 0 40px}
.cm-fact{padding:22px 18px;border-radius:18px;background:var(--cm-bg-soft);text-align:center}
.cm-fact strong{display:block;font-family:var(--cm-head);font-weight:800;font-size:clamp(22px,2.4vw,32px);color:var(--cm-navy)}
.cm-fact span{font-size:14px;color:var(--cm-muted)}
.section-header p{margin-left:auto;margin-right:auto;text-align:center}
@media (max-width:767px){.cm-facts{grid-template-columns:repeat(2,1fr)}.cm-services-cta{padding:24px 20px}.section-header p{text-align:left}}
.cm-services>br,.cm-facts>br,.cm-service-card br{display:none}
.cm-services>p:empty,.cm-facts>p:empty{display:none}
/* v9.1 Beitragsbilder wieder rund wie im Original (Irmela) */
.blog-item .flex-image .round-image,.home .blog-item .flex-image .round-image{border-radius:50%!important;background:transparent!important}
.blog-item .flex-image .round-image img{object-fit:contain!important}

/* ==========================================================================
   v10 (2026-10-21): Mobile-Optimierung
   ========================================================================== */
@media (max-width:767px){
  /* Lesbarkeit: Fliesstext linksbündig, auch auf der Startseite */
  .main .hero-content,.main .hero-content p,.main .hero-content h2,.main .hero-content h3,.main .hero-content h4,
  .main .feature-content,.main .feature-content p,.main .feature-item-inner h3,.main .feature-item-inner h4,
  .blog-item .flex-main,.blog-item .flex-main p,.blog-item h4{text-align:left!important}
  .main .hero-content .button-group,.blog-item .meta-infos{text-align:left!important}
  body{font-size:16px}
  .main p,.main li{line-height:1.65}
  h2,.h2{font-size:28px}
  /* Abstände straffen */
  .section{padding:44px 0!important}
  .home .section.jk-parallax{padding:48px 0!important}
  .section-header h2,.section-header h3{margin-bottom:24px}
  .main .hero-image img{max-width:240px;margin:8px auto 18px;display:block}
  .main .hero-image.visible-xs{text-align:center}
  /* Eyebrow-Label einzeilig */
  .home .main .hero-content h4{font-size:11px;letter-spacing:.06em;padding:6px 12px;white-space:normal;line-height:1.3}
  /* Buttons: volle Breite, gut tippbar */
  html.cm-refresh .main .button-group .btn,html.cm-refresh .carousel-caption .btn{display:flex!important;width:100%;min-height:50px;margin:0 0 10px!important}
  /* Feature-Karten kompakt: Icon links, Text daneben */
  .feature-item{margin-top:16px!important;padding:0!important}
  .feature-block{margin-top:8px}
  .feature-item-inner{padding:20px 18px 18px 92px!important;min-height:0;height:auto!important;text-align:left}
  .feature-icon{left:18px!important;top:22px!important;transform:none!important}
  .feature-icon>*:first-child{width:58px!important;height:58px!important;box-shadow:0 8px 18px -8px rgba(11,42,69,.5)!important}
  .feature-icon [class^="icon-"],.feature-icon [class*=" icon-"]{font-size:26px!important;line-height:58px!important}
  .feature-item-inner h3,.feature-item-inner h4,.feature-content h3,.feature-content h4{font-size:18px;margin:0 0 6px}
  .feature-content p{font-size:15px}
  /* Blog-Karten: Auszug kürzen */
  .blog-item .card-content{padding:20px!important}
  .blog-item .flex-main>p:not(.categories):not(.keywords){display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
  .blog-item .flex-image .round-image{width:110px!important;height:110px!important;margin:0 0 14px!important}
  .blog-item h4{font-size:20px!important}
  /* Tags & kleine Links: grössere Tippflächen */
  .keywords a,.meta-infos a{display:inline-flex;align-items:center;min-height:32px}
  .footer-box a,.footer-box p a{display:inline-flex;align-items:center;min-height:44px}
  .footermenue-cm .footermenue-inner>li>a{min-height:44px;display:flex!important;align-items:center;justify-content:center}
  footer .content-info a,.content-info a{display:inline-block;padding:10px 6px}
  .cm-service-card{padding:20px 20px 48px}
  /* Referenzen-Filter: eine scrollbare Zeile */
  .header-teaser .label-item{height:36px!important;font-size:13px!important;padding:0 12px!important}
  .header-teaser-text .technologies-labels,.header-teaser .technologies-labels{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;gap:8px;padding-bottom:6px;margin:0 -16px;padding-left:16px;scrollbar-width:none;justify-content:flex-start!important}
  .header-teaser .technologies-labels::-webkit-scrollbar{display:none}
  .header-teaser .label-item{flex:0 0 auto;margin:0!important}
  /* Seitenkopf etwas niedriger */
  .header-teaser-inner{min-height:0!important;padding:36px 0 52px}
  .header-teaser h1{font-size:34px}
  /* Platz für Mobil-Leiste */
  body.cm-has-mobilebar{padding-bottom:72px}
}
/* Mobile Kontakt-Leiste */
.cm-mobilebar{display:none}
@media (max-width:767px){
  .cm-mobilebar{display:flex;position:fixed;left:10px;right:10px;bottom:10px;z-index:900;gap:8px;padding:8px;border-radius:999px;background:rgba(11,42,69,.96);box-shadow:0 14px 30px -10px rgba(0,0,0,.45);transform:translateY(130%);transition:transform .35s ease}
  .cm-mobilebar.cm-show{transform:none}
  .cm-mobilebar a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none!important}
  .cm-mobilebar a.cm-mb-call{color:#fff!important;background:rgba(255,255,255,.1)}
  .cm-mobilebar a.cm-mb-req{color:#fff!important;background:var(--cm-btn)}
  .cm-mobilebar svg{width:18px;height:18px;fill:currentColor}
}
@media (max-width:767px){
  .feature-item-inner{padding:20px!important}
  .feature-icon{position:static!important;display:block;margin:0 0 12px!important}
  .feature-icon>*:first-child{width:52px!important;height:52px!important;display:inline-flex!important;align-items:center;justify-content:center}
  .feature-icon [class^="icon-"],.feature-icon [class*=" icon-"]{font-size:24px!important;line-height:52px!important}
  .feature-content br{display:none}
  .feature-content strong+br,.feature-content p br{display:inline}
}
@media (max-width:767px){.feature-icon:before{display:none!important}}
@media (max-width:767px){.feature-content h3,.feature-content h4,.feature-item-inner h3,.feature-item-inner h4{margin-top:0!important}}

/* v11 Lesbarkeit: Wiki-Artikel + lange Texte */
.betterdocs-content h2,.betterdocs-entry-content h2,#betterdocs-single-content h2{font-family:var(--cm-head);font-weight:700;font-size:clamp(21px,2vw,26px);color:var(--cm-ink);margin:36px 0 12px;line-height:1.25}
.betterdocs-content p,.betterdocs-entry-content p,#betterdocs-single-content p{font-size:17px;line-height:1.75;margin:0 0 16px;max-width:72ch}
.main .hero-content p+p{margin-top:0}
.main .hero-content p{margin-bottom:16px}
a.cm-il{color:var(--cm-btn-h)!important;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a.cm-il:hover{color:var(--cm-navy)!important}

/* v12 FAQ-Akkordeon (nur wenn JS aktiv → ohne JS bleibt alles sichtbar) */
.cmm-faq.cm-acc .cmm-toggler{cursor:pointer;padding-right:56px!important;user-select:none;transition:color .2s}
.cmm-faq.cm-acc .cmm-toggler:hover,.cmm-faq.cm-acc .cmm-toggler:focus-visible{color:var(--cm-btn-h)!important;outline:0}
.cmm-faq.cm-acc .cmm-toggler:after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-35%);width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-family:var(--cm-body);font-size:22px;font-weight:500;line-height:1;background:var(--cm-bg-soft);color:var(--cm-navy);transition:transform .3s ease,background .2s,color .2s}
.cmm-faq.cm-acc .cmm-toggler.cm-open:after{transform:translateY(-35%) rotate(45deg);background:var(--cm-btn);color:#fff}
.cmm-faq.cm-acc .cmm-toggler:hover:after{background:var(--cm-btn);color:#fff}
.cmm-faq.cm-acc .cmm-content{overflow:hidden;max-height:0;opacity:0;padding-bottom:0!important;transition:max-height .35s ease,opacity .3s ease,padding .3s ease}
.cmm-faq.cm-acc .cmm-content.cm-open{opacity:1;padding-bottom:16px!important}
.cmm-faq.cm-acc .cmm-toggler{padding-top:18px!important;padding-bottom:18px!important}.cmm-faq.cm-acc .cmm-toggler:before{top:50%!important;transform:translateY(-50%)}.cmm-faq.cm-acc .cmm-content.cm-open{margin-top:-6px}
@media (max-width:767px){.cmm-faq{padding:4px 16px 10px!important;margin:24px -4px!important}.cmm-faq>h3{font-size:22px!important}.cmm-faq.cm-acc .cmm-toggler{font-size:16.5px!important;line-height:1.35;padding:16px 46px 16px 20px!important}.cmm-faq.cm-acc .cmm-toggler:after{width:30px;height:30px;font-size:20px;right:0}.cmm-faq.cm-acc .cmm-toggler:before{left:0!important;width:8px!important;height:8px!important}.cmm-faq .cmm-content{padding-left:20px!important;font-size:15.5px}}

/* v8.1 FAQ in Spalten: nie breiter als die Spalte (Fallback ohne JS); verschoben = volle Breite unter der Zeile */
[class*="col-"] .cm-faq-section .container{width:auto!important;max-width:100%!important;padding-left:0;padding-right:0}
.cm-faq-section.cm-faq-moved{padding-top:56px;padding-bottom:0;clear:both}
.cm-faq-section.cm-faq-moved>.container{width:auto!important;max-width:100%!important;padding:0}

/* v8.2 Sonnen-Lichtfleck oben rechts im Himmel entfernt (Wunsch Irmela) */
.cm-sun{display:none!important}

/* v8.3 Aufzählungspunkte vertikal mittig zur ersten Textzeile (vorher font-size:0 → top .72em = 0, Punkt sass ~10px zu hoch) */
html.cm-refresh .main ul li:before,
.main .hero-content ul:is(:not([class]),[class="cm-reveal"],[class="cm-reveal cm-in"])>li:before,.main .entry-content ul:is(:not([class]),[class="cm-reveal"],[class="cm-reveal cm-in"])>li:before{font-size:inherit!important;line-height:inherit!important;top:calc(.5lh - 4px)!important}
@supports not (top:1lh){html.cm-refresh .main ul li:before{top:calc(.85em - 4px)!important}}

/* v8.4 «20 Jahr»-Badge neben dem Logo ausgeblendet (seit 2004 = 22 Jahre, Wunsch Irmela). Datei 20years.svg bleibt auf dem Server. */
img[src*="20years.svg"]{display:none!important}

/* v8.5 Referenzen (Feedback Adrian 22.10.): Technologie-Buttons hell mit orangem Icon-Kreis (Icons waren grau auf Orange kaum sichtbar) + Bewegung */
.referenzen-technologies-group .label-item{background:#fff!important;color:var(--cm-ink)!important;border:1px solid #e2e7ee!important;box-shadow:0 1px 2px rgba(11,42,69,.06),0 6px 16px -10px rgba(11,42,69,.25);padding-left:5px!important;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,border-color .25s,background .25s!important}
.referenzen-technologies-group .label-item .label-icon{width:30px!important;height:30px!important;margin-right:8px!important;border-radius:50%;display:inline-flex!important;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--cm-btn),#d7583e);box-shadow:0 4px 10px -4px rgba(215,88,62,.6);transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.referenzen-technologies-group .label-item .label-icon svg{fill:#fff!important;color:#fff!important;width:16px!important;height:16px!important}
.referenzen-technologies-group a:hover .label-item,.referenzen-technologies-group a:focus-visible .label-item{transform:translateY(-3px);border-color:var(--cm-btn)!important;box-shadow:0 2px 4px rgba(11,42,69,.08),0 14px 26px -12px rgba(215,88,62,.45)}
.referenzen-technologies-group a:hover .label-icon{transform:rotate(-12deg) scale(1.1)}
/* Reveal (eigene translate/scale-Eigenschaften → kollidiert nicht mit Hover-transform) */
.cm-rv{opacity:0;translate:0 36px;transition:opacity .7s cubic-bezier(.2,.7,.2,1) var(--cm-d,0ms),translate .8s cubic-bezier(.2,.7,.2,1) var(--cm-d,0ms),scale .8s cubic-bezier(.2,.7,.2,1) var(--cm-d,0ms)}
.cm-rv.cm-from-l{translate:-60px 0}.cm-rv.cm-from-r{translate:60px 0}.cm-rv.cm-zoom{translate:0 0;scale:.94}
.cm-rv.cm-pop{translate:0 10px;scale:.7;transition-duration:.45s,.55s,.55s;transition-timing-function:ease,cubic-bezier(.3,1.5,.5,1),cubic-bezier(.3,1.5,.5,1)}
.cm-rv.cm-in{opacity:1;translate:0 0;scale:1}
/* Übersicht: Karten mit 3D-Neigung + Lichtreflex */
.referenzen-item.cm-tilt:hover{transform:perspective(1000px) rotateX(var(--rx,0)) rotateY(var(--ry,0)) translateY(-6px)}
.referenzen-item-image-container{position:relative}
.referenzen-item.cm-tilt .referenzen-item-image-container:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.35),transparent 55%);z-index:2}
.referenzen-item.cm-tilt:hover .referenzen-item-image-container:after{opacity:1}
/* Filter im Kopf: Pills springen gestaffelt rein */
@keyframes cm-pillin{from{opacity:0;transform:translateY(14px) scale(.85)}to{opacity:1;transform:none}}
.header-teaser .referenzen-filter .cm-pillin{animation:cm-pillin .6s cubic-bezier(.3,1.4,.5,1) both;animation-delay:var(--cm-d,0ms)}
/* Detailansicht: Geräte schweben, Hauptbild langsamer Zoom */
@keyframes cm-devfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes cm-kb{from{transform:scale(1)}to{transform:scale(1.045)}}
.referenzen-details-footer-image img{animation:cm-devfloat 6s ease-in-out infinite}
.referenzen-details-main-image{overflow:hidden}
.referenzen-details-main-image img{animation:cm-kb 16s ease-in-out infinite alternate;transform-origin:60% 40%}
.referenzen-details-header-image img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.referenzen-details-header-image:hover img{transform:translateY(-6px)}
@media (prefers-reduced-motion:reduce){.cm-rv{opacity:1!important;translate:none!important;scale:none!important}.referenzen-details-footer-image img,.referenzen-details-main-image img,.header-teaser .referenzen-filter .cm-pillin{animation:none!important}}

/* v8.6 Referenzen: Filter-Buttons optisch zentriert + sauberes Raster (mobil überlappten sie), mehr Bewegung (Feedback Irmela 22.10.) */
.referenzen-filter{display:flex!important;flex-wrap:wrap;gap:12px}
.referenzen-filter .label-item{margin:0!important;padding:2px 15px 2px 19px!important;position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,background .25s,opacity .25s!important}
.referenzen-filter .label-item .label-icon svg{margin-right:9px!important}
.referenzen-filter .label-item:hover{transform:translateY(-3px);box-shadow:0 12px 24px -12px rgba(215,88,62,.8)}
.referenzen-filter .label-item:active{transform:scale(.95)}
@keyframes cm-shine{0%,72%{transform:translateX(-130%) skewX(-20deg)}100%{transform:translateX(330%) skewX(-20deg)}}
.referenzen-filter .label-item:after{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:cm-shine 7s ease-in-out infinite;animation-delay:calc(1.2s + var(--cm-i,0) * .35s);pointer-events:none}
.referenzen-technologies-group .label-item{padding-right:14px!important}
@media (max-width:767px){.referenzen-filter{gap:8px}.referenzen-filter .label-item{height:36px!important;font-size:13.5px!important;padding:0 12px 0 15px!important}.referenzen-filter .label-item .label-icon{width:auto!important}.referenzen-filter .label-item .label-icon svg{width:17px!important;height:17px!important;margin-right:7px!important}}
/* Titel: Buchstaben fallen gestaffelt ein, danach Lichtschimmer */
.cm-split{display:inline-block}
.cm-split .cm-ch{display:inline-block;opacity:0;transform:translateY(.45em) rotate(6deg);animation:cm-chin .7s cubic-bezier(.3,1.4,.5,1) forwards;animation-delay:calc(var(--cm-i) * 45ms + 80ms)}
@keyframes cm-chin{to{opacity:1;transform:none}}
/* Kopfbereich: weicher Lichtkegel folgt der Maus */
.header-teaser.cm-spot:after,#header-image.cm-spot:after{content:"";position:absolute;inset:0 0 40px 0;pointer-events:none;background:radial-gradient(420px circle at var(--mx,70%) var(--my,40%),rgba(223,121,101,.22),transparent 60%);transition:opacity .4s;z-index:1}
.header-teaser.cm-spot .header-teaser-inner{position:relative;z-index:2}
/* Übersicht: schwebende Farbflächen im Hintergrund */
.cm-blobhost{position:relative;isolation:isolate;overflow-x:clip}
.cm-blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.45;z-index:-1;pointer-events:none;will-change:transform;translate:0 calc(var(--cm-par,0) * 1px)}
.cm-blob-1{width:420px;height:420px;background:#fbd9cf;left:-140px;top:6%;animation:cm-blobdrift 18s ease-in-out infinite alternate}
.cm-blob-2{width:520px;height:520px;background:#dbe7f5;right:-180px;top:32%;animation:cm-blobdrift 22s ease-in-out infinite alternate-reverse}
.cm-blob-3{width:380px;height:380px;background:#fde6c8;left:20%;top:68%;animation:cm-blobdrift 20s ease-in-out infinite alternate}
@keyframes cm-blobdrift{0%{transform:translate(0,0) scale(1)}50%{transform:translate(60px,-40px) scale(1.12)}100%{transform:translate(-40px,50px) scale(.95)}}
/* Karten: Lichtwisch beim Erscheinen, Logo + Titel reagieren auf Hover */
.referenzen-item-image-container .cm-sweep{position:absolute;top:0;bottom:0;left:0;width:45%;z-index:3;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:translateX(-140%) skewX(-18deg)}
.referenzen-item.cm-in .cm-sweep{animation:cm-sweep 1.3s cubic-bezier(.4,0,.2,1) calc(var(--cm-d,0ms) + .45s) 1 both}
.referenzen-item:hover .cm-sweep{animation:cm-sweep 1s cubic-bezier(.4,0,.2,1) 1}
@keyframes cm-sweep{from{transform:translateX(-140%) skewX(-18deg)}to{transform:translateX(330%) skewX(-18deg)}}
.referenzen-item-logo{transition:transform .5s cubic-bezier(.3,1.4,.5,1)}
.referenzen-item:hover .referenzen-item-logo{transform:scale(1.08)}
.referenzen-item h3{position:relative;display:inline-block}
.referenzen-item h3:after{content:"";position:absolute;left:50%;bottom:-4px;height:3px;width:0;border-radius:3px;background:var(--cm-btn);transition:width .35s cubic-bezier(.2,.7,.2,1),left .35s cubic-bezier(.2,.7,.2,1)}
.referenzen-item:hover h3:after{width:100%;left:0}
.referenzen-item-icons{transition:transform .4s cubic-bezier(.3,1.4,.5,1)}
.referenzen-item:hover .referenzen-item-icons{transform:translateY(-4px)}
/* Detailansicht */
.referenzen-requirement h5{position:relative;padding-bottom:10px}
.referenzen-requirement h5:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;border-radius:3px;background:linear-gradient(90deg,var(--cm-btn),#f2b07a);transition:width .9s cubic-bezier(.2,.7,.2,1) .25s}
.referenzen-requirement.cm-in h5:after{width:56px}
.cm-w{display:inline-block;opacity:.12;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease;transition-delay:calc(var(--cm-i) * 28ms)}
.cm-words-in .cm-w{opacity:1;transform:none}
.referenzen-details-main-image img{translate:0 calc(var(--cm-par,0) * 1px)}
.referenzen-details-header-image{perspective:1400px}
.referenzen-details-header-image img{transform:rotateX(var(--rx,0)) rotateY(var(--ry,0));transition:transform .25s ease}
.referenzen-details-navigation a .nav-icon{transition:transform .3s cubic-bezier(.3,1.5,.5,1)}
.referenzen-details-navigation a:first-child:hover .nav-icon{transform:translateX(-5px)}
.referenzen-details-navigation a:last-child:hover .nav-icon{transform:translateX(5px)}
.referenzen-details-navigation a:nth-child(2):hover .nav-icon{transform:scale(1.15)}
.referenzen-details-footer-logo img{transition:transform .5s cubic-bezier(.3,1.4,.5,1)}
.referenzen-details-footer-logo:hover img{transform:scale(1.08) rotate(-2deg)}
@media (prefers-reduced-motion:reduce){.referenzen-filter .label-item:after,.cm-blob,.cm-sweep{animation:none!important}.cm-split .cm-ch{animation:none!important;opacity:1!important;transform:none!important}.cm-w{opacity:1!important;transform:none!important}}

/* v8.7 Einheitliche Bewegung auf allen Seiten (Wunsch Irmela 22.10.) – gleiche Effekte wie auf /referenzen/.
   Keyframes der Referenz-Blöcke umbenannt (cm-devfloat, cm-blobdrift), weil cm-float/cm-drift schon für Startseite/Wolken vergeben sind. */
.cm-split .cm-word{display:inline-block;white-space:nowrap}
#header-image.cm-spot{position:relative}
#header-image.cm-spot:after{inset:0}
/* Karten (Blog, Team, Leistungen, Features): Lichtreflex folgt der Maus, Lichtwisch beim Erscheinen, 3D-Neigung */
.cm-card{position:relative;isolation:isolate}
.cm-card>.cm-glare,.cm-card>.cm-sweep{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3}
.cm-card>.cm-glare{z-index:-1;opacity:0;transition:opacity .3s;background:radial-gradient(380px circle at var(--gx,50%) var(--gy,50%),rgba(223,121,101,.10),transparent 55%)}
.cm-card:hover>.cm-glare{opacity:1}
.cm-card>.cm-sweep{transform:none;width:auto;left:0;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.5) 50%,transparent 62%);background-size:260% 100%;background-position:160% 0;background-repeat:no-repeat}
.cm-card.cm-swept>.cm-sweep{animation:cm-sweepbg 1.3s cubic-bezier(.4,0,.2,1) 1 both}
.cm-card:hover>.cm-sweep{animation:cm-sweepbg2 1s cubic-bezier(.4,0,.2,1) 1 both}
@keyframes cm-sweepbg{from{background-position:160% 0}to{background-position:-60% 0}}
@keyframes cm-sweepbg2{from{background-position:160% 0}to{background-position:-60% 0}}
.cm-card.cm-tlt{transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s ease!important}
.cm-card.cm-tlt:hover{transform:perspective(1000px) rotateX(var(--rx,0)) rotateY(var(--ry,0)) translateY(-5px)!important}
.feature-item-inner.cm-tlt:hover,.cm-service-card.cm-tlt:hover,.blog-item .card.cm-tlt:hover{box-shadow:var(--cm-shadow-h)}
.feature-item-inner .feature-icon{transition:rotate .4s cubic-bezier(.3,1.5,.5,1),scale .4s cubic-bezier(.3,1.5,.5,1)}
.feature-item-inner:hover .feature-icon{rotate:-8deg;scale:1.08}
.blog-item .card h2,.blog-item .card h3,.cm-service-card h3,.cm-service-card h2{background-image:linear-gradient(var(--cm-btn),var(--cm-btn));background-size:0 3px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .35s cubic-bezier(.2,.7,.2,1);padding-bottom:4px}
.blog-item .card:hover h2,.blog-item .card:hover h3,.cm-service-card:hover h3,.cm-service-card:hover h2{background-size:100% 3px}
/* Buttons: regelmässiger Lichtschimmer */
.cm-shinehost{position:relative;overflow:hidden}
.cm-shine{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.42) 50%,transparent 62%);background-size:260% 100%;background-repeat:no-repeat;animation:cm-shinebg 7s ease-in-out infinite;animation-delay:calc(1.5s + var(--cm-i,0) * .6s)}
@keyframes cm-shinebg{0%,72%{background-position:160% 0}100%{background-position:-60% 0}}
.cm-shinehost:hover .cm-shine{animation:cm-sweepbg2 .9s ease 1}
/* Labels auf Leistungsseiten springen gestaffelt rein */
.cm-popin{display:inline-block;opacity:0;translate:0 10px;scale:.7;transition:opacity .45s ease var(--cm-d,0ms),translate .55s cubic-bezier(.3,1.5,.5,1) var(--cm-d,0ms),scale .55s cubic-bezier(.3,1.5,.5,1) var(--cm-d,0ms)}
.cm-popin.cm-in{opacity:1;translate:0 0;scale:1}
.header-teaser .cm-pillin{animation:cm-pillin .6s cubic-bezier(.3,1.4,.5,1) both;animation-delay:var(--cm-d,0ms)}
/* Grosse Inhaltsbilder: Parallax */
.cm-par{translate:0 calc(var(--cm-par,0) * 1px)}
@media (max-width:767px){.cm-blob{width:260px!important;height:260px!important;filter:blur(50px)}}
@media (prefers-reduced-motion:reduce){.cm-shine,.cm-card>.cm-sweep{animation:none!important}.cm-popin{opacity:1!important;translate:none!important;scale:none!important}.cm-par{translate:none!important}}

/* v8.8 Lichtwisch über Bilder/Karten entfernt (Irmela: nervig). Button-Schimmer bleibt. */
.cm-sweep{display:none!important;animation:none!important}
