/* ==========================================================================
   Elevence v2 (Entwurf 17.10.2026)
   - Neue Palette: kühles Papier, tiefes Waldgrün, ein Akzent (Limette) nur
     für Markierungen, Buttons-Chips und Häkchen
   - Kein dünnes grünes Serif-Kursiv mehr: Hervorhebung über Gewicht und
     Markierung in derselben Schrift (Manrope)
   - Zweistufiges Menü (Kategorien, Unterpunkte erst beim Drüberfahren)
   - Neue Startseiten-Bausteine (Präfix v2-)
   Nur transform/opacity werden animiert. Reduced Motion am Dateiende.
   ========================================================================== */
:root{
  --elv-primary:#16332A;
  --elv-secondary:#16332A;
  --elv-accent:#FFFFFF;
  --elv-surface:#EBEDE6;
  --elv-ink:#111915;
  --elv-deep:#0C1D16;
  --v2-paper:#F3F4EF;
  --v2-card:#FBFBF8;
  --v2-line:rgba(17,25,21,.10);
  --v2-mute:rgba(17,25,21,.62);
  --v2-lime:#FFFFFF; /* Test 17.10.: Weiß statt Limette (#CBEF6E) */
  --v2-forest:#16332A;
  --v2-forest-2:#0F261E;
  --v2-r:24px;
}
html, body{ background:var(--v2-paper); }
body{ color:var(--elv-ink); }
::selection{ background:var(--v2-forest); color:#fff; }

/* ---------- Hervorhebung: gleiche Schrift, Markierung statt grünem Kursiv ---------- */
.v2-mark, .sub-h1 em, .sub-h2 em{
  font-family:inherit; font-style:normal; font-weight:inherit; letter-spacing:inherit; color:#fff;
  background:var(--v2-forest); border-radius:.14em;
  padding:0 .12em .02em; margin:0 .02em;
  -webkit-box-decoration-break:clone; box-decoration-break:clone;
}
.cta-band h2 em{ font-family:inherit; font-style:normal; font-weight:inherit; letter-spacing:inherit; color:var(--v2-lime); }
.eyebrow, .rel small{ color:var(--v2-mute); }
.bchip .ico{ color:var(--elv-ink); }

/* Buttons: Hover bleibt dunkel, Chip in Limette */
.elv-btn:not(.elv-btn--light):not(.elv-btn--glass){ background:linear-gradient(180deg, #1F4236 0%, #16332A 55%, #0F261E 100%); }
.elv-btn:not(.elv-btn--light):not(.elv-btn--glass) .elv-btn-chip{ background:var(--v2-lime); color:var(--elv-ink); }
.elv-btn--light{ color:var(--elv-ink); }
.elv-btn--light .elv-btn-chip{ background:var(--elv-ink); color:var(--v2-lime); }
.elv-btn--glass .elv-btn-chip{ background:#fff; color:var(--elv-ink); }

/* ---------- Navigation: Leiste + zweistufiges Panel ---------- */
.nav-bar, .nav-right{ background:rgba(243,244,239,.84); border-color:var(--v2-line); }
.nav-drop{ background:rgba(246,247,243,.97); border-color:var(--v2-line); padding:10px; width:min(660px, calc(100vw - 32px)); }
.nav-cats{ display:grid; grid-template-columns:250px 1fr; column-gap:10px; align-items:start; }
.nav-cat{
  grid-column:1; display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%;
  padding:14px 14px; border-radius:14px; text-align:left; color:var(--elv-ink);
  transition:background .3s ease;
}
.nav-cat:nth-of-type(1){ grid-row:1; } .nav-cat:nth-of-type(2){ grid-row:2; } .nav-cat:nth-of-type(3){ grid-row:3; }
.nav-cat-txt{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.nav-cat b{ font-size:16px; font-weight:800; letter-spacing:-.015em; }
.nav-cat small{ font-size:12.5px; color:var(--v2-mute); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nav-cat .ico{ flex-shrink:0; width:16px; height:16px; opacity:.3; transform:translateX(-4px); transition:opacity .3s ease, transform .4s var(--ease-spring); }
.nav-cat:hover, .nav-cat.is-active{ background:#fff; box-shadow:0 1px 0 rgba(255,255,255,.8) inset, 0 6px 18px -12px rgba(15,38,30,.35); }
.nav-cat.is-active .ico{ opacity:1; transform:none; }
.nav-cat:focus-visible{ outline:2px solid var(--elv-ink); outline-offset:2px; }
.nav-sub{
  grid-column:2; grid-row:1 / span 3; display:none; flex-direction:column; gap:2px;
  padding:6px; border-radius:16px; background:#fff; box-shadow:0 1px 0 rgba(255,255,255,.8) inset, 0 10px 30px -20px rgba(15,38,30,.4);
}
.nav-sub.is-active{ display:flex; animation:v2SubIn .45s var(--ease-spring) both; }
@keyframes v2SubIn{ from{ opacity:0; transform:translateX(8px); } to{ opacity:1; transform:none; } }
.nav-link{ display:flex; align-items:center; gap:12px; padding:9px 10px; border-radius:12px; color:var(--elv-ink); transition:background .25s ease; }
.nav-link-ico{ display:flex; align-items:center; justify-content:center; width:38px; height:38px; flex-shrink:0; border-radius:11px; background:var(--v2-paper); transition:background .3s ease, color .3s ease; }
.nav-link-ico .ico{ width:18px; height:18px; }
.nav-link-txt{ display:flex; flex-direction:column; min-width:0; }
.nav-link-txt b{ font-size:15px; font-weight:700; letter-spacing:-.01em; }
.nav-link-txt small{ font-size:12.5px; color:var(--v2-mute); }
.nav-link:hover{ background:var(--v2-paper); }
.nav-link:hover .nav-link-ico{ background:var(--elv-ink); color:var(--v2-lime); }
.nav-link[aria-current="page"] .nav-link-ico{ background:var(--elv-ink); color:var(--v2-lime); }
.nav-link:focus-visible{ outline:2px solid var(--elv-ink); outline-offset:2px; }
.nav-more-row{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin:6px 10px 6px; padding-top:10px; border-top:1px solid var(--v2-line); font-size:13px; }
.nav-more-row span{ color:var(--v2-mute); }
.nav-more{ font-weight:700; color:var(--elv-ink); text-decoration:underline; text-decoration-color:rgba(17,25,21,.25); text-underline-offset:3px; }
.nav-more:hover{ text-decoration-color:var(--elv-ink); }
.nav-meta{ grid-template-columns:repeat(5, auto); justify-content:start; gap:6px 20px; margin:12px 4px 2px; padding:12px 10px 4px; border-top:1px solid var(--v2-line); }
.nav-meta a{ font-family:inherit; font-size:13px; font-weight:600; letter-spacing:0; color:var(--v2-mute); }
.nav-meta a:hover{ color:var(--elv-ink); }
@media (max-width:767px){
  .nav-cats{ display:block; }
  .nav-cat .ico{ opacity:.5; transform:none; }
  .nav-cat.is-active .ico{ opacity:1; transform:rotate(90deg); }
  .nav-sub{ margin:4px 0 8px; }
  .nav-sub.is-active{ animation:none; }
  .nav-meta{ grid-template-columns:repeat(3, auto); }
}

/* ---------- Gemeinsame Abschnitts-Bausteine ---------- */
.v2-sec{ padding:112px 24px; }
.v2-in{ max-width:76rem; margin:0 auto; }
.v2-h2{ font-weight:800; font-size:clamp(2rem,4vw,3.25rem); line-height:1.06; letter-spacing:-.035em; color:var(--elv-ink); max-width:20ch; text-wrap:balance; }
.v2-lede{ margin-top:18px; max-width:56ch; font-size:clamp(1.02rem,1.4vw,1.15rem); line-height:1.65; color:var(--v2-mute); }
.v2-head{ margin-bottom:48px; }
@media (max-width:767px){ .v2-sec{ padding:80px 16px; } .v2-head{ margin-bottom:32px; } }

/* ---------- Hero: Text links, Foto rechts ---------- */
.v2-hero{ position:relative; padding:128px 24px 72px; overflow:hidden; }
.v2-hero::before{
  content:''; position:absolute; right:-10%; top:-10%; width:62vw; height:62vw; max-width:900px; max-height:900px; pointer-events:none;
  background:radial-gradient(closest-side, rgba(22,51,42,.10), rgba(22,51,42,0));
}
.v2-hero-in{ position:relative; max-width:76rem; margin:0 auto; display:grid; grid-template-columns:1.12fr .88fr; gap:56px; align-items:center; }
.v2-h1{ display:flex; flex-direction:column; gap:22px; }
.v2-kicker{ align-self:flex-start; display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border-radius:999px; border:1px solid var(--v2-line); background:rgba(255,255,255,.7); font-size:13px; font-weight:700; letter-spacing:-.005em; color:var(--elv-ink); }
.v2-kicker .ico{ width:15px; height:15px; }
.v2-claim{ display:block; font-weight:800; font-size:clamp(2.4rem,4.1vw,4.4rem); line-height:1.04; letter-spacing:-.045em; color:var(--elv-ink); }
.v2-claim .v2-mark{ padding-bottom:.02em; }
.v2-hero-sub{ margin-top:26px; max-width:46ch; font-size:clamp(1.05rem,1.5vw,1.25rem); line-height:1.6; color:var(--v2-mute); }
.v2-hero-ctas{ display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:34px; }
.v2-for{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:30px; }
.v2-for > span{ font-size:13px; font-weight:700; color:var(--v2-mute); margin-right:4px; }
.v2-for a{ display:inline-flex; align-items:center; gap:7px; padding:8px 14px; border-radius:999px; background:#fff; border:1px solid var(--v2-line); font-size:14px; font-weight:700; color:var(--elv-ink); transition:transform .35s var(--ease-spring), background .3s ease, color .3s ease; }
.v2-for a .ico{ width:15px; height:15px; }
.v2-for a:hover{ background:var(--elv-ink); color:#fff; transform:translateY(-2px); }
.v2-for a:hover .ico{ color:var(--v2-lime); }
.v2-for a:active{ transform:scale(.97); }

.v2-hero-visual{ position:relative; justify-self:end; width:100%; max-width:460px; }
.v2-hero-photo{ position:relative; aspect-ratio:4/5; border-radius:32px; overflow:hidden; background:#cfd3cc;
  box-shadow:0 2px 4px rgba(15,38,30,.06), 0 30px 60px -28px rgba(15,38,30,.5); }
.v2-hero-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 22%; }
.v2-hero-card{
  position:absolute; left:16px; right:16px; bottom:16px; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:14px 16px; border-radius:18px; color:#fff;
  background:rgba(15,38,30,.62); backdrop-filter:blur(14px) saturate(140%); -webkit-backdrop-filter:blur(14px) saturate(140%);
  border:1px solid rgba(255,255,255,.14); box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.v2-hero-card b{ display:block; font-size:16px; font-weight:800; letter-spacing:-.01em; }
.v2-hero-card small{ display:block; font-size:13px; color:rgba(255,255,255,.72); }
.v2-hero-card .v2-dot{ flex-shrink:0; display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:999px; background:var(--v2-lime); color:var(--elv-ink); font-size:12px; font-weight:800; }
.v2-hero #heroFloatIcons{ z-index:0; }
.v2-hero-in{ z-index:1; }
@media (max-width:1199px){ .v2-hero .hero-float-icon.hero-mid{ display:none; } }
@media (max-width:1279px){ .v2-hero-in{ grid-template-columns:1.3fr .7fr; gap:40px; } }
@media (max-width:1023px){
  .v2-hero-in{ grid-template-columns:1fr; gap:48px; }
  .v2-hero-visual{ justify-self:start; max-width:420px; }
}
@media (max-width:767px){
  .v2-hero{ padding:104px 16px 56px; }
  .v2-hero-visual{ max-width:none; }
  .v2-hero-photo{ aspect-ratio:4/4.4; }
  .v2-hero #heroFloatIcons{ display:none; }
  /* v5 (17.10.): mobil ohne Kicker und ohne Foto, beide Hero-Buttons gleich breit, Zielgruppen nebeneinander */
  .v2-hero .v2-kicker{ display:none; }
  .v2-hero-visual{ display:none; }
  .v2-hero-copy{ min-width:0; }
  .v2-for{ flex-wrap:nowrap; gap:5px; }
  .v2-for > span{ margin-right:2px; }
  .v2-for a{ gap:5px; padding:7px 9px; font-size:12.5px; white-space:nowrap; }
  .v2-for a .ico{ width:13px; height:13px; }
}

/* ---------- Mehrwert: Bento mit vier unterschiedlichen Kacheln ---------- */
.v2-bento{ display:grid; grid-template-columns:1.12fr 1fr 1fr; grid-template-rows:auto auto; gap:16px; }
.v2-tile{
  position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column;
  padding:30px; border-radius:var(--v2-r); background:var(--v2-card); border:1px solid var(--v2-line);
  transition:transform .6s var(--ease-spring), box-shadow .6s var(--ease-spring);
}
.v2-tile::after{ /* Lichtkegel folgt dem Mauszeiger */
  content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:0; transition:opacity .4s ease;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,.14), transparent 60%);
}
.v2-tile:hover{ box-shadow:0 30px 60px -34px rgba(15,38,30,.45); }
.v2-tile:hover::after{ opacity:1; }
.v2-tile h3{ font-weight:800; font-size:clamp(1.3rem,1.9vw,1.6rem); line-height:1.15; letter-spacing:-.03em; }
.v2-tile p{ margin-top:12px; font-size:15.5px; line-height:1.6; color:var(--v2-mute); max-width:44ch; }
.v2-tile--a{ grid-column:1; grid-row:1 / span 2; background:var(--v2-forest); border-color:transparent; color:#fff; min-height:520px; }
.v2-tile--a p{ color:rgba(255,255,255,.7); }
.v2-tile--b{ grid-column:2 / span 2; grid-row:1; }
.v2-tile--c{ grid-column:2; grid-row:2; background:#fff; }
.v2-tile--c p{ color:rgba(17,25,21,.72); }
.v2-tile--d{ grid-column:3; grid-row:2; color:#fff; border-color:transparent; background:var(--v2-forest-2); justify-content:flex-end; min-height:300px; }
.v2-tile--d img{ position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; opacity:.5; transition:transform 1.2s var(--ease-spring); }
.v2-tile--d::before{ content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(15,38,30,.15) 0%, rgba(15,38,30,.92) 78%); }
.v2-tile--d:hover img{ transform:scale(1.05); }
.v2-tile--d p{ color:rgba(255,255,255,.75); }
.v2-badge{ align-self:flex-start; display:inline-flex; align-items:center; gap:7px; margin-bottom:18px; padding:7px 12px; border-radius:999px; background:var(--v2-lime); color:var(--elv-ink); font-size:12.5px; font-weight:800; }
.v2-badge .ico{ width:15px; height:15px; }

/* Kachel A: Kanäle fließen zu einer Anfrage zusammen */
.v2-sources{ position:relative; margin-top:auto; padding-top:36px; }
.v2-src-row{ display:flex; flex-wrap:wrap; gap:10px; }
.v2-src{ display:inline-flex; align-items:center; gap:8px; padding:8px 12px 8px 8px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); font-size:13.5px; font-weight:700; color:#fff; }
.v2-src img{ width:24px; height:24px; border-radius:7px; object-fit:cover; background:#fff; }
.v2-src .ico{ width:24px; height:24px; padding:4px; border-radius:7px; background:#fff; color:var(--elv-ink); }
.v2-funnel{ display:flex; justify-content:center; height:46px; }
.v2-funnel i{ display:block; width:2px; height:100%; background:repeating-linear-gradient(180deg, rgba(255,255,255,.75) 0 6px, transparent 6px 12px); background-size:2px 24px; animation:v2Dash 1.2s linear infinite; }
@keyframes v2Dash{ to{ background-position:0 24px; } }
.v2-inbox{ display:flex; align-items:center; gap:12px; padding:14px 16px; border-radius:18px; background:#fff; color:var(--elv-ink); }
.v2-inbox-ico{ display:flex; align-items:center; justify-content:center; width:40px; height:40px; flex-shrink:0; border-radius:12px; background:var(--v2-forest); color:#fff; }
.v2-inbox-ico .ico{ width:20px; height:20px; }
.v2-inbox b{ display:block; font-size:15px; font-weight:800; }
.v2-inbox small{ display:block; font-size:13px; color:var(--v2-mute); }

/* Kachel B (v5): Aufgaben werden nacheinander automatisiert, läuft in Dauerschleife */
.v2-auto{ display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin-top:auto; padding-top:28px; }
.v2-auto li{
  position:relative; overflow:hidden; isolation:isolate; display:flex; flex-direction:column; align-items:flex-start; gap:8px;
  min-height:112px; padding:14px; border-radius:16px; background:var(--v2-paper); border:1px solid var(--v2-line);
  font-size:13.5px; font-weight:700; line-height:1.3; transition:color .35s ease, border-color .35s ease, transform .45s var(--ease-spring);
}
.v2-auto li::before{ /* Füllung, die von links nach rechts durchläuft */
  content:''; position:absolute; inset:0; z-index:-1; background:var(--elv-ink);
  transform:scaleX(0); transform-origin:left center; transition:transform .5s ease;
}
.v2-auto li::after{ /* Lichtstreifen während der Automatisierung */
  content:''; position:absolute; top:0; bottom:0; left:-40%; width:40%; z-index:-1; opacity:0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent);
}
.v2-auto li > .ico{ width:22px; height:22px; transition:color .35s ease; }
.v2-auto em{ margin-top:auto; display:inline-flex; align-items:center; gap:5px; padding:4px 9px 4px 6px; border-radius:999px; background:var(--v2-lime); color:var(--elv-ink);
  font-style:normal; font-size:11.5px; font-weight:800; opacity:0; transform:translateY(8px) scale(.9); transition:opacity .35s ease, transform .45s var(--ease-spring); }
.v2-auto em .ico{ width:12px; height:12px; }
.v2-auto li.is-run{ color:#fff; border-color:var(--elv-ink); transform:translateY(-3px); }
.v2-auto li.is-run::before{ transform:scaleX(1); transition:transform 1.1s cubic-bezier(.65,0,.35,1); }
.v2-auto li.is-run::after{ opacity:1; animation:v2Sheen 1.1s ease-in-out; }
.v2-auto li.is-done{ color:#fff; border-color:var(--elv-ink); }
.v2-auto li.is-done::before{ transform:scaleX(1); }
.v2-auto li.is-run > .ico, .v2-auto li.is-done > .ico{ color:var(--v2-lime); }
.v2-auto li.is-done em{ opacity:1; transform:none; }
.v2-auto.is-reset li::before{ transform-origin:right center; transform:scaleX(0); transition:transform .6s cubic-bezier(.65,0,.35,1); }
.v2-auto.is-reset li{ color:var(--elv-ink); border-color:var(--v2-line); }
.v2-auto.is-reset li > .ico{ color:inherit; }
.v2-auto.is-reset li em{ opacity:0; transform:translateY(8px) scale(.9); }
@keyframes v2Sheen{ from{ left:-40%; } to{ left:110%; } }

/* Kachel C (v5): Verwaltung schrumpft, Beratung wächst, Dauerschleife */
.v2-week{ margin-top:auto; padding-top:26px; }
.v2-week-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; font-size:13px; font-weight:700; color:var(--v2-mute); }
.v2-week-gain{ display:inline-flex; align-items:center; gap:5px; padding:4px 10px 4px 7px; border-radius:999px; background:var(--elv-ink); color:#fff; font-size:12px; font-weight:800; opacity:0; }
.v2-week-gain .ico{ width:13px; height:13px; color:var(--v2-lime); }
.v2-week-bar{ display:flex; gap:5px; height:58px; }
.v2-week-bar span{ display:flex; align-items:center; min-width:0; padding:0 12px; border-radius:14px; overflow:hidden; white-space:nowrap; font-size:13px; font-weight:800; }
.v2-week-adm{ flex:0 0 66%; background:rgba(17,25,21,.10); color:rgba(17,25,21,.7); }
.v2-week-adv{ flex:1 1 auto; background:var(--v2-forest); color:#fff; }
.v2-week.is-live .v2-week-adm{ animation:v2WeekAdm 6.5s cubic-bezier(.65,0,.35,1) infinite; }
.v2-week.is-live .v2-week-gain{ animation:v2WeekGain 6.5s ease infinite; }
@keyframes v2WeekAdm{ 0%, 14%{ flex-basis:66%; } 42%, 84%{ flex-basis:31%; } 100%{ flex-basis:66%; } }
@keyframes v2WeekGain{ 0%, 34%{ opacity:0; transform:translateY(6px) scale(.9); } 44%, 82%{ opacity:1; transform:none; } 94%, 100%{ opacity:0; transform:translateY(6px) scale(.9); } }
@media (prefers-reduced-motion: reduce){
  .v2-week .v2-week-adm{ animation:none !important; flex-basis:31%; }
  .v2-week .v2-week-gain{ animation:none !important; opacity:1; }
}

.v2-bento-cta{ display:flex; flex-wrap:wrap; align-items:center; gap:16px 22px; margin-top:36px; }
.v2-bento-cta p{ font-size:15px; color:var(--v2-mute); }
@media (max-width:1023px){
  .v2-bento{ grid-template-columns:1fr 1fr; }
  .v2-tile--a{ grid-column:1 / span 2; grid-row:auto; min-height:0; }
  .v2-tile--b{ grid-column:1 / span 2; grid-row:auto; }
  .v2-tile--c, .v2-tile--d{ grid-column:auto; grid-row:auto; }
}
@media (max-width:767px){
  .v2-bento{ grid-template-columns:1fr; }
  .v2-tile{ padding:24px; }
  .v2-tile--a, .v2-tile--b{ grid-column:auto; }
  .v2-auto{ grid-template-columns:1fr 1fr; }
  .v2-auto li{ min-height:104px; padding:12px; font-size:13px; }
  .v2-auto li > span{ -webkit-hyphens:auto; hyphens:auto; overflow-wrap:break-word; max-width:100%; }
}

/* ---------- Video + Einordnung ---------- */
.v2-video{ padding-top:24px; }
.v2-video-grid{ display:grid; grid-template-columns:1.45fr 1fr; gap:40px; align-items:center; }
.v2-video-grid .vid-wrap{ max-width:none; margin:0; }
.v2-intro-top{ display:flex; align-items:center; gap:14px; margin-bottom:20px; }
.v2-intro-top img{ width:64px; height:64px; border-radius:50%; object-fit:cover; object-position:50% 18%; box-shadow:0 0 0 3px #fff, 0 10px 24px -12px rgba(15,38,30,.5); }
.v2-intro-top b{ display:block; font-size:16px; font-weight:800; }
.v2-intro-top small{ display:block; font-size:13.5px; color:var(--v2-mute); }
.v2-intro h2{ font-weight:800; font-size:clamp(1.5rem,2.4vw,2rem); line-height:1.15; letter-spacing:-.03em; }
.v2-intro > p{ margin-top:14px; font-size:15.5px; line-height:1.65; color:var(--v2-mute); }
.v2-checks{ display:flex; flex-direction:column; gap:10px; margin:22px 0 28px; }
.v2-checks li{ display:flex; align-items:flex-start; gap:10px; font-size:15px; font-weight:700; line-height:1.4; }
.v2-checks .ico{ flex-shrink:0; width:20px; height:20px; margin-top:1px; padding:3px; border-radius:50%; background:var(--elv-ink); color:var(--v2-lime); }
@media (max-width:1023px){ .v2-video-grid{ grid-template-columns:1fr; } }

/* ---------- Vergleich: Heute / Mit Elevence ---------- */
.v2-cmp{ display:grid; grid-template-columns:1fr 1fr; }
.v2-cmp > div{ padding:22px 30px; }
.v2-cmp .c-now{ background:var(--v2-card); border-left:1px solid var(--v2-line); border-right:1px solid var(--v2-line); }
.v2-cmp .c-with{ background:var(--v2-forest); color:#fff; }
.v2-cmp .c-head{ padding-top:30px; padding-bottom:10px; }
.v2-cmp .c-now.c-head{ border-top:1px solid var(--v2-line); border-radius:var(--v2-r) 0 0 0; }
.v2-cmp .c-with.c-head{ border-radius:0 var(--v2-r) 0 0; }
.v2-cmp .c-now.c-last{ border-bottom:1px solid var(--v2-line); border-radius:0 0 0 var(--v2-r); padding-bottom:32px; }
.v2-cmp .c-with.c-last{ border-radius:0 0 var(--v2-r) 0; padding-bottom:32px; }
.v2-cmp .c-head span{ display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:800; letter-spacing:.02em; }
.v2-cmp .c-now.c-head span{ color:var(--v2-mute); }
.v2-cmp .c-with.c-head span{ color:var(--v2-lime); }
.v2-cmp .c-head h3{ margin-top:6px; font-weight:800; font-size:clamp(1.25rem,2vw,1.6rem); letter-spacing:-.03em; }
.v2-row{ display:flex; gap:14px; }
.v2-row .m{ flex-shrink:0; display:flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; margin-top:2px; }
.v2-row .m .ico{ width:15px; height:15px; }
.c-now .v2-row .m{ background:rgba(17,25,21,.06); color:rgba(17,25,21,.55); }
.c-with .v2-row .m{ background:var(--v2-lime); color:var(--elv-ink); }
.v2-row b{ display:block; font-size:16px; font-weight:800; letter-spacing:-.01em; }
.v2-row p{ margin-top:4px; font-size:14.5px; line-height:1.55; }
.c-now .v2-row p{ color:var(--v2-mute); }
.c-now .v2-row b{ color:rgba(17,25,21,.75); }
.c-with .v2-row p{ color:rgba(255,255,255,.7); }
.v2-cmp .c-with{ box-shadow:24px 0 60px -40px rgba(15,38,30,.6); }
@media (max-width:767px){
  .v2-cmp{ grid-template-columns:1fr; }
  .v2-cmp > div{ padding:18px 20px; }
  .v2-cmp .c-head{ display:none; }
  .v2-cmp .c-now{ border:1px solid var(--v2-line); border-bottom:0; border-radius:18px 18px 0 0 !important; margin-top:12px; }
  .v2-cmp .c-with{ border-radius:0 0 18px 18px !important; }
  .v2-cmp .c-now::before{ content:'Heute'; display:block; margin-bottom:8px; font-size:12px; font-weight:800; color:var(--v2-mute); }
  .v2-cmp .c-with::before{ content:'Mit Elevence'; display:block; margin-bottom:8px; font-size:12px; font-weight:800; color:var(--v2-lime); }
}

/* ---------- Für wen: große Zeilen ---------- */
.v2-who{ border-top:1px solid var(--v2-line); }
.v2-who-row{
  position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto; align-items:center; gap:28px;
  padding:30px 20px; border-bottom:1px solid var(--v2-line); color:var(--elv-ink);
}
.v2-who-row::before{ content:''; position:absolute; inset:0; z-index:-1; background:var(--v2-forest); transform:scaleY(0); transform-origin:bottom; transition:transform .6s var(--ease-spring); }
.v2-who-name{ font-weight:800; font-size:clamp(1.6rem,3.4vw,2.8rem); line-height:1.05; letter-spacing:-.04em; transition:color .4s ease, transform .6s var(--ease-spring); }
.v2-who-pain{ font-size:15.5px; line-height:1.55; color:var(--v2-mute); transition:color .4s ease; }
.v2-who-go{ display:flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:50%; background:#fff; border:1px solid var(--v2-line); transition:background .4s ease, transform .6s var(--ease-spring); }
.v2-who-go .ico{ width:20px; height:20px; }
.v2-who-row:hover::before, .v2-who-row:focus-visible::before{ transform:scaleY(1); }
.v2-who-row:hover .v2-who-name, .v2-who-row:focus-visible .v2-who-name{ color:#fff; transform:translateX(10px); }
.v2-who-row:hover .v2-who-pain, .v2-who-row:focus-visible .v2-who-pain{ color:rgba(255,255,255,.75); }
.v2-who-row:hover .v2-who-go, .v2-who-row:focus-visible .v2-who-go{ background:var(--v2-lime); border-color:transparent; transform:rotate(45deg); }
.v2-who-row:focus-visible{ outline:2px solid var(--elv-ink); outline-offset:2px; }
.v2-who-more{ margin-top:26px; font-size:15px; color:var(--v2-mute); }
.v2-who-more a{ font-weight:700; color:var(--elv-ink); text-decoration:underline; text-decoration-color:rgba(17,25,21,.3); text-underline-offset:3px; }
.v2-who-more a:hover{ text-decoration-color:var(--elv-ink); }
@media (max-width:767px){
  .v2-who-row{ grid-template-columns:1fr auto; gap:10px 16px; padding:22px 4px; }
  .v2-who-pain{ grid-column:1 / -1; grid-row:2; }
  .v2-who-go{ width:44px; height:44px; }
}

/* ---------- Ablauf: dunkles Band, drei Schritte ---------- */
.v2-band{ margin:0 16px; padding:104px 24px; border-radius:36px; background:var(--v2-forest); color:#fff; overflow:hidden; position:relative; isolation:isolate; }
.v2-band::before{ content:''; position:absolute; left:50%; bottom:-40%; width:900px; height:600px; transform:translateX(-50%); z-index:-1; background:radial-gradient(closest-side, rgba(203,239,110,.16), transparent); pointer-events:none; }
.v2-band .v2-h2{ color:#fff; }
.v2-band .v2-lede{ color:rgba(255,255,255,.68); }
.v2-steps{ position:relative; display:grid; grid-template-columns:repeat(3, 1fr); gap:28px; margin-top:56px; }
.v2-steps::before{ content:''; position:absolute; left:28px; right:calc(33.333% - 28px); top:28px; height:2px; background:rgba(255,255,255,.14); }
.v2-steps::after{ content:''; position:absolute; left:28px; right:calc(33.333% - 28px); top:28px; height:2px; background:var(--v2-lime); transform:scaleX(0); transform-origin:left; transition:transform 1.8s var(--ease-spring) .2s; }
.v2-steps.in::after{ transform:scaleX(1); }
.v2-step-n{ position:relative; z-index:1; display:flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:50%; background:var(--v2-forest-2); border:2px solid rgba(255,255,255,.18); font-size:18px; font-weight:800; transition:background .5s ease, color .5s ease, border-color .5s ease; }
.v2-steps.in .v2-step-n{ background:#fff; color:var(--elv-ink); border-color:#fff; }
.v2-steps li:nth-child(2) .v2-step-n{ transition-delay:.7s; }
.v2-steps li:nth-child(3) .v2-step-n{ transition-delay:1.3s; }
.v2-steps h3{ margin-top:24px; font-weight:800; font-size:clamp(1.2rem,1.8vw,1.45rem); letter-spacing:-.025em; }
.v2-steps p{ margin-top:10px; font-size:15.5px; line-height:1.6; color:rgba(255,255,255,.7); max-width:34ch; }
.v2-steps small{ display:inline-block; margin-top:14px; padding:5px 10px; border-radius:999px; background:rgba(255,255,255,.08); font-size:12.5px; font-weight:700; color:rgba(255,255,255,.8); }
.v2-band-cta{ margin-top:56px; }
@media (max-width:767px){
  .v2-band{ margin:0 8px; padding:72px 18px; border-radius:28px; }
  .v2-steps{ grid-template-columns:1fr; gap:30px; }
  .v2-steps::before, .v2-steps::after{ left:27px; right:auto; top:28px; bottom:28px; width:2px; height:auto; }
  .v2-steps::after{ transform:scaleY(0); transform-origin:top; }
  .v2-steps.in::after{ transform:scaleY(1); }
  .v2-steps li{ display:grid; grid-template-columns:56px 1fr; column-gap:18px; }
  .v2-steps li > *:not(.v2-step-n){ grid-column:2; }
  .v2-steps h3{ margin-top:12px; }
}

/* ---------- Über mich (hell, echtes Foto) ---------- */
.v2-about{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.v2-about-photo{ position:relative; aspect-ratio:4/3; border-radius:32px; overflow:hidden; box-shadow:0 30px 60px -32px rgba(15,38,30,.5); }
.v2-about-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:42% 30%; }
.v2-about-tag{ position:absolute; left:18px; top:18px; z-index:2; display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.88); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); font-size:13px; font-weight:800; color:var(--elv-ink); }
.v2-about-tag .ico{ width:15px; height:15px; }
.v2-about-txt p{ margin-top:16px; font-size:16px; line-height:1.7; color:var(--v2-mute); }
.v2-facts{ display:flex; flex-wrap:wrap; gap:6px; margin-top:24px; }
.v2-facts span{ display:inline-flex; align-items:center; gap:6px; padding:7px 11px; white-space:nowrap; border-radius:999px; background:#fff; border:1px solid var(--v2-line); font-size:13px; font-weight:700; }
.v2-facts .ico{ width:15px; height:15px; }
@media (max-width:1023px){ .v2-about{ grid-template-columns:1fr; gap:36px; } }

/* Projekte: Hinweis-Zeile */
.pj-head p{ color:var(--v2-mute); }

/* ---------- Reduced Motion ---------- */
@media (prefers-reduced-motion: reduce){
  .v2-funnel i{ animation:none; }
  .nav-sub.is-active{ animation:none; }
  .v2-tile, .v2-who-row::before, .v2-who-name, .v2-who-go, .v2-steps::after, .v2-step-n{ transition:none !important; }
  .v2-tile:hover{ transform:none; }
}

/* ================= v3 (17.10.2026, Chefs Feedback zu v2) ================= */
/* Hero-Karte: Ort-Chip weiß */
.v2-hero-card .v2-dot{ background:#fff; }

/* Branchen-Kreise: Kreis ist ein Link */
.bx-orb{ display:block; }
.bx-label strong a{ color:inherit; }
.bx-label strong a::after{ content:""; }
.bx-c1 .bx-ball, .bx-c2 .bx-ball, .bx-c3 .bx-ball{ background:var(--v2-forest); }
.bx-c2 .bx-ball::before{ display:none; }
.bx-ring{ border-color:rgba(22,51,42,.35); }

/* Weitere Branchen: eigener, gut sichtbarer Block */
.v2-more{
  display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:16px; align-items:stretch;
  margin-top:72px; padding:16px; border-radius:28px; background:var(--v2-forest); color:#fff;
}
.v2-more-txt{ padding:20px 18px; display:flex; flex-direction:column; justify-content:center; }
.v2-more-txt h3{ font-weight:800; font-size:clamp(1.5rem,2.6vw,2.2rem); line-height:1.08; letter-spacing:-.035em; }
.v2-more-txt p{ margin-top:12px; font-size:15px; line-height:1.6; color:rgba(255,255,255,.72); }
.v2-more-card{
  position:relative; isolation:isolate; overflow:hidden; display:flex; align-items:flex-end; justify-content:space-between; gap:12px;
  min-height:220px; padding:20px; border-radius:20px; color:#fff;
}
.v2-more-card img{ position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease-spring); }
.v2-more-card::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(12,29,22,.05) 30%, rgba(12,29,22,.85) 100%); }
.v2-more-card b{ display:block; font-size:clamp(1.15rem,1.7vw,1.4rem); font-weight:800; letter-spacing:-.02em; }
.v2-more-card small{ display:block; margin-top:4px; font-size:13.5px; color:rgba(255,255,255,.78); }
.v2-more-card > .ico{ flex-shrink:0; width:44px; height:44px; padding:12px; border-radius:50%; background:#fff; color:var(--elv-ink); transition:transform .6s var(--ease-spring); }
.v2-more-card:hover img{ transform:scale(1.06); }
.v2-more-card:hover > .ico{ transform:rotate(45deg); }
.v2-more-card:focus-visible{ outline:2px solid #fff; outline-offset:3px; }
@media (max-width:899px){
  .v2-more{ grid-template-columns:1fr 1fr; margin-top:48px; }
  .v2-more-txt{ grid-column:1 / -1; padding:12px 8px 4px; }
}
@media (max-width:540px){ .v2-more{ grid-template-columns:1fr; } .v2-more-card{ min-height:180px; } }

/* Über mich: Foto deckt sich langsam von unten nach oben auf (wie vorher), danach sanftes Schweben */
.v2-rise{ min-width:0; }
.v2-rise .v2-about-photo{ clip-path:inset(100% 0 0 0 round 32px); }
.v2-rise.in .v2-about-photo{ animation:v2PhotoReveal 2.2s cubic-bezier(.45,0,.25,1) both, v2Float 6s ease-in-out 2.2s infinite; }
@keyframes v2PhotoReveal{ from{ clip-path:inset(100% 0 0 0 round 32px); } to{ clip-path:inset(0 0 0 0 round 32px); } }
@keyframes v2Float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-12px); } }
.v2-about-photo::after{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(12,29,22,0) 45%, rgba(12,29,22,.55) 100%); pointer-events:none; }
.v2-about-name{
  position:absolute; left:22px; bottom:20px; z-index:2; color:#fff; font-weight:800; font-size:clamp(1.8rem,3.4vw,3rem); line-height:.92; letter-spacing:-.04em;
  opacity:0; transform:translateY(24px); transition:opacity 1s var(--ease-spring) 1.6s, transform 1.2s var(--ease-spring) 1.6s;
}
.v2-about-tag{ opacity:0; transform:translateY(-12px); transition:opacity .8s ease 1.9s, transform 1s var(--ease-spring) 1.9s; }
.v2-about-pott{
  position:absolute; right:18px; bottom:22px; z-index:2; padding:8px 14px; border-radius:999px; background:#fff; color:var(--elv-ink);
  font-size:14px; font-weight:800; letter-spacing:-.01em; transform:rotate(-4deg) scale(.6); opacity:0;
  transition:opacity .6s ease 2.2s, transform .9s cubic-bezier(.34,1.56,.64,1) 2.2s;
}
.v2-rise.in .v2-about-name, .v2-rise.in .v2-about-tag{ opacity:1; transform:none; }
.v2-rise.in .v2-about-pott{ opacity:1; transform:rotate(-4deg) scale(1); }
.v2-about-txt p[data-scrub]{ font-size:clamp(1.1rem,1.6vw,1.3rem); line-height:1.55; font-weight:700; color:var(--elv-ink); }

@media (prefers-reduced-motion: reduce){
  .v2-rise .v2-about-photo{ clip-path:none !important; animation:none !important; }
  .v2-about-name, .v2-about-tag, .v2-about-pott{ opacity:1 !important; transition:none !important; }
  .v2-about-name, .v2-about-tag{ transform:none !important; }
  .v2-more-card img{ transition:none; }
}

/* ================= v4 (17.10.2026) ================= */
/* Kipp-Effekt: Karte neigt sich zur Ecke, in der die Maus ist */
[data-tilt]{ --rx:0deg; --ry:0deg; transform-style:preserve-3d; }
.v2-tile[data-tilt].in, .v2-vs-old[data-tilt].in, .v2-vs-new[data-tilt].in{
  transform:perspective(1100px) rotateX(var(--rx)) rotateY(var(--ry));
  transition:transform .5s var(--ease-spring), box-shadow .6s var(--ease-spring), opacity 1.1s var(--ease-spring);
}
[data-tilt].is-tilting{ transition:transform .12s linear, box-shadow .6s var(--ease-spring) !important; }

/* Vergleich im Stil der Referenz */
.v2-head--center{ text-align:center; }
.v2-head--center .v2-h2, .v2-head--center .v2-lede{ margin-left:auto; margin-right:auto; }
.v2-vs{ display:grid; grid-template-columns:.92fr 1.08fr; align-items:center; margin-top:8px; }
.v2-vs-old{
  position:relative; z-index:1; margin-right:-56px; padding:44px 96px 48px 44px; border-radius:30px;
  background:linear-gradient(160deg, #FFFFFF 0%, #EEF0EA 100%); border:1px solid var(--v2-line);
  box-shadow:0 24px 50px -36px rgba(15,38,30,.35);
  opacity:0; transform:translateX(-50px);
  transition:opacity 1.1s var(--ease-spring), transform 1.3s var(--ease-spring);
}
.v2-vs-old h3{ text-align:center; font-weight:800; font-size:clamp(1.4rem,2.2vw,1.9rem); letter-spacing:-.035em; color:rgba(17,25,21,.8); padding-bottom:26px; margin-bottom:28px; border-bottom:1px solid var(--v2-line); }
.v2-vs-old ul{ display:grid; grid-template-columns:1fr 1fr; gap:22px 28px; }
.v2-vs-old li{ display:flex; align-items:center; gap:12px; font-size:15.5px; font-weight:600; color:rgba(17,25,21,.72); }
.v2-minus{ position:relative; flex-shrink:0; width:20px; height:20px; border-radius:50%; background:var(--elv-ink); }
.v2-minus::after{ content:""; position:absolute; left:5px; right:5px; top:50%; height:2.5px; margin-top:-1.25px; border-radius:2px; background:#fff; }
.v2-vs-new{
  position:relative; z-index:2; opacity:0; transform:translateY(60px);
  transition:opacity 1.1s var(--ease-spring) .15s, transform 1.4s var(--ease-spring) .15s;
}
.v2-vs-old.in{ opacity:1; transform:none; }
.v2-vs-new.in{ opacity:1; transform:none; }
.v2-vs-frame{
  padding:14px; border-radius:40px; background:linear-gradient(160deg, #1F4236 0%, #0F261E 70%);
  box-shadow:0 2px 0 rgba(255,255,255,.08) inset, 0 50px 90px -40px rgba(12,29,22,.75), 0 18px 36px -20px rgba(12,29,22,.5);
}
.v2-vs-frame > *{ background:linear-gradient(180deg, #F7F8F4 0%, #ECEFE8 100%); }
.v2-vs-head{ display:flex; justify-content:center; padding:38px 24px 32px; border-radius:28px 28px 0 0; border-bottom:1px solid var(--v2-line); }
.v2-vs-head img{ height:44px; width:auto; }
.v2-vs-chips{ display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:34px 30px 8px; }
.v2-vs-chips li{
  display:flex; align-items:center; gap:12px; padding:16px 18px; border-radius:16px; background:#fff;
  font-size:15.5px; font-weight:700; color:var(--elv-ink); box-shadow:0 1px 0 rgba(255,255,255,.9) inset, 0 10px 24px -18px rgba(15,38,30,.35);
}
.v2-vs-chips .ico{ flex-shrink:0; width:22px; height:22px; padding:5px; border-radius:50%; background:var(--v2-forest); color:#fff; }
.v2-vs-claim{ padding:30px 30px 6px; text-align:center; font-size:clamp(1.3rem,2.1vw,1.8rem); line-height:1.2; font-weight:600; letter-spacing:-.03em; color:rgba(17,25,21,.7); }
.v2-vs-claim b{ font-weight:800; color:var(--elv-ink); }
.v2-vs-cta{ display:flex; justify-content:center; padding:22px 24px 34px; border-radius:0 0 28px 28px; }
@media (max-width:1023px){
  .v2-vs{ grid-template-columns:1fr; gap:0; }
  .v2-vs-old{ margin:0 18px -28px; padding:32px 26px 56px; }
  .v2-vs-old ul{ gap:14px 20px; }
}
@media (max-width:640px){
  .v2-vs-old ul, .v2-vs-chips{ grid-template-columns:1fr; }
  .v2-vs-old{ margin:0 8px -28px; }
  .v2-vs-frame{ padding:10px; border-radius:30px; }
  .v2-vs-head{ padding:26px 18px 22px; border-radius:22px 22px 0 0; }
  .v2-vs-chips{ padding:22px 16px 4px; }
  .v2-vs-cta{ border-radius:0 0 22px 22px; }
  .v2-vs-cta .elv-btn{ width:100%; justify-content:space-between; }
}
@media (prefers-reduced-motion: reduce){
  .v2-vs-old, .v2-vs-new{ opacity:1 !important; transform:none !important; transition:none !important; }
}

/* ---------- v5 (17.10.): Bausteine-Eyebrow über dem Leistungs-Karussell ---------- */
.svc-eyebrow{ display:inline-flex; align-items:center; padding:7px 13px; border-radius:999px; border:1px solid currentColor; font-size:12.5px; font-weight:800; letter-spacing:.02em; opacity:.7; }

/* ---------- v5 (17.10.): LinkedIn-Button in Originalfarbe (Über mich) ---------- */
.v2-linkedin{ display:inline-flex; align-items:center; gap:10px; margin-top:16px; padding:11px 18px 11px 12px; border-radius:999px;
  background:#0A66C2; color:#fff; font-size:15px; font-weight:700; text-decoration:none;
  box-shadow:0 14px 28px -16px rgba(10,102,194,.7); transition:background .3s ease, transform .35s var(--ease-spring); }
.v2-linkedin svg{ width:22px; height:22px; flex-shrink:0; }
.v2-linkedin:hover{ background:#004182; transform:translateY(-2px); }
.v2-linkedin:active{ transform:scale(.97); }

/* ---------- v5 (17.10.): Hero-Buttons mobil kürzer und gleich breit, Avatar im Termin-Button ---------- */
.elv-btn-avatar{ display:none; }
.v2-for a.is-sec{ background:transparent; color:var(--v2-mute); }
@media (max-width:767px){
  .v2-hero-ctas{ flex-direction:column; align-items:flex-start; gap:12px; }
  .v2-hero-ctas .elv-btn, .v2-hero-ctas .voice-btn{ width:262px; height:56px; justify-content:space-between; }
  .v2-hero-ctas .elv-btn-label{ flex-shrink:0; }
  .v2-hero-ctas .elv-btn{ gap:10px; padding:0 6px 0 6px; font-size:15px; }
  .v2-hero-ctas .elv-btn-chip{ width:42px; height:42px; }
  .v2-hero-ctas .elv-btn-avatar{ display:block; width:40px; height:40px; flex-shrink:0; border-radius:50%; object-fit:cover; box-shadow:0 0 0 2px rgba(255,255,255,.85); }
  .v2-hero-ctas .voice-btn{ gap:10px; padding:0 18px 0 7px; }
  .v2-hero-ctas .voice-chip{ width:42px; height:42px; }
  .v2-hero-ctas #heroVoiceWave{ width:98px !important; }
  .v2-hero-ctas #heroVoiceWave > span{ gap:1.5px !important; }
  .v2-hero-ctas #heroVoiceWave > span > span{ width:2px !important; }
}
