/* Navigation mit Leistungen-Menü */
.nav ul .has-sub{position:relative}
.nav ul .has-sub>a{display:inline-flex;align-items:center;gap:6px}
.nav ul .has-sub>a .chev{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.nav ul .has-sub:hover>a .chev,.nav ul .has-sub:focus-within>a .chev{transform:rotate(180deg)}
.nav ul.sub{display:block;position:absolute;top:calc(100% + 18px);left:-18px;min-width:250px;padding:8px;background:var(--white);border:1px solid var(--off);border-radius:16px;box-shadow:0 18px 40px rgba(78,78,78,.12);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease,visibility .2s}
.nav ul.sub::before{content:"";position:absolute;left:0;right:0;top:-20px;height:20px}
.nav ul .has-sub:hover>ul.sub,.nav ul .has-sub:focus-within>ul.sub{opacity:1;visibility:visible;transform:none}
.nav ul.sub li{display:block}
.nav ul.sub a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-radius:10px;font-size:14px;white-space:nowrap}
.nav ul.sub a::after{content:"";width:6px;height:6px;border-radius:50%;background:transparent;transition:background .2s}
.nav ul.sub a:hover{background:var(--off)}
.nav ul.sub a:hover::after{background:var(--orange)}
.nav ul.sub a.cur{box-shadow:none;padding-bottom:11px;font-weight:600}
.nav ul.sub a.cur::after{background:var(--orange)}
.nav ul.sub li.sub-all{border-top:1px solid var(--off);margin-top:6px;padding-top:6px}
.mnav ul .chev{display:none}
.mnav ul.sub{padding:0 0 6px 16px}
.mnav ul.sub a{font-size:15px;padding:10px 0;font-weight:500}
.mnav ul.sub li.sub-all{display:none}

/* Fakten: Zweitzeile immer einzeilig */
.fact span{white-space:nowrap}
@media (min-width:1041px){.fact{padding:30px 22px;gap:14px}.fact .ico{width:46px;height:46px}}

/* Footer-Tags gleich breit */
.ft-tags{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;width:max-content;max-width:100%}
.ft-tags span{justify-content:center;white-space:nowrap}
@media (max-width:520px){.ft-tags{grid-auto-flow:row}}

/* KI-Check Startbildschirm */
.app-intro{display:flex;flex-direction:column;align-items:flex-start}
.app-intro .ai-kick{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--anth)}
.app-intro .ai-kick::before{content:"";width:22px;height:1px;background:var(--orange)}
.app-intro h3{margin-top:18px!important;font-size:clamp(30px,3.2vw,40px)!important;line-height:1.05;text-wrap:balance}
.app-intro .sub{margin-top:14px!important;max-width:440px}
.ai-dims{display:flex;flex-wrap:wrap;gap:6px;margin:26px 0 30px;padding:0;list-style:none}
.ai-dims li{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px;border:1px solid var(--grey);border-radius:999px;font-size:12.5px;font-weight:600;color:var(--anth)}
.ai-dims li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--orange)}
.app-intro .btn{height:48px!important;font-size:14.5px!important}
.app-intro .ai-note{margin-top:14px;font-size:13px;color:var(--anth);opacity:.8}

/* Scroll-Animationen */
.rv-on .rv{opacity:0;transform:translate3d(0,28px,0)}
.rv-on .rv.in{opacity:1;transform:none;transition:opacity .9s cubic-bezier(.2,.65,.25,1),transform .9s cubic-bezier(.2,.65,.25,1)}
.rv-on .hero .hero-photo img{animation:heroIn 1.4s cubic-bezier(.2,.65,.25,1) both}
@keyframes heroIn{from{transform:scale(1.06);opacity:.4}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.rv-on .rv{opacity:1;transform:none;transition:none}.rv-on .hero .hero-photo img{animation:none}}

/* Bilder: leichte Parallaxe im Rahmen */
.par{overflow:hidden;transform:translateZ(0)}
.v-photo.par,.pt-photo.par{border-radius:28px}
.par img{transform:scale(1.12) translate3d(0,var(--py,0px),0);will-change:transform}
.app:has(.app-intro){display:flex;flex-direction:column;justify-content:center}
.mnav ul.sub a.cur{font-weight:700}

/* Mehr Bewegung: Überschriften, Zeitstrahl, Bilder, Details */
.rv-on .split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.rv-on .split .w>span{display:inline-block;transform:translate3d(0,108%,0);transition:transform .9s cubic-bezier(.2,.7,.15,1);transition-delay:calc(var(--k,0)*45ms)}
.rv-on .split.go .w>span{transform:none}
.rv-on .hero .mark{animation:markIn .9s cubic-bezier(.65,0,.35,1) .9s both}
@keyframes markIn{from{background-size:0 .05em}to{background-size:100% .05em}}
.rv-on .rv.in .eyebrow::before,.rv-on .rv.in.eyebrow::before{transition:width .7s cubic-bezier(.65,0,.35,1) .3s}
.rv-on .rv:not(.in) .eyebrow::before,.rv-on .rv.eyebrow:not(.in)::before{width:0}
.rv-on .rv.in img.uv{transition:clip-path 1.2s cubic-bezier(.7,0,.2,1) .1s,transform .6s ease}
.rv-on .rv:not(.in) img.uv{clip-path:inset(0 0 100% 0)}
.rv-on .road.anim::before{transform:scaleX(0);transform-origin:left center}
.rv-on .road.anim.go::before{transform:none;transition:transform 2s cubic-bezier(.65,0,.35,1) .1s}
.rv-on .road.anim .rdot{opacity:0;transform:scale(.4)}
.rv-on .road.anim.go .rdot{opacity:1;transform:none;transition:opacity .4s ease,transform .8s cubic-bezier(.34,1.56,.64,1),border-color .2s;transition-delay:calc(var(--i)*.45s + .15s)}
.rv-on .road.anim .rdot svg *{stroke-dasharray:1;stroke-dashoffset:1}
.rv-on .road.anim.go .rdot svg *{stroke-dashoffset:0;transition:stroke-dashoffset 1.1s ease;transition-delay:calc(var(--i)*.45s + .45s)}
.rv-on .road.anim .rdot::after{content:"";position:absolute;inset:-1px;border-radius:50%;border:1px solid var(--orange);opacity:0}
.rv-on .road.anim.go .rdot::after{animation:ring 1.4s ease-out forwards;animation-delay:calc(var(--i)*.45s + .5s)}
@keyframes ring{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(1.6)}}
.rv-on .road.anim .rstep>*:not(.rdot){opacity:0;transform:translate3d(0,16px,0)}
.rv-on .road.anim.go .rstep>*:not(.rdot){opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i)*.45s + .35s)}
@media (max-width:820px){.rv-on .road.anim::before{transform:scaleY(0);transform-origin:center top}}
.btn svg{transition:transform .2s ease}
.btn:hover svg:last-child:not(:first-child){transform:translateX(3px)}
.bthumb{overflow:hidden}.bthumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}.bcard:hover .bthumb img{transform:scale(1.05)}
.fcard img,.ls-img img{transition:transform .8s ease}
.fcard:hover>img{transform:scale(1.03)}
.fcard{overflow:hidden}
.ico{transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.pcard:hover .ico,.fcard:hover .ico,.ditem:hover .ico,.wcard:hover .ico,.ls-mcard:hover .ico{transform:rotate(-8deg) scale(1.08)}
@media (prefers-reduced-motion:reduce){.rv-on .split .w>span{transform:none;transition:none}}
.bthumb{position:relative}
.kig{position:absolute;right:10px;bottom:10px;z-index:2;font-size:10.5px;font-weight:600;letter-spacing:.03em;line-height:1;color:#fff;background:rgba(40,40,40,.62);padding:5px 8px;border-radius:6px;pointer-events:none}

/* Lesbarkeit: Fließtext in normaler Stärke, große Einleitungen bleiben leicht */
body{font-weight:400}
@media (min-width:1041px){.lead{font-weight:300}}
@media (max-width:640px){.lead{font-size:17px;line-height:1.6}}
.app .consent{font-size:14px!important;line-height:1.5}

/* Bildband: Bild bleibt stehen, die Seite läuft darüber */
.pband{position:relative;padding:0;height:clamp(380px,64vh,640px);clip-path:inset(0);display:flex;align-items:flex-end;color:var(--white)}
.pband-tall{height:clamp(480px,88vh,860px)}
.pband-bg{position:fixed;inset:0;z-index:-1;pointer-events:none}
.pband-bg img{width:100%;height:100%;object-fit:cover;display:block}
.pband::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,40,40,0) 45%,rgba(40,40,40,.72));pointer-events:none;z-index:1}
.pband-in{position:relative;z-index:2;padding-bottom:64px;width:100%}
.pband-r .pband-in{text-align:right}.pband-r .pband-in .eyebrow{flex-direction:row-reverse}
.pband .eyebrow{color:var(--white)}
.pband-t{font-family:var(--head);font-size:clamp(40px,5.6vw,84px);line-height:1.02;color:var(--white);margin:16px 0 0;text-wrap:balance}
.pband-r .pband-t{margin-left:auto;max-width:760px}
.pband:not(.pband-r) .pband-t{max-width:760px}
@media (max-width:820px){
 .pband,.pband-tall{height:auto;clip-path:none;display:block}
 .pband-bg{position:relative;inset:auto;z-index:0}
 .pband-bg img{height:auto;aspect-ratio:4/5;object-position:var(--mpos,50% 50%)}
 .pband-in{position:absolute;left:0;right:0;bottom:0;padding-bottom:28px}
 .pband-r .pband-in{text-align:left}.pband-r .pband-in .eyebrow{flex-direction:row}
 .pband-t{font-size:clamp(34px,9vw,48px)}
}

/* KI-Check: Empfehlung als Angebotskarte */
.app .rec{display:block!important;border:1px solid var(--orange);background:var(--white)!important;padding:22px 24px!important}
.rec-k{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--anth)}
.rec-k::before{content:"";width:22px;height:1.5px;background:var(--orange)}
.app .rec-t{font-family:var(--head);font-weight:400;font-size:26px;line-height:1.1;color:var(--anth);margin:10px 0 6px}
.app .rec p{font-size:15px!important}
.rec-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.rec-btns .btn{width:100%;height:46px}
@media (max-width:560px){.rec-btns{grid-template-columns:1fr}}

/* Listen laufen Punkt für Punkt ein */
.rv-on .rv:not(.in) .checks li{opacity:0;transform:translate3d(-10px,0,0)}
.rv-on .rv.in .checks li{transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.rv-on .rv.in .checks li:nth-child(1){transition-delay:.25s}.rv-on .rv.in .checks li:nth-child(2){transition-delay:.35s}.rv-on .rv.in .checks li:nth-child(3){transition-delay:.45s}.rv-on .rv.in .checks li:nth-child(4){transition-delay:.55s}.rv-on .rv.in .checks li:nth-child(5){transition-delay:.65s}.rv-on .rv.in .checks li:nth-child(n+6){transition-delay:.75s}
.pband-r::before{background:linear-gradient(270deg,rgba(40,40,40,.62),rgba(40,40,40,0) 62%),linear-gradient(180deg,rgba(40,40,40,0) 50%,rgba(40,40,40,.6))}
.pband:not(.pband-r).pband-tall::before{background:linear-gradient(90deg,rgba(40,40,40,.45),rgba(40,40,40,0) 55%),linear-gradient(180deg,rgba(40,40,40,0) 45%,rgba(40,40,40,.72))}
@media (max-width:820px){.pband-r::before,.pband:not(.pband-r).pband-tall::before{background:linear-gradient(180deg,rgba(40,40,40,0) 40%,rgba(40,40,40,.75))}}
.app-intro .ai-note{display:flex;gap:10px;align-items:flex-start;max-width:460px;font-size:13.5px!important;line-height:1.5;opacity:1!important;margin-top:18px!important;padding-top:16px;border-top:1px solid var(--off)}
.app-intro .ai-note svg{width:18px;height:18px;flex:none;margin-top:1px;color:var(--orange)}
.app-intro .ai-note a{color:var(--anth);text-decoration-color:var(--orange);text-underline-offset:3px}

/* EU-AI-Act-Block */
.aia-box{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;padding:56px;border:1px solid var(--grey);border-radius:28px;background:var(--white);position:relative;overflow:hidden}
.aia-box::before{content:"";position:absolute;left:0;top:56px;bottom:56px;width:2px;background:var(--orange);border-radius:2px}
.aia-pill{display:inline-flex;align-items:center;gap:10px;height:30px;padding:0 14px;border:1px solid var(--orange);border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--anth);margin-bottom:22px}
.aia-pill i{width:8px;height:8px;border-radius:50%;background:var(--orange);position:relative}
.aia-pill i::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--orange);animation:aiaPulse 2.2s ease-out infinite}
@keyframes aiaPulse{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.8);opacity:0}}
.aia-left .eyebrow{display:flex}
.aia-left .h2{margin-top:16px}
.aia-left .lead{margin-top:20px}
.aia-btns{margin-top:32px}
.aia-btns .btn{width:228px;padding-inline:14px}
.aia-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--grey)}
.aia-list li{display:grid;grid-template-columns:48px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid var(--grey)}
.aia-n{font-family:var(--head);font-size:20px;color:var(--orange);line-height:1.2}
.aia-list h3{font-size:24px;line-height:1.15}
.aia-list p{font-size:15px;margin-top:6px}
.bg-off+.aia,.facts-wrap+.aia{padding-top:96px}
@media (prefers-reduced-motion:reduce){.aia-pill i::after{animation:none}}
@media (max-width:1040px){.aia-box{grid-template-columns:minmax(0,1fr);gap:40px;padding:44px 40px}}
@media (max-width:560px){.aia-box{padding:32px 22px;border-radius:22px}.aia-box::before{top:32px;bottom:auto;height:60px}.aia-btns .btn{width:100%}.aia-list h3{font-size:21px}}
.gbp-row{display:flex;justify-content:center;margin-top:40px}.gbp-row .btn{width:300px}.gbp-row .btn svg{width:17px;height:17px}

/* Kopfzeile: Logo größer (Wunsch David 25.09.) */
.nav{height:100px}
.nav img{height:64px;width:auto}
.ls-row{scroll-margin-top:110px}
/* SEO-H1: Eyebrow in der H1, gleiche Optik wie vorher */
h1.h1kw{margin-top:0!important}
h1.h1kw>.eyebrow{display:flex;width:fit-content;max-width:100%;font-family:var(--body);line-height:21px}
h1.h1kw>.h1t{display:block;margin-top:var(--kwgap,24px)}
.fq-head h1.h1kw>.h1t,.check-intro h1.h1kw>.h1t{--kwgap:18px}
@media (max-width:900px){.nav{height:80px}.nav img{height:50px}}
