/* =====================================================================
   Steertwind v4 — Minimal Dark (Stitch „Homepage v4“, Design-System v3)
   Lädt NACH styles.css und legt das neue Theme über alle Seiten.
   Regeln: sehr dunkel, keine Raster, Haarlinien, Neon-Lime nur als Akzent
   (Linie, Punkt, Fokus), filigrane Typo (Manrope 200–400, Inter).
   ===================================================================== */
@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;src:url('assets/fonts/manrope.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:300 600;font-display:swap;src:url('assets/fonts/inter.woff2') format('woff2');}

:root{
  --v-bg:#050608; --v-bg-2:#08090C; --v-panel:#0C0D11; --v-panel-2:#111318;
  --v-hair:#16181D; --v-hair-2:#23262D;
  --v-text:#F2F3F5; --v-muted:#8A8F98; --v-faint:#5A5F69;
  --v-neon:#C6FF3D; --v-neon-soft:rgba(198,255,61,.14);
  --dauer:10s;   /* Takt der Ablauf-Linie (Flare, Punkte, Nummern): eine Quelle für alle */
  /* alte Tokens auf dunkel umbiegen, damit Unterseiten mitziehen */
  --paper:var(--v-bg); --card:var(--v-panel); --ink:var(--v-text); --muted:var(--v-muted); --faint:var(--v-faint);
  --line:var(--v-hair); --line-strong:var(--v-hair-2); --shadow:none;
  --navy:var(--v-bg); --navy-1:var(--v-bg); --navy-2:var(--v-panel);
  --ocean:var(--v-muted); --ocean-deep:var(--v-text); --steel:var(--v-muted); --sand:var(--v-neon);
  --btn:transparent; --btn-hover:rgba(198,255,61,.06);
}
html{background:var(--v-bg);}
html, body{overflow-x:clip;}   /* Sicherheitsnetz: nichts darf seitliches Scrollen erzeugen */
body{background:var(--v-bg); color:var(--v-text); font-family:'Inter',system-ui,sans-serif; font-size:16px; font-weight:400; line-height:1.65; letter-spacing:-.003em;}
::selection{background:rgba(198,255,61,.28); color:#fff;}
h1,h2,h3,h4,.serif,.title{font-family:'Manrope',system-ui,sans-serif; color:var(--v-text);}
.serif{font-weight:300; letter-spacing:-.035em;}
.mono{font-family:'Inter',system-ui,sans-serif; letter-spacing:.04em;}
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible{outline:1px solid var(--v-neon)!important; outline-offset:3px;}

/* ---------- Logo: STEERT / Haarlinie mit Flare / WIND ---------- */
.brand{gap:0;}
.lg{display:inline-flex; flex-direction:column; align-items:flex-start; font-family:'Manrope',sans-serif; font-weight:300; font-size:13px; line-height:1; letter-spacing:.34em; color:var(--v-text); text-transform:uppercase;}
.lg-1,.lg-2{display:block; margin-right:-.34em;}          /* Box endet am letzten Buchstaben (T), nicht an der Sperrung */
.lg-line{display:block; position:relative; align-self:stretch; height:1px; margin:5px 0; background:rgba(255,255,255,.14); clip-path:inset(-24px -24px -24px 0);}
.lg-line i{position:absolute; top:0; left:0; width:30%; height:1px; opacity:0; transform:translateX(-100%); will-change:transform, opacity;
  background:linear-gradient(90deg, rgba(198,255,61,0), var(--v-neon));
  animation:lg-flare 4.2s cubic-bezier(.45,0,.25,1) infinite;}
.lg-line i::after{content:''; position:absolute; right:-1px; top:-1px; width:3px; height:3px; border-radius:50%!important; background:var(--v-neon); box-shadow:0 0 6px 1px rgba(198,255,61,.85), 0 0 14px 2px rgba(198,255,61,.35);}
@keyframes lg-flare{0%{transform:translateX(-100%); opacity:0} 8%{opacity:1} 58%{transform:translateX(233.33%); opacity:1} 72%,100%{transform:translateX(233.33%); opacity:0}}
.brand-foot .lg{font-size:15px;}
/* Variante „einzeilig“ (Klasse lg-zeile): STEERTWIND in einer Zeile, Haarlinie mit Flare darunter, Schrift größer.
   Zweizeilige Fassung v1 gesichert in entwuerfe/logo/logo-v1-zweizeilig.html; zurück = Klasse entfernen. */
.lg.lg-zeile{display:inline-grid; grid-template-columns:auto auto; font-size:17px; letter-spacing:.3em;}
.lg-zeile .lg-1{margin-right:0;}                          /* STEERT und WIND laufen als ein Wort durch */
.lg-zeile .lg-2{margin-right:-.3em;}                      /* Box endet am D, nicht an der Sperrung */
.lg-zeile .lg-line{grid-column:1 / -1; grid-row:2; margin:7px 0 0;}
.brand-foot .lg.lg-zeile{font-size:19px;}
@media(max-width:420px){ .lg.lg-zeile{font-size:15px; letter-spacing:.26em;} .lg-zeile .lg-2{margin-right:-.26em;} }

/* ---------- Header ---------- */
header{background:rgba(5,6,8,.72); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border-bottom:1px solid var(--v-hair);}
.nav{height:72px;}
nav ul{gap:34px; font-size:12.5px;}
nav ul a, .megabtn{color:var(--v-muted); font-family:'Inter',sans-serif; font-weight:400; letter-spacing:.14em; text-transform:uppercase; font-size:12px;}
nav ul a:hover, nav ul a.active, .megabtn:hover, .megabtn[aria-expanded="true"]{color:var(--v-text);}
.megabtn .chev{opacity:.5;}
.mega{background:rgba(8,9,12,.97); border-bottom:1px solid var(--v-hair);}
.mega-col .mh{color:var(--v-faint)!important; font-family:'Inter',sans-serif!important; letter-spacing:.22em!important; font-weight:500!important;}
.mega-col a{color:var(--v-muted); border-color:var(--v-hair)!important;}
.mega-col a:hover, .mega-col a.mega-group:hover{color:var(--v-text);}
.nav-toggle{border-color:var(--v-hair-2); color:var(--v-text); background:transparent;}
@media(max-width:820px){ nav ul#primnav.open{background:var(--v-bg-2); border-bottom:1px solid var(--v-hair);} }

/* ---------- Buttons: fein, Umriss, Neon als Unterstrich ---------- */
.btn{position:relative; background:transparent!important; color:var(--v-text)!important; border:1px solid rgba(255,255,255,.18)!important; box-shadow:none!important; font-family:'Inter',sans-serif; font-weight:500; font-size:12px; letter-spacing:.14em; text-transform:uppercase; padding:12px 20px; transition:border-color .25s, background .25s, color .25s;}
.btn::after{content:''; position:absolute; left:20px; right:20px; bottom:7px; height:1px; background:var(--v-neon); transform:scaleX(0); transform-origin:left; transition:transform .35s cubic-bezier(.2,.7,.2,1);}
.btn:hover{border-color:rgba(198,255,61,.55)!important; background:rgba(198,255,61,.05)!important; transform:none!important;}
.btn:hover::after{transform:scaleX(1);}
.btn-primary{border-color:rgba(198,255,61,.45)!important;}
.nav .btn-primary{padding:10px 18px;}

/* ---------- Grundgerüst: alles dunkel, Haarlinien ---------- */
.section, .section.alt, .section.dark, .section.person, .person, .chain, .proof{background:transparent!important; color:var(--v-text); border-top:1px solid var(--v-hair); border-bottom:0;}
.section{padding:120px 0;}
.section p, .section li, .lead, .prose p, .prose li{color:var(--v-muted);}
.section strong, .section b{color:var(--v-text); font-weight:500;}
.sec-label{font-family:'Inter',sans-serif; font-size:11px; font-weight:500; letter-spacing:.24em; color:var(--v-muted)!important;}
.sec-label .num{color:var(--v-faint)!important;}
h2.title{font-weight:300; font-size:clamp(30px,3.6vw,54px); line-height:1.08; letter-spacing:-.035em; max-width:22ch;}
.lead{font-size:16px; line-height:1.75;}
.section.dark h2.title, .section.dark .lead{color:inherit;}

/* Unterseiten-Kopf */
.page-hero{background:transparent!important; padding:170px 0 90px; border-bottom:1px solid var(--v-hair);}
.page-hero::after{display:none!important;}
.page-hero h1{font-family:'Manrope',sans-serif; font-weight:250; font-weight:300; font-size:clamp(40px,5.4vw,82px); line-height:1.03; letter-spacing:-.045em; max-width:17ch;}
.page-hero .sub{color:var(--v-muted); font-size:clamp(16px,1.3vw,19px);}
.eyebrow{font-family:'Inter',sans-serif; font-size:11px; font-weight:500; letter-spacing:.24em; color:var(--v-muted)!important;}
.eyebrow::before{background:var(--v-neon); width:22px;}
.crumb, .crumb a{color:var(--v-faint);} .crumb span{color:var(--v-muted);}

/* Karten & Raster → Haarlinien statt Flächen */
.lcard, .optcard, .svc, .pcard, .brancard, .plan, .plan.featured, .cross .x, .contact-card, .rwc, .case, .principle, .timeline .tl, .stat{background:transparent!important; box-shadow:none!important; color:var(--v-text); border-color:var(--v-hair)!important;}
.optcard, .pcard, .brancard, .contact-card, .rwc, .case{border:1px solid var(--v-hair)!important;}
.grid6, .steps, .cross{background:var(--v-hair)!important; border-color:var(--v-hair)!important;}
.lead + .grid6, h2.title + .grid6{margin-top:44px;}
.grid6 > *, .steps > *, .cross > *{background:var(--v-bg)!important;}
.lcard:hover{background:var(--v-panel)!important;}
.lcard h3, .optcard h3, .pcard h3, .brancard h3, .step h3, .plan h3, .cross .x h3, .principle h3, .principle h4{font-family:'Manrope',sans-serif; font-weight:400; color:var(--v-text)!important; letter-spacing:-.015em;}
.lcard p, .optcard p, .pcard p, .brancard p, .step p, .plan p, .cross .x p, .principle p{color:var(--v-muted)!important;}
.step .n, .lcard .num{color:var(--v-neon)!important; font-family:'Inter',sans-serif;}
.lcard .saeule-k{font-family:'Manrope',sans-serif; font-weight:300; color:var(--v-text);}
.saeule-sub, .svc .tag{color:var(--v-faint)!important; border-color:var(--v-hair-2)!important;}
.saeule-list li, .prose ul li{border-color:var(--v-hair)!important;}
.prose ul li::before, .saeule-list li::before{background:var(--v-neon)!important; width:5px!important; height:5px!important;}
.prose ul.wege a{color:var(--v-text); font-weight:400;}
.prose ul.wege a:hover{color:var(--v-neon); text-decoration:none;}
.cross .x .pain{color:var(--v-text)!important;}
.contact-card .row{border-color:var(--v-hair)!important;} .contact-card .k{color:var(--v-faint);}
.pills span, .pills a{border-color:var(--v-hair-2)!important; color:var(--v-muted)!important; font-family:'Inter',sans-serif; letter-spacing:.04em;}
.pills a:hover{border-color:rgba(198,255,61,.55)!important; color:var(--v-text)!important;}
.portrait img{filter:grayscale(1) contrast(1.04) brightness(.92);}
blockquote{color:var(--v-text); font-family:'Manrope',sans-serif; font-weight:300;}

/* FAQ */
.faq details{border-color:var(--v-hair)!important; background:transparent!important;}
.faq summary{color:var(--v-text); font-family:'Manrope',sans-serif; font-weight:400;}
.faq details p{color:var(--v-muted);}

/* CTA-Band */
.ctaband, .cta{background:transparent!important; border-top:1px solid var(--v-hair);}
.ctaband::before, .cta::before{display:none!important;}
.ctaband h2, .cta h2{font-family:'Manrope',sans-serif; font-weight:300; letter-spacing:-.035em;}
.ctaband .sub, .cta-sig{color:var(--v-muted)!important;}

/* Formulare */
input, textarea, select{background:var(--v-panel)!important; color:var(--v-text)!important; border-color:var(--v-hair-2)!important;}
input::placeholder, textarea::placeholder{color:var(--v-faint)!important;}

/* Rechtstexte & Prosa */
.bare, .legal, .prose{color:var(--v-muted);}
.section h3{color:var(--v-text);}
.section a:not(.btn):not(.v4-weg):not(.v4-link):not(.v4-btn){text-decoration-color:var(--v-hair-2);}

/* Portal (Code-Funnel) auf dunkel */
#kdb-code, .kdb-pain, .kdb-ki, .kdb-empf, .kdb-opt, .kdb-ok-band{background:var(--v-panel)!important; border-color:var(--v-hair)!important; color:var(--v-text)!important;}
.kdb-pain p, .kdb-ki p, .kdb-opt .d, .kdb-note{color:var(--v-muted)!important;}
.kdb-h, .kdb-pain b, .kdb-ki-kopf b{color:var(--v-text)!important;}
.kdb-opt.kdb-empfohlen{border-color:rgba(198,255,61,.6)!important; box-shadow:inset 0 0 0 1px rgba(198,255,61,.35)!important;}
.kdb-opt input{accent-color:var(--v-neon)!important;}

/* ---------- Footer ---------- */
footer, .v4-foot{background:var(--v-bg)!important; border-top:1px solid var(--v-hair); color:var(--v-muted);}
.v4-foot-top{display:grid; grid-template-columns:1.1fr 1.4fr; gap:60px; padding:90px 0 60px;}
.v4-foot-claim{margin-top:26px; font-family:'Manrope',sans-serif; font-weight:300; font-size:22px; letter-spacing:-.02em; color:var(--v-text);}
.v4-foot-note{margin-top:10px; font-size:13.5px; color:var(--v-muted); max-width:44ch;}
.v4-foot-note a{color:var(--v-text);}
.foot-cols .fh{color:var(--v-faint)!important; font-family:'Inter',sans-serif!important; font-size:11px!important; letter-spacing:.22em!important; font-weight:500!important;}
.foot-cols a{color:var(--v-muted)!important; font-size:14px; border-color:var(--v-hair)!important;}
.foot-cols a:hover{color:var(--v-text)!important;}
.foot-bot{border-top:1px solid var(--v-hair)!important; color:var(--v-faint); font-size:12px; font-family:'Inter',sans-serif;}
.foot-bot a{color:var(--v-muted);} .foot-bot a:hover{color:var(--v-text);}
.foot-nap{color:var(--v-muted);}
@media(max-width:820px){ .v4-foot-top{grid-template-columns:1fr; gap:40px; padding:70px 0 40px;} }

/* =====================================================================
   Startseite v4
   ===================================================================== */
.v4-label{display:flex; align-items:center; gap:10px; font-family:'Inter',sans-serif; font-size:11px; font-weight:500; letter-spacing:.24em; text-transform:uppercase; color:var(--v-muted);}
.v4-faint{color:var(--v-faint);}
.v4-dot{display:inline-block; width:5px; height:5px; border-radius:50%!important; background:var(--v-neon); box-shadow:0 0 8px rgba(198,255,61,.7);}

/* Hero */
.v4-hero{position:relative; overflow:hidden; min-height:100vh; min-height:100svh; display:flex; align-items:center; padding:150px 0 110px;}
.v4-hero::after{content:''; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--v-hair);}
.v4-hero::before{content:''; position:absolute; bottom:0; left:0; width:260px; height:1px; z-index:1; opacity:0;
  background:linear-gradient(90deg, rgba(198,255,61,0), rgba(198,255,61,.9), rgba(198,255,61,0));
  box-shadow:0 0 12px rgba(198,255,61,.45); animation:v4-sweep 9s cubic-bezier(.45,0,.25,1) 1.5s infinite;}
@keyframes v4-sweep{0%{transform:translateX(-260px); opacity:0} 10%{opacity:1} 60%{transform:translateX(calc(100vw)); opacity:1} 61%,100%{opacity:0; transform:translateX(100vw)}}
.v4-hero-grid{display:grid; grid-template-columns:1.12fr .88fr; gap:90px; align-items:center; width:100%;}
.v4-h1{font-family:'Manrope',sans-serif; font-weight:200; font-size:clamp(54px,7.6vw,118px); line-height:1.0; letter-spacing:-.05em; margin-top:30px; color:var(--v-text);}
.v4-l{display:block;}
.v4-mark{position:relative; display:inline-block;}
.v4-mark::after{content:''; position:absolute; left:.04em; right:.12em; bottom:.02em; height:2px; background:var(--v-neon); box-shadow:0 0 10px rgba(198,255,61,.55); transform-origin:left; transform:scaleX(1);}
.v4-sub{margin-top:38px; font-family:'Manrope',sans-serif; font-weight:300; font-size:clamp(19px,1.65vw,25px); letter-spacing:-.015em; color:var(--v-text);}
.v4-small{margin-top:12px; font-size:15px; color:var(--v-muted); max-width:48ch;}
.v4-wege-head{display:flex; justify-content:space-between; gap:16px; padding-bottom:18px; border-bottom:1px solid var(--v-hair);}
.v4-weg{position:relative; display:grid; grid-template-columns:22px 1fr auto; gap:16px; align-items:center; padding:19px 2px; border-bottom:1px solid var(--v-hair); color:var(--v-text); font-size:16.5px; font-weight:300; transition:color .3s;}
.v4-weg > svg, .v4-weg > span{transition:transform .35s cubic-bezier(.2,.7,.2,1), stroke .3s;}
.v4-weg svg{width:18px; height:18px; fill:none; stroke:var(--v-muted); stroke-width:1.15; stroke-linecap:round; stroke-linejoin:round; transition:stroke .3s;}
.v4-weg b{font-weight:300; color:var(--v-faint); transition:transform .3s, color .3s;}
.v4-weg::after{content:''; position:absolute; left:0; bottom:-1px; height:1px; width:100%; background:var(--v-neon); transform:scaleX(0); transform-origin:left; transition:transform .5s cubic-bezier(.2,.7,.2,1);}
.v4-weg:hover > svg, .v4-weg:hover > span, .v4-weg:focus-visible > svg, .v4-weg:focus-visible > span{transform:translateX(12px);}
.v4-weg:hover svg{stroke:var(--v-neon);} .v4-weg:hover b{color:var(--v-neon); transform:translateX(4px);} .v4-weg:hover::after{transform:scaleX(1);}
.v4-link{display:inline-flex; align-items:center; gap:8px; margin-top:24px; font-size:13px; color:var(--v-muted); transition:color .25s;}
.v4-link b{color:var(--v-neon); font-weight:400; transition:transform .25s;}
.v4-link:hover{color:var(--v-text);} .v4-link:hover b{transform:translateX(3px);}

/* Sektionen */
.v4-sec{padding:140px 0; border-top:1px solid var(--v-hair);}
.v4-hero + .v4-sec{border-top:0;}
.v4-h2{font-family:'Manrope',sans-serif; font-weight:300; font-size:clamp(32px,3.9vw,60px); line-height:1.07; letter-spacing:-.04em; margin-top:22px; max-width:20ch; color:var(--v-text);}
.v4-p{margin-top:22px; font-size:16px; line-height:1.75; color:var(--v-muted); max-width:60ch;}
.v4-narrow{max-width:46ch;}
.v4-head{display:flex; justify-content:space-between; align-items:flex-end; gap:40px; flex-wrap:wrap;}
.v4-head .v4-p{margin-top:0;}

/* Check + Simulation */
.v4-check{display:grid; grid-template-columns:.92fr 1.08fr; gap:90px; align-items:center;}
.v4-form{display:flex; align-items:center; margin-top:38px; max-width:480px; border-bottom:1px solid var(--v-hair-2); transition:border-color .3s;}
.v4-form:focus-within{border-bottom-color:var(--v-neon);}
.v4-form input{flex:1; min-width:0; background:transparent!important; border:0!important; outline:none; padding:14px 0; font:inherit; font-size:16px; color:var(--v-text)!important;}
.v4-form input:focus-visible{outline:none!important;}
.v4-form button{background:none; border:0; cursor:pointer; padding:0 0 0 18px; font-family:'Inter',sans-serif; font-size:12px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--v-text);}
.v4-form button b{color:var(--v-neon); font-weight:400; margin-left:6px;}
.v4-sim{border:1px solid var(--v-hair); padding:34px 36px 26px; background:linear-gradient(180deg, rgba(255,255,255,.014), rgba(255,255,255,0));}
.v4-sim-head{display:flex; justify-content:space-between; gap:12px; padding-bottom:22px; border-bottom:1px solid var(--v-hair);}
.v4-sim-count b{color:var(--v-neon); font-weight:500;}
.v4-sim-line{position:relative; list-style:none; display:grid; grid-template-columns:repeat(5,1fr); margin:58px 0 44px;}
.v4-sim-line::before{content:''; position:absolute; left:10%; right:10%; top:5px; height:1px; background:var(--v-hair-2);}
.v4-sim-prog{position:absolute; left:10%; top:5px; height:1px; width:80%; transform-origin:left; transform:scaleX(var(--p,.5)); background:var(--v-neon); box-shadow:0 0 8px rgba(198,255,61,.55); transition:transform .9s cubic-bezier(.45,0,.25,1);}
.v4-sim-flare{position:absolute; top:-9px; left:calc(10% + var(--p,.5) * 80%); width:46px; height:22px; margin-left:-23px; pointer-events:none; transition:left .9s cubic-bezier(.45,0,.25,1);
  background:radial-gradient(closest-side, rgba(198,255,61,.55), rgba(198,255,61,0)); filter:blur(3px); opacity:.85;}
.v4-sim-line li{position:relative; z-index:1; text-align:center; padding:0 6px;}
.v4-sim-line i{display:block; width:11px; height:11px; margin:0 auto 20px; border-radius:50%!important; border:1px solid var(--v-hair-2); background:var(--v-bg); transition:background .5s, border-color .5s, box-shadow .5s;}
.v4-sim-line li.on i{background:var(--v-neon); border-color:var(--v-neon); box-shadow:0 0 10px rgba(198,255,61,.55);}
.v4-sim-line li.cur i{animation:v4-pulse 1.8s ease-in-out infinite;}
@keyframes v4-pulse{0%,100%{box-shadow:0 0 0 0 rgba(198,255,61,.45), 0 0 10px rgba(198,255,61,.55)} 60%{box-shadow:0 0 0 7px rgba(198,255,61,0), 0 0 10px rgba(198,255,61,.55)}}
.v4-sim-line b{display:block; font-weight:400; font-size:14px; color:var(--v-muted); transition:color .5s;}
.v4-sim-line li.on b{color:var(--v-text);}
.v4-sim-line li > span{display:block; margin-top:4px; font-size:12px; color:var(--v-faint);}
.v4-sim-foot{padding-top:20px; border-top:1px solid var(--v-hair); font-size:12.5px; color:var(--v-faint);}

/* These */
.v4-statement{font-family:'Manrope',sans-serif; font-weight:200; font-size:clamp(40px,5.8vw,92px); line-height:1.04; letter-spacing:-.05em; margin-top:26px; max-width:15ch; color:var(--v-text);}
.v4-statement .m-s{display:block;}
.v4-statement .m-s:not(:last-child){color:var(--v-muted);}

/* Drei Säulen */
.v4-cols{display:grid; grid-template-columns:repeat(3,1fr); margin-top:72px; border-top:1px solid var(--v-hair);}
.v4-col{padding:46px 42px 6px 0; border-right:1px solid var(--v-hair);}
.v4-col + .v4-col{padding-left:42px;}
.v4-col:last-child{border-right:0;}
.v4-ic{width:22px; height:22px; fill:none; stroke:var(--v-neon); stroke-width:1.1; stroke-linecap:round; overflow:visible;}
.m-js .v4-col .v4-ic{opacity:.3; animation:v4-icglow 9s ease-in-out infinite;}
.m-js .v4-col:nth-child(2) .v4-ic{animation-delay:3s;}
.m-js .v4-col:nth-child(3) .v4-ic{animation-delay:6s;}
@keyframes v4-icglow{0%,100%{opacity:.3; filter:none} 12%{opacity:1; filter:drop-shadow(0 0 5px rgba(198,255,61,.85))} 26%{opacity:1; filter:drop-shadow(0 0 3px rgba(198,255,61,.5))} 40%{opacity:.3; filter:none}}
.v4-col h3{margin:28px 0 14px; font-family:'Manrope',sans-serif; font-weight:300; font-size:32px; letter-spacing:-.035em;}
.v4-col p{font-size:15px; color:var(--v-muted); line-height:1.7;}
.v4-col ul{list-style:none; margin-top:24px;}
.v4-col li a{display:block; padding:10px 0; border-top:1px solid var(--v-hair); font-size:14px; color:var(--v-muted); transition:color .25s, transform .25s;}
.v4-col li a:hover{color:var(--v-text); transform:translateX(6px);}

/* Ablauf */
.v4-steps{position:relative; list-style:none; display:grid; grid-auto-flow:column; grid-auto-columns:1fr; margin-top:74px; border-top:1px solid var(--v-hair-2);}   /* Spalten = Anzahl der Schritte, ohne JS */
/* Ablauf: eigene Flare-Spur (schneidet nur waagerecht, Stationen liegen außerhalb → nichts wird beschnitten).
   Takt: Station i blinkt, wenn der Flare-Kopf bei i/n ist (linear über 80 % der Dauer). --n am Wrapper, --i je Schritt. */
.v4-steps-wrap{position:relative; margin-top:74px;}
.v4-steps-wrap .v4-steps{margin-top:0;}
/* 9px Luft an beiden Enden für den Glow. Ebenen: Haarlinie < Flare (1) < Stationspunkte (2) */
.v4-flare{position:absolute; left:-9px; right:-9px; top:-12px; height:23px; overflow:hidden; pointer-events:none; z-index:1;}
.v4-steps li::before, .v4-steps li::after{z-index:2;}
.v4-flare i{position:absolute; left:9px; top:10px; width:calc((100% - 18px) * .18); height:5px; opacity:0;
  background:radial-gradient(3px 3px at calc(100% - 1.5px) 50%, var(--v-neon) 55%, rgba(198,255,61,0) 100%), linear-gradient(90deg, rgba(198,255,61,0), var(--v-neon)) center / 100% 1px no-repeat;
  filter:drop-shadow(0 0 4px rgba(198,255,61,.75));}
/* Animationen nur, wenn motion.js läuft (setzt .m-js und die Positionen --i/--n aus der DOM-Reihenfolge) */
.m-js .v4-flare i{animation:v4-stepflare var(--dauer) linear infinite;}
/* Kopf von 0 bis Linienende: translateX(-100 %) → (100/18 − 1) · 100 % = 455,56 % (Schweifbreite 18 %) */
@keyframes v4-stepflare{0%{transform:translateX(-100%); opacity:0} 3%{opacity:1} 80%{transform:translateX(455.56%); opacity:1} 88%,100%{transform:translateX(455.56%); opacity:0}}
.v4-steps{counter-reset:stp;}
.v4-steps li{counter-increment:stp;}
.v4-steps li::after{content:''; position:absolute; top:-4px; left:0; width:7px; height:7px; border-radius:50%!important; pointer-events:none; opacity:0;
  background:var(--v-neon); box-shadow:0 0 8px 1px rgba(198,255,61,.8), 0 0 0 4px rgba(198,255,61,.12);
}
.m-js .v4-steps li::after{animation:v4-blink var(--dauer) linear infinite; animation-delay:calc(var(--dauer) * .8 * var(--i, 0) / var(--n, 6));}
/* Nummer: Neon-Kopie per Zähler darüber, nur opacity animiert. Bewusst OHNE Ersatz-content: Browser ohne Alt-Text-Syntax
   (content … / "") lassen die Kopie weg → dort blinkt nur der Punkt, aber Screenreader lesen die Nummer nicht doppelt. */
.v4-steps li .n::after{content:counter(stp, decimal-leading-zero) / ""; position:absolute; left:0; top:0; color:var(--v-neon); opacity:0;}
.m-js .v4-steps li .n::after{animation:v4-blinko var(--dauer) linear infinite; animation-delay:calc(var(--dauer) * .8 * var(--i, 0) / var(--n, 6));}
@keyframes v4-blink{0%{opacity:1; transform:scale(1.3)} 4%{opacity:.55; transform:scale(1)} 8%,100%{opacity:0; transform:scale(1)}}
@keyframes v4-blinko{0%{opacity:1} 8%,100%{opacity:0}}
/* außerhalb des Bildes pausieren (motion.js setzt .m-pause am Wrapper) */
.v4-steps-wrap.m-pause .v4-flare i, .v4-steps-wrap.m-pause li::after, .v4-steps-wrap.m-pause li .n::after{animation-play-state:paused;}
.v4-steps li{position:relative; padding:28px 26px 0 0;}
.v4-steps li::before{content:''; position:absolute; top:-4px; left:0; width:7px; height:7px; border-radius:50%!important; background:var(--v-bg); border:1px solid var(--v-hair-2);}
.v4-steps .n{position:relative; display:inline-block; font-size:11px; letter-spacing:.22em; color:var(--v-faint);}
.v4-steps b{display:block; margin:14px 0 8px; font-family:'Manrope',sans-serif; font-weight:400; font-size:19px; color:var(--v-text); letter-spacing:-.015em;}
.v4-steps li > span:last-child{font-size:13.5px; line-height:1.6; color:var(--v-muted);}

/* Branchen */
.v4-tags{display:flex; flex-wrap:wrap; gap:10px; margin-top:54px;}
.v4-tags a{padding:11px 18px; border:1px solid var(--v-hair-2); font-size:13.5px; color:var(--v-muted); transition:border-color .25s, color .25s;}
.v4-tags a:hover{border-color:rgba(198,255,61,.55); color:var(--v-text);}
.v4-tags-hint{margin-top:18px; font-size:13px; color:var(--v-faint);}

/* Person */
.v4-person{display:grid; grid-template-columns:300px 1fr; gap:80px; align-items:center;}
.v4-person img{width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; filter:grayscale(1) contrast(1.05) brightness(.9);}
.v4-quote{margin-top:22px; font-family:'Manrope',sans-serif; font-weight:300; font-size:clamp(22px,2.3vw,34px); line-height:1.32; letter-spacing:-.025em; color:var(--v-text); max-width:30ch;}

/* Abschluss */
.v4-cta{padding:170px 0; border-top:1px solid var(--v-hair); text-align:center;}
.v4-cta .v4-label{justify-content:center;}
.v4-cta .v4-h2{margin:24px auto 0; max-width:17ch;}
.v4-cta-actions{display:flex; gap:32px; justify-content:center; align-items:center; margin-top:46px; flex-wrap:wrap;}
.v4-cta-actions .v4-link{margin-top:0;}
.v4-btn{position:relative; display:inline-flex; align-items:center; gap:10px; padding:16px 28px; border:1px solid rgba(198,255,61,.5); font-family:'Inter',sans-serif; font-size:12.5px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--v-text); transition:border-color .3s, background .3s, box-shadow .3s;}
.v4-btn b{color:var(--v-neon); font-weight:400; transition:transform .3s;}
.v4-btn:hover{border-color:var(--v-neon); background:rgba(198,255,61,.05); box-shadow:0 0 28px rgba(198,255,61,.12);}
.v4-btn:hover b{transform:translateX(4px);}

/* Responsiv */
@media(max-width:1000px){
  .v4-hero-grid, .v4-check{grid-template-columns:1fr; gap:64px;}
  .v4-hero{min-height:0; padding:130px 0 90px;}
  .v4-person{grid-template-columns:200px 1fr; gap:40px;}
}
@media(max-width:820px){
  .v4-cols{grid-template-columns:1fr;} .v4-col, .v4-col + .v4-col{padding:36px 0 10px; border-right:0; border-bottom:1px solid var(--v-hair);}
  .v4-steps{grid-auto-flow:row; grid-template-columns:repeat(2,1fr); row-gap:40px;}
  .v4-flare, .m-js .v4-flare i, .m-js .v4-steps li::after, .m-js .v4-steps li .n::after{animation:none!important; display:none;}
  .v4-sec{padding:100px 0;}
}
@media(max-width:600px){
  .wrap{padding:0 20px;}
  .v4-sim{padding:26px 20px 20px;}
  .v4-sim-line{grid-template-columns:1fr; gap:22px; margin:36px 0 30px;}
  .v4-sim-line::before{left:5px; right:auto; top:6px; bottom:6px; width:1px; height:auto;}
  .v4-sim-prog, .v4-sim-flare{display:none;}
  .v4-sim-line li{display:grid; grid-template-columns:11px 1fr; column-gap:18px; text-align:left; padding:0;}
  .v4-sim-line i{margin:3px 0 0; grid-row:span 2;}
  .v4-person{grid-template-columns:1fr;} .v4-person img{max-width:240px;}
  .v4-weg{font-size:15.5px;}
}
@media (prefers-reduced-motion: reduce){
  .lg-line i{animation:none; opacity:1; transform:translateX(233.33%);}
  .v4-hero::before{animation:none; opacity:0;}
  .v4-sim-line li.cur i{animation:none;}
  .v4-col .v4-ic{animation:none!important; opacity:1!important;}
  .m-js .v4-flare i, .m-js .v4-steps li::after, .m-js .v4-steps li .n::after{animation:none!important; opacity:0;}
}

/* ---------- Motion-Zustände (assets/motion.js setzt die Klassen nur bei erlaubter Bewegung) ---------- */
.m-js .v4-hero-grid{will-change:transform, opacity, filter;}
.m-in{opacity:0; transform:translateY(34px); filter:blur(10px); transition:opacity 1.1s ease, transform 1.2s cubic-bezier(.16,.8,.2,1), filter 1.1s ease;}
.m-in.m-in-soft{transform:translateY(14px); filter:blur(4px);}
.m-in.m-in-right{transform:translateX(28px); filter:blur(4px);}
.m-in.m-on{opacity:1; transform:none; filter:none;}
.m-mark::after{transform:scaleX(0); transition:transform 1.1s cubic-bezier(.2,.7,.2,1) 1.25s;}
.m-mark.m-on::after{transform:scaleX(1);}
.m-reset .v4-sim-prog, .m-reset .v4-sim-flare{transition:none!important;}
.v4-statement.m-fly .m-s{display:block;}

/* Unterseiten: Zwischenüberschriften filigran */
h2.title, h2.title.serif, .section h2.serif{font-weight:300!important; letter-spacing:-.035em;}

/* ---------- Review-Runde 1 (Unterseiten) ---------- */
/* Linien-Raster: Zellen müssen den Seitengrund tragen, sonst scheint die Linienfarbe als graue Fläche durch */
.plans{background:var(--v-hair)!important; border-color:var(--v-hair)!important;}
.plans > .plan, .plans > .plan.featured, .cross > .x, .grid6 > .lcard, .steps > .step{background:var(--v-bg)!important;}
.grid6 > .lcard:hover{background:var(--v-panel)!important;}
/* Kontrast: Listen und Beispiel-Spalten nicht in Grau-auf-Schwarz */
.saeule-list li, .plan li, .svc li{color:var(--v-muted)!important;}
.case .col p{color:var(--v-muted)!important;} .case .col.res p{color:var(--v-text)!important; font-weight:500;}
.case .col .k, .plan .lbl, .plan .k{color:var(--v-faint)!important; font-family:'Inter',sans-serif!important;}
/* altes Deko-Quadrat am Porträt (war Sand, wäre jetzt Neon) */
.portrait::after{display:none!important;}
.portrait .tag{background:rgba(5,6,8,.72)!important; color:var(--v-muted)!important; font-family:'Inter',sans-serif!important;}
.badge{background:transparent!important; color:var(--v-neon)!important; border:1px solid rgba(198,255,61,.5); font-family:'Inter',sans-serif!important; font-weight:500; padding:4px 10px!important;}

/* Anker-Ziel: angesprungene Karte leuchtet kurz auf (Klasse setzt partials/scripts.html) */
.m-ziel{outline:1px solid rgba(198,255,61,0); outline-offset:-1px; animation:v4-ziel 2.4s ease-out;}
@keyframes v4-ziel{0%,35%{outline-color:rgba(198,255,61,.75); box-shadow:0 0 28px rgba(198,255,61,.10)} 100%{outline-color:rgba(198,255,61,0)}}
@media (prefers-reduced-motion: reduce){ .m-ziel{animation:none;} }

/* Screen für Screen: auf der Startseite und allen Menüseiten ist jede Sektion bildschirmhoch und das Scrollen rastet ein.
   Ausgenommen: Rechtstexte/Portal (.page-hero.bare) und die Anfrage. Nur Desktop mit genug Höhe;
   auf Mobil sind die Sektionen länger als ein Screen, dort frei scrollen. Längere Sektionen wachsen mit. */
@media (min-width:1001px) and (min-height:620px){
  html:has(.v4-hero), html:has(.page-hero:not(.bare)){scroll-snap-type:y mandatory; scroll-padding-top:0;}
  .v4-hero, .v4-sec, .v4-cta,
  .page-hero:not(.bare), .page-hero:not(.bare) ~ .section, .page-hero:not(.bare) ~ .ctaband{min-height:100vh; min-height:100svh; scroll-snap-align:start; scroll-snap-stop:always;}
  .v4-sec, .v4-cta, .page-hero:not(.bare), .page-hero:not(.bare) ~ .section, .page-hero:not(.bare) ~ .ctaband{display:flex; align-items:center; padding:96px 0 48px;}
  .v4-sec > .wrap, .v4-cta > .wrap, .page-hero:not(.bare) > .wrap, .page-hero:not(.bare) ~ .section > .wrap, .page-hero:not(.bare) ~ .ctaband > .wrap{width:100%;}
  .page-hero:not(.bare) ~ .section[hidden]{display:none;}
  .v4-foot{scroll-snap-align:end;}
}

/* ---------- Menüseiten: Bewegung wie auf der Startseite (assets/motion.js, Teil 6) ---------- */
.m-sofort, .m-sofort *{transition:none!important;}
.m-js [data-motion].section, .m-js [data-motion].ctaband{position:relative;}
.page-hero .m-split .m-w, h2.m-split .m-w{transition-duration:1.1s;}
/* Flare auf der Linie: bei Sektionen einmal über die obere Kante, beim Einstieg immer wieder über die untere */
.m-flare{position:absolute; left:0; right:0; top:-12px; height:23px; overflow:hidden; pointer-events:none; z-index:1;}
.page-hero > .m-flare{top:auto; bottom:-12px;}
.m-flare::before{content:''; position:absolute; top:11px; left:0; width:260px; height:1px; opacity:0; transform:translateX(-260px);
  background:linear-gradient(90deg, rgba(198,255,61,0), rgba(198,255,61,.9), rgba(198,255,61,0)); box-shadow:0 0 12px rgba(198,255,61,.45);}
.m-da > .m-flare::before{animation:m-flarelauf 2.8s cubic-bezier(.45,0,.25,1) .15s 1 both;}
.page-hero.m-da > .m-flare::before{animation:v4-sweep 9s cubic-bezier(.45,0,.25,1) 1.5s infinite;}
@keyframes m-flarelauf{0%{transform:translateX(-260px); opacity:0} 12%{opacity:1} 80%{opacity:1} 100%{transform:translateX(100vw); opacity:0}}
/* Kapitelnummer leuchtet beim Eintreffen kurz auf; Schritt-Nummern leuchten nacheinander wie die Stationen im Ablauf */
.m-da .sec-label .num{animation:m-numglow 2.4s ease .2s 1;}
@keyframes m-numglow{0%,100%{color:var(--v-faint)} 25%,55%{color:var(--v-neon); text-shadow:0 0 10px rgba(198,255,61,.7)}}
.m-js .m-da .steps > .step .n{animation:m-nglow 8s ease-in-out infinite; animation-delay:calc(var(--i, 0) * 1.1s);}
@keyframes m-nglow{0%,100%{text-shadow:none} 8%{text-shadow:0 0 10px rgba(198,255,61,.9)} 20%{text-shadow:none}}
@media (prefers-reduced-motion: reduce){ .m-flare{display:none;} .m-da .sec-label .num, .m-js .m-da .steps > .step .n{animation:none;} }

/* ---------- Mega-Menü: kein Blau mehr (Reste aus dem alten Stylesheet) ---------- */
.mega{border-color:var(--v-hair)!important; box-shadow:0 40px 70px -28px rgba(0,0,0,.8)!important;}
.mega-col a.mega-group{font-family:'Inter',sans-serif!important; color:var(--v-text)!important; letter-spacing:.14em; font-weight:500; font-size:11.5px; border-bottom-color:var(--v-hair)!important;}
.mega-col a.mega-group:hover{color:var(--v-neon)!important; border-bottom-color:var(--v-hair)!important;}
.mega-col a.mega-sub::before{background:var(--v-neon)!important; border-radius:50%!important;}
.mega-col a.mega-all{color:var(--v-neon)!important;}

/* ---------- Fokus-Flare: statt Doppelrahmen läuft ein kleiner Neon-Flare um das Feld ---------- */
@property --fl{syntax:'<angle>'; inherits:false; initial-value:0deg;}
.anf input[type=text]:focus, .anf input[type=email]:focus, .anf input[type=tel]:focus, .anf textarea:focus,
.rwc input:focus, .dc input:focus, .dc-modal input:focus{
  outline:none!important; border-color:transparent!important;
  background:linear-gradient(var(--v-panel), var(--v-panel)) padding-box,
    conic-gradient(from var(--fl), rgba(255,255,255,.16) 0deg 290deg, rgba(198,255,61,0) 290deg, rgba(198,255,61,.95) 345deg, rgba(198,255,61,0) 360deg) border-box!important;
  animation:m-fokus 3.4s linear infinite;
}
@keyframes m-fokus{to{--fl:360deg;}}
/* Tastatur-Fokus auf Links/Knöpfen: feine Linie statt kräftigem Rahmen */
a:focus-visible, button:focus-visible, summary:focus-visible{outline:1px solid rgba(198,255,61,.45)!important; outline-offset:4px;}
input:focus-visible, textarea:focus-visible{outline:none!important;}

/* ---------- Einstiege („Worum geht es Ihnen?“): statt harter Neon-Linie läuft ein kleiner Flare ---------- */
.v4-weg{overflow:hidden;}
.v4-weg::after{bottom:0; width:26%; height:1px; transform:translateX(-110%); opacity:0; transition:none;
  background:linear-gradient(90deg, rgba(198,255,61,0), rgba(198,255,61,.9), rgba(198,255,61,0)); box-shadow:0 0 8px rgba(198,255,61,.5);}
.v4-weg:hover::after, .v4-weg:focus-visible::after{transform:translateX(-110%); animation:m-wegflare 1.5s cubic-bezier(.45,0,.25,1) 1 both;}
@keyframes m-wegflare{0%{transform:translateX(-110%); opacity:0} 15%{opacity:1} 80%{opacity:1} 100%{transform:translateX(400%); opacity:0}}
.v4-weg:hover > svg, .v4-weg:hover > span, .v4-weg:focus-visible > svg, .v4-weg:focus-visible > span{transform:translateX(4px);}
.v4-weg:hover b{transform:translateX(2px);}
@media (prefers-reduced-motion: reduce){ .v4-weg:hover::after{animation:none;} .anf input:focus, .anf textarea:focus, .rwc input:focus, .dc input:focus, .dc-modal input:focus{animation:none;} }

/* ---------- Domain-Check (Website-Check, Sichtbarkeits-Check): assets/domain-check.js ---------- */
.dc-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:80px; align-items:center;}
.dc{margin-top:34px; max-width:560px;}
.dc-form{display:flex; gap:10px; flex-wrap:wrap;}
.dc-form input{flex:1; min-width:220px; font:400 15px 'Inter',sans-serif; padding:14px 16px; background:var(--v-panel)!important; color:var(--v-text)!important; border:1px solid var(--v-hair-2); border-radius:10px!important;}
.dc-form .btn{border-radius:10px!important;}
.dc-note{margin-top:12px; font-size:13px; color:var(--v-faint);}
.dc-note.dc-err{color:#ffb4a8;}
.dc-panel{position:relative; border:1px solid var(--v-hair); border-radius:14px!important; padding:28px 30px 24px; background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
  opacity:0; transform:translateY(14px); filter:blur(6px); transition:opacity .8s ease, transform .9s cubic-bezier(.16,.8,.2,1), filter .8s ease;}
.dc-panel.dc-an{opacity:1; transform:none; filter:none;}
.dc-head{display:flex; justify-content:space-between; gap:14px; align-items:baseline; padding-bottom:18px; border-bottom:1px solid var(--v-hair);}
.dc-kicker{font:500 11px 'Inter',sans-serif; letter-spacing:.22em; text-transform:uppercase; color:var(--v-faint);}
.dc-domain{font:400 15px 'Inter',sans-serif; color:var(--v-text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.dc-list{list-style:none; margin:10px 0 0; padding:0;}
.dc-list li{position:relative; display:flex; align-items:center; gap:14px; padding:13px 0; font-size:14.5px; color:var(--v-faint); border-bottom:1px solid var(--v-hair); transition:color .5s;}
.dc-list li::before{content:''; flex:none; width:7px; height:7px; border-radius:50%!important; border:1px solid var(--v-hair-2); transition:all .4s;}
.dc-list li::after{content:''; position:absolute; left:0; bottom:-1px; width:22%; height:1px; opacity:0; background:linear-gradient(90deg, rgba(198,255,61,0), rgba(198,255,61,.9), rgba(198,255,61,0));}
.dc-list li.dc-lauf{color:var(--v-text);}
.dc-list li.dc-lauf::before{background:var(--v-neon); border-color:var(--v-neon); box-shadow:0 0 10px rgba(198,255,61,.8); animation:v4-pulse 1.2s ease-in-out infinite;}
.dc-list li.dc-lauf::after{animation:dc-lauf .9s linear 1 both;}
@keyframes dc-lauf{0%{transform:translateX(-100%); opacity:0} 20%{opacity:1} 100%{transform:translateX(460%); opacity:0}}
.dc-list li.dc-ok{color:var(--v-muted);}
.dc-list li.dc-ok::before{background:transparent; border-color:var(--v-neon); box-shadow:inset 0 0 0 2px #050608, inset 0 0 0 4px var(--v-neon);}
.dc-foot{margin-top:18px; font-size:13px; color:var(--v-faint);}
.dc-panel.dc-fertig .dc-foot{color:var(--v-muted);}
.dc-modal{border:1px solid var(--v-hair-2); border-radius:16px!important; background:#0b0c10; color:var(--v-text); padding:34px 34px 28px; width:min(460px, calc(100% - 32px)); box-shadow:0 40px 90px rgba(0,0,0,.7);}
.dc-modal::backdrop{background:rgba(3,4,6,.72); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);}
.dc-modal h2{font:300 26px/1.15 'Manrope',sans-serif; letter-spacing:-.03em; margin:10px 0 8px;}
.dc-modal .dc-sub{color:var(--v-muted); font-size:14.5px; margin-bottom:22px;}
.dc-zu{position:absolute; top:14px; right:16px; background:none; border:0; color:var(--v-muted); font-size:24px; line-height:1; cursor:pointer;}
.dc-feld{display:block; margin-bottom:14px; font-size:13px; color:var(--v-muted);}
.dc-feld span{display:block; margin-bottom:7px;}
.dc-feld input{width:100%; box-sizing:border-box; font:400 15px 'Inter',sans-serif; padding:13px 14px; background:var(--v-panel)!important; color:var(--v-text)!important; border:1px solid var(--v-hair-2); border-radius:10px!important;}
.dc-mform .btn{width:100%; justify-content:center; margin-top:6px; border-radius:10px!important; background:var(--v-neon)!important; border-color:var(--v-neon)!important; color:#050608!important;}
.dc-msg{min-height:1em; font-size:13px; color:#ffb4a8; margin:0 0 6px;}
.dc-legal{margin-top:14px; font-size:12px; color:var(--v-faint);}
.dc-legal a{color:var(--v-muted); text-decoration:underline;}
.dc-hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
.dc-danke p{color:var(--v-text); margin-bottom:14px;}
.dc-modal input:focus{background:linear-gradient(#11131a, #11131a) padding-box, conic-gradient(from var(--fl), rgba(255,255,255,.16) 0deg 290deg, rgba(198,255,61,0) 290deg, rgba(198,255,61,.95) 345deg, rgba(198,255,61,0) 360deg) border-box!important;}
@media(max-width:1000px){ .dc-grid{grid-template-columns:1fr; gap:40px;} }
@media (prefers-reduced-motion: reduce){ .dc-panel{transition:none;} .dc-list li.dc-lauf::before, .dc-list li.dc-lauf::after{animation:none;} }

/* ---------- Mega-Menü v2 (Menue-und-Struktur.md): Leitfragen, Gruppen, Kurztexte, Unterpunkte ---------- */
.mega{width:min(1180px, calc(100% - 48px))!important;}
.mega .mega-inner{grid-template-columns:1.1fr 1.1fr .9fr; gap:34px 40px; padding:30px 36px 0;}
.mega .mh{all:unset; display:block; font:400 13px 'Inter',sans-serif!important; letter-spacing:.02em!important; text-transform:none!important; color:var(--v-muted)!important; margin-bottom:6px; cursor:default;}
.mega .mh b{font:300 22px 'Manrope',sans-serif; letter-spacing:-.02em; color:var(--v-text); margin-right:6px;}
.mega .mg{margin:20px 0 8px; font:500 10.5px 'Inter',sans-serif; letter-spacing:.2em; text-transform:uppercase; color:var(--v-faint);}
.mega .mm-e{padding:7px 0;}
.mega-col a.mm{display:block; padding:0; border:0!important; transition:none;}
.mega-col a.mm:hover{padding-left:0;}
.mega .mm-t{display:block; font:400 15px 'Inter',sans-serif; color:var(--v-text); transition:color .2s;}
.mega .mm-k{display:block; margin-top:2px; font-size:12px; color:var(--v-faint);}
.mega a.mm:hover .mm-t, .mega a.mm:focus-visible .mm-t{color:var(--v-neon);}
.mega .mm-subs{display:flex; flex-wrap:wrap; gap:4px 14px; margin-top:6px;}
.mega-col .mm-subs a{display:inline; padding:0; border:0!important; font-size:12.5px; color:var(--v-muted);}
.mega-col .mm-subs a:hover{color:var(--v-text); padding-left:0;}
.mega-col .mm-subs a::before{content:'›'; margin-right:5px; color:var(--v-faint);}
.mega-bar{grid-column:1 / -1; display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-top:6px; padding:18px 0 22px; border-top:1px solid var(--v-hair); font-size:13px; color:var(--v-faint);}
.mega-bar a{color:var(--v-muted); margin-left:26px;}
.mega-bar a:hover{color:var(--v-neon);}
.mm-check{display:none;}
@media(max-width:980px){ .mega .mega-inner{grid-template-columns:1fr 1fr;} }
/* Mobil: ein Akkordeon, Website-Check-Eingabe oben, Kurztexte aus, Unterpunkte als Chips */
@media(max-width:820px){
  .mega{width:100%!important;}
  .mega .mega-inner{grid-template-columns:1fr; gap:0; padding:18px 22px 26px;}
  .mm-check{display:flex; gap:8px; margin-bottom:14px;}
  .mm-check input{flex:1; min-width:0; font:400 15px 'Inter',sans-serif; padding:12px 14px; background:var(--v-panel)!important; color:var(--v-text)!important; border:1px solid var(--v-hair-2); border-radius:10px!important;}
  .mm-check button{width:48px; border-radius:10px!important; border:1px solid rgba(198,255,61,.5); background:transparent; color:var(--v-neon); font-size:18px; cursor:pointer;}
  .mega .mega-col{border-top:1px solid var(--v-hair);}
  .mega .mh{display:flex; justify-content:space-between; align-items:center; width:100%; min-height:48px; margin:0; cursor:pointer;}
  .mega .mh::after{content:'+'; font:300 20px 'Inter',sans-serif; color:var(--v-muted);}
  .mega .mh[aria-expanded="true"]::after{content:'−';}
  .mega .mc{display:none; padding-bottom:12px;}
  .mega .mega-col.auf .mc{display:block;}
  .mega .mm-k{display:none;}
  .mega .mm-e{padding:9px 0;}
  .mega .mm-subs a{display:inline-flex; align-items:center; min-height:34px; padding:0 10px!important; border:1px solid var(--v-hair)!important; border-radius:999px!important;}
  .mega-col .mm-subs a::before{display:none;}
  .mega-bar{display:none;}
}
.mm-more{margin-top:14px; display:flex; flex-wrap:wrap; gap:4px 16px;} .mm-more .v4-link{margin-top:0;}
.mega{background:#08090c!important; max-height:calc(100vh - 84px); overflow-y:auto; overscroll-behavior:contain;}
@media(max-width:820px){ .mega .mh{justify-content:flex-start; gap:10px;} .mega .mh::after{margin-left:auto;} .mega{max-height:calc(100svh - 68px);} }
.bst{margin-top:26px; max-width:620px;}
.bst .sub b{color:var(--v-text); font-weight:500;}
.bst-klein{margin-top:22px; font-size:13px; color:var(--v-faint);}
.bst-klein a, .bst .sub a{color:var(--v-muted); text-decoration:underline;}
