.elementor-kit-4{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */:root{
  --blue:#007ec2; --blue-deep:#007ec2;
  --green:#86ba40; --green-deep:#86ba40; --green-dark:#86ba40;
  --navy:#0a1f3d; --navy-2:#142a4d;
  --paper:#fafaf7; --paper-2:#f1efe9;
  --line:#e6e3da; --line-2:#efece4;
  --ink:#0a0e16; --ink-soft:#55565a; --muted:#727a8a;
  --shadow-sm:0 4px 14px -6px rgba(10,31,61,.14);
  --shadow:0 26px 56px -28px rgba(10,31,61,.28),0 6px 18px -8px rgba(10,31,61,.10);
  --shadow-lg:0 40px 90px -40px rgba(10,31,61,.34),0 12px 32px -12px rgba(10,31,61,.14);
  --container:1280px; --container-wide:1440px; --gutter:36px;
  --e1:cubic-bezier(.4,0,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}body{overflow-x:clip;max-width:100vw}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-weight:300;color:var(--ink);background:#fff;line-height:1.5;letter-spacing:-.003em}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
h1,h2,h3,h4,h5,h6{font-family:'Inter',sans-serif;font-weight:400;letter-spacing:-.025em;margin:0;color:var(--navy);line-height:1.15}
h1{font-size:clamp(36px,4.4vw,68px);font-weight:300}
h2{font-size:clamp(34px,3.4vw,52px);font-weight:300}
h2 em{font-family:'Fraunces',serif;font-style:italic;font-weight:300;color:var(--blue)}
h2 em.gold,h1 em.gold{color:var(--green-deep);background:linear-gradient(180deg,var(--green) 0%,var(--green) 45%,var(--green-deep) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
h3{font-size:22px;font-weight:500}
h4{font-size:18px;font-weight:500}
p{margin:0 0 1em;color:var(--ink-soft)}
.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);position:relative}
.container-wide{max-width:var(--container-wide);margin:0 auto;padding:0 var(--gutter)}
section{padding:120px 0;position:relative}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--green-deep);font-weight:700}
.eyebrow::before{content:"";display:block;width:28px;height:1px;background:var(--green)}
.lead{font-size:18px;color:var(--ink-soft);line-height:1.55}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;font-size:14px;font-weight:500;letter-spacing:.02em;border-radius:100px;transition:all .35s var(--e1);cursor:pointer;border:1px solid transparent}
.btn-primary{background:var(--navy);color:#fff}
.btn-primary:hover{background:var(--green);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.btn-outline{border:1px solid var(--line);background:transparent;color:var(--navy)}
.btn-outline:hover{border-color:var(--navy);background:var(--navy);color:#fff}
.arrow{transition:transform .3s var(--e1)}
.btn:hover .arrow{transform:translateX(4px)}

/* ───── HEADER ───── */
.topbar{background:var(--navy);color:rgba(255,255,255,.85);font-size:12.5px;letter-spacing:.02em;position:relative;z-index:50}
.topbar .row{display:flex;align-items:center;justify-content:space-between;height:42px}
.topbar a{display:inline-flex;align-items:center;gap:8px;color:inherit;transition:color .2s}
.topbar a:hover{color:var(--green)}
.topbar .group{display:flex;align-items:center;gap:30px}
.topbar .dot{width:6px;height:6px;border-radius:50%;background:var(--green);display:inline-block;animation:pulse 2.4s infinite ease-in-out}
.topbar svg{width:13px;height:13px}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}
.header{position:sticky;top:0;z-index:49;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--line)}
.header .row{display:flex;align-items:center;justify-content:space-between;height:84px;gap:20px}
.logo{display:flex;align-items:center;gap:14px}
.logo img{height:48px;width:auto}
.logo .logo-tag{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--green-deep);font-weight:700;padding-left:14px;border-left:1px solid var(--line);line-height:1.2;white-space:nowrap}
nav.main{display:flex;gap:32px}
nav.main a{font-size:14px;font-weight:500;color:var(--ink-soft);transition:color .25s}
nav.main a:hover{color:var(--navy)}
.header .cta-wrap{display:flex;align-items:center;gap:12px}
.nav-toggle{display:none;width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;color:var(--navy);background:transparent;border:0}
.nav-toggle svg{width:22px;height:22px}

/* ───── SUB-HEADER STRIP ───── */
.subhead{background:#fff;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.subhead::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--green) 50%,transparent 100%);opacity:.5}
.subhead .row{display:flex;align-items:center;justify-content:space-between;padding:18px 0;gap:24px;flex-wrap:wrap}
.subhead .label{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--green-deep);font-weight:700;display:flex;align-items:center;gap:10px;white-space:nowrap}
.subhead .label::before{content:"";display:block;width:22px;height:1px;background:var(--green)}
.subhead .tags{display:flex;flex-wrap:wrap;gap:8px}
.subhead .tag{display:inline-flex;align-items:center;padding:7px 14px;border:1px solid var(--line);border-radius:100px;font-size:12.5px;color:var(--ink-soft);font-weight:500;letter-spacing:.01em;transition:all .25s var(--e1);background:#fff}
.subhead .tag:hover{border-color:var(--green);color:var(--navy);box-shadow:var(--shadow-sm)}

/* ───── KONTAKT-FORM ───── */
.contact form{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px}
.contact form .full{grid-column:1/-1}
.contact label{display:block;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:10px}
.contact input,.contact textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.18);color:#fff;font-family:inherit;font-size:15px;padding:10px 0 14px;transition:border-color .3s}
.contact input::placeholder,.contact textarea::placeholder{color:rgba(255,255,255,.3)}
.contact input:focus,.contact textarea:focus{outline:0;border-bottom-color:var(--green)}
.contact textarea{min-height:88px;resize:vertical}
.contact .submit-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-top:8px;flex-wrap:wrap}
.contact .submit-row .note{font-size:12.5px;color:rgba(255,255,255,.5);letter-spacing:.02em}
.contact .btn-gold{background:var(--green);color:#fff;font-weight:600;padding:14px 28px;border-radius:100px;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:10px;font-size:14px;letter-spacing:.02em;transition:all .35s var(--e1)}
.contact .btn-gold:hover{background:var(--green-deep);transform:translateY(-1px);box-shadow:0 14px 32px -10px rgba(134,186,64,.4)}

/* ───── WERTE-KREIS — Interactive 5-Segment Widget ───── */
.values{background:var(--paper);padding:130px 0}
.values .vc-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:80px;align-items:center}
.vc{position:relative;width:100%;max-width:480px;margin:0 auto;aspect-ratio:1}
.vc-svg{width:100%;height:auto;display:block;overflow:visible}
.vc .outer-ring{fill:none;stroke:var(--line);stroke-width:1;opacity:.6}
.vc .seg{fill:#fff;stroke:var(--paper);stroke-width:3;cursor:pointer;transition:fill .4s var(--e1);transform-origin:200px 200px}
.vc .seg:hover{fill:var(--paper-2)}
.vc .seg.active{fill:var(--green)}
.vc .seg-lbl{font-family:"Inter",sans-serif;font-size:12px;font-weight:700;text-anchor:middle;dominant-baseline:middle;fill:var(--navy);pointer-events:none;letter-spacing:.16em;text-transform:uppercase;transition:fill .3s,font-weight .3s}
.vc .seg-lbl.active{fill:#fff;font-weight:800}
.vc-center{fill:#fff;stroke:var(--line);stroke-width:1;filter:drop-shadow(0 8px 24px rgba(10,31,61,.12))}
.vc-ring{fill:none;stroke:var(--green);stroke-width:1;opacity:.25}
.vc-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:110px;height:auto;pointer-events:none;z-index:2}
.vc-desc{position:relative;min-height:280px}
.vc-desc .desc-item{position:absolute;inset:0;opacity:0;transform:translateY(10px);transition:opacity .45s var(--e1),transform .45s var(--e1);pointer-events:none}
.vc-desc .desc-item.active{opacity:1;transform:none;pointer-events:auto}
.vc-desc .desc-item .lbl{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--green-deep);font-weight:700;display:flex;align-items:center;gap:10px}
.vc-desc .desc-item .lbl::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--green)}
.vc-desc .desc-item h3{font-size:48px;font-weight:300;color:var(--navy);letter-spacing:-.04em;line-height:1.02;margin:18px 0 22px}
.vc-desc .desc-item p{font-size:17px;color:var(--ink-soft);line-height:1.55;margin:0;max-width:520px}
.vc-hint{margin-top:32px;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600;display:inline-flex;align-items:center;gap:10px}
.vc-hint::before{content:"";width:24px;height:1px;background:currentColor;opacity:.5}
@media (max-width:1100px){
  .values .vc-grid{grid-template-columns:1fr;gap:40px}
  .vc{max-width:380px}
  .vc-desc{min-height:auto;text-align:center}
  .vc-desc .desc-item{position:relative;display:none}
  .vc-desc .desc-item.active{display:block}
  .vc-desc .desc-item .lbl{justify-content:center}
  .vc-desc .desc-item h3{font-size:36px}
  .vc-desc .desc-item p{margin-left:auto;margin-right:auto}
  .vc-hint{margin-left:auto;margin-right:auto}
}
@media (max-width:680px){
  .vc{max-width:300px}
  .vc-desc .desc-item h3{font-size:30px}
  .vc-desc .desc-item p{font-size:15.5px}
  .vc .seg-lbl{font-size:10.5px;letter-spacing:.12em}
  .vc-logo{width:64px}
}

/* ───── TRUST-BAR direkt unter Hero ───── */
.trust-bar{background:#fff;padding:36px 0;border-bottom:1px solid var(--line);position:relative}
.trust-bar::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--green) 50%,transparent 100%);opacity:.55}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.trust-grid .t-item{display:flex;align-items:center;gap:14px;padding:18px 22px;background:#fff;border:1px solid var(--line);border-radius:2px;transition:all .35s var(--e1);font-size:14px;color:var(--ink-soft);line-height:1.45}
.trust-grid .t-item:hover{border-color:var(--green);box-shadow:var(--shadow-sm);transform:translateY(-2px)}
.trust-grid .t-item svg{width:22px;height:22px;color:var(--green-deep);flex-shrink:0}
.trust-grid .t-item strong{color:var(--navy);font-weight:600;display:block;margin-bottom:2px;font-size:14px}
.trust-grid .t-item span{flex:1}
@media (max-width:980px){.trust-grid{grid-template-columns:1fr;gap:10px}.trust-bar{padding:24px 0}}

/* ───── FOOTER-BRAND (Icon + Label statt voller Tagline) ───── */
.footer-brand{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.footer-brand .ico{width:54px;height:54px;background:#fff;border-radius:6px;padding:8px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.footer-brand .ico img{height:100%;width:auto;display:block;opacity:1}
.footer-brand .name{display:flex;flex-direction:column;gap:2px;line-height:1.1}
.footer-brand .name .n1{color:#fff;font-size:18px;font-weight:600;letter-spacing:-.01em}
.footer-brand .name .n2{color:var(--green);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;font-weight:700}

/* ───── HERO ───── */
.hero{background:var(--paper);padding:90px 0 0;overflow:hidden;position:relative}
.hero-content{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;padding-bottom:120px;align-items:center}
.hero .pill{display:inline-flex;align-items:center;gap:10px;padding:9px 18px;border-radius:100px;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:500;letter-spacing:.05em;color:var(--ink-soft);margin-bottom:24px}
.hero .pill::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green)}
.hero h1{margin:0 0 24px;letter-spacing:-.035em}
.hero h1 em{font-family:'Fraunces',serif;font-style:italic;font-weight:300;color:var(--blue);letter-spacing:-.01em}
.hero .lead{margin-bottom:32px;max-width:520px;font-size:19px}
.hero .ctas{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.hero-image{position:relative;aspect-ratio:5/6;border-radius:2px;overflow:hidden;background:#142a4d;box-shadow:var(--shadow-lg)}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .9s cubic-bezier(.4,0,.2,1);z-index:1}
.hero-slide.is-active{opacity:1;z-index:2}
.hero-slide > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.hero-slide::after{content:"";position:absolute;inset:0;background:radial-gradient(420px 280px at 30% 20%,rgba(255,255,255,.18),transparent 50%),linear-gradient(180deg,transparent 55%,rgba(0,0,0,.45));z-index:2;pointer-events:none}
.hero-slide .label{position:absolute;left:24px;bottom:24px;color:#fff;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;z-index:3;display:flex;align-items:center;gap:10px;opacity:0;transform:translateY(8px);transition:all .6s .3s cubic-bezier(.4,0,.2,1)}
.hero-slide .label::before{content:"";display:block;width:18px;height:1px;background:var(--green);opacity:.95}
.hero-slide.is-active .label{opacity:1;transform:translateY(0)}
.hero-dots{position:absolute;right:22px;bottom:24px;z-index:5;display:flex;gap:8px}
.hero-dot{width:24px;height:3px;border-radius:2px;background:rgba(255,255,255,.4);transition:all .3s;border:0;cursor:pointer;padding:0}
.hero-dot.is-active{background:var(--green);width:36px}

/* ───── INTRO ───── */
.intro{background:var(--paper);padding:0 0 120px;position:relative}
.intro .container{max-width:1100px}
.intro-head{max-width:880px;margin:0 auto 64px;text-align:center}
.intro-head h2{margin-bottom:28px}
.intro-head p.lead{font-size:20px;color:var(--ink);max-width:760px;margin:0 auto;line-height:1.55}
/* Stats-Reihe */
.intro-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;max-width:780px;margin:0 auto 56px;padding:38px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}
.intro-stats::before{content:"";position:absolute;left:50%;top:-1px;transform:translateX(-50%);width:60px;height:2px;background:linear-gradient(90deg,var(--green) 0%,var(--green-deep) 100%)}
.i-stat{text-align:center}
.i-stat .num{font-size:42px;font-weight:300;color:var(--navy);letter-spacing:-.025em;line-height:1;margin-bottom:10px;background:linear-gradient(135deg,var(--green) 0%,var(--green-deep) 50%,var(--blue) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.i-stat .num small{font-size:.5em;font-weight:400;vertical-align:super;margin-left:2px}
.i-stat .lbl{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}
/* Trust-Marker */
.intro-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:1000px;margin:0 auto}
.t-item{display:flex;align-items:center;gap:14px;font-size:14.5px;color:var(--ink-soft);line-height:1.4;padding:18px 22px;background:#fff;border:1px solid var(--line);border-radius:2px;transition:all .35s var(--e1)}
.t-item:hover{border-color:var(--green);box-shadow:var(--shadow-sm);transform:translateY(-2px)}
.t-item svg{width:22px;height:22px;color:var(--green-deep);flex-shrink:0}
.t-item strong{color:var(--navy);font-weight:600;display:block;margin-bottom:2px;font-size:14px}
.t-item span{flex:1}
@media (max-width:980px){
  .intro-stats{grid-template-columns:repeat(2,1fr);gap:32px;padding:32px 0}
  .intro-trust{grid-template-columns:1fr;gap:14px}
}
@media (max-width:680px){
  .intro-head{margin-bottom:48px}
  .intro-stats{grid-template-columns:repeat(2,1fr);gap:24px}
  .i-stat .num{font-size:36px}
  .t-item{padding:14px 18px;font-size:13.5px}
}

/* ───── VERBUND — interdisziplinär ───── */
.verbund{background:#fff;position:relative;overflow:hidden}
.verbund::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--green) 50%,transparent 100%);opacity:.5}
.verbund .head{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:end;margin-bottom:56px}
.verbund .head p{margin:0;font-size:18px;color:var(--ink-soft);max-width:480px;line-height:1.55}
.verb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.verb{background:var(--paper);border:1px solid var(--line);border-radius:2px;padding:32px 28px;transition:all .4s var(--e1);position:relative}
.verb.lead-disc{background:var(--navy);color:#fff;border-color:transparent}
.verb.lead-disc::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--green),var(--green))}
.verb:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.verb .badge{display:inline-block;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--green-deep);margin-bottom:14px;padding:3px 8px;border:1px solid var(--green);border-radius:100px}
.verb.lead-disc .badge{color:var(--green);border-color:var(--green)}
.verb .num{display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--green-deep);font-weight:700;margin-bottom:14px}
.verb.lead-disc .num{color:rgba(255,255,255,.5)}
.verb .ico{width:40px;height:40px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:20px;border:1px solid var(--line)}
.verb.lead-disc .ico{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15)}
.verb .ico svg{width:18px;height:18px;color:var(--navy)}
.verb.lead-disc .ico svg{color:var(--green)}
.verb h4{font-size:18px;font-weight:500;color:var(--navy);margin-bottom:10px;letter-spacing:-.015em}
.verb.lead-disc h4{color:#fff}
.verb p{font-size:13.5px;line-height:1.55;color:var(--ink-soft);margin:0}
.verb.lead-disc p{color:rgba(255,255,255,.72)}
.verb-bridge{margin-top:48px;background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--green);border-radius:2px;padding:28px 36px;display:flex;align-items:center;gap:24px}
.verb-bridge .ico{width:48px;height:48px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--green-deep);border:1px solid var(--line)}
.verb-bridge .ico svg{width:22px;height:22px}
.verb-bridge p{margin:0;font-size:15.5px;color:var(--ink-soft);line-height:1.55}
.verb-bridge strong{color:var(--navy);font-weight:600;display:block;margin-bottom:4px;font-size:15px}

/* ───── IMPRESSIONEN ───── */
.impressions{background:var(--paper);padding:130px 0}
.impressions .head-row{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:end;margin-bottom:56px}
.impressions .head-row p{margin:0;font-size:18px;color:var(--ink-soft);max-width:480px;line-height:1.55}
.imp-slider-wrap{position:relative;margin:0 calc(var(--gutter) * -1)}
.imp-slider{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x proximity;padding:0 var(--gutter) 18px;scrollbar-width:none;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;cursor:grab}
.imp-slider:active{cursor:grabbing}
.imp-slider::-webkit-scrollbar{display:none}
.imp-slide{flex:0 0 calc((100vw - 80px) / 3.6);max-width:380px;min-width:260px;scroll-snap-align:start;position:relative;border-radius:2px;overflow:hidden;box-shadow:var(--shadow-sm)}
.imp-slide .img{position:relative;aspect-ratio:4/5;background:#142a4d;overflow:hidden}
.imp-slide .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--e1)}
.imp-slide:hover .img img{transform:scale(1.04)}
.imp-slide .img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(10,31,61,.55));z-index:2;pointer-events:none}
.imp-slide .cap{position:absolute;left:18px;bottom:16px;z-index:3;color:#fff;display:flex;flex-direction:column;gap:4px}
.imp-slide .cap .lab{font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;display:flex;align-items:center;gap:8px;opacity:.95}
.imp-slide .cap .lab::before{content:"";display:block;width:12px;height:1px;background:#fff;opacity:.7}
.imp-slide .cap .ttl{font-size:14.5px;font-weight:500;letter-spacing:-.01em}
.ctrls{display:flex;gap:10px;justify-content:flex-end;margin-top:24px;padding:0 var(--gutter)}
.ctrl{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .35s var(--e1)}
.ctrl:hover{background:var(--navy);color:#fff;border-color:var(--navy);transform:translateY(-2px)}
.ctrl svg{width:18px;height:18px}

/* ───── RECHTSGEBIETE ───── */
.gebiete{background:#fff}
.gebiete .head{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:end;margin-bottom:56px}
.gebiete .head p{margin:0;font-size:18px;color:var(--ink-soft);max-width:480px}
.gb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.gb{background:#fff;border:1px solid var(--line);border-radius:2px;padding:36px 32px;transition:all .4s var(--e1);position:relative;display:flex;flex-direction:column;height:100%}
.gb:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px);border-color:transparent}
.gb p{flex:1}
.gb details{margin-top:auto}
.gb .num{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--green-deep);margin-bottom:18px}
.gb .ico{width:48px;height:48px;border-radius:50%;background:var(--paper);display:flex;align-items:center;justify-content:center;margin-bottom:24px}
.gb .ico svg{width:22px;height:22px;color:var(--navy)}
.gb h3{margin-bottom:14px;color:var(--navy)}
.gb p{font-size:14.5px;line-height:1.55;color:var(--ink-soft);margin-bottom:18px}
.gb details{border-top:1px solid var(--line);padding-top:14px;margin-top:18px}
.gb details summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--navy);list-style:none;padding:4px 0}
.gb details summary::-webkit-details-marker{display:none}
.gb details summary::after{content:"+";color:var(--green-deep);font-weight:300;font-size:26px;line-height:1;transition:transform .3s var(--e1)}
.gb details[open] summary::after{transform:rotate(45deg);color:var(--green)}
.gb details summary:hover{color:var(--green-deep)}
.gb details .det-body{padding-top:14px;font-size:14px;line-height:1.6;color:var(--ink-soft)}
.gb details .det-body ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.gb details .det-body li{position:relative;padding-left:18px;font-size:13.5px;color:var(--ink-soft);line-height:1.5}
.gb details .det-body li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;background:var(--green);border-radius:50%}
.gb .anspr{display:flex;align-items:center;gap:10px;padding-top:18px;border-top:1px solid var(--line)}
.gb .anspr .av{width:32px;height:32px;border-radius:50%;background:var(--paper-2);overflow:hidden;flex-shrink:0;position:relative}
.gb .anspr .av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gb .anspr .nm{font-size:12px;color:var(--ink-soft);line-height:1.3}
.gb .anspr .nm strong{display:block;color:var(--navy);font-weight:600;font-size:13px}

/* ───── TESTIMONIAL — Hermann ───── */
.testi{background:var(--paper);padding:120px 0;position:relative;overflow:hidden}
.testi::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--green) 50%,transparent 100%);opacity:.5}
.testi-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
.testi-photo{position:relative;aspect-ratio:4/5;border-radius:2px;overflow:hidden;background:#142a4d;box-shadow:var(--shadow-lg);max-width:440px}
.testi-photo > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1}
.testi-photo::after{content:"";position:absolute;inset:0;background:radial-gradient(420px 280px at 30% 20%,rgba(255,255,255,.18),transparent 50%),linear-gradient(180deg,transparent 55%,rgba(0,0,0,.45));z-index:2;pointer-events:none}
.testi-photo .label{position:absolute;left:24px;bottom:24px;color:#fff;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;z-index:3;display:flex;align-items:center;gap:10px}
.testi-photo .label::before{content:"";display:block;width:18px;height:1px;background:var(--green);opacity:.95}
.testi-body{max-width:580px}
.testi-body .eyebrow{margin-bottom:24px;color:var(--green-deep)}
.testi-body .eyebrow::before{background:var(--green)}
.testi-body .quote{font-family:'Fraunces',serif;font-style:italic;font-weight:300;font-size:clamp(26px,2.6vw,38px);line-height:1.35;color:var(--navy);letter-spacing:-.02em;margin:0 0 36px;position:relative;padding-left:32px}
.testi-body .quote::before{content:"";position:absolute;left:0;top:14px;width:18px;height:2px;background:linear-gradient(90deg,var(--green),var(--green-deep))}
.testi-body .attr{display:flex;align-items:center;gap:16px}
.testi-body .attr .av{width:54px;height:54px;border-radius:50%;background:var(--paper-2);overflow:hidden;flex-shrink:0;position:relative;border:2px solid var(--green)}
.testi-body .attr .av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.testi-body .attr .nm{display:flex;flex-direction:column;gap:2px}
.testi-body .attr .nm strong{color:var(--navy);font-size:16px;font-weight:600;letter-spacing:-.01em}
.testi-body .attr .nm span{font-size:12.5px;letter-spacing:.04em;color:var(--ink-soft)}

/* ───── ZWANGSVOLLSTRECKUNG SPOTLIGHT ───── */
.zv-spotlight{background:linear-gradient(180deg,var(--navy) 0%,var(--navy-2) 100%);color:#fff;position:relative;overflow:hidden}
.zv-spotlight::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 400px at 80% 20%,rgba(134,186,64,.12),transparent 60%),radial-gradient(600px 300px at 10% 90%,rgba(0,126,194,.08),transparent 60%);pointer-events:none}
.zv-spotlight .container{position:relative}
.zv-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:start}
.zv-spotlight .eyebrow{color:var(--green)}
.zv-spotlight .eyebrow::before{background:var(--green)}
.zv-spotlight h2{color:#fff;margin:24px 0 16px;letter-spacing:-.028em}
.zv-spotlight h2 em{color:var(--green);background:linear-gradient(180deg,#aed27e 0%,var(--green) 50%,var(--green) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.zv-spotlight .eyebrow{color:var(--green)}
.zv-spotlight .eyebrow::before{background:var(--green)}
.zv-spotlight::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--green) 50%,transparent 100%);opacity:.55}
.zv-card .quote-attr{color:var(--green)}
.zv-card .meta a{color:var(--green)}
.zv-spotlight .lead{color:rgba(255,255,255,.86);font-size:19px;font-family:'Fraunces',serif;font-style:italic;margin-bottom:36px;font-weight:300;font-size:24px}
.zv-spotlight p{color:rgba(255,255,255,.78);font-size:15.5px;line-height:1.7}
.zv-cols{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:36px}
.zv-cols h4{color:#fff;font-size:14px;font-weight:600;letter-spacing:.04em;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.16)}
.zv-cols ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.zv-cols li{color:rgba(255,255,255,.78);font-size:14.5px;line-height:1.5;padding-left:18px;position:relative}
.zv-cols li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;background:var(--green)}
.zv-cols li.sub{padding-left:32px;font-size:13.5px;color:rgba(255,255,255,.65)}
.zv-cols li.sub::before{content:"✓";background:transparent;color:var(--green);font-size:11px;top:0;left:14px;border-radius:0;width:auto;height:auto;font-weight:700}
.zv-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:2px;padding:40px 32px;backdrop-filter:blur(8px)}
.zv-card .quote{font-family:'Fraunces',serif;font-style:italic;font-size:22px;color:#fff;font-weight:300;line-height:1.4;margin-bottom:24px}
.zv-card .quote-attr{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--green);font-weight:600}
.zv-card hr{border:0;height:1px;background:rgba(255,255,255,.1);margin:32px 0}
.zv-card .meta{display:flex;flex-direction:column;gap:10px;font-size:14px;color:rgba(255,255,255,.78)}
.zv-card .meta strong{color:#fff;font-weight:500}
.zv-card .meta a{color:var(--green);font-weight:500}

/* ───── PARTNER ───── */
.partner-section{background:var(--paper)}
.partner-section .section-head{margin-bottom:56px;max-width:780px}
.partner-section h2{margin-bottom:18px}
.partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.partner{background:#fff;border:1px solid var(--line);border-radius:2px;overflow:hidden;transition:all .4s var(--e1);display:flex;flex-direction:column}
.partner:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px);border-color:transparent}
.partner .photo{position:relative;aspect-ratio:4/5;overflow:hidden;background:#142a4d}
.partner .photo > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1;transition:transform .6s var(--e1)}
.partner:hover .photo > img{transform:scale(1.04)}
.partner .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(10,31,61,.55));z-index:2;pointer-events:none}
.partner .photo .badge{position:absolute;left:18px;bottom:16px;color:#fff;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;z-index:3;display:flex;align-items:center;gap:8px}
.partner .photo .badge::before{content:"";display:block;width:14px;height:1px;background:#fff;opacity:.6}
.partner .info{padding:28px 28px 32px}
.partner .role{display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--green-deep);font-weight:700;margin-bottom:8px}
.partner h4{font-size:24px;margin:0 0 10px;color:var(--navy);font-weight:500;letter-spacing:-.025em}
.partner .pos{font-size:14px;color:var(--ink-soft);line-height:1.55;margin:0}

/* ───── TEAM ───── */
.team{background:#fff;padding:130px 0}
.team .head-row{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:end;margin-bottom:60px}
.team .head-row p{margin:0;font-size:18px;color:var(--ink-soft);max-width:480px;line-height:1.55}
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;max-width:920px}
.tm{background:#fff;border:1px solid var(--line);border-radius:2px;overflow:hidden;display:grid;grid-template-columns:auto 1fr;transition:all .4s var(--e1)}
.tm:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:transparent}
.tm .photo{position:relative;width:180px;aspect-ratio:4/5;overflow:hidden;background:#142a4d}
.tm .photo > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1}
.tm .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(10,31,61,.4));z-index:2;pointer-events:none}
.tm .info{padding:28px 28px}
.tm .role{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--green-deep);font-weight:700;margin-bottom:8px}
.tm h4{font-size:22px;color:var(--navy);font-weight:500;letter-spacing:-.025em;margin-bottom:8px}
.tm .pos{font-size:13.5px;color:var(--ink-soft);line-height:1.55;margin:0 0 14px}
.tm .focus{font-size:13px;color:var(--ink-soft);line-height:1.5;padding-top:14px;border-top:1px solid var(--line)}
.tm .focus strong{display:block;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--navy);font-weight:700;margin-bottom:6px}

/* ───── KONTAKT ───── */
.contact{background:#007ec2;color:#fff;padding:130px 0 90px;position:relative;overflow:hidden}
.contact::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 400px at 80% 20%,rgba(134,186,64,.12),transparent 60%),radial-gradient(600px 300px at 10% 90%,rgba(0,126,194,.08),transparent 60%);pointer-events:none}
.contact .container{position:relative}
.contact .grid{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:start}
.contact .eyebrow{color:var(--green)}
.contact .eyebrow::before{background:var(--green)}
.contact h2{color:#fff;margin:24px 0 24px}
.contact h2 em{color:var(--green)}
.contact .lead{color:rgba(255,255,255,.86);font-size:18px;margin-bottom:32px;max-width:480px}
.contact-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:2px;padding:36px}
.contact-card .who{display:flex;align-items:center;gap:18px;margin-bottom:24px}
.contact-card .who .av{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.06);overflow:hidden;flex-shrink:0;position:relative}
.contact-card .who .av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.contact-card .who .nm{flex:1}
.contact-card .who .nm strong{display:block;color:#fff;font-size:18px;font-weight:500}
.contact-card .who .nm span{font-size:12.5px;color:rgba(255,255,255,.65);letter-spacing:.04em}
.contact-card .links{display:flex;flex-direction:column;gap:10px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}
.contact-card .links a{display:inline-flex;align-items:center;gap:12px;color:#fff;font-size:15px;font-weight:500;padding:10px 0;transition:color .2s}
.contact-card .links a:hover{color:var(--green)}
.contact-card .links a svg{width:18px;height:18px;color:var(--green)}
.contact-card .addr{padding-top:20px;margin-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:13.5px;color:rgba(255,255,255,.75);line-height:1.6}
.contact-card .addr strong{color:#fff;font-weight:500}

/* ───── LHP-Verbund-Strip (pre-footer) ───── */
.verbund-strip{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:48px 0;position:relative}
.verbund-strip::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--green) 0%,var(--green-deep) 100%);opacity:.9}
.verbund-strip .row{display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap}
.verbund-strip .vs-lead{flex:1;min-width:280px}
.verbund-strip .vs-lead .lbl{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--green-deep);font-weight:700;display:flex;align-items:center;gap:10px;margin-bottom:10px}
.verbund-strip .vs-lead .lbl::before{content:"";display:block;width:22px;height:1px;background:var(--green)}
.verbund-strip .vs-lead h3{font-size:24px;color:var(--navy);font-weight:400;letter-spacing:-.02em;margin:0 0 8px}
.verbund-strip .vs-lead p{font-size:14.5px;color:var(--ink-soft);margin:0;max-width:580px;line-height:1.55}
.verbund-strip .vs-links{display:flex;gap:10px;flex-wrap:wrap}
.verbund-strip .vs-link{display:inline-flex;align-items:center;gap:10px;padding:12px 22px;background:#fff;border:1px solid var(--line);border-radius:100px;font-size:13.5px;font-weight:500;color:var(--navy);transition:all .25s var(--e1)}
.verbund-strip .vs-link:hover{border-color:var(--green);background:var(--navy);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.verbund-strip .vs-link svg{width:14px;height:14px;color:var(--green)}
.verbund-strip .vs-link:hover svg{color:var(--green)}

/* ───── FOOTER & IMPRESSUM ───── */
footer{background:#007ec2;color:rgba(255,255,255,.85);padding:60px 0 32px;font-size:13.5px;letter-spacing:.02em}
footer .grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.22)}
footer .col h5{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#fff;font-weight:600;margin:0 0 18px}
footer .col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px}
footer .col a{color:rgba(255,255,255,.6);transition:color .2s}
footer .col a:hover{color:#fff}
footer .brand{display:flex;flex-direction:column;gap:18px;max-width:380px}
footer .brand img{height:42px;opacity:.95}
footer .brand p{font-size:14px;color:rgba(255,255,255,.88);line-height:1.65;margin:0}
footer .bottom{display:flex;align-items:center;justify-content:space-between;padding-top:28px;flex-wrap:wrap;gap:18px}
footer .bottom .links{display:flex;gap:24px}

.imprint{background:#007ec2;color:rgba(255,255,255,.88);padding:60px 0;font-size:13px;line-height:1.65;border-top:1px solid rgba(255,255,255,.06)}
.imprint .container{max-width:920px}
.imprint h3{color:#fff;font-size:18px;font-weight:500;margin:0 0 18px}
.imprint h4{color:#fff;font-size:13px;font-weight:600;letter-spacing:.04em;margin:24px 0 8px}
.imprint p{color:rgba(255,255,255,.55);margin:0 0 12px}
.imprint a{color:var(--green)}
.imprint .blk{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.imprint .blk:last-child{border-bottom:0}

/* ───── RESPONSIVE ───── */
@media (max-width:1100px){
  section{padding:90px 0}
  .hero-content{grid-template-columns:1fr;gap:48px;padding-bottom:80px}
  .hero-image{aspect-ratio:16/10;max-width:600px;margin:0 auto}
  .gebiete .head{grid-template-columns:1fr;gap:24px}
  .gb-grid{grid-template-columns:1fr 1fr}
  .verbund .head,.impressions .head-row{grid-template-columns:1fr;gap:24px}
  .verbund-strip .row{flex-direction:column;align-items:flex-start;gap:24px}
  .testi-wrap{grid-template-columns:1fr;gap:48px;max-width:560px;margin:0 auto}
  .testi-photo{max-width:520px;aspect-ratio:5/4}
  .verb-grid{grid-template-columns:1fr 1fr}
  .verb-bridge{flex-direction:column;align-items:flex-start;text-align:left;padding:24px 28px}
  .imp-slide{flex:0 0 calc((100vw - 80px) / 2.2)}
  .zv-grid{grid-template-columns:1fr;gap:48px}
  .partner-grid{grid-template-columns:1fr 1fr}
  .team .head-row{grid-template-columns:1fr;gap:24px}
  .contact .grid{grid-template-columns:1fr;gap:48px}
  nav.main{display:none}
  .nav-toggle{display:inline-flex}
}
@media (max-width:780px){
  input,textarea,select{font-size:16px !important}
  a.btn,button,.cta{min-height:44px}
  *:hover{transition-duration:.001s}
  .team-grid{grid-template-columns:1fr}
  .tm{grid-template-columns:1fr}
  .tm .photo{width:100%;aspect-ratio:16/10}
  .imprint-page .meta-row{grid-template-columns:1fr;gap:4px 0}
  .imprint-page .meta-row .lab{margin-top:6px}
}
@media (max-width:680px){
  :root{--gutter:18px}
  section{padding:64px 0}
  .container,.container-wide{padding:0 var(--gutter);max-width:100vw}
  .topbar{display:none}
  .header .row{padding:0 16px;height:64px}
  .logo img{height:38px}
  .logo .logo-tag{display:none}
  .hero{padding:32px 0 0}
  .hero h1{font-size:36px;letter-spacing:-.035em}
  .hero .lead{font-size:16px}
  .hero .ctas{flex-direction:column;align-items:stretch}
  .btn{justify-content:center;padding:14px 22px}
  h2{font-size:30px;letter-spacing:-.03em}
  .gb-grid,.partner-grid,.verb-grid{grid-template-columns:1fr;gap:18px}
  .imp-slide{flex:0 0 calc(100vw - 60px);max-width:none}
  .subhead .row{flex-direction:column;align-items:flex-start;padding:14px 0;gap:12px}
  .subhead .tag{font-size:11.5px;padding:6px 12px}
  .contact form{grid-template-columns:1fr;gap:14px}
  .contact .submit-row{flex-direction:column;align-items:stretch}
  .contact .btn-gold{justify-content:center;width:100%}
  .zv-cols{grid-template-columns:1fr;gap:24px}
  .zv-card{padding:28px 22px}
  footer{padding:48px 0 24px}
  footer .container{padding:0 20px}
  footer .grid{grid-template-columns:1fr;gap:28px;padding-bottom:28px}
  footer .bottom{flex-direction:column;align-items:flex-start;gap:14px;padding-top:20px}
  footer .bottom .links{flex-wrap:wrap;gap:14px 22px}
  .imprint{padding:48px 0}
  .imprint .container{padding:0 20px}
  .contact-card{padding:24px}
  .hero-strip{padding:48px 0 32px}
  .imprint-page{padding:48px 0 64px}
  .imprint-page h2{font-size:20px}
}
@media (max-width:380px){
  .hero h1{font-size:32px}
  h2{font-size:26px}
  footer .container{padding:0 16px}
}

/* Reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--e1),transform .9s var(--e1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001s !important;transition-duration:.001s !important}
  .reveal{opacity:1;transform:none}
}

/* ── LHP Brand-Akzente (Grün/Blau, dezent) ───────────────────────────────── */
details summary::after{transition:color .3s ease}
details[open] summary::after{color:var(--green-deep)}
.subhead .label{color:var(--green-deep) !important}
.subhead .label::before{background:var(--green) !important}
.subhead::after{background:linear-gradient(90deg,transparent 0%,var(--green) 50%,transparent 100%) !important}
.subhead .tag:hover{border-color:var(--green) !important;color:var(--navy) !important}

/* Pillars/Verbund: Blau und Grün abwechselnd */
.verb:nth-child(2) .ico{color:var(--blue) !important}
.verb:nth-child(3) .ico{color:var(--green-deep) !important}
.verb:nth-child(4) .ico{color:var(--blue-deep,#007ec2) !important}

/* Form-Focus → Brand-Grün */
input:focus,textarea:focus{outline:0;border-bottom-color:var(--green) !important}

/* Body-Links Hover */
.lead a,p a{color:var(--blue);transition:color .2s}
.lead a:hover,p a:hover{color:var(--green-deep)}

/* Disc-Card Hover-Bar */
.gb{position:relative;overflow:hidden}
.gb::after{content:"";position:absolute;left:0;right:0;bottom:0;height:0;background:linear-gradient(90deg,var(--green) 0%,var(--blue) 100%);transition:height .35s var(--e1);z-index:1}
.gb:hover::after{height:3px}

/* Hero-Slider Dots in Grün */
.hero-dot.is-active{background:var(--green) !important;width:36px}

/* Hero-Pill Dot */
.hero .pill::before{background:linear-gradient(135deg,var(--green) 0%,var(--blue) 100%) !important}

/* Testimonial Quote-Markup grün statt gold */
.testi-body .quote::before{background:linear-gradient(90deg,var(--green) 0%,var(--green-deep) 100%) !important}
.testi-body .attr .av{border-color:var(--green) !important}
.testi-photo .label::before{background:var(--green) !important}

/* Zwangsvollstreckung Spotlight */
.zv-spotlight .eyebrow{color:var(--green) !important}
.zv-spotlight .eyebrow::before{background:var(--green) !important}
.zv-spotlight h2 em{background:linear-gradient(180deg,#aed27e 0%,var(--green) 50%,var(--green-deep) 100%) !important;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.zv-spotlight::after{background:linear-gradient(90deg,transparent 0%,var(--green) 50%,transparent 100%) !important}
.zv-card .quote-attr{color:var(--green) !important}
.zv-card .meta a{color:var(--green) !important}

/* Verbund-Strip Bottom */
.verbund-strip{border-top:1px solid var(--line)}
.verbund-strip::before{background:linear-gradient(90deg,var(--green) 0%,var(--green-deep) 100%) !important;opacity:.9}

/* HERO STRIP (Impressum) */
.hero-strip{background:var(--paper);padding:80px 0 60px;border-bottom:1px solid var(--line);position:relative}
.hero-strip::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent 0%,var(--green) 50%,transparent 100%);opacity:.45}
.hero-strip .crumbs{font-size:12.5px;letter-spacing:.08em;color:var(--muted);margin-bottom:18px;display:flex;align-items:center;gap:10px}
.hero-strip .crumbs a{color:var(--ink-soft);transition:color .2s}
.hero-strip .crumbs a:hover{color:var(--navy)}
.hero-strip .crumbs span{color:var(--line)}
.hero-strip .lead{color:var(--ink-soft);font-size:17px;max-width:680px;margin:0}

/* IMPRESSUM CONTENT */
.imprint-page{padding:80px 0 120px;background:#fff}
.imprint-page .container{max-width:880px}
.imprint-page h2{font-size:22px;font-weight:500;color:var(--navy);margin:48px 0 14px;letter-spacing:-.015em;padding-top:32px;border-top:1px solid var(--line);position:relative}
.imprint-page h2:first-of-type{margin-top:0;padding-top:0;border-top:0}
.imprint-page h2::before{content:"";position:absolute;left:0;top:32px;width:32px;height:2px;background:var(--green)}
.imprint-page h2:first-of-type::before{top:0}
.imprint-page h3{font-size:14.5px;font-weight:600;color:var(--navy);letter-spacing:.02em;margin:28px 0 10px;text-transform:none}
.imprint-page p{margin:0 0 14px;color:var(--ink-soft);font-size:15px;line-height:1.7}
.imprint-page p strong{color:var(--navy);font-weight:500}
.imprint-page a{color:var(--blue);transition:color .2s;font-weight:500}
.imprint-page a:hover{color:var(--green-deep)}
.imprint-page ol,.imprint-page ul{padding-left:22px;margin:0 0 14px}
.imprint-page li{color:var(--ink-soft);font-size:15px;line-height:1.7;margin-bottom:6px}
.imprint-page .partners{display:flex;flex-direction:column;gap:6px;margin:0 0 18px}
.imprint-page .meta-row{display:grid;grid-template-columns:200px 1fr;gap:8px 24px;margin:14px 0;font-size:15px;line-height:1.6;color:var(--ink-soft)}
.imprint-page .meta-row .lab{color:var(--navy);font-weight:500}
.imprint-page .gold-rule{display:block;width:60px;height:2px;background:linear-gradient(90deg,var(--green) 0%,var(--green-deep) 100%);margin:0 0 12px;border:0}

/* Impressum gold-rule → grün */
.imprint-page .gold-rule{background:linear-gradient(90deg,var(--green) 0%,var(--green-deep) 100%) !important}
.imprint-page h2::before{background:var(--green) !important}
.imprint-page a:hover{color:var(--green-deep) !important}

/* h1/h2 em.gold → grün-Gradient (war evtl. schon ersetzt, hier sicherheitshalber) */
h1 em.gold,h2 em.gold{
  background:linear-gradient(180deg,#aed27e 0%,var(--green) 50%,var(--green-deep) 100%) !important;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}

/* Topbar "Zur Steuerberatung"-Link in Grün */
.topbar a[href*="lhp.de"]{color:var(--green) !important}

/* Verbund-Strip vs-link */
.verbund-strip .vs-link svg{color:var(--green) !important}

/* Add blue-deep var if missing */
:root{--blue-deep:#007ec2}
/* ───────────────────────────────────────────────────────────────────────── */

/* em.gold reset (Gradient-Bug-Fix) */
h1 em.gold,h2 em.gold,h1 em,h2 em.gold,h2 em{
  color:var(--green-deep) !important;
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  -webkit-text-fill-color:currentColor !important;
  font-family:'Fraunces',serif;
  font-style:italic;
  font-weight:300;
}

/* ── DESIGN-HARMONISIERUNG mit LHP-Steuer-Site ───────────────────────────── */

/* Section-Padding wie Steuer */
section{padding:130px 0}

/* Hero — dekorative Gradient-Layer wie Steuer */
.hero{padding:48px 0 0 !important;position:relative;overflow:hidden}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(900px 600px at 92% -8%, rgba(0,126,194,.08), transparent 60%),
    radial-gradient(750px 500px at -8% 105%, rgba(134,186,64,.10), transparent 60%);
  pointer-events:none;z-index:0;
}
.hero-content{position:relative;z-index:1;gap:64px !important;padding-bottom:64px !important}

/* Hero-Pill — kompakter wie Steuer */
.hero .pill{padding:8px 16px;font-size:11.5px;letter-spacing:.04em}

/* Buttons — Primary grün wie auf Steuer */
.btn-primary{background:var(--green) !important;color:#fff !important}
.btn-primary:hover{background:var(--green-deep) !important;box-shadow:0 12px 26px -10px rgba(134,186,64,.45) !important;transform:none !important}
.btn .arrow{display:inline-block;transition:transform .35s var(--e1)}
.btn:hover .arrow{transform:translateX(5px) !important}

/* Form-Submit-Button: nicht mehr "Gold-Style" sondern wie Steuer */
.contact .btn-gold{background:var(--green) !important;color:#fff !important;border-radius:100px;padding:14px 28px;font-weight:500;letter-spacing:.02em}
.contact .btn-gold:hover{background:var(--green-deep) !important;box-shadow:0 12px 26px -10px rgba(134,186,64,.45)}

/* Eyebrow — Style wie Steuer (currentColor-Strich statt fester Grün) */
.eyebrow{color:var(--green-deep);font-size:11.5px;letter-spacing:.22em}
.eyebrow::before{width:30px;background:currentColor !important;opacity:.6}

/* Karten-Hover — sanfter wie Steuer */
.gb,.partner,.kopf,.verb{transition:all .35s var(--e1)}
.gb:hover,.partner:hover,.kopf:hover,.verb:hover{transform:translateY(-4px) !important;box-shadow:var(--shadow-lg)}

/* Subhead-Strip dezenter — wie ein Trust-Strip auf Steuer */
.subhead{background:var(--paper) !important}
.subhead .row{padding:14px 0 !important}
.subhead .label{font-size:10.5px;color:var(--green-deep) !important}
.subhead .tag{font-size:12px;padding:6px 13px;background:#fff;color:var(--ink-soft)}

/* Section-Backgrounds Rhythmus: alterierend paper/white wie Steuer */
.intro{background:var(--paper) !important}
.gebiete{background:#fff !important}
.impressions{background:var(--paper) !important}
.testi{background:#fff !important}
.testi::before{background:linear-gradient(90deg,transparent 0%,var(--green) 50%,transparent 100%) !important;opacity:.4}
.verbund{background:var(--paper) !important}
.partner-section{background:#fff !important}
.team{background:var(--paper) !important}

/* Testimonial — Quote-Akzent wie Statement-Slider auf Steuer */
.testi-body .quote{font-size:clamp(24px,2.4vw,34px) !important}
.testi-body .quote::before{height:3px !important;width:28px !important}

/* ZV-Spotlight — bleibt dunkler Akzent (passend zur Steuer's "personal"-Section) */
.zv-spotlight{padding:130px 0 !important}

/* Verbund-Strip vor Footer — feiner wie auf Steuer */
.verbund-strip{background:var(--paper) !important}
.verbund-strip::before{height:1px !important;opacity:.5}
.verbund-strip .vs-link:hover{background:var(--green) !important;color:#fff !important;border-color:var(--green) !important}
.verbund-strip .vs-link:hover svg{color:#fff !important}

/* Footer — Grid wie Steuer 2fr/1fr/1fr/1fr (schon korrigiert) — Spacing */
footer{padding:80px 0 32px}
footer .grid{gap:48px;padding-bottom:48px}
footer .brand p{font-size:13.5px}
footer .col h5{font-size:11px;letter-spacing:.22em}

/* Header — Auf Mobile Backdrop ggf. weg (Performance) */
@media (max-width:680px){
  .header{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}
  .hero::before{display:none}
}

/* H1/H2 Auszeichnungen — Italic-Akzent wie Steuer (em ohne .gold-Klasse) */
h1 em,h2 em{color:var(--green-deep);font-family:'Fraunces',serif;font-style:italic;font-weight:300;background:none;-webkit-text-fill-color:currentColor}
/* ───────────────────────────────────────────────────────────────────────── */

/* HARTER em-Override — alle background-clip:text Effekte killen */
.zv-spotlight h2 em,
.testi h2 em,
section h2 em,
section h1 em,
h1 em.gold,
h2 em.gold,
h1 em,
h2 em{
  color:var(--green) !important;
  background:transparent !important;
  background-image:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  -webkit-text-fill-color:var(--green) !important;
  font-family:'Fraunces',serif !important;
  font-style:italic !important;
  font-weight:300 !important;
}
.zv-spotlight h2 em{color:#aed27e !important;-webkit-text-fill-color:#aed27e !important}

/* === Intro-Splash (2,5 s Begrüßung) === */
.intro-splash{position:fixed;inset:0;z-index:99999;background:#86ba40;display:flex;align-items:center;justify-content:center;padding:30px;transition:opacity .8s var(--e1),visibility .8s var(--e1)}
.intro-splash .is-grid{display:flex;align-items:center;gap:clamp(30px,5vw,72px);max-width:1000px;width:100%;justify-content:center}
.intro-splash .is-left{display:flex;flex-direction:column;gap:24px;flex:1;min-width:0}
.intro-splash .is-logo-badge{display:inline-flex;align-items:center;gap:14px;align-self:flex-start;background:#fff;border-radius:8px;padding:14px 22px;box-shadow:0 16px 34px -18px rgba(0,0,0,.45);opacity:0;transform:translateY(10px);animation:isIn .8s var(--e1) .1s forwards}
.intro-splash .is-logo-badge img{height:46px;width:auto;display:block}
.intro-splash .is-logo-tag{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#86ba40;font-weight:700;padding-left:14px;border-left:1px solid #e6e3da;line-height:1.2;white-space:nowrap}
.intro-splash .is-text{color:#fff;font-family:"Fraunces",serif;font-style:italic;font-weight:400;font-size:clamp(31px,4.5vw,57px);letter-spacing:-.02em;line-height:1.14}
.intro-splash .is-text span{display:inline-block;opacity:0;transform:translateY(12px);animation:isWord .6s var(--e1) forwards}
.intro-splash .is-text span:nth-child(1){animation-delay:0.30s}
.intro-splash .is-text span:nth-child(2){animation-delay:0.38s}
.intro-splash .is-text span:nth-child(3){animation-delay:0.46s}
.intro-splash .is-text span:nth-child(4){animation-delay:0.54s}
.intro-splash .is-text span:nth-child(5){animation-delay:0.62s}
.intro-splash .is-photo{flex:0 0 auto;width:clamp(260px,40vw,440px);aspect-ratio:4/5;border-radius:8px;overflow:hidden;box-shadow:0 40px 90px -30px rgba(0,0,0,.55);opacity:0;transform:translateY(16px) scale(.97);animation:isIn 1s var(--e1) .2s forwards}
.intro-splash .is-photo img{width:100%;height:100%;object-fit:cover;display:block}
@keyframes isIn{to{opacity:1;transform:none}}
@keyframes isWord{to{opacity:1;transform:none}}
.intro-splash.is-done{opacity:0;visibility:hidden;pointer-events:none}
@media(max-width:760px){.intro-splash .is-grid{flex-direction:column;gap:30px}.intro-splash .is-left{align-items:center}.intro-splash .is-logo-badge{align-self:center}.intro-splash .is-text{text-align:center;font-size:clamp(25px,7vw,36px)}.intro-splash .is-photo{width:clamp(220px,72vw,320px)}}
@media(prefers-reduced-motion:reduce){.intro-splash .is-logo-badge,.intro-splash .is-photo,.intro-splash .is-text span{animation:none;opacity:1;transform:none}}

/* === Mehr Farbe: Rechtsgebiete & Verbund mit Hover-Färbung === */
.gb-grid .gb:nth-child(odd):hover{background:#86ba40;border-color:transparent}
.gb-grid .gb:nth-child(even):hover{background:#007ec2;border-color:transparent}
.gb:hover .num,.gb:hover h4,.gb:hover p{color:#fff}
.gb:hover .ico{background:rgba(255,255,255,.2)}
.gb:hover .ico svg{color:#fff}
.gb:hover details summary,.gb:hover details summary span{color:#fff!important}
.gb:hover details .det,.gb:hover details p,.gb:hover details li{color:rgba(255,255,255,.92)}

.verb-grid .verb:nth-child(odd):hover,.verb:nth-child(odd):hover{background:#86ba40;border-color:transparent}
.verb-grid .verb:nth-child(even):hover,.verb:nth-child(even):hover{background:#007ec2;border-color:transparent}
.verb:hover .num,.verb:hover .badge,.verb:hover h4,.verb:hover p{color:#fff}
.verb:hover .ico{background:rgba(255,255,255,.2);border-color:transparent}
.verb:hover .ico svg{color:#fff}
.verb:hover .badge{border-color:rgba(255,255,255,.45)}

/* === Steuer-Site Header/Footer/Splash CSS === */
.progress-bar{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--blue),var(--green));z-index:100;width:0%;transition:width .15s linear}

/* Brand accent bar at very top */
.brand-bar{height:3px;background:linear-gradient(90deg,var(--blue) 0%, var(--green) 100%);position:relative;z-index:51}

/* Header polish – subtle blue underline accent on scroll */
.header{border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(10,31,61,.02)}

/* Header */
.header{position:sticky;top:0;z-index:49;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--line)}

.header .row{display:flex;align-items:center;justify-content:space-between;height:84px}

.header-actions{display:flex;align-items:center;gap:24px}

/* Header – clean Mega-Menu (project.space inspired) */
.header .row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px;padding:18px 0;position:relative}

.logo-tag{display:none}

.header-actions{display:flex;align-items:center;gap:14px;justify-self:end}

.main-nav{display:flex;align-items:center;justify-content:center;gap:38px;list-style:none;margin:0;padding:0}

.main-nav > li{position:static;padding:0;margin:0;list-style:none}

.main-nav > li > a{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12.5px;font-weight:600;color:var(--navy);
  letter-spacing:.16em;text-transform:uppercase;
  padding:18px 0;position:relative;transition:color .25s;
  white-space:nowrap;
}

.main-nav > li > a:hover{color:var(--green-deep)}

.main-nav > li.has-submenu > a::after{
  content:"";display:inline-block;width:8px;height:8px;
  border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  margin-left:6px;opacity:.7;transition:transform .35s var(--e1),opacity .25s;
}

.main-nav > li.has-submenu:hover > a::after{transform:rotate(-135deg) translateY(2px);opacity:1}

.main-nav > li > a::before{
  content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:var(--green);
  transform:scaleX(0);transform-origin:left;transition:transform .35s var(--e1);
}

.main-nav > li.active > a::before,
.main-nav > li:hover > a::before{transform:scaleX(.85)}

.header-icons{display:inline-flex;align-items:center;gap:4px}

.header-icons a{
  width:42px;height:42px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  color:var(--navy);transition:all .3s var(--e1);
}

.header-icons a:hover{background:var(--paper);color:var(--green-deep)}

.header-icons svg{width:18px;height:18px}

/* Mega panel */
.main-nav > li.has-submenu{position:static}

.main-nav > li.has-submenu > a{padding-bottom:24px;margin-bottom:-6px}

.main-nav > li.has-submenu:hover > .mega,
.main-nav > li.has-submenu:focus-within > .mega,
.main-nav > li.has-submenu.is-open > .mega{
  opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;
}

/* Mobile nav */
.nav-toggle{display:none;width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;color:var(--navy);background:transparent;border:0;cursor:pointer}

.nav-toggle svg{width:22px;height:22px}

.mobile-nav{
  position:fixed;inset:0;z-index:80;background:#fff;
  display:none;flex-direction:column;padding:24px 28px 32px;overflow-y:auto;
}

.mobile-nav.open{display:flex}

.mobile-nav .mn-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:8px}

.mobile-nav .mn-top img{height:34px}

.mobile-nav details{border-bottom:1px solid var(--line)}

.mobile-nav details summary{
  list-style:none;padding:18px 4px;font-size:14px;font-weight:600;color:var(--navy);
  text-transform:uppercase;letter-spacing:.16em;cursor:pointer;display:flex;justify-content:space-between;align-items:center;
}

.mobile-nav details summary::-webkit-details-marker{display:none}

.mobile-nav details summary::after{content:"+";color:var(--green-deep);font-weight:300;font-size:24px;line-height:1;transition:transform .3s var(--e1)}

.mobile-nav details[open] summary::after{transform:rotate(45deg)}

.mobile-nav details ul{list-style:none;margin:0;padding:0 4px 18px}

.mobile-nav details ul a{display:block;padding:10px 0;color:var(--ink-soft);font-size:15px}

.mobile-nav .single-link{display:block;padding:18px 4px;font-size:14px;font-weight:600;color:var(--navy);text-transform:uppercase;letter-spacing:.16em;border-bottom:1px solid var(--line)}

.mobile-nav .mn-cta{margin-top:24px;align-self:flex-start}

@media (max-width:1100px){
  .main-nav{gap:24px}
  .main-nav > li > a{font-size:12px;letter-spacing:.14em}
  .mega-cols{padding:32px 36px;border-bottom-left-radius:80px}
}

@media (max-width:980px){
  .main-nav{display:none}
  .header-icons{display:none}
  .header .row{grid-template-columns:auto auto;justify-content:space-between}
  .nav-toggle{display:inline-flex}
}

.logo{display:flex;align-items:center;gap:16px}

.logo img{height:40px;width:auto;transition:transform .4s var(--e1)}

.logo:hover img{transform:scale(1.04)}

.logo .logo-tag{border-left:1px solid var(--line);padding-left:16px;display:flex;flex-direction:column;gap:4px;line-height:1.2}

.logo .logo-tag .line{font-size:9.5px;font-weight:700;letter-spacing:.14em;color:var(--navy);text-transform:uppercase;white-space:nowrap}

.logo .logo-tag .d-blue{color:var(--blue)}

.logo .logo-tag .sep{color:var(--green);font-weight:800;margin:0 5px;display:inline-block}

.trust-row .logo-item{
  height:80px;display:flex;align-items:center;justify-content:center;
  filter:grayscale(100%) opacity(.55);transition:filter .4s var(--e1),transform .35s var(--e1);
}

.trust-row .logo-item:hover{filter:grayscale(0%) opacity(1);transform:translateY(-2px)}

.trust-row .logo-item img{max-height:72px;max-width:170px;width:auto;height:auto;object-fit:contain}

.about .grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:80px;align-items:center}

.contact .grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:90px}

/* ───── FOOTER ───── */
footer{background:#007ec2;color:rgba(255,255,255,.85);padding:60px 0 32px;font-size:13.5px;letter-spacing:.02em}

footer .grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.22)}

footer .col h5{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#fff;font-weight:600;margin:0 0 18px}

footer .col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px}

footer .col a{color:rgba(255,255,255,.6);transition:color .2s}

footer .col a:hover{color:#fff}

footer .brand{display:flex;flex-direction:column;gap:18px;max-width:380px}

footer .brand img{height:42px;opacity:.95}

footer .brand p{font-size:14px;color:rgba(255,255,255,.88);line-height:1.65;margin:0}

footer .brand .social{display:flex;gap:10px;margin-top:8px}

footer .brand .social a{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);display:inline-flex;align-items:center;justify-content:center;transition:all .25s}

footer .brand .social a:hover{background:#fff;color:var(--navy);border-color:#fff}

footer .brand .social svg{width:14px;height:14px}

footer .bottom{display:flex;align-items:center;justify-content:space-between;padding-top:28px;flex-wrap:wrap;gap:18px}

footer .bottom .links{display:flex;gap:24px}

/* Responsive */
/* ───── RESPONSIVE – narrow viewport: hide tagline ───── */
@media (max-width:780px){
  .logo .logo-tag{display:none}
}

/* ───── RESPONSIVE – Tablet (≤1100px) ───── */
@media (max-width:1100px){
  section{padding:88px 0}
  .hero{padding:48px 0 0}
  .hero-content{grid-template-columns:1fr;gap:40px;padding-bottom:48px}
  .hero h1{max-width:none}
  .hero-image{max-width:none;margin:0;aspect-ratio:16/10;min-height:380px}
  .values .vc-grid{grid-template-columns:1fr;gap:40px}
  .vc{max-width:380px}
  .vc-desc{min-height:auto;text-align:center}
  .vc-desc .desc-item{position:relative;display:none}
  .vc-desc .desc-item.active{display:block}
  .vc-desc .desc-item .lbl{justify-content:center}
  .vc-desc .desc-item h3{font-size:36px}
  .vc-desc .desc-item p{margin-left:auto;margin-right:auto}
  .vc-hint{margin-left:auto;margin-right:auto}
  .disc-grid{grid-template-columns:1fr 1fr}
  .disciplines .head,.impressions .head-row,.team .head-row,.personal .head-row{grid-template-columns:1fr;gap:32px}
  .about .grid,.contact .grid,.locations .head-row,.career .head-row,.services .head-row,.clients .head-row,.digital .head-row,.statement-slide{grid-template-columns:1fr;gap:48px;padding:36px}
  .digital-grid{grid-template-columns:1fr 1fr}
  .statement-slide .portrait{max-width:420px;margin:0 auto;min-height:380px}
  .about .img-block{max-width:520px;margin:0 auto}
  .svc-grid{grid-template-columns:1fr}
  .network{grid-template-columns:1fr;padding:32px 28px}
  .cl-grid{grid-template-columns:1fr 1fr}
  .career-grid{grid-template-columns:1fr 1fr}
  .imp-slide{flex:0 0 calc((100vw - 80px) / 1.8)}
  .team-slide{flex:0 0 calc((100vw - 80px) / 1.9)}
  .dl-grid{grid-template-columns:1fr 1fr}
  .loc-grid{grid-template-columns:1fr 1fr}
  .benefits-grid{grid-template-columns:repeat(3,1fr)}
  .trust-row{gap:36px}
  .trust-row .logo-item{height:64px}
  .trust-row .logo-item img{max-height:56px;max-width:130px}
  nav.main{display:none}
  .career .wrap{padding:60px 32px}
  .contact .info-list{grid-template-columns:1fr}
  footer .grid{grid-template-columns:1fr 1fr;gap:36px}
  .infra-banner{align-items:flex-start}
  .infra-banner .txt strong{font-size:15px}
}

/* ───── RESPONSIVE – Phone (≤640px) ───── */
@media (max-width:640px){
  :root{--gutter:20px}
  body{font-size:16px}
  section{padding:64px 0}
  .container,.container-wide{padding:0 var(--gutter)}
  .topbar{font-size:11.5px}
  .topbar .group.left{display:none}
  .topbar .row{height:40px}
  .topbar .group{gap:18px}
  .header .row{height:64px}
  .logo img{height:40px}
  .logo .logo-tag{display:none}
  .header .btn{padding:11px 16px;font-size:12px}

  /* Hero */
  .hero{padding:32px 0 0}
  .hero .pill{font-size:11px;padding:7px 14px;margin-bottom:18px}
  .hero h1{font-size:36px;letter-spacing:-.035em;margin-bottom:18px}
  .hero .lead{font-size:16px;margin-bottom:24px}
  .hero-image{aspect-ratio:4/3}
  .hero .ctas{flex-direction:column;align-items:stretch;width:100%}
  .btn{justify-content:center;padding:14px 22px}

  /* Value Circle on mobile */
  .vc{max-width:300px}
  .vc-desc .desc-item h3{font-size:30px}
  .vc-desc .desc-item p{font-size:15.5px}
  .vc .seg-lbl{font-size:10.5px;letter-spacing:.12em}
  .vc-logo{width:64px}

  /* Sections */
  .section-head{margin-bottom:40px}
  .section-head h2,.disciplines h2,.about h2,.services h2,.personal h2,.clients h2,.locations h2,.digital h2,.career h2,.team h2,.faq h2,.contact h2,.impressions h2{font-size:30px;letter-spacing:-.03em}
  h3{font-size:20px}
  .eyebrow{font-size:10.5px;gap:10px}
  .eyebrow::before{width:22px}

  /* Expertise */
  .infra-banner{padding:18px 20px;flex-direction:column;align-items:flex-start;gap:12px}
  .infra-banner .ico{width:36px;height:36px}
  .disc-grid{grid-template-columns:1fr}
  .disc{padding:32px 24px 28px}
  .trust-inline{margin-top:36px;padding-top:32px}
  .trust-row{gap:24px;justify-content:space-around}
  .trust-row .logo-item{height:56px}
  .trust-row .logo-item img{max-height:48px;max-width:110px}

  /* About */
  .about .pillars{grid-template-columns:1fr}

  /* Services */
  .svc{padding:38px 26px 34px}
  .svc h3{font-size:24px}
  .svc .ico{width:46px;height:46px}

  /* Network */
  .network{padding:28px 22px;gap:22px}
  .network h3{font-size:24px}

  /* Personal / green */
  .personal .head-row{gap:22px}
  .statement-slide{padding:24px;gap:24px;min-height:auto}
  .statement-slide .portrait{min-height:320px;max-width:100%}
  .statement-slide blockquote{font-size:18px;padding-left:18px}
  .statement-slide .who{padding-left:18px;margin-top:24px}
  .statement-wrap .ctrls{padding:0 16px 18px}

  /* Clients */
  .cl-grid{grid-template-columns:1fr}
  .cl{padding:30px 24px}

  /* Locations */
  .loc-grid{grid-template-columns:1fr}
  .loc-card .loc-body{padding:22px 22px 24px}

  /* Digital */
  .digital-grid{grid-template-columns:1fr}
  .dg-card{padding:30px 24px}

  /* FAQ */
  .faq-item summary{font-size:15px;padding:20px 4px;gap:16px}
  .faq-item .plus{width:32px;height:32px}
  .faq-item .plus::before{width:12px}
  .faq-item .plus::after{height:12px}
  .faq-item .body{font-size:14.5px;padding-bottom:22px}

  /* Career */
  .career .wrap{padding:40px 20px}
  .career-grid{grid-template-columns:1fr}
  .car-card{padding:28px 22px}
  .car-card.azubi .azubi-cta{align-self:stretch;justify-content:center}
  .career .ki-bar{padding:20px 22px;gap:18px;flex-direction:column;align-items:flex-start}
  .career .ki-bar .btn{align-self:stretch;justify-content:center}
  .benefits-grid{grid-template-columns:1fr 1fr}
  .benefit-tile{padding:18px 16px;gap:10px}
  .benefit-tile .ico{width:30px;height:30px}
  .benefit-tile span.lbl{font-size:13px}
  .benefits-head{margin-bottom:18px}
  .benefits-head h3{font-size:22px}

  /* Downloads */
  .dl-grid{grid-template-columns:1fr}
  .dl{padding:26px 24px}

  /* Contact */
  .contact{padding:80px 0 64px}
  .contact form{grid-template-columns:1fr}
  .contact .info-list{grid-template-columns:1fr}
  .contact .submit-row{flex-direction:column;align-items:stretch;gap:14px}
  .contact .submit-row .btn{width:100%;justify-content:center}

  /* Newsletter */
  .newsletter{padding:36px 0}
  .newsletter form{flex-direction:column;align-items:stretch;width:100%}
  .newsletter input{width:100%}
  .newsletter .btn{width:100%;justify-content:center}

  /* Footer */
  footer{padding:48px 0 28px}
  footer .grid{grid-template-columns:1fr;gap:32px}
  footer .bottom{flex-direction:column;align-items:flex-start}

  /* Sliders */
  .imp-slide,.team-slide{flex:0 0 calc(100vw - 60px)}
  .ctrls{justify-content:center;gap:12px}
  .ctrl{width:42px;height:42px}

  /* Floating CTA */
  .float-cta{right:16px;bottom:16px;padding:11px 18px;font-size:12px}
}

/* ===== Mobile-Logo-Swap + Slider Mini-Fixes ===== */
.logo-icon-mobile{display:none;height:40px;width:auto}

@media (max-width:780px){
  .logo-full{display:none}
  .logo-icon-mobile{display:block;height:38px}
  .imp-slide{min-width:230px}
  .team-slide{min-width:240px}
  .raume-mini .imp-slide{min-width:200px}
  .disciplines .infra-banner .txt,.career .ki-bar .ki-txt{min-width:0;width:100%}
}

@media (max-width:380px){
  .logo-icon-mobile{height:34px}
  .imp-slide{min-width:200px}
  .team-slide{min-width:220px}
}

/* Tablet ≤ 980px – Footer 2 Spalten */
@media (max-width:980px){
  footer{padding:56px 0 28px}
  footer .grid{grid-template-columns:1fr 1fr;gap:36px;padding-bottom:36px}
  footer .col.brand{grid-column:1 / -1;max-width:100%}
  footer .col.brand p{max-width:560px}
  footer .bottom{padding-top:24px;flex-direction:column;align-items:flex-start;gap:14px}
  footer .bottom .links{flex-wrap:wrap;gap:16px 24px}
}

/* Phone ≤ 680px – alles 1-spaltig + Footer Tap-Targets ≥44px */
@media (max-width:680px){
  footer{padding:48px 0 24px}
  /* Header / Nav */
  .topbar{display:none}
  .header-nav{display:none}
  nav.main{display:none}
  .header .row{padding:0 16px}
  /* Hero / Container Padding */
  :root{--gutter:18px}
  .container,.container-wide{padding:0 var(--gutter);max-width:100vw}
  /* Card- und Grid-Layouts auf 1 Spalte */
  .disc-grid,.svc-grid,.partner-grid,.koepfe-grid,.cl-grid,.career-grid,.dl-grid,.loc-grid,.identity-grid,.benefits-grid,.br-grid,.values-grid,.disc-list{grid-template-columns:1fr !important;gap:18px !important}
  /* Section-Heads auf einer Spalte */
  .head-row,.section-head{flex-direction:column;align-items:flex-start;gap:14px}
  /* Pillars (4-Spalter im About) */
  .pillars{grid-template-columns:1fr 1fr;gap:14px}
  /* Stats */
  .stats{grid-template-columns:repeat(2,1fr);gap:18px}
  /* Wechsel-steps */
  .wechsel-steps{grid-template-columns:1fr;gap:18px}
  /* About / Intro / Team-block 2-col Layout */
  .about .grid,.intro .grid,.team-block,.contact .grid{grid-template-columns:1fr;gap:36px}
  /* Standort-Karten */
  .loc-card{padding:24px}
  /* Identity Cards mit großen Zahlen */
  .identity-card .num{font-size:48px}
  /* Werte-Kreis */
  .vc{max-width:280px;margin:0 auto}
  /* Trust-Inline (DATEV/SmartExpert Logos) */
  .trust-row{flex-direction:column;gap:24px;align-items:center}
  .trust-row .logo-item{height:auto;max-width:200px}

  footer .container{padding:0 20px}
  footer .grid{grid-template-columns:1fr;gap:28px;padding-bottom:28px}
  footer .col h5{margin-bottom:12px;font-size:11px}
  footer .col ul{gap:8px}
  footer .col a{display:inline-block;padding:6px 0;min-height:32px}
  footer .brand img{height:38px}
  footer .brand p{font-size:13.5px;line-height:1.6}
  footer .brand .social a{width:38px;height:38px}
  footer .bottom{padding-top:20px;font-size:12px}
  footer .bottom .links a{padding:6px 0;min-height:32px;display:inline-block}
}

/* Phone klein ≤ 380px */
@media (max-width:380px){
  footer{padding:40px 0 20px}
  footer .container{padding:0 16px}
  footer .grid{gap:24px}
  footer .brand p{font-size:13px}
  footer .col h5{font-size:10.5px}
  footer .col a{font-size:13px}
  footer .bottom{font-size:11.5px}
}

/* === Intro-Splash (2,5 s Begrüßung) === */
.intro-splash{position:fixed;inset:0;z-index:99999;background:#86ba40;display:flex;align-items:center;justify-content:center;padding:30px;transition:opacity .8s var(--e1),visibility .8s var(--e1)}

.intro-splash .is-grid{display:flex;align-items:center;gap:clamp(30px,5vw,72px);max-width:1000px;width:100%;justify-content:center}

.intro-splash .is-left{display:flex;flex-direction:column;gap:24px;flex:1;min-width:0}

.intro-splash .is-logo-badge{display:inline-flex;align-self:flex-start;background:#fff;border-radius:8px;padding:14px 22px;box-shadow:0 16px 34px -18px rgba(0,0,0,.45);opacity:0;transform:translateY(10px);animation:isIn .8s var(--e1) .1s forwards}

.intro-splash .is-logo-badge img{height:42px;width:auto;display:block}

.intro-splash .is-text{color:#fff;font-family:"Fraunces",serif;font-style:italic;font-weight:400;font-size:clamp(31px,4.5vw,57px);letter-spacing:-.02em;line-height:1.14}

.intro-splash .is-text span.is-amp{font-family:"Inter",system-ui,sans-serif}

.intro-splash .is-text span{display:inline-block;opacity:0;transform:translateY(12px);animation:isWord .6s var(--e1) forwards}

.intro-splash .is-text span:nth-child(1){animation-delay:0.30s}

.intro-splash .is-text span:nth-child(2){animation-delay:0.37s}

.intro-splash .is-text span:nth-child(3){animation-delay:0.44s}

.intro-splash .is-text span:nth-child(4){animation-delay:0.51s}

.intro-splash .is-text span:nth-child(5){animation-delay:0.58s}

.intro-splash .is-text span:nth-child(6){animation-delay:0.65s}

.intro-splash .is-text span:nth-child(7){animation-delay:0.72s}

.intro-splash .is-photo{flex:0 0 auto;width:clamp(260px,40vw,440px);aspect-ratio:4/5;border-radius:8px;overflow:hidden;box-shadow:0 40px 90px -30px rgba(0,0,0,.55);opacity:0;transform:translateY(16px) scale(.97);animation:isIn 1s var(--e1) .2s forwards}

.intro-splash .is-photo img{width:100%;height:100%;object-fit:cover;display:block}

@keyframes isIn{to{opacity:1;transform:none}}

@keyframes isWord{to{opacity:1;transform:none}}

.intro-splash.is-done{opacity:0;visibility:hidden;pointer-events:none}

@media(max-width:760px){.intro-splash .is-grid{flex-direction:column;gap:30px}.intro-splash .is-left{align-items:center}.intro-splash .is-logo-badge{align-self:center}.intro-splash .is-text{text-align:center;font-size:clamp(25px,7vw,36px)}.intro-splash .is-photo{width:clamp(220px,72vw,320px)}}

@media(prefers-reduced-motion:reduce){.intro-splash .is-logo-badge,.intro-splash .is-photo,.intro-splash .is-text span{animation:none;opacity:1;transform:none}}

@media(max-width:640px){
  .stats-strip .container{flex-direction:column;gap:16px;padding-top:34px;padding-bottom:34px}
  .stats-strip .st-item{padding:0}
  .stats-strip .st-item:not(:last-child)::after{display:none}
  .stats-strip .st-num{font-size:34px}
  .azubi-cta .ac-inner{padding:24px 22px;gap:18px}
  .netzwerk{padding:60px 0}
  .netzwerk .nw-head{margin-bottom:28px}
  .netzwerk .nw-head h2{font-size:clamp(22px,6vw,30px)}
  .memberships{padding:48px 0}
  .trust-row{gap:24px 32px}
  .trust-row .logo-item img{max-height:50px;max-width:120px}
  footer{padding:48px 0 28px}
  footer .grid{gap:26px}
  .stelle{padding:24px 18px}
  .stelle .num{font-size:26px}
  .vc-svg{max-width:280px;margin:0 auto;display:block}
}

@media(max-width:480px){
  body{font-size:15.5px}
  .intro-splash{padding:18px}
  .intro-splash .is-grid{gap:22px;flex-direction:column}
  .intro-splash .is-photo{width:min(74vw,280px)}
  .intro-splash .is-text{font-size:clamp(22px,7.4vw,30px);text-align:center}
  .intro-splash .is-logo-badge{padding:10px 14px;align-self:center}
  .intro-splash .is-logo-badge img{height:30px}
  .intro-splash .is-left{align-items:center}
  .header .row{height:60px}
  .logo img{height:36px}
  h1{letter-spacing:-.02em}
  .pill{font-size:11px;padding:6px 12px}
  .ctas{flex-direction:column;align-items:stretch}
  .ctas .btn{width:100%;text-align:center;justify-content:center}
  .main-nav{display:none}
}

/* === Bereiche-Kacheln: Überschriften beim Hover weiß === */
.gebiete-card:hover h3, .gebiete-card:hover h4, .gebiete-card:hover .card-title,
.rg-card:hover h3, .rg-card:hover h4, .rg-card:hover .card-title,
.gebiet:hover h3, .gebiet:hover h4, .gebiet.is-active h3, .gebiet.is-active h4,
[class*="-card"]:hover h3, [class*="-card"]:hover h4,
.hover-card:hover h3, .hover-card:hover h4 { color: #ffffff !important; }

/* === Mobile-Nav wirklich nur mobil === */
@media (min-width: 861px) { .mobile-nav { display: none !important; } }
.mobile-nav { position: fixed; top: 0; right: 0; bottom: 0; width: 88%; max-width: 400px;
  background: var(--navy); color: #fff; z-index: 9999; transform: translateX(100%);
  transition: transform .35s cubic-bezier(.4,0,.2,1); padding: 20px; display: flex;
  flex-direction: column; gap: 14px; }
.mobile-nav.on { transform: translateX(0); }

/* === Social-Icons Größe === */
footer .social { display: flex; gap: 12px; margin-top: 16px; }
footer .social a { width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,.14);
  display: inline-flex; align-items: center; justify-content: center; color: #fff; transition: background .2s; }
footer .social a:hover { background: rgba(255,255,255,.24); }
footer .social a svg { width: 18px !important; height: 18px !important; display: block; }

/* === Rechtsanwälte-Tag im Header === */
.site-tag { display: inline-flex; align-items: center; padding: 4px 10px; margin-left: 12px;
  border-radius: 100px; background: var(--blue); color: #fff; font-size: 11px;
  font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }


/* === Aufgehübschte Intro-Stats (6/4/1) === */
.intro-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 900px;
  margin: 40px auto 32px;
  padding: 0;
  border: none;
}
.intro-stats::before { display: none; }
.i-stat {
  position: relative;
  padding: 32px 24px 28px;
  background: linear-gradient(180deg, #fff 0%, #f8f7f2 100%);
  border: 1px solid var(--line);
  border-radius: 18px;
  text-align: center;
  transition: transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease, border-color .3s ease;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
}
.i-stat::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--green) 0%, var(--blue) 100%);
  opacity: 0;
  transition: opacity .3s;
}
.i-stat:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -20px rgba(10,31,61,.18), 0 4px 12px -4px rgba(10,31,61,.08);
  border-color: rgba(134,186,64,.35);
}
.i-stat:hover::before { opacity: 1; }
.i-stat .num {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-weight: 300;
  font-size: 68px;
  line-height: 1;
  color: var(--green);
  margin-bottom: 12px;
  transition: transform .3s;
}
.i-stat:hover .num { transform: scale(1.06); }
.i-stat .lbl {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--muted);
  line-height: 1.4;
}
.i-stat .arrow {
  display: inline-flex;
  margin-top: 14px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(134,186,64,.12);
  color: var(--green);
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity .3s, transform .3s;
}
.i-stat:hover .arrow { opacity: 1; transform: translateX(4px); }

@media (max-width: 720px) {
  .intro-stats { grid-template-columns: 1fr; gap: 14px; margin: 32px 16px; }
  .i-stat { padding: 22px 20px 20px; }
  .i-stat .num { font-size: 52px; margin-bottom: 8px; }
}


/* === Rechtsgebiete + alle Karten: Überschriften/Text auch im Hover weiß === */
.gebiet:hover h3, .gebiet:hover h4, .gebiet:hover h2,
.gebiet:hover p, .gebiet:hover span:not([class*="ico"]):not(.eyebrow),
.gebiet.is-active h3, .gebiet.is-active h4, .gebiet.is-active p,
.gebiete .card:hover h3, .gebiete .card:hover h4, .gebiete .card:hover p,
.rg-card:hover h3, .rg-card:hover h4, .rg-card:hover p,
.gebiete-card:hover h3, .gebiete-card:hover h4, .gebiete-card:hover p,
.bereich-card:hover h3, .bereich-card:hover h4, .bereich-card:hover p {
  color: #ffffff !important;
}
.gebiet:hover .eyebrow, .gebiet.is-active .eyebrow,
.gebiete .card:hover .eyebrow,
.rg-card:hover .eyebrow, .gebiete-card:hover .eyebrow {
  color: rgba(255,255,255,.85) !important;
}
.gebiet:hover .im-detail, .gebiet:hover a, .gebiet:hover .link,
.gebiete .card:hover .im-detail, .gebiete .card:hover .link,
.rg-card:hover .im-detail, .rg-card:hover .link {
  color: #ffffff !important;
}
/* Icon-Kreis im Hover — Kontrast anheben */
.gebiet:hover .ico, .gebiete .card:hover .ico,
.rg-card:hover .ico, .gebiete-card:hover .ico {
  background: rgba(255,255,255,.2) !important;
  color: #ffffff !important;
}
/* Divider-Linie in weiß */
.gebiet:hover hr, .gebiet:hover .divider,
.gebiete .card:hover hr, .rg-card:hover hr {
  border-color: rgba(255,255,255,.3) !important;
  background: rgba(255,255,255,.3) !important;
}

/* === Header nicht sticky (scrollt mit) === */
header.header, .header {
  position: static !important;
  top: auto !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: #ffffff !important;
}

/* === ABLAUF-Section === */
.ablauf {
  padding: 100px 0;
  background: linear-gradient(180deg, #fff 0%, var(--line-2) 100%);
  position: relative;
}
.ablauf .head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: end;
  margin-bottom: 64px;
}
.ablauf .head p {
  color: var(--muted);
  max-width: 480px;
  padding-bottom: 6px;
}
.ablauf-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
  position: relative;
}
.ablauf-grid::before {
  content: "";
  position: absolute;
  top: 42px;
  left: 5%;
  right: 5%;
  height: 2px;
  background: repeating-linear-gradient(90deg, var(--line) 0 6px, transparent 6px 12px);
  z-index: 0;
}
.abl-step {
  position: relative;
  z-index: 1;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 28px 22px 26px;
  transition: transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s, border-color .3s;
}
.abl-step:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 44px -22px rgba(10,31,61,.16);
  border-color: rgba(134,186,64,.4);
}
.abl-num {
  display: block;
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-weight: 300;
  font-size: 40px;
  color: var(--green);
  line-height: 1;
  margin-bottom: 8px;
}
.abl-ico {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(134,186,64,.14), rgba(0,126,193,.10));
  color: var(--navy);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  transition: background .3s;
}
.abl-ico svg { width: 20px; height: 20px; }
.abl-step:hover .abl-ico { background: linear-gradient(135deg, rgba(134,186,64,.28), rgba(0,126,193,.20)); }
.abl-step h4 {
  font-size: 17px;
  font-weight: 700;
  color: var(--navy);
  letter-spacing: -.02em;
  margin-bottom: 10px;
  line-height: 1.3;
}
.abl-step p {
  font-size: 13.5px;
  color: var(--muted);
  line-height: 1.55;
}
@media (max-width: 960px) {
  .ablauf .head { grid-template-columns: 1fr; gap: 24px; margin-bottom: 40px; }
  .ablauf-grid { grid-template-columns: repeat(2, 1fr); }
  .ablauf-grid::before { display: none; }
}
@media (max-width: 520px) {
  .ablauf-grid { grid-template-columns: 1fr; }
}

/* === FAQ-Section === */
.faq {
  padding: 100px 0;
  background: #fff;
}
.faq .head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: end;
  margin-bottom: 56px;
}
.faq .head p {
  color: var(--muted);
  max-width: 460px;
  padding-bottom: 6px;
}
.faq-list {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.faq-item {
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  transition: box-shadow .3s, border-color .3s;
}
.faq-item[open] {
  border-color: rgba(134,186,64,.4);
  box-shadow: 0 10px 24px -14px rgba(10,31,61,.12);
}
.faq-item summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 22px 24px;
  font-size: 15px;
  font-weight: 600;
  color: var(--navy);
  cursor: pointer;
  list-style: none;
  transition: background .2s;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary:hover { background: rgba(134,186,64,.04); }
.faq-ico {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(134,186,64,.12);
  color: var(--green);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 300;
  flex-shrink: 0;
  transition: transform .3s cubic-bezier(.34,1.56,.64,1), background .3s;
  line-height: 1;
}
.faq-item[open] .faq-ico {
  transform: rotate(45deg);
  background: var(--green);
  color: #fff;
}
.faq-body {
  padding: 0 24px 24px;
  color: var(--muted);
  line-height: 1.7;
  font-size: 14.5px;
}
@media (max-width: 720px) {
  .faq .head { grid-template-columns: 1fr; gap: 24px; }
  .faq-item summary { padding: 18px 20px; font-size: 14.5px; }
  .faq-body { padding: 0 20px 20px; }
}

/* === Rechtsgebiete .gb-Kacheln: Überschrift + Text weiß im Hover === */
.gb-grid .gb:hover h3,
.gb-grid .gb:hover h4,
.gb-grid .gb:hover .num,
.gb-grid .gb:hover p,
.gb-grid .gb:hover summary,
.gb-grid .gb:hover .det-body,
.gb-grid .gb:hover .det-body li,
.gb-grid .gb.is-active h3,
.gb-grid .gb.is-active .num,
.gb-grid .gb.is-active p {
  color: #ffffff !important;
}
.gb-grid .gb:hover .ico {
  background: rgba(255,255,255,.2) !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,.35) !important;
}
.gb-grid .gb:hover hr,
.gb-grid .gb:hover .divider {
  border-color: rgba(255,255,255,.35) !important;
  background: rgba(255,255,255,.35) !important;
}
.gb-grid .gb:hover summary::marker,
.gb-grid .gb:hover summary::-webkit-details-marker {
  color: #ffffff !important;
}

/* === INTRO-Sektion (Rechtsberatung im Verbund) grün === */
section.intro {
  background: var(--green) !important;
  color: #ffffff !important;
  padding: 96px 0 !important;
  position: relative;
}
section.intro .eyebrow,
section.intro .eyebrow::before {
  color: #ffffff !important;
  background: #ffffff !important;
}
section.intro .eyebrow::before { background: rgba(255,255,255,.5) !important; }
section.intro h1,
section.intro h2,
section.intro h3,
section.intro p,
section.intro .lead {
  color: #ffffff !important;
}
section.intro h2 em { color: rgba(255,255,255,.85) !important; }

/* Stats-Cards in Grün-Sektion: transparent-weiß */
section.intro .intro-stats { background: transparent; }
section.intro .i-stat {
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  color: #ffffff !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
section.intro .i-stat:hover {
  background: rgba(255,255,255,.15) !important;
  border-color: rgba(255,255,255,.45) !important;
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -20px rgba(0,0,0,.28);
}
section.intro .i-stat .num { color: #ffffff !important; }
section.intro .i-stat .lbl { color: rgba(255,255,255,.85) !important; }
section.intro .i-stat::before {
  background: linear-gradient(90deg, #ffffff 0%, rgba(255,255,255,.4) 100%) !important;
}

/* === ABLAUF-Sektion blau === */
section.ablauf {
  background: var(--blue) !important;
  color: #ffffff !important;
}
section.ablauf .eyebrow { color: #ffffff !important; }
section.ablauf .eyebrow::before { background: rgba(255,255,255,.5) !important; }
section.ablauf h1,
section.ablauf h2,
section.ablauf h3,
section.ablauf h4,
section.ablauf p { color: #ffffff !important; }
section.ablauf h2 em { color: rgba(255,255,255,.9) !important; }

/* Verbindungslinie in weißes Muster */
section.ablauf .ablauf-grid::before {
  background: repeating-linear-gradient(90deg, rgba(255,255,255,.5) 0 6px, transparent 6px 12px) !important;
}

/* Ablauf-Cards: dezent weiß auf blau */
section.ablauf .abl-step {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  color: #ffffff !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
section.ablauf .abl-step:hover {
  background: rgba(255,255,255,.14) !important;
  border-color: rgba(255,255,255,.45) !important;
  transform: translateY(-4px);
  box-shadow: 0 22px 44px -22px rgba(0,0,0,.35);
}
section.ablauf .abl-num { color: #ffffff !important; opacity: 0.92; }
section.ablauf .abl-step h4 { color: #ffffff !important; }
section.ablauf .abl-step p { color: rgba(255,255,255,.85) !important; }

/* === Ansprechpartner-Block in Rechtsgebiets-Kacheln === */
.gb-contact {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 0 4px;
  margin-top: 12px;
  border-top: 1px solid var(--line);
}
.gb-c-lbl {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--muted);
}
.gb-c-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--navy);
  text-decoration: none;
  transition: color .2s;
  width: fit-content;
}
.gb-c-link:hover { color: var(--green); }
.gb-c-link svg { color: currentColor; opacity: 0.7; }
.gb-c-link:hover svg { opacity: 1; }
/* Hover-Zustand der Kachel: Kontakt-Elemente ebenfalls weiß */
.gb-grid .gb:hover .gb-contact { border-top-color: rgba(255,255,255,.35) !important; }
.gb-grid .gb:hover .gb-c-lbl { color: rgba(255,255,255,.75) !important; }
.gb-grid .gb:hover .gb-c-link { color: #ffffff !important; }
.gb-grid .gb:hover .gb-c-link svg { opacity: 1 !important; }

/* === Ihre-Vorteile-Sektion === */
.vorteile {
  padding: 100px 0;
  background: #ffffff;
}
.vorteile-wrap {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 60px;
  align-items: start;
  max-width: 1100px;
  margin: 0 auto;
}
.vorteile-body p {
  font-size: 16px;
  line-height: 1.72;
  color: var(--ink-soft);
  margin-bottom: 20px;
}
.vorteile-body p:last-child { margin-bottom: 0; }
@media (max-width: 820px) {
  .vorteile-wrap { grid-template-columns: 1fr; gap: 24px; }
  .vorteile { padding: 72px 0; }
}

/* === Grün-Intro: Kontraste optimieren === */
section.intro {
  background: linear-gradient(180deg, var(--green) 0%, #78a939 100%) !important;
}

/* Eyebrow: dezente weiße Linie, kein dickes Balken */
section.intro .eyebrow {
  color: #ffffff !important;
  background: transparent !important;
  font-weight: 700 !important;
}
section.intro .eyebrow::before {
  background: rgba(255,255,255,.7) !important;
  height: 1.5px !important;
  width: 28px !important;
}

/* Stats: solide weiße Karten mit klarer Grün-Zahl */
section.intro .intro-stats {
  background: transparent;
  margin-top: 44px !important;
}
section.intro .i-stat {
  background: #ffffff !important;
  border: 1px solid rgba(255,255,255,.6) !important;
  color: var(--navy) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: 0 12px 30px -12px rgba(0,0,0,.18) !important;
}
section.intro .i-stat:hover {
  background: #ffffff !important;
  border-color: #ffffff !important;
  transform: translateY(-4px);
  box-shadow: 0 22px 44px -16px rgba(0,0,0,.28) !important;
}
section.intro .i-stat .num {
  color: var(--green-deep) !important;
  font-weight: 400 !important;
}
section.intro .i-stat .lbl {
  color: var(--ink-soft) !important;
}
section.intro .i-stat::before {
  background: linear-gradient(90deg, var(--green) 0%, var(--green-deep) 100%) !important;
}

/* ═══════════════════════════════════════════════════════════════════
   2) Ihre Vorteile — mehr Farbe + Icon
   ═══════════════════════════════════════════════════════════════════ */
.vorteile {
  background: linear-gradient(180deg, #f9f8f2 0%, #eef1e8 100%) !important;
  position: relative;
  padding: 100px 0;
}
.vorteile::before {
  content: "";
  position: absolute;
  top: 0; left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, var(--green) 0%, var(--blue) 100%);
  border-radius: 100px;
}
.vorteile-wrap {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 60px;
  align-items: start;
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
}
.vorteile-head {
  position: relative;
  padding: 24px 0 0 0;
}
.vorteile-head .eyebrow {
  color: var(--green-deep);
}
.vorteile-body {
  position: relative;
  padding: 32px 32px 32px 40px;
  background: #ffffff;
  border-radius: 20px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--green);
  box-shadow: 0 20px 44px -22px rgba(10,31,61,.12);
}
.vorteile-body::before {
  content: "";
  position: absolute;
  top: 28px;
  left: -16px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--green);
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2.8"><polyline points="20 6 9 17 4 12"/></svg>');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 16px;
}
.vorteile-body p {
  font-size: 16px;
  line-height: 1.72;
  color: var(--ink-soft);
  margin-bottom: 20px;
}
.vorteile-body p:last-child { margin-bottom: 0; }
@media (max-width: 820px) {
  .vorteile-wrap { grid-template-columns: 1fr; gap: 24px; }
  .vorteile-body { padding: 24px; border-left-width: 3px; }
  .vorteile-body::before { top: -14px; left: 24px; }
  .vorteile { padding: 72px 0; }
}


/* === Team-Karten: Mail-Link === */
.tm .tm-mail {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  padding: 10px 16px;
  border-radius: 100px;
  background: rgba(134,186,64,.08);
  color: var(--green-deep);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-decoration: none;
  border: 1px solid rgba(134,186,64,.28);
  transition: all .25s ease;
}
.tm .tm-mail:hover {
  background: var(--green);
  color: #ffffff;
  border-color: var(--green);
  transform: translateY(-1px);
  box-shadow: 0 10px 22px -10px rgba(134,186,64,.5);
}
.tm .tm-mail svg { color: currentColor; }

/* === Intro-Headline: "im Verbund." klar in Weiß (letzte Regel gewinnt) === */
html body section.intro h2,
html body section.intro h2 em,
html body section.intro h2 em.gold {
  color: #ffffff !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #ffffff !important;
  background: none !important;
  background-clip: unset !important;
  -webkit-background-clip: unset !important;
}

/* v24 — Rechtsgebiete im svc-Stil, Räume & Menschen, Statement grün */

/* Rechtsgebiete Head-Grid + Infra-Banner */
.gebiete-v2{padding:110px 0 120px;background:var(--paper) !important;border-bottom:1px solid var(--line)}
.gebiete-v2 .head{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:end;margin-bottom:48px}
.gebiete-v2 .head p{margin:0;font-size:18px;color:var(--ink-soft);max-width:480px;line-height:1.55}
.gebiete-v2 .head h2{margin:0}
.gebiete-v2 .infra-banner{
  margin-bottom:48px;padding:24px 28px;background:#fff;border:1px solid var(--line);border-radius:2px;
  display:flex;gap:20px;align-items:center;flex-wrap:wrap;
}
.gebiete-v2 .infra-banner .ico{width:42px;height:42px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.gebiete-v2 .infra-banner .ico svg{width:18px;height:18px}
.gebiete-v2 .infra-banner .txt{flex:1;min-width:280px}
.gebiete-v2 .infra-banner .txt strong{display:block;font-size:16px;color:var(--navy);margin-bottom:4px;font-weight:600}
.gebiete-v2 .infra-banner .txt span{font-size:14px;color:var(--ink-soft);line-height:1.55}

/* SVC-Grid (2 columns, 3 rows) */
.gebiete-v2 .svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.gebiete-v2 .svc{
  position:relative;padding:50px 42px 46px;
  background:var(--paper);border:1px solid var(--line);border-radius:2px;
  overflow:hidden;transition:all .4s var(--e1);
}
.gebiete-v2 .svc::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:2px;
  background:var(--green);transform:scaleY(0);transform-origin:top;
  transition:transform .5s var(--e1);
}
/* Default active: first svc is highlighted GREEN */
.gebiete-v2 .svc[data-svc="1"]{
  background:linear-gradient(160deg,#86ba40 0%,#78a939 100%) !important;
  border-color:transparent;
  color:#fff;
  box-shadow:0 20px 44px -22px rgba(10,31,61,.25);
  transform:translateY(-4px);
}
.gebiete-v2 .svc[data-svc="1"] .num{color:rgba(255,255,255,.85) !important}
.gebiete-v2 .svc[data-svc="1"] .ico{background:rgba(255,255,255,.15) !important;border-color:transparent !important;color:#fff !important}
.gebiete-v2 .svc[data-svc="1"] h3{color:#fff !important}
.gebiete-v2 .svc[data-svc="1"] p{color:rgba(255,255,255,.92) !important}
.gebiete-v2 .svc[data-svc="1"] .svc-contact .lbl{color:rgba(255,255,255,.7) !important}
.gebiete-v2 .svc[data-svc="1"] .svc-contact .mail-btn{background:rgba(255,255,255,.15) !important;color:#fff !important;border-color:rgba(255,255,255,.3) !important}
.gebiete-v2 .svc[data-svc="1"] .svc-contact .mail-btn:hover{background:#fff !important;color:var(--green-deep) !important}
.gebiete-v2 .svc[data-svc="1"] .svc-details{border-top-color:rgba(255,255,255,.25)}
.gebiete-v2 .svc[data-svc="1"] .svc-details summary{color:rgba(255,255,255,.95)}
.gebiete-v2 .svc[data-svc="1"] .svc-details summary .plus{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.35)}
.gebiete-v2 .svc[data-svc="1"] .svc-details summary .plus::before,
.gebiete-v2 .svc[data-svc="1"] .svc-details summary .plus::after{background:#fff}
.gebiete-v2 .svc[data-svc="1"] .svc-full-list .list-group h5{color:#fff;border-bottom-color:rgba(255,255,255,.25)}
.gebiete-v2 .svc[data-svc="1"] .svc-full-list .list-group h5::before{background:#fff}
.gebiete-v2 .svc[data-svc="1"] .svc-full-list .list-group li{color:#fff !important;border-bottom-color:rgba(255,255,255,.18) !important}
.gebiete-v2 .svc[data-svc="1"] .svc-full-list .list-group li::before{border-color:#fff !important}

/* If any other .svc is hovered → return #1 to normal, hovered one turns green */
.gebiete-v2 .svc-grid:has(.svc:not([data-svc="1"]):hover) .svc[data-svc="1"]{
  background:var(--paper) !important;border-color:var(--line);color:inherit;transform:none;box-shadow:none;
}
.gebiete-v2 .svc-grid:has(.svc:not([data-svc="1"]):hover) .svc[data-svc="1"] .num{color:var(--green-deep) !important}
.gebiete-v2 .svc-grid:has(.svc:not([data-svc="1"]):hover) .svc[data-svc="1"] .ico{background:#fff !important;border-color:var(--line) !important;color:var(--navy) !important}
.gebiete-v2 .svc-grid:has(.svc:not([data-svc="1"]):hover) .svc[data-svc="1"] h3{color:var(--navy) !important}
.gebiete-v2 .svc-grid:has(.svc:not([data-svc="1"]):hover) .svc[data-svc="1"] p{color:var(--ink-soft) !important}
.gebiete-v2 .svc-grid:has(.svc:not([data-svc="1"]):hover) .svc[data-svc="1"] .svc-contact .lbl{color:var(--muted) !important}
.gebiete-v2 .svc-grid:has(.svc:not([data-svc="1"]):hover) .svc[data-svc="1"] .svc-contact .mail-btn{background:rgba(134,186,64,.08) !important;color:var(--green-deep) !important;border-color:rgba(134,186,64,.28) !important}
.gebiete-v2 .svc-grid:has(.svc:not([data-svc="1"]):hover) .svc[data-svc="1"] .svc-details{border-top-color:var(--line)}
.gebiete-v2 .svc-grid:has(.svc:not([data-svc="1"]):hover) .svc[data-svc="1"] .svc-details summary{color:var(--green-deep)}
.gebiete-v2 .svc-grid:has(.svc:not([data-svc="1"]):hover) .svc[data-svc="1"] .svc-details summary .plus{background:var(--green);border-color:transparent}
.gebiete-v2 .svc-grid:has(.svc:not([data-svc="1"]):hover) .svc[data-svc="1"] .svc-full-list .list-group h5{color:var(--green-deep);border-bottom-color:var(--line)}
.gebiete-v2 .svc-grid:has(.svc:not([data-svc="1"]):hover) .svc[data-svc="1"] .svc-full-list .list-group li{color:var(--ink) !important;border-bottom-color:var(--line-2) !important}
.gebiete-v2 .svc-grid:has(.svc:not([data-svc="1"]):hover) .svc[data-svc="1"] .svc-full-list .list-group li::before{border-color:var(--green) !important}

/* Alternating hover: odd (1,3,5) = grün, even (2,4,6) = blau — wie Steuerberater-Startseite */
.gebiete-v2 .svc:nth-child(odd):hover{
  background:linear-gradient(160deg,#86ba40 0%,#78a939 100%) !important;
  border-color:transparent !important;color:#fff;
  box-shadow:0 20px 44px -22px rgba(10,31,61,.25);
  transform:translateY(-6px);
}
.gebiete-v2 .svc:nth-child(even):hover{
  background:linear-gradient(160deg,#007ec2 0%,#00679f 100%) !important;
  border-color:transparent !important;color:#fff;
  box-shadow:0 20px 44px -22px rgba(10,31,61,.25);
  transform:translateY(-6px);
}
.gebiete-v2 .svc:hover .num{color:rgba(255,255,255,.85) !important}
.gebiete-v2 .svc:hover .ico{background:rgba(255,255,255,.15) !important;border-color:transparent !important;color:#fff !important;transform:rotate(-8deg)}
.gebiete-v2 .svc:hover h3{color:#fff !important}
.gebiete-v2 .svc:hover p{color:rgba(255,255,255,.92) !important}
.gebiete-v2 .svc:hover .svc-contact .lbl{color:rgba(255,255,255,.7) !important}
.gebiete-v2 .svc:hover .svc-contact .mail-btn{background:rgba(255,255,255,.15) !important;color:#fff !important;border-color:rgba(255,255,255,.3) !important}
.gebiete-v2 .svc:nth-child(odd):hover .svc-contact .mail-btn:hover{background:#fff !important;color:var(--green-deep) !important}
.gebiete-v2 .svc:nth-child(even):hover .svc-contact .mail-btn:hover{background:#fff !important;color:var(--blue-deep) !important}
.gebiete-v2 .svc:hover .svc-details{border-top-color:rgba(255,255,255,.25)}
.gebiete-v2 .svc:hover .svc-details summary{color:rgba(255,255,255,.95)}
.gebiete-v2 .svc:hover .svc-details summary .plus{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.35)}
.gebiete-v2 .svc:hover .svc-details summary .plus::before,
.gebiete-v2 .svc:hover .svc-details summary .plus::after{background:#fff}
.gebiete-v2 .svc:hover .svc-full-list .list-group h5{color:#fff;border-bottom-color:rgba(255,255,255,.25)}
.gebiete-v2 .svc:hover .svc-full-list .list-group h5::before{background:#fff}
.gebiete-v2 .svc:hover .svc-full-list .list-group li{color:#fff !important;border-bottom-color:rgba(255,255,255,.18) !important}
.gebiete-v2 .svc:hover .svc-full-list .list-group li::before{border-color:#fff !important}

.gebiete-v2 .svc .top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px;gap:16px}
.gebiete-v2 .svc .num{font-size:11.5px;color:var(--green-deep);font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.gebiete-v2 .svc .ico{
  width:50px;height:50px;display:flex;align-items:center;justify-content:center;
  background:#fff;border:1px solid var(--line);border-radius:50%;color:var(--navy);
  transition:all .35s var(--e1);flex-shrink:0;
}
.gebiete-v2 .svc .ico svg{width:22px;height:22px}
.gebiete-v2 .svc h3{margin:0 0 14px;font-size:24px;color:var(--navy);line-height:1.2;font-weight:500;letter-spacing:-.022em;transition:color .3s}
.gebiete-v2 .svc p{color:var(--ink-soft);font-size:15.5px;margin-bottom:22px;line-height:1.6;transition:color .3s}

/* Svc-Contact (Ansprechpartner + Mail-Button) */
.gebiete-v2 .svc-contact{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding:16px 0;margin:0 0 18px;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  transition:border-color .3s;
}
.gebiete-v2 .svc-contact .lbl{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600;
  transition:color .3s;
}
.gebiete-v2 .svc-contact .mail-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:9px 16px;border-radius:100px;
  background:rgba(134,186,64,.08);color:var(--green-deep);
  border:1px solid rgba(134,186,64,.28);
  font-weight:600;font-size:13.5px;letter-spacing:-.005em;
  transition:all .3s var(--e1);text-decoration:none;
}
.gebiete-v2 .svc-contact .mail-btn svg{width:14px;height:14px}
.gebiete-v2 .svc-contact .mail-btn:hover{background:var(--green);color:#fff;border-color:transparent;transform:translateY(-1px)}

/* Svc-Details (aufklappbar) */
.gebiete-v2 .svc-details{margin:0;border-top:1px solid var(--line);padding-top:18px}
.gebiete-v2 .svc-details summary{
  display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;
  font-size:11.5px;font-weight:700;color:var(--green-deep);
  letter-spacing:.16em;text-transform:uppercase;transition:color .3s;
}
.gebiete-v2 .svc-details summary::-webkit-details-marker{display:none}
.gebiete-v2 .svc-details summary:hover{color:var(--navy)}
.gebiete-v2 .svc-details summary .plus{
  width:26px;height:26px;border-radius:50%;background:var(--green);color:#fff;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  position:relative;transition:transform .35s var(--e1),background .25s;
}
.gebiete-v2 .svc-details summary .plus::before, .gebiete-v2 .svc-details summary .plus::after{
  content:"";position:absolute;background:#fff;border-radius:1px;
}
.gebiete-v2 .svc-details summary .plus::before{width:10px;height:2px}
.gebiete-v2 .svc-details summary .plus::after{width:2px;height:10px}
.gebiete-v2 .svc-details[open] summary .plus{transform:rotate(45deg)}
.gebiete-v2 .svc-full-list{
  display:grid;grid-template-columns:1fr 1fr;gap:32px 40px;
  padding:24px 0 0;margin:0;
}
.gebiete-v2 .svc-full-list .list-group{display:flex;flex-direction:column;gap:0}
.gebiete-v2 .svc-full-list .list-group h5{
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--green-deep);font-weight:700;margin:0 0 14px;
  padding-bottom:12px;border-bottom:1px solid var(--line);
  display:flex;align-items:center;gap:10px;
}
.gebiete-v2 .svc-full-list .list-group h5::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);flex-shrink:0}
.gebiete-v2 .svc-full-list .list-group ul{list-style:none;padding:0;margin:0}
.gebiete-v2 .svc-full-list .list-group li{
  font-size:13.5px;color:var(--ink);font-weight:400;line-height:1.5;
  padding:10px 0 10px 22px;position:relative;
  border-bottom:1px solid var(--line-2);
}
.gebiete-v2 .svc-full-list .list-group li:last-child{border-bottom:0}
.gebiete-v2 .svc-full-list .list-group li::before{
  content:"";position:absolute;left:0;top:15px;
  width:8px;height:5px;border-left:1.6px solid var(--green);border-bottom:1.6px solid var(--green);
  transform:rotate(-45deg);
}

@media (max-width:900px){
  .gebiete-v2 .head{grid-template-columns:1fr;gap:24px}
  .gebiete-v2 .svc-grid{grid-template-columns:1fr}
  .gebiete-v2 .svc{padding:36px 28px}
  .gebiete-v2 .svc-full-list{grid-template-columns:1fr;gap:24px}
}

/* ───── IMPRESSIONS SLIDER ───── */
.impressions{background:#fff;padding:110px 0 120px}
.impressions .head{margin-bottom:44px}
.impressions .head-row{display:flex;align-items:end;justify-content:space-between;gap:32px;flex-wrap:wrap}
.impressions h2{margin:0}
.impressions .head .eyebrow{margin-bottom:18px}
.container-wide{max-width:1440px;margin:0 auto;padding:0 var(--gutter,40px)}
.imp-slider-wrap{position:relative}
.imp-slider{
  display:flex;gap:18px;overflow-x:auto;
  scroll-snap-type:x proximity;
  padding:0 var(--gutter,40px) 24px;
  margin:0 calc(var(--gutter,40px) * -1);
  scrollbar-width:none;scroll-behavior:smooth;
}
.imp-slider::-webkit-scrollbar{display:none}
.imp-slide{
  flex:0 0 calc((100vw - 80px) / 3.2);max-width:460px;min-width:280px;
  scroll-snap-align:start;border-radius:2px;overflow:hidden;position:relative;
  aspect-ratio:4/5;background:var(--paper);box-shadow:0 4px 14px -6px rgba(10,31,61,.12);
  transition:box-shadow .4s var(--e1);
}
.imp-slide:hover{box-shadow:0 12px 30px -12px rgba(10,31,61,.25)}
.imp-slide .img{position:absolute;inset:0;background:linear-gradient(150deg,#0a1f3d,#007ec2 65%,#5cb3e0)}
.imp-slide .img img{width:100%;height:100%;object-fit:cover;display:block}
.imp-slide .img::after{content:"";position:absolute;inset:0;background:radial-gradient(380px 240px at 30% 22%,rgba(255,255,255,.15),transparent 50%),linear-gradient(180deg,transparent 55%,rgba(0,0,0,.55));pointer-events:none}
.imp-slide .cap{position:absolute;left:24px;bottom:22px;right:24px;color:#fff;z-index:2;display:flex;flex-direction:column;gap:4px}
.imp-slide .cap .lab{
  font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;
  font-weight:600;opacity:.95;display:flex;align-items:center;gap:8px;
}
.imp-slide .cap .lab::before{content:"";display:block;width:14px;height:1px;background:#fff;opacity:.6;flex-shrink:0}

.impressions .ctrls{display:flex;gap:8px;align-items:center;margin-top:24px;justify-content:flex-end;padding:0 var(--gutter,40px)}
.impressions .ctrl{
  width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--navy);
  display:inline-flex;align-items:center;justify-content:center;transition:all .25s var(--e1);cursor:pointer;
}
.impressions .ctrl:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.impressions .ctrl svg{width:16px;height:16px}

/* ───── PERSONAL – grüner Full-Bleed Statement ───── */
.personal{
  background:linear-gradient(180deg,var(--green) 0%, #78a939 100%);
  color:#fff;position:relative;overflow:hidden;
  padding:110px 0 120px;
}
.personal::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(700px 500px at 90% -10%, rgba(255,255,255,.18),transparent 60%),
             radial-gradient(500px 350px at -10% 110%, rgba(10,31,61,.18),transparent 60%);
  pointer-events:none;
}
.personal > *{position:relative;z-index:1}
.personal .head{margin-bottom:48px}
.personal .head-row{display:flex;align-items:end;justify-content:space-between;gap:32px;flex-wrap:wrap}
.personal h2{margin:0;color:#fff;font-weight:400}
.personal h2 em,
html body section.personal h2 em{color:#fff !important;-webkit-text-fill-color:#fff !important;font-style:italic;font-family:"Fraunces",Georgia,serif;background:none !important}
.personal .head .eyebrow{margin-bottom:18px;color:rgba(255,255,255,.85)}
.personal .head .eyebrow::before{background:rgba(255,255,255,.5)}
.personal .head p{margin:0;font-size:17px;color:rgba(255,255,255,.92);max-width:640px;line-height:1.55}

.statement-wrap{
  position:relative;background:rgba(255,255,255,.10);border-radius:2px;
  backdrop-filter:blur(4px);overflow:hidden;
}
.statement-slide{
  display:grid;grid-template-columns:1fr 1.3fr;gap:0;
  align-items:stretch;min-height:480px;
}
.statement-slide .portrait{
  position:relative;overflow:hidden;
  background:linear-gradient(160deg,#234c7a,#007ec2);
  min-height:420px;
}
.statement-slide .portrait img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.statement-slide .portrait::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.35));
  pointer-events:none;
}
.statement-slide .portrait .label{
  position:absolute;left:24px;bottom:24px;color:#fff;
  font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;
  z-index:2;display:flex;align-items:center;gap:10px;
}
.statement-slide .portrait .label::before{content:"";display:block;width:18px;height:1px;background:#fff;opacity:.6}

.statement-slide .text-side{
  display:flex;flex-direction:column;justify-content:center;
  padding:56px 56px 56px 56px;
}
.statement-slide .stmt-num{
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.85);
  font-weight:600;margin-bottom:24px;display:flex;align-items:center;gap:12px;
}
.statement-slide .stmt-num::before{content:"";display:block;width:24px;height:1px;background:rgba(255,255,255,.5)}
.statement-slide blockquote{
  margin:0;padding:0 0 0 22px;border-left:2px solid rgba(255,255,255,.6);
  font-family:inherit;font-style:normal;font-weight:400;
  font-size:clamp(18px,1.6vw,22px);line-height:1.55;letter-spacing:-.005em;color:#fff;
}
.statement-slide blockquote em{font-style:normal;color:#fff;font-weight:400;font-family:inherit}

/* Slider (mehrere Statements) */
.statement-carousel{position:relative}
.statement-carousel .slides{display:flex;transition:transform .55s cubic-bezier(.4,0,.2,1);will-change:transform}
.statement-carousel .slides > .statement-slide{flex:0 0 100%;min-width:0}
.statement-carousel .ctrls{
  display:flex;align-items:center;justify-content:center;gap:22px;
  padding:22px 24px 26px;background:rgba(255,255,255,.04);
  border-top:1px solid rgba(255,255,255,.10);
}
.statement-carousel .ctrls button{
  background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;
  width:38px;height:38px;border-radius:50%;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .25s var(--e1);font-size:15px;
}
.statement-carousel .ctrls button:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.7)}
.statement-carousel .ctrls .dots{display:flex;gap:10px}
.statement-carousel .ctrls .dot{
  width:9px;height:9px;padding:0;border-radius:50%;
  background:rgba(255,255,255,.35);border:none;cursor:pointer;
  transition:all .25s var(--e1);
}
.statement-carousel .ctrls .dot:hover{background:rgba(255,255,255,.6)}
.statement-carousel .ctrls .dot.active{background:#fff;transform:scale(1.15)}
.statement-slide .who{margin-top:30px;display:flex;align-items:center;gap:16px;padding-left:22px}
.statement-slide .who .div{width:32px;height:1px;background:rgba(255,255,255,.5);flex-shrink:0}
.statement-slide .who strong{font-weight:600;font-size:15px;letter-spacing:.01em;color:#fff;display:block}
.statement-slide .who span{font-size:13px;color:rgba(255,255,255,.78);letter-spacing:.04em;display:block;margin-top:2px}

@media (max-width:900px){
  .personal .head-row{flex-direction:column;align-items:flex-start;gap:24px}
  .statement-slide{grid-template-columns:1fr}
  .statement-slide .portrait{min-height:320px}
  .statement-slide .text-side{padding:32px 28px 40px}
}

/* Container-wide utility */
@media (min-width:1481px){
  .container-wide{padding:0}
}


/* v25 — Ablauf hell, FAQ wie Steuer-Seite */

/* ───── ABLAUF V2 (Wechsel-Stil) ───── */
.ablauf-v2{padding:110px 0 120px;background:var(--paper);border-bottom:1px solid var(--line)}
.ablauf-v2 .head-row{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:end;margin-bottom:48px}
.ablauf-v2 .head-row h2{margin:0;color:var(--navy)}
.ablauf-v2 .head-row h2 em{color:var(--green);font-style:italic;font-family:"Fraunces",Georgia,serif}
.ablauf-v2 .head-row p{margin:0;color:var(--ink-soft);font-size:18px;line-height:1.55;max-width:480px;padding-bottom:6px}

.ablauf-v2 .ablauf-info{
  margin-bottom:44px;padding:24px 28px;background:#fff;border:1px solid var(--line);border-radius:2px;
  display:flex;gap:20px;align-items:center;flex-wrap:wrap;
}
.ablauf-v2 .ablauf-info .ic{
  width:42px;height:42px;border-radius:50%;background:var(--green);color:#fff;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.ablauf-v2 .ablauf-info .ic svg{width:18px;height:18px}
.ablauf-v2 .ablauf-info p{margin:0;flex:1;min-width:280px;font-size:14.5px;color:var(--ink-soft);line-height:1.55}
.ablauf-v2 .ablauf-info p strong{color:var(--navy);font-weight:600}
.ablauf-v2 .ablauf-info .badge{
  padding:8px 16px;border-radius:100px;background:rgba(134,186,64,.10);
  color:var(--green-deep);font-weight:600;font-size:12px;letter-spacing:.06em;
  border:1px solid rgba(134,186,64,.28);white-space:nowrap;
}

.ablauf-v2 .ablauf-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.ablauf-v2 .ablauf-step{
  background:#fff;border:1px solid var(--line);border-radius:2px;
  padding:36px 24px 30px;position:relative;
  transition:transform .35s var(--e1),box-shadow .35s var(--e1),border-color .35s var(--e1);
}
.ablauf-v2 .ablauf-step:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 44px -22px rgba(10,31,61,.14);
  border-color:rgba(134,186,64,.4);
}
.ablauf-v2 .ablauf-step .step-no{
  font-family:"Fraunces",Georgia,serif;font-style:italic;font-weight:300;
  font-size:42px;color:var(--green);line-height:1;margin-bottom:14px;
}
.ablauf-v2 .ablauf-step .step-lab{
  font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--muted);font-weight:600;display:block;margin-bottom:8px;
}
.ablauf-v2 .ablauf-step h4{
  font-size:17px;color:var(--navy);margin:0 0 10px;
  font-weight:600;letter-spacing:-.01em;line-height:1.3;
}
.ablauf-v2 .ablauf-step p{
  font-size:13.5px;color:var(--ink-soft);margin:0;line-height:1.55;
}

@media (max-width:1024px){
  .ablauf-v2 .ablauf-steps{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .ablauf-v2 .head-row{grid-template-columns:1fr;gap:24px}
  .ablauf-v2 .ablauf-steps{grid-template-columns:1fr}
}

/* ───── FAQ V2 — 1:1 Steuerberater-Seite Style (v129 .faq) ───── */
.faq-v2{padding:110px 0 120px;background:#fff}
.faq-v2 .section-head{margin:0 auto 56px;text-align:center;max-width:760px}
.faq-v2 .section-head .eyebrow{justify-content:center;display:inline-flex}
.faq-v2 .section-head h2{margin:0}
.faq-v2 .section-head h2 em{color:var(--green);font-style:italic;font-family:"Fraunces",Georgia,serif}
.faq-v2 .section-head p{margin:18px auto 0;font-size:16px;color:var(--ink-soft);line-height:1.55}
.faq-v2 .faq-list{max-width:880px;margin:0 auto;border-top:1px solid var(--line)}
.faq-v2 .faq-item-v2{border-bottom:1px solid var(--line);overflow:hidden}
.faq-v2 .faq-item-v2 summary{
  padding:24px 4px;display:flex;align-items:center;gap:24px;cursor:pointer;list-style:none;
  font-size:17px;font-weight:500;color:var(--navy);transition:color .2s;letter-spacing:-.012em;line-height:1.4;
}
.faq-v2 .faq-item-v2 summary::-webkit-details-marker{display:none}
.faq-v2 .faq-item-v2 summary > span:first-child{flex:1}
.faq-v2 .faq-item-v2 summary:hover{color:var(--green-deep)}
.faq-v2 .faq-item-v2 .plus{
  width:38px;height:38px;border-radius:50%;background:var(--green);color:#fff;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:transform .4s var(--e1),background .25s;
  position:relative;
}
.faq-v2 .faq-item-v2 .plus::before,
.faq-v2 .faq-item-v2 .plus::after{
  content:"";position:absolute;background:#fff;border-radius:1px;
}
.faq-v2 .faq-item-v2 .plus::before{width:14px;height:2px}
.faq-v2 .faq-item-v2 .plus::after{width:2px;height:14px}
.faq-v2 .faq-item-v2[open] .plus{transform:rotate(45deg);background:var(--green-deep)}
.faq-v2 .faq-item-v2 .body{
  padding:0 0 26px 4px;font-size:15px;color:var(--ink-soft);line-height:1.65;max-width:760px;
}
.faq-v2 .faq-item-v2 .body p{margin:0 0 .8em}
.faq-v2 .faq-item-v2 .body p:last-child{margin-bottom:0}
.faq-v2 .faq-item-v2 .body strong{color:var(--navy);font-weight:600}
@media (max-width:760px){
  .faq-v2 .faq-item-v2 summary{font-size:15px;padding:20px 4px;gap:16px}
  .faq-v2 .faq-item-v2 .plus{width:32px;height:32px}
  .faq-v2 .faq-item-v2 .plus::before{width:12px}
  .faq-v2 .faq-item-v2 .plus::after{height:12px}
  .faq-v2 .faq-item-v2 .body{font-size:14.5px;padding-bottom:22px}
}

/* Kill old v20 blue ablauf overrides */
section.ablauf-v2{background:var(--paper) !important;color:var(--ink) !important}


/* ═══ STANDORTE-SEKTION (v2 — Portrait-basiert, cooler) ═══ */
.standorte{background:linear-gradient(180deg,#fff 0%,var(--paper) 100%);padding:130px 0 140px;position:relative;overflow:hidden}
.standorte::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--green-deep) 50%,transparent 100%);opacity:.3}
.standorte .head{margin-bottom:70px;text-align:center;max-width:740px;margin-left:auto;margin-right:auto;position:relative;z-index:2}
.standorte .head .eyebrow{justify-content:center;margin-bottom:20px}
.standorte h2{margin:0 0 20px;font-size:44px;letter-spacing:-.035em}
.standorte .head p{margin:0;font-size:18px;color:var(--ink-soft);line-height:1.55}
.standorte .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:1200px;margin:0 auto;position:relative;z-index:2}

.st-card{
  background:#fff;
  border-radius:6px;
  overflow:hidden;
  display:flex;flex-direction:column;
  position:relative;
  box-shadow:0 4px 24px -8px rgba(10,31,61,.08),0 2px 6px rgba(10,31,61,.04);
  transition:transform .45s var(--e1),box-shadow .45s var(--e1);
}
.st-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px -20px rgba(10,31,61,.25),0 8px 20px -6px rgba(10,31,61,.1)}

/* Portrait-Header */
.st-card .st-portrait{position:relative;aspect-ratio:4/5;overflow:hidden;background:#0a1f3d}
.st-card .st-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--e1);filter:brightness(.92)}
.st-card:hover .st-portrait img{transform:scale(1.05)}
.st-card .st-portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(10,31,61,.75) 100%);z-index:1;pointer-events:none}
.st-card .st-city{position:absolute;left:24px;bottom:20px;z-index:2;color:#fff}
.st-card .st-city .st-lab{font-size:10px;letter-spacing:.28em;text-transform:uppercase;font-weight:600;color:rgba(255,255,255,.85);display:flex;align-items:center;gap:10px;margin-bottom:6px}
.st-card .st-city .st-lab::before{content:"";display:block;width:22px;height:1px;background:rgba(255,255,255,.6)}
.st-card .st-city h3{margin:0;font-size:34px;font-weight:400;letter-spacing:-.03em;color:#fff;line-height:1}
.st-card .st-num{position:absolute;top:20px;right:24px;z-index:2;color:rgba(255,255,255,.35);font-family:'Fraunces',serif;font-style:italic;font-size:80px;font-weight:300;line-height:1;letter-spacing:-.02em}

/* Body */
.st-card .st-body{padding:30px 30px 26px;display:flex;flex-direction:column;gap:16px;flex:1}
.st-card .addr{font-size:15px;line-height:1.6;color:var(--ink-soft);margin:0}
.st-card .addr strong{color:var(--ink);font-weight:500;display:block;margin-bottom:3px;font-size:15.5px}
.st-card .st-lead{padding-top:14px;border-top:1px dashed var(--line);font-size:13.5px;color:var(--ink-soft);line-height:1.5}
.st-card .st-lead strong{color:var(--navy);font-weight:600;display:block;font-size:11px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:4px}
.st-card .st-contact{margin-top:auto;padding:18px 30px 22px;background:var(--paper);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:6px 20px}
.st-card .st-contact a{color:var(--navy);font-size:13.5px;font-weight:500;text-decoration:none;display:flex;align-items:center;gap:8px;transition:color .25s}
.st-card .st-contact a:hover{color:var(--green-deep)}
.st-card .st-contact a svg{width:14px;height:14px;flex-shrink:0;color:var(--green-deep)}

@media (max-width:900px){.standorte .grid{grid-template-columns:1fr;gap:20px;max-width:520px}.standorte{padding:80px 0 90px}.standorte .head{margin-bottom:40px}.standorte h2{font-size:32px}.st-card .st-portrait{aspect-ratio:5/4}.st-card .st-num{font-size:64px}}/* End custom CSS */