/* KI-Beratung Schwaben · Anpassung der Artefakt-Gestaltung (style.css) an das Contao-Markup */

@font-face{font-family:"Noto Serif";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/noto-serif-400-normal.woff2) format("woff2")}
@font-face{font-family:"Noto Serif";font-weight:400;font-style:italic;font-display:swap;src:url(../fonts/noto-serif-400-italic.woff2) format("woff2")}
@font-face{font-family:"Noto Serif";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/noto-serif-600.woff2) format("woff2")}
@font-face{font-family:"Noto Sans";font-weight:400 600;font-style:normal;font-display:swap;src:url(../fonts/noto-sans-latin.woff2) format("woff2")}

/* Contao-Hüllen aus dem Layout nehmen, damit die Artefakt-Struktur greift */
#wrapper,#header,#container,#main,#footer,#header>.inside,#main>.inside,#footer>.inside,.mod_html{display:contents}
.mod_article{margin:0}
.sr-only,.invisible{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bg-2{background:var(--bg-2)}

/* Hochdeutsch und Schwäbisch: Zwillings-Elemente */
html:not([lang="swg"]) .sw{display:none!important}
html[lang="swg"] .de{display:none!important}

/* Zwillinge zählen bei nth-child mit: Bento-Regel des Artefakts je Sprache nachbilden */
@media (max-width:640px){
  .bento .tile:nth-child(4),.bento .tile:nth-child(5){grid-column:auto;min-height:0}
  html:not([lang="swg"]) .bento .tile:nth-child(4 of :not(.sw)),html:not([lang="swg"]) .bento .tile:nth-child(5 of :not(.sw)),
  html[lang="swg"] .bento .tile:nth-child(4 of :not(.de)),html[lang="swg"] .bento .tile:nth-child(5 of :not(.de)){grid-column:1/-1;min-height:150px}
}

/* Elemente, die im Artefakt inline standen */
.content-headline{margin:0}

/* Kundenstimmen: je Stimme ein Element, das Raster des Artefakts liegt auf .st-body */
.st-item{display:contents}
.st-item[hidden]{display:none!important}
[hidden]{display:none!important}

/* Logo im Header und Footer (Bild-Element) */
.nav .brand{margin:0}
.nav .brand figure,.foot-brand .foot-logo-img figure{margin:0} /* Browser-Standard 1em 40px rückte das Logo ein (03.11.2026) */
.nav .brand a{display:block}
.nav .brand img{height:46px;width:auto;transition:height .3s var(--ease)} /* Logo etwas größer (03.11.2026, vorher 38px) */
.nav.scrolled .brand{height:40px}
.nav.scrolled .brand img{height:40px}
@media (max-width:980px){.nav .brand img{height:42px}.nav.scrolled .brand img{height:38px}}
.foot-brand .foot-logo-img{margin:0 0 16px}
.foot-brand .foot-logo-img img{height:44px;width:auto}

/* Navigation-Modul */
.nav .mod_navigation{display:contents}
.mobile .mod_navigation{display:contents}
/* Mobilmenü */
body.menu-open{overflow:hidden}
.mobile{gap:0;padding:calc(10px + env(safe-area-inset-top,0px)) 24px calc(24px + env(safe-area-inset-bottom,0px))}
.mobile .mob-head{display:flex;align-items:center;justify-content:space-between;min-height:60px;margin-bottom:20px}
.mobile .mob-head a{padding:0;display:block}
.mobile .mob-head img{height:38px;width:auto;display:block}
.mobile .mob-head .close{position:static;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:30px;line-height:1;margin-right:-10px}
.mobile .mod_navigation > a:not(.invisible),.mobile details{border-bottom:1px solid var(--line)}
.mobile .mod_navigation > a:not(.invisible),.mobile details summary{font-size:26px;line-height:1.2;padding:16px 0}
.mobile details summary{display:flex;justify-content:space-between;align-items:center}
.mobile details summary::-webkit-details-marker{display:none}
.mobile details summary::after{content:"";width:10px;height:10px;border-right:2px solid var(--gold-2);border-bottom:2px solid var(--gold-2);transform:rotate(45deg) translate(-3px,-3px);transition:transform .2s}
.mobile details[open] summary::after{transform:rotate(-135deg)}
.mobile details a{font-size:17px;padding:11px 0 11px 2px;color:var(--soft)}
.mobile details[open]{padding-bottom:10px}
.mobile .bottom{align-items:stretch;padding-top:28px}
.mobile .bottom .btn{font-family:var(--sans);font-size:17px;padding:15px 22px;justify-content:center;text-align:center}
.mobile .bottom .mob-tel{font-family:var(--sans);font-size:16px;padding:6px 0;text-align:center;color:var(--ink)}
.mobile .bottom .seg{align-self:center}

/* Kundenlogos: Galerie wird per Skript zur Laufbahn umgebaut */
.logo-track .content-gallery,.logo-track ul,.logo-track li,.logo-track figure{display:contents;margin:0;padding:0;list-style:none}

/* Team: Foto im Hero füllt die Bühne */
.tp-stage .content-image.tp-photo{height:100%;filter:none}
.tp-stage .content-image.tp-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 16%;filter:grayscale(1) contrast(1.06)}

/* Bilder in Bild-Elementen */
.content-image{margin:0}
.content-image img{display:block;max-width:100%;height:auto}
.logos .content-image img{max-height:100%}

/* FAQ-Modul */
.mod_faqpage.faq-list{margin:0}

/* Blog: Autorenbilder im Beitragskopf */
.bl-faces i:nth-child(1){background-image:url(../team/julia.jpg)}
.bl-faces i:nth-child(2){background-image:url(../team/marco.jpg)}

/* Blog-Liste aus dem Nachrichtenmodul */
.mod_newslist{margin:0}
.mod_newsreader{display:contents}
.empty{color:var(--soft)}

/* Termine aus dem Kalender */
.mod_eventlist{display:contents}

/* Formular KI-Ready-Check (Contao-Formulargenerator), Optik wie .ck-* im Artefakt */
.ck-card form .formbody{display:flex;flex-direction:column;gap:18px}
.ck-form .widget{margin:0;min-width:0}
.ck-form fieldset{border:0;margin:0;padding:0;min-width:0}
.ck-form fieldset.ck-step{display:none;flex-direction:column;gap:18px}
.ck-form fieldset.ck-step.on{display:flex}
.ck-form fieldset.ck-step>legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ck-form .widget>label,.ck-form .widget legend{display:block;font-size:14px;font-weight:600;color:var(--ink);margin:0 0 8px;padding:0}
.ck-form .widget .mandatory{color:inherit}
.ck-form .widget span.mandatory{color:var(--gold-text);margin-left:2px}
.kf-text input,.kf-text textarea{width:100%;font:400 16px var(--sans);color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:14px;padding:13px 14px;transition:border-color .2s,box-shadow .2s;resize:vertical}
.kf-text input:focus,.kf-text textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold-2) 22%,transparent)}
.ck-form .kf-half{display:inline-block;width:calc(50% - 7px);vertical-align:top}
.ck-form .kf-half+.kf-half{margin-left:14px}
.kf-pills fieldset{display:flex;flex-wrap:wrap;gap:8px}
.kf-pills legend{flex-basis:100%}
.kf-pills input,.kf-opts input,.kf-check input{position:absolute;opacity:0;pointer-events:none}
.kf-pills label{display:block;padding:9px 15px;border-radius:999px;border:1.5px solid var(--line);background:var(--bg);font-size:14.5px;cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.kf-pills label:hover{border-color:var(--gold)}
.kf-pills input:checked+label{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.kf-pills input:focus-visible+label,.kf-opts input:focus-visible+label{outline:2px solid var(--gold);outline-offset:2px}
.kf-opts fieldset{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kf-opts legend{grid-column:1/-1}
.kf-opts fieldset>span{display:block}
.kf-opts label{display:flex;flex-direction:column;gap:4px;height:100%;padding:14px 16px;border-radius:16px;border:1.5px solid var(--line);background:var(--bg);cursor:pointer;transition:border-color .2s,background .2s}
.kf-opts label b{font-size:15px}
.kf-opts label small{font-size:13px;color:var(--soft);line-height:1.4}
.kf-opts label:hover{border-color:var(--gold)}
.kf-opts input:checked+label{border-color:var(--gold-2);background:color-mix(in srgb,var(--gold-2) 14%,var(--bg));box-shadow:inset 0 0 0 1px var(--gold-2)}
.kf-check legend{display:none!important}
.kf-check fieldset>span{position:relative;display:block}
.kf-check label{position:relative;display:block;padding-left:34px;font-size:14px;line-height:1.5;color:var(--soft);cursor:pointer}
.kf-check label::before{content:"";position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line);background:var(--bg);transition:background .2s,border-color .2s}
.kf-check input:checked+label::before{background:var(--gold-2);border-color:var(--gold-2)}
.kf-check input:checked+label::after{content:"✓";position:absolute;left:4px;top:0;font-size:14px;font-weight:700;color:#1E2430}
.kf-check input:focus-visible+label::before{outline:2px solid var(--gold);outline-offset:2px}
.ck-form .bad label,.ck-form .bad input,.ck-form .bad textarea{border-color:#E5707A}
.ck-form .kf-check.bad label::before{border-color:#E5707A}
.ck-form p.error{color:#C2424E;font-size:13px;margin:0 0 6px}
.ck-form .widget-altcha{font-size:13px;color:var(--soft)}
.ck-form .widget-submit button,.ck-form button.submit{display:inline-flex;align-items:center;gap:10px;border:0;cursor:pointer;font:600 15px var(--sans);padding:13px 22px;border-radius:999px 999px 999px 0;background:var(--gold-2);color:#1E2430;margin-left:auto}
.ck-form .widget-submit{display:flex}
.ck-form .ck-nav .ck-err{flex-basis:100%}
.ck-form .widget-explanation p{margin:0}
@media (max-width:640px){.ck-form .kf-half{width:100%}.ck-form .kf-half+.kf-half{margin-left:0;margin-top:18px}.kf-opts fieldset{grid-template-columns:1fr}}

/* Barrierefreiheit (QA 29.10.2026) ----------------------------------------- */
/* Kleine goldene Texte auf hellem Grund: dunkleres Gold für mindestens 4,5:1. Flächen und Deko bleiben im Markengold. */
:root{--gold-text:#8A6414}
.bl-cat{color:var(--gold-text);border-color:var(--gold-text)}
.ws-type{color:var(--gold-text)!important}
.lv-card:not(.lead) .lv-no,.tp-word .no,.mega .tag,.ck-form span.mandatory{color:var(--gold-text)}
.problems:not(.dark) .pnum{color:var(--gold-text)}
.ws-list .s-fruehbucher{color:var(--gold-text)}
.ws-list .s-ausgebucht{color:#B23A48}

/* Mega-Menü: per Esc schließbar */
.has-mega.is-closed .mega{opacity:0!important;visibility:hidden!important}
.menu > li.slider-li{display:contents}

/* Tippflächen auf Touch-Geräten mindestens 44 px hoch */
@media (pointer:coarse){
  a.psol,a.lv-more,.bl-crumbs a,.site-footer a,.endphone,.endwa{display:inline-flex;align-items:center;min-height:44px}
  .kf-pills label,.kf-check label{min-height:44px;display:flex;align-items:center}
  .kf-check label::before{top:12px}
  .kf-check input:checked+label::after{top:11px}
}

/* Echte Fotos in Platzhalter-Kacheln (.ph): Bild-Element mit Klasse ggrid-photo als erstes Element */
.ph:has(.ggrid-photo){border:0;background:var(--bg-2)}
.ph .content-image.ggrid-photo{position:absolute;inset:0;margin:0}
.ph .ggrid-photo figure{margin:0;height:100%}
.ph .ggrid-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 35%;filter:grayscale(1) contrast(1.06)}
.ph .ggrid-illu img{filter:none}

/* Blog: Aufmacher-Layout (.big) nur im Aufmacher, in Rastern (.bl-grid) normale Karte */
.bl-grid .bl-card.big{display:flex}
.bl-grid .bl-card.big figure{aspect-ratio:16/9;min-height:0}
.bl-grid .bl-card.big .bl-card-body{justify-content:flex-start;gap:12px;padding:clamp(20px,2.4vw,30px)}
.bl-grid .bl-card.big h3{font-size:clamp(20px,1.8vw,24px)}
.bl-grid .bl-card.big .bl-card-body > p:not(.bl-meta){-webkit-line-clamp:3;font-size:15.5px}

/* Wortkacheln (Über uns): Rückseitentext in der Vier-Spalten-Ansicht kleiner, sonst ragt er oben aus der Kachel */
@media (min-width:981px){.tp-word .r{gap:6px}.tp-word .r > span{font-size:clamp(15px,1.25vw,18px);line-height:1.35;hyphens:auto;-webkit-hyphens:auto}}

/* Arbeitsweise-Karten (Über uns): Bild- und Textreihe aller Karten koppeln, sonst rutscht eine Karte mit kürzerem Text beim Zentrieren nach unten */
@media (min-width:981px){.tp-h-track{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;grid-template-rows:auto auto;align-content:center;column-gap:28px;row-gap:16px}.tp-h-track > .tp-h-intro{grid-row:1 / span 2;align-self:center}.tp-h-track > .tp-vcard{grid-row:1 / span 2;display:grid;grid-template-rows:subgrid;gap:16px}}

/* Home, Telefon-Bereich: WhatsApp als leise Alternative unter den Anruf-Buttons (ersetzt den eigenen WhatsApp-Bereich) */
.voice .wa-alt{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:10px;width:min(520px,100%)}
.voice .wa-or{display:flex;align-items:center;gap:14px;width:100%;font:600 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--soft)}
.voice .wa-or::before,.voice .wa-or::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line))}
.voice .wa-or::after{background:linear-gradient(90deg,var(--line),transparent)}
.voice .wa-pill{display:inline-flex;align-items:center;gap:14px;padding:8px 20px 8px 8px;border-radius:999px;background:var(--bg);border:1px solid var(--line);color:var(--ink);text-decoration:none;text-align:left;transition:border-color .25s,box-shadow .25s,transform .25s var(--ease)}
.voice .wa-pill:hover{border-color:#25D366;box-shadow:0 10px 30px -12px rgba(37,211,102,.45);transform:translateY(-2px)}
.voice .wa-ico{position:relative;flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#0B2E1A}
.voice .wa-ico svg{width:20px;height:20px}
.voice .wa-ico::after{content:"";position:absolute;right:1px;top:1px;width:10px;height:10px;border-radius:50%;background:#25D366;border:2px solid var(--bg);animation:waPing 2.4s var(--ease) infinite}
@keyframes waPing{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}70%,100%{box-shadow:0 0 0 9px rgba(37,211,102,0)}}
.voice .wa-txt{display:flex;flex-direction:column;line-height:1.25}
.voice .wa-txt small{font-size:13px;color:var(--soft)}
.voice .wa-txt b{font:600 15px var(--sans)}
.voice .wa-arr{font-size:18px;color:var(--soft);transition:transform .25s var(--ease),color .25s}
.voice .wa-pill:hover .wa-arr{transform:translateX(4px);color:#1DA851}
.voice .wa-note{font-size:12px;line-height:1.5;color:var(--soft);max-width:62ch}
@media (prefers-reduced-motion:reduce){.voice .wa-ico::after{animation:none}}

/* Home, „Fest verwurzelt in der Region“: Ries-Stimmungsbild neben dem Text */
@media (min-width:981px){.roots .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);column-gap:clamp(40px,5vw,80px);align-items:center}.roots .wrap > .logos{grid-column:1 / -1}}
.roots .roots-photo{margin:0}
.roots .roots-photo figure{position:relative;margin:0;border-radius:28px 28px 28px 0;overflow:hidden;aspect-ratio:3/2;background:var(--line)}
.roots .roots-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;filter:grayscale(1) contrast(1.05);transform:scale(1.04);transition:filter 1.2s var(--ease),transform 1.6s var(--ease)}
.roots .roots-photo:hover img{filter:grayscale(0) contrast(1);transform:scale(1)}
.roots .roots-photo figcaption{position:absolute;left:18px;bottom:18px;display:inline-flex;align-items:center;gap:10px;padding:9px 16px 9px 14px;border-radius:999px;background:rgba(255,255,255,.92);color:#1E2430;font-size:13px;line-height:1.3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.roots .roots-photo figcaption::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold)}
@media (max-width:980px){.roots .roots-photo{margin-top:clamp(32px,5vw,48px)}}
@media (max-width:560px){.roots .roots-photo figure{border-radius:22px 22px 22px 0}.roots .roots-photo figcaption{left:12px;bottom:12px;font-size:12px;padding:7px 12px 7px 11px}}

/* Footer-Kontaktblock: nur Newsletter, Anmeldung direkt im Block (Brevo); Instagram als Icon im Footer */
.foot-stay-sub{margin:14px 0 0;font-size:16px;color:#AEB7C4}
.foot-stay-sub b{color:#fff;font-weight:600}
.fs-nl{display:flex;flex-direction:column;gap:14px}
.fs-nl-lead{margin:0;color:#C9D0DA;font-size:16px;line-height:1.55;max-width:46ch}
.fs-nl form{display:flex;align-items:center;gap:6px;padding:6px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);transition:border-color .25s,background .25s,box-shadow .25s}
.fs-nl form:focus-within{border-color:var(--gold-2);background:rgba(255,255,255,.1);box-shadow:0 0 0 4px rgba(227,179,65,.16)}
.fs-nl form .fs-nl-ic{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--gold-2)}
.fs-nl form .fs-nl-ic svg{width:20px;height:20px}
.fs-nl form .fs-nl-mail{flex:1;min-width:0;width:100%;height:52px;padding:0 6px;border:0;background:transparent;color:#fff;font:400 17px var(--sans);outline:0}
.fs-nl form .fs-nl-mail::placeholder{color:#8D97A6}
.fs-nl form .fs-nl-btn{flex:none;height:52px;padding:0 24px;border:0;border-radius:999px 999px 999px 0;background:var(--gold-2);color:#1E2430;font:600 15px var(--sans);cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:transform .2s var(--ease),background .2s}
.fs-nl form .fs-nl-btn:hover{background:#F0C35A;transform:translateY(-1px)}
.fs-nl form .fs-nl-btn span[aria-hidden]{transition:transform .25s var(--ease)}
.fs-nl form .fs-nl-btn:hover span[aria-hidden]{transform:translateX(3px)}
.fs-nl-soon{display:none;margin:0;font-size:14px;color:#fff}
.fs-nl.is-soon .fs-nl-soon{display:block}
.fs-nl-legal{margin:0;font-size:12.5px;line-height:1.5;color:#8D97A6}
.fs-nl a{display:inline;padding:0;margin:0;color:#C9D0DA}
@media (max-width:520px){.fs-nl form{flex-wrap:wrap;border-radius:24px 24px 24px 0;padding:8px}.fs-nl form .fs-nl-ic{display:none}.fs-nl form .fs-nl-mail{flex-basis:100%;padding:0 12px}.fs-nl form .fs-nl-btn{flex:1;justify-content:center}}
.foot-brand .foot-social{margin-top:18px}

/* Home: drei Sektionen für „KI-Beratung Schwaben in Bayern“ (Einsatzgebiet, Team, Auf einen Blick) */
.area h2,.team h2,.glance h2{font-size:clamp(34px,4.4vw,56px)}
.area img,.team img,.glance img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter 1.2s var(--ease),transform 1.6s var(--ease)}
.area figure:hover img,.team figure:hover img,.glance figure:hover img{filter:none;transform:scale(1.02)}
.area figure,.team figure,.glance figure{position:relative;margin:0;overflow:hidden;border-radius:26px 26px 26px 0;background:var(--line)}
.area figcaption,.team figcaption,.glance figcaption{position:absolute;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:9px;padding:8px 14px 8px 12px;border-radius:999px;background:rgba(255,255,255,.92);color:#1E2430;font-size:13px;line-height:1.3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.area figcaption::before,.team figcaption::before,.glance figcaption::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold)}

/* 1 · Einsatzgebiet */
.area-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,96px);align-items:center}
.area-photos{position:relative;padding:0 14% 18% 0}
.area-ph.a1{aspect-ratio:3/4}
.area-ph.a1 figcaption{top:16px;bottom:auto;left:auto;right:16px}
.area-ph.a2{position:absolute;right:0;bottom:0;width:58%;aspect-ratio:4/3;border:6px solid var(--bg);box-shadow:0 30px 60px -30px rgba(30,36,48,.45)}
.area-pin{position:absolute;left:-14px;top:12%;margin:0;display:flex;flex-direction:column;gap:2px;padding:14px 18px;border-radius:18px;background:#1E2430;color:#C9CED6;font-size:13px;line-height:1.3;box-shadow:0 20px 40px -20px rgba(30,36,48,.6)}
.area-pin b{display:flex;align-items:center;gap:8px;color:#fff;font:600 17px var(--serif)}
.area-pin b::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--gold-2);box-shadow:0 0 0 5px rgba(227,179,65,.25)}
.area-copy{display:flex;flex-direction:column;gap:22px}
.area-copy .eyebrow{margin-bottom:0}
.area-list{display:grid;grid-template-columns:1fr 1fr;gap:26px 32px;margin-top:6px;padding-top:26px;border-top:1px solid var(--line)}
.area-g h3{font:600 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 10px}
.area-g ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;font-size:16px;line-height:1.4}
.area-note{margin:0;font-size:15px;color:var(--soft)}

/* 2 · Team */
.team .head{margin-bottom:clamp(40px,5vw,64px)}
.team .head .eyebrow{margin-bottom:0}
.team-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(24px,3vw,40px);align-items:stretch}
.team-photo{min-height:440px}
.team-photo img,.team-office img{position:absolute;inset:0}
.team-photo img{object-position:50% 30%}
.team-side{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto 1fr;gap:clamp(20px,2.4vw,28px)}
.team-p{display:flex;flex-direction:column;gap:8px;padding:clamp(20px,2.2vw,26px);border-radius:22px 22px 22px 0;background:var(--bg);border:1px solid var(--line)}
.team-p h3{font-size:clamp(20px,1.8vw,24px)}
.team-role{margin:0;font-size:13px;font-weight:600;color:var(--gold);line-height:1.4}
.team-p p:not(.team-role){margin:0;font-size:15px;line-height:1.55;color:var(--soft)}
.team-office{min-height:180px}
.team-stats{list-style:none;margin:clamp(32px,4vw,48px) 0 0;padding:28px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr) auto;gap:20px 40px;align-items:start}
.team-stats li{display:flex;flex-direction:column;gap:4px}
.team-stats b{font:600 clamp(30px,3vw,40px)/1 var(--serif);letter-spacing:-.02em}
.team-stats span{font-size:14px;color:var(--soft);line-height:1.4;max-width:24ch}
.team-more{justify-self:end}

/* 3 · Auf einen Blick */
.glance-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:start}
.glance-copy{display:flex;flex-direction:column;gap:22px}
.glance-copy .eyebrow{margin-bottom:0}
.glance-def{margin:0;font-family:var(--serif);font-size:clamp(19px,1.7vw,23px);line-height:1.5}
.glance-photo{aspect-ratio:4/3;margin-top:10px}
.glance-card{position:relative;overflow:hidden;padding:clamp(28px,3.4vw,44px);border-radius:30px 30px 30px 0;background:#1E2430;color:#E8ECF2;display:flex;flex-direction:column;gap:28px}
.glance-card::before{content:"";position:absolute;right:-140px;top:-140px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(227,179,65,.22),transparent 65%);pointer-events:none}
.glance-facts{position:relative;margin:0;display:flex;flex-direction:column}
.glance-facts > div{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.glance-facts > div:first-child{padding-top:0}
.glance-facts dt{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2);padding-top:3px}
.glance-facts dd{margin:0;font-size:16px;line-height:1.5;color:#fff}
.glance-facts a{color:#fff}
@media (min-width:981px){.glance-card{position:sticky;top:110px}}
.glance-card .btn{position:relative;align-self:flex-start;background:var(--gold-2);color:#1E2430;padding:14px 24px}

@media (max-width:980px){
  .area-grid,.team-grid,.glance-grid{grid-template-columns:1fr}
  .area-photos{max-width:560px}
  .team-stats{grid-template-columns:1fr 1fr}
  .team-more{justify-self:start}
}
@media (max-width:640px){
  .area-list{grid-template-columns:1fr}
  .area-pin{left:10px;top:auto;bottom:24%}
  .team-photo{min-height:300px}
  .glance-facts > div{grid-template-columns:1fr;gap:4px}
  .team-stats{grid-template-columns:1fr}
}

/* Startseite „Kennen Sie das?“: dezentes Icon der Lösung im Kachel-Hintergrund, in Grau */
.problems article{overflow:hidden;isolation:isolate}
.problems article::before{content:"";position:absolute;z-index:-1;right:-9%;top:-12%;width:52%;aspect-ratio:1;background:color-mix(in srgb,var(--soft) 16%,transparent);-webkit-mask:var(--pic) center/contain no-repeat;mask:var(--pic) center/contain no-repeat;transform:rotate(-8deg);transition:transform .6s var(--ease),background-color .4s}
.problems article:hover::before{transform:rotate(0) scale(1.06);background-color:color-mix(in srgb,var(--soft) 26%,transparent)}
.problems.dark article::before{background:color-mix(in srgb,#F2F3F5 10%,transparent)}
.problems.dark article:hover::before{background-color:color-mix(in srgb,#F2F3F5 18%,transparent)}
@media (prefers-reduced-motion:reduce){.problems article::before{transition:none}}
.problems article:has(.psol[href*="#wissensdatenbank"]){--pic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h10a3 3 0 0 1 3 3v13H8a3 3 0 0 1-3-3z'%3E%3C/path%3E%3Cpath d='M5 17a3 3 0 0 1 3-3h10'%3E%3C/path%3E%3Ccircle cx='11' cy='9' r='2'%3E%3C/circle%3E%3Cpath d='m12.5 10.5 1.5 1.5'%3E%3C/path%3E%3C/g%3E%3C/svg%3E")}
.problems article:has(.psol[href*="#agentic-coding"]){--pic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 8-4 4 4 4M16 8l4 4-4 4M13.5 5l-3 14'%3E%3C/path%3E%3C/g%3E%3C/svg%3E")}
.problems article:has(.psol[href*="#strategie"]){--pic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'%3E%3C/circle%3E%3Cpath d='m15.5 8.5-2 5-5 2 2-5z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E")}
.problems article:has(.psol[href*="#voice-agent"]){--pic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h2M7 8v8M11 5v14M15 8v8M19 11v2M21 12h0'%3E%3C/path%3E%3C/g%3E%3C/svg%3E")}
.problems article:has(.psol[href*="#firmen-llm"]){--pic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect height='7' rx='2' width='16' x='4' y='4'%3E%3C/rect%3E%3Crect height='7' rx='2' width='16' x='4' y='13'%3E%3C/rect%3E%3Cpath d='M8 7.5h.01M8 16.5h.01M12 7.5h5M12 16.5h5'%3E%3C/path%3E%3C/g%3E%3C/svg%3E")}


/* Leistungs-Unterseiten (sp-*): KI-Telefonassistent, KI-Wissensdatenbank, KI-LLM, Agentic Coding, Dankeseite */
.sp-ic{flex:none;width:44px;height:44px;border-radius:14px 14px 14px 0;display:grid;place-items:center;background:color-mix(in srgb,var(--gold-2) 16%,transparent);color:var(--gold)}
.sp-ic svg{width:22px;height:22px}

/* Hero */
.sp-hero{padding-block:clamp(48px,7vw,96px) clamp(56px,7vw,96px)}
.sp-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(36px,5vw,80px);align-items:center}
.sp-hero-copy{display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.sp-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--soft)}
.sp-crumbs a{color:var(--soft);text-decoration:none}
.sp-crumbs a:hover{color:var(--gold)}
.sp-crumbs span:last-child{color:var(--ink);font-weight:600}
.sp-eyebrow{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--soft)}
.sp-hero h1{font-size:clamp(32px,3.3vw,48px);line-height:1.08;letter-spacing:-.025em}
.sp-hero .lead{max-width:58ch}
.sp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}
.sp-actions .btn.gold{padding:15px 26px}
.sp-chips{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.sp-chips li{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--bg-2);font-size:14px}
.sp-chips li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold-2)}
.sp-hero-fig{position:relative;margin:0;border-radius:30px 30px 30px 0;overflow:visible}
.sp-hero-fig img{width:100%;height:auto;border-radius:30px 30px 30px 0;box-shadow:0 40px 80px -40px rgba(20,24,32,.55)}
.sp-fig-ic{position:absolute;left:-22px;bottom:-22px;width:88px;height:88px;border-radius:26px 26px 26px 0;display:grid;place-items:center;background:var(--gold-2);color:#1E2430;box-shadow:0 20px 40px -18px rgba(20,24,32,.5)}
.sp-fig-ic svg{width:40px;height:40px;stroke-width:1.8}

/* Kurz erklärt */
.sp-def-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(36px,5vw,80px);align-items:center}
.sp-def-bg{position:absolute;right:-4%;top:-30%;width:min(420px,42%);aspect-ratio:1;color:color-mix(in srgb,var(--gold-2) 12%,transparent);pointer-events:none;transform:rotate(-8deg)}
.sp-def-bg svg{width:100%;height:100%;stroke-width:1.2}
.sp-def-copy{position:relative;display:flex;flex-direction:column;gap:22px}
.sp-def-copy .eyebrow{margin-bottom:0}
.sp-def-a{margin:0;font-family:var(--serif);font-size:clamp(19px,1.7vw,23px);line-height:1.55}
.sp-def-facts{position:relative;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.sp-def-facts li{display:flex;flex-direction:column;gap:4px;padding:20px 22px;border-radius:20px 20px 20px 0;background:var(--bg);border:1px solid var(--line)}
.sp-def-facts b{display:flex;align-items:center;gap:10px;font:600 17px var(--serif)}
.sp-def-facts b::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold-2)}
.sp-def-facts span{font-size:15px;color:var(--soft);line-height:1.5}

.sp-def h2,.sp-steps-sec h2,.sp-uses-sec h2,.sp-compare-sec h2,.sp-cta-sec h2,.sp-thanks h1{font-size:clamp(30px,3.4vw,48px)}

/* Ablauf */
.sp-steps-sec .head,.sp-uses-sec .head,.sp-compare-sec .head{margin-bottom:clamp(36px,5vw,64px)}
.sp-steps-sec .eyebrow,.sp-uses-sec .eyebrow,.sp-compare-sec .eyebrow{margin-bottom:0}
.sp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px);counter-reset:none}
.sp-steps li{position:relative;display:flex;flex-direction:column;gap:12px;padding-top:28px;border-top:2px solid var(--line)}
.sp-steps li::before{content:"";position:absolute;left:0;top:-2px;width:48px;height:2px;background:var(--gold-2)}
.sp-steps b{font:600 15px var(--serif);color:var(--gold);letter-spacing:.06em}
.sp-steps h3{font-size:clamp(20px,1.7vw,24px)}
.sp-steps p{margin:0;font-size:16px;color:var(--soft)}

/* Einsatzbeispiele */
.sp-uses{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,24px)}
.sp-uses article{display:flex;flex-direction:column;gap:10px;padding:clamp(22px,2.4vw,30px);border-radius:22px 22px 22px 0;background:var(--bg);border:1px solid var(--line);transition:transform .35s var(--ease),border-color .35s,box-shadow .35s}
.sp-uses article:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--gold) 45%,var(--line));box-shadow:0 18px 40px rgba(20,24,32,.08)}
.sp-use-no{font:600 14px var(--serif);color:var(--gold);letter-spacing:.06em}
.sp-uses h3{font-size:clamp(19px,1.6vw,22px)}
.sp-uses p{margin:0;font-size:15.5px;color:var(--soft)}

/* Vorher, nachher */
.sp-compare{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,24px)}
.sp-col{padding:clamp(26px,3vw,40px);border-radius:26px 26px 26px 0}
.sp-col h3{font-size:clamp(20px,1.8vw,24px);margin-bottom:18px}
.sp-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.sp-col li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.45}
.sp-col li::before{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;margin-top:1px}
.sp-without{background:var(--bg-2);border:1px solid var(--line);color:var(--soft)}
.sp-without h3{color:var(--soft)}
.sp-without li::before{content:"✕";background:var(--line);color:var(--soft)}
.sp-with{background:#1E2430;color:#E8ECF2}
.sp-with h3{color:#fff}
.sp-with li::before{content:"✓";background:var(--gold-2);color:#1E2430}
.sp-trust{display:flex;gap:20px;align-items:flex-start;margin-top:clamp(20px,2.4vw,28px);padding:clamp(22px,2.6vw,32px);border-radius:24px 24px 24px 0;border:1px solid var(--line);background:var(--bg-2)}
.sp-trust h3{font-size:clamp(19px,1.6vw,22px)}
.sp-trust p{margin:8px 0 6px;color:var(--soft);font-size:16px;max-width:75ch}

/* Abschluss: zwei Wege */
.sp-cta-sec{padding-top:clamp(48px,6vw,96px)}
.sp-cta-head{display:flex;flex-direction:column;gap:18px;align-items:center;text-align:center;margin-bottom:clamp(32px,4vw,56px)}
.sp-cta-head .eyebrow{margin-bottom:0}
.sp-cta-head .lead{margin-inline:auto}
.sp-choice{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(16px,2vw,24px);align-items:stretch}
.sp-opt{position:relative;display:flex;flex-direction:column;gap:14px;padding:clamp(26px,3vw,40px);border-radius:28px 28px 28px 0}
.sp-opt h3{font-size:clamp(22px,2vw,28px)}
.sp-opt p{margin:0;font-size:16px;line-height:1.55}
.sp-opt-top{display:flex;align-items:center;justify-content:space-between}
.sp-badge{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.sp-opt-form{background:var(--bg-2);border:1px solid var(--line);box-shadow:0 30px 60px -40px rgba(20,24,32,.25)}
.sp-opt-form .sp-badge{border:1px solid var(--line);color:var(--soft)}
.sp-opt-form > p{color:var(--soft)}
.sp-opt-check{background:#1E2430;color:#E8ECF2;overflow:hidden}
.sp-opt-check::before{content:"";position:absolute;right:-120px;top:-140px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(227,179,65,.22),transparent 65%);pointer-events:none}
.sp-opt-check h3{color:#fff}
.sp-opt-check p{color:#C9CED6}
.sp-opt-check .sp-badge{background:var(--gold-2);color:#1E2430}
.sp-opt-check{box-shadow:0 30px 60px -36px rgba(20,24,32,.55)}
.sp-opt-check .sp-ic{background:rgba(227,179,65,.16);color:var(--gold-2)}
.sp-checks{list-style:none;margin:4px 0 8px;padding:0;display:flex;flex-direction:column;gap:10px}
.sp-checks li{display:flex;gap:10px;font-size:15px;color:#E8ECF2}
.sp-checks li::before{content:"✓";flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--gold-2);color:#1E2430;font-size:12px;font-weight:700}
.sp-opt-check .btn{align-self:flex-start;margin-top:auto}
.sp-micro{font-size:13px;color:var(--soft)}
.sp-opt-check .sp-micro{color:#A7AFBA}
.sp-opt-alt{font-size:14px;color:var(--soft)!important}
.sp-opt-alt a{color:var(--ink);font-weight:600}

/* Formular Produktanfrage */
.sp-form form{margin:6px 0 0}
.sp-form .formbody{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sp-form .widget{margin:0;min-width:0}
.sp-form .widget-textarea,.sp-form .widget-checkbox,.sp-form .widget-altcha,.sp-form .widget-submit,.sp-form .widget-explanation{grid-column:1 / -1}
.sp-form .widget > label{display:block;font-size:14px;font-weight:600;margin:0 0 6px}
.sp-form .widget span.mandatory{color:var(--gold-text)}
.sp-form input[type=text],.sp-form input[type=email],.sp-form input[type=tel],.sp-form textarea{width:100%;font:400 16px var(--sans);color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:14px;padding:13px 14px;transition:border-color .2s,box-shadow .2s}
.sp-form textarea{min-height:110px;resize:vertical}
.sp-form input:focus,.sp-form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold-2) 22%,transparent)}
.sp-form fieldset{border:0;margin:0;padding:0;min-width:0}
.sp-form fieldset legend{display:none}
.sp-form .checkbox_container label,.sp-form .widget-checkbox label{font-size:13.5px;font-weight:400;color:var(--soft);line-height:1.5}
.sp-form .widget-checkbox span{display:flex;gap:10px;align-items:flex-start}
.sp-form .widget-checkbox input{margin-top:3px;accent-color:var(--gold)}
.sp-form .widget-altcha{font-size:13px;color:var(--soft)}
.sp-form .widget-submit button,.sp-form button.submit{display:inline-flex;align-items:center;gap:10px;border:0;cursor:pointer;font:600 15px var(--sans);padding:15px 26px;border-radius:999px 999px 999px 0;background:var(--gold-2);color:#1E2430;transition:transform .2s var(--ease)}
.sp-form .widget-submit button:hover,.sp-form button.submit:hover{transform:translateY(-1px)}
.sp-form p.error{color:#C2424E;font-size:13px;margin:0 0 6px}

/* Dankeseite */
.sp-thanks-in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px;max-width:760px}
.sp-thanks-in .eyebrow{margin-bottom:0}
.sp-thanks-ic{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:var(--gold-2)}
.sp-thanks-ic::before{content:"✓";font-size:38px;font-weight:700;color:#1E2430}
.sp-thanks-in .sp-actions{justify-content:center}

/* Menü: längere Seitenbeschreibungen der Unterseiten auf zwei Zeilen kürzen */
.mega a > span:last-child{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

@media (max-width:980px){
  .sp-hero-grid,.sp-def-grid,.sp-choice{grid-template-columns:1fr}
  .sp-steps{grid-template-columns:1fr 1fr}
  .sp-uses{grid-template-columns:1fr 1fr}
  .sp-fig-ic{left:16px;bottom:-26px;width:72px;height:72px}
}
@media (max-width:640px){
  .sp-steps,.sp-uses,.sp-compare,.sp-form .formbody{grid-template-columns:1fr}
  .sp-def-bg{display:none}
  .sp-trust{flex-direction:column}
}

/* Footer: Logo bündig mit dem Text (Browser-Standardrand der figure entfernen), Instagram-Kreis unten bündig mit der letzten Leistung */
.foot-logo-img figure{margin:0}
.foot-brand{display:flex;flex-direction:column;align-self:stretch}
.foot-brand .foot-social{margin-top:auto;padding-top:18px}

/* Startseite: Logo-Slider über die volle Breite (Artikel bekommt sonst margin:0 und klebt links) */
.kunden-wrap{max-width:none;padding-inline:0}
.kunden-wrap .logo-marquee{width:100%}

/* Startseite: Preiskachel „Kostenfrei“ im Stil der KI-Ready-Check-Box der Leistungsseiten (dunkel, goldener Schimmer) */
.check .offer{position:relative;overflow:hidden;background:#1E2430;border:0;color:#E8ECF2;box-shadow:0 30px 60px -36px rgba(20,24,32,.55)}
.check .offer::before{content:"";position:absolute;right:-120px;top:-140px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(227,179,65,.24),transparent 65%);pointer-events:none}
.check .offer > *{position:relative}
.check .offer .old{color:#A7AFBA}
.check .offer .new{color:#fff}
.check .offer .seatbox{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.check .offer .seats i{border-color:var(--gold-2)}
.check .offer .seats i.taken{background:var(--gold-2)}
.check .offer .seatbox .row{color:#C9CED6}
.check .offer .seatbox .row b{color:#fff!important}
.check .offer .note{color:#C9CED6}
.check .offer .btn.gold{align-self:flex-start;padding:14px 24px}

/* Sprach-Regler: auf dem Desktop fest am rechten Browserrand (statt im Kopf), mobil weiter im Menü */
.lang-dock{display:none}
@media (min-width:981px){
  .tools .seg{display:none}
  .lang-dock{position:fixed;right:0;top:50%;z-index:60;display:flex;flex-direction:column;gap:4px;padding:6px 5px 6px 6px;transform:translateY(-50%);background:color-mix(in srgb,var(--bg-2) 84%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border:1px solid var(--line);border-right:0;border-radius:16px 0 0 16px;box-shadow:0 18px 40px -22px rgba(20,24,32,.45);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
  .lang-dock:hover,.lang-dock:focus-within{transform:translate(-3px,-50%);box-shadow:0 22px 48px -22px rgba(20,24,32,.55)}
  .lang-dock button{position:relative;border:0;cursor:pointer;background:none;color:var(--soft);font:600 12px/1 var(--sans);letter-spacing:.08em;padding:16px 9px;border-radius:11px;writing-mode:vertical-rl;transform:rotate(180deg);transition:background .25s,color .25s}
  .lang-dock button:hover{color:var(--ink)}
  .lang-dock button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
  .lang-dock button[aria-pressed="true"]::after{content:"";position:absolute;left:50%;top:7px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--gold-2)}
  .lang-dock button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
}
@media print{.lang-dock{display:none}}
@media (prefers-reduced-motion:reduce){.lang-dock,.lang-dock button{transition:none}}

/* Home, Kachel „Partnerschaft …“: sauberer Umbruch, KI-Beratungsagentur bleibt zusammen (03.11.2026) */
.tile .say.say-partner{font-size:clamp(17px,1.32vw,19.5px);hyphens:manual;-webkit-hyphens:manual}

/* Kundenstimmen: Pfeile, Reiter und Fortschritt nur bei mehr als einer sichtbaren Stimme (03.11.2026) */
.st-stage:not(:has(.st-item ~ .st-item)) ~ :is(.st-nav,.st-progress){display:none}

/* Footer: verlinkte Spaltenüberschrift (Leistungen) wie die übrigen Überschriften (03.11.2026) */
.foot-col h3 a{color:inherit;opacity:1}
.foot-col h3 a:hover{color:var(--gold)}

/* Abschluss-CTA: Telefon dezent unter dem Button statt daneben (03.11.2026) */
.tm-cta .acts{flex-direction:column;align-items:flex-start;gap:14px}
.endphone-alt{color:#9AA1AC;font-size:14px;line-height:1.5}
.endphone-alt a{color:#C9CED6;text-decoration:none;border-bottom:1px solid #4A5260}
.endphone-alt a:hover{color:#fff;border-color:var(--gold-2)}
@media (max-width:640px){.tm-cta .acts{align-items:stretch}.endphone-alt{text-align:center}}

/* Newsletter im Footer: Contao-Formular "Newsletter Footer" im Pillen-Look (03.11.2026) */
.fs-nl form .formbody,.fs-nl form .widget{display:contents}
.fs-nl form .widget-text label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fs-nl form .widget-text input.fs-nl-mail{padding:0 18px}
.fs-nl form p.error{order:9;flex-basis:100%;margin:2px 18px 6px;font-size:13px;color:#F2A7A7}
.fs-nl form:has(p.error){flex-wrap:wrap;border-radius:24px 24px 24px 0}
.fs-nl-ok{margin:0;padding:14px 18px;border-radius:16px 16px 16px 0;background:rgba(227,179,65,.12);border:1px solid rgba(227,179,65,.35);color:#fff;font-size:15px;line-height:1.5}

/* Rechtstexte (Impressum, Datenschutz) aus eRecht24 (03.11.2026) */
.legal{padding:clamp(120px,14vw,170px) 0 clamp(64px,8vw,110px)}
.legal .wrap{max-width:820px}
.legal h1{font-family:var(--serif);font-weight:400;font-size:clamp(36px,5vw,56px);line-height:1.1;margin:0 0 32px}
.legal h2{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.6vw,32px);line-height:1.2;margin:48px 0 14px}
.legal h3{font-size:18px;font-weight:600;margin:30px 0 8px}
.legal h4{font-size:16px;font-weight:600;margin:22px 0 6px}
.legal p,.legal li{font-size:16px;line-height:1.7;color:var(--soft);overflow-wrap:anywhere}
.legal p{margin:0 0 14px}
.legal ul{padding-left:20px;margin:0 0 14px}
.legal a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
/* Voice-Agentin im Browser (Gesprächsfenster aus site.js) */
dialog.vc{width:min(440px,calc(100vw - 32px));border:0;border-radius:24px 24px 24px 0;padding:40px 32px 28px;background:var(--bg-2);color:var(--ink);box-shadow:0 30px 80px rgba(18,22,29,.28);text-align:center}
dialog.vc::backdrop{background:rgba(18,22,29,.55);backdrop-filter:blur(3px)}
.vc-x{position:absolute;top:14px;right:16px;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--soft);font-size:26px;line-height:1;cursor:pointer}
.vc-x:hover{background:rgba(30,36,48,.06);color:var(--ink)}
.vc-orb{display:flex;justify-content:center;align-items:center;gap:5px;height:56px;margin:0 auto 18px}
.vc-orb i{display:block;width:6px;height:14px;border-radius:3px;background:var(--gold-2);opacity:.45;transition:height .3s var(--ease),opacity .3s}
dialog.vc[data-state="live"] .vc-orb i{opacity:1;animation:vcWave 1.4s ease-in-out infinite}
dialog.vc.vc-talk .vc-orb i{animation-duration:.6s}
.vc-orb i:nth-child(2){animation-delay:.15s}.vc-orb i:nth-child(3){animation-delay:.3s}.vc-orb i:nth-child(4){animation-delay:.45s}.vc-orb i:nth-child(5){animation-delay:.6s}
@keyframes vcWave{0%,100%{height:12px}50%{height:44px}}
.vc-lang{display:inline-block;font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-text);border:1.5px solid var(--gold-2);border-radius:999px;padding:7px 14px}
.vc-h{font:600 clamp(24px,4vw,30px)/1.2 var(--serif);margin:16px 0 10px}
.vc-h .gp{color:var(--gold-2)}
.vc-txt{color:var(--soft);font-size:16px;line-height:1.6;margin:0 0 6px}
.vc-status{min-height:1.6em;font-weight:600;font-size:15px;margin:10px 0 0}
dialog.vc[data-state="fehler"] .vc-status{color:#B3261E}
.vc-acts{display:flex;justify-content:center;gap:10px;margin:18px 0 0}
.vc-note{color:var(--soft);font-size:12.5px;line-height:1.5;margin:20px 0 0}
.vc-note a{color:inherit;text-decoration:underline}
.vc-ki{text-align:left;background:rgba(201,162,39,.08);border:1.5px solid var(--gold-2);border-radius:14px 14px 14px 0;padding:14px 16px;margin:16px 0 0}
.vc-ki-t{font-size:14px;line-height:1.55;margin:0 0 10px;color:var(--ink)}
.vc-ki-t a{color:inherit;text-decoration:underline}
.vc-ok{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14.5px;cursor:pointer;min-height:44px}
.vc-ok input{width:20px;height:20px;flex:none;accent-color:var(--gold-2);margin:0}
.vc-go:disabled{opacity:.45;cursor:not-allowed}
@media (prefers-reduced-motion:reduce){dialog.vc .vc-orb i{animation:none!important}}
/* Orts-Landingpages (content_element/ortsseite) */
.os-fig{display:flex;flex-direction:column;align-items:center;justify-content:center}
.os-map{width:100%;max-width:340px;height:auto;display:block}
.os-kreis{fill:#fff;stroke:#D9DCE1;stroke-width:.25}
.os-umriss{fill:none;stroke:#9AA1AC;stroke-width:.5;stroke-linejoin:round}
.os-pt{fill:#D2D6DC}
.os-pt.on{fill:var(--gold-2)}
.os-ring{fill:none;stroke:var(--gold-2);stroke-width:.5;opacity:.55}
.os-mark{fill:#1E2430;stroke:var(--gold-2);stroke-width:.5}
.os-fig figcaption{margin-top:10px;color:var(--soft);font-size:12px;text-align:center}
.os-links{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.os-links a{display:inline-block;padding:9px 16px;border:1.5px solid var(--line);border-radius:999px;color:var(--ink);text-decoration:none;font-size:15px}
.ft-claim a{display:inline;min-height:0;color:inherit;text-decoration:underline;text-decoration-color:var(--gold-2);text-underline-offset:3px}
.os-links a:hover{border-color:var(--gold-2)}
.os-hero ~ .sp-def .sp-def-a a,.os-hero ~ .sp-def .sp-def-facts a{color:inherit;text-decoration:underline;text-decoration-color:var(--gold-2);text-underline-offset:3px}
.os-hero ~ .sp-def .sp-def-a a:hover,.os-hero ~ .sp-def .sp-def-facts a:hover{color:var(--gold-text)}
.os-liste .os-gruppe{font:600 22px/1.3 var(--serif);margin:40px 0 0}
.os-cta{text-align:center;max-width:720px}
.os-cta .btn{margin-top:18px}
.sp-uses article .lv-more{display:inline-block;margin-top:10px;color:var(--gold-text);font-weight:600;text-decoration:none}
@media (min-width:768px){.os-angebot .sp-uses{grid-template-columns:repeat(2,1fr)}}

/* Kontrast: kleine goldene Texte in der dunkleren Goldstufe */
.sp-uses .sp-use-no,#case .badge{color:var(--gold-text)}

/* Footer: Instagram rund, Linklisten mobil ohne Zusatzabstand, Kontakt-Icons mittig */
.site-footer .foot-social a{width:44px;height:44px;justify-content:center;padding:0}
@media (max-width:767px){
  .site-footer .foot-col ul:not(.foot-contact){gap:0}
  .site-footer .foot-contact li{align-items:center}
}

/* Sprungziele nicht unter dem fixen Header */
section[id],[id="anfrage"]{scroll-margin-top:90px}

/* Formulare: kf-half gilt für das Widget, nicht zusätzlich für Feld und Label */
.ck-form .kf-text input.kf-half,.ck-form .kf-text label.kf-half{width:100%;margin:0;display:block}
.ck-form .kf-text label.kf-half{margin-bottom:8px}

/* Orte-Raster: Logo-Kachel */
.tp-ggrid .g-logo{background:var(--ink);border:0;align-items:center;justify-content:center}
.tp-ggrid .g-logo img{display:block;width:min(68%,260px);height:auto}

/* Mobil, „Fest verwurzelt in der Region“ (Home, KI-Agentur Schwaben): Logos ohne Standard-Rand der figure, größer (05.11.2026) */
@media (max-width:760px){
  .logos .content-image,.logos figure{width:100%;height:100%}
  .logos figure{margin:0;display:flex;align-items:center;justify-content:center}
  .logos li{padding:14px 16px}
  .logos li img{max-height:72px}
  .logos li:nth-child(1) img,.logos li:nth-child(2) img{max-height:88px}
}
/* Footer: Instagram-Icon exakt mittig im Kreis (05.11.2026) */
.site-footer .foot-social a{display:grid;place-items:center;box-sizing:border-box}
.site-footer .foot-social svg{display:block;margin:0;flex:none}

/* Kundenstimmen: lange Zitate mit Absätzen etwas kleiner und breiter (12.11.2026) */
.st-quote.st-long{font-size:clamp(17px,1.45vw,21px);line-height:1.5;max-width:66ch}
.st-quote p{margin:0}
.st-quote p+p{margin-top:.75em}

/* Kundenstimmen: Foto im Avatar (schwarz-weiß wie die übrigen Fotos) und weißes Firmenlogo über der Ergebniszeile (12.11.2026) */
.st-avatar:has(img){width:76px;height:76px;background:#262D39}
.st-avatar img{filter:grayscale(1) contrast(1.06);transition:filter .35s}
.st-body:hover .st-avatar img{filter:none}
.st-result .st-logo{display:block;height:34px;width:auto;max-width:190px;object-fit:contain;object-position:right center;margin-bottom:14px;opacity:.92}
@media (max-width:760px){.st-result .st-logo{object-position:left center;height:30px}}
