/* investor-relations.leasing-pilot.de · seitenspezifische Stile (Basis: basis.css) */

.pille--linie { background: var(--weiss); border: 1.5px solid var(--linie); color: var(--link2); }

/* Hero */
.irhero { padding: 88px 0 96px; }
.irhero__raster { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 48px 72px; align-items: center; }
.irhero__trias { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.irhero .hero__text { margin-top: 24px; }
.irhero__aktionen { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }

.profil {
  padding: 30px 30px 26px;
  border-radius: var(--r-gross);
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(133, 183, 235, .22);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .18);
}
.profil__titel { color: var(--blau-auf-dunkel); }
.profil__liste { display: flex; flex-direction: column; margin-top: 10px; }
.profil__liste > li { display: flex; align-items: center; gap: 18px; padding: 16px 0; border-bottom: 1px solid rgba(133, 183, 235, .14); }
.profil__liste > li:last-child { border-bottom: 0; padding-bottom: 4px; }
.profil__liste .icon-kreis { width: 46px; height: 46px; font-size: 21px; }
.profil__wert { display: block; font: 600 19px/1.25 var(--kopf); color: var(--weiss); }
.profil__liste > li > span:last-child { min-width: 0; }
.profil__text { display: block; overflow-wrap: anywhere; margin-top: 3px; font-size: 16px; line-height: 1.45; color: var(--hellblau); }

/* Sprungleiste */
.sprungleiste { position: relative; z-index: 3; background: var(--weiss); border-bottom: 1.5px solid var(--linie); box-shadow: var(--schatten-klein); }
.sprungleiste ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 6px; padding: 14px 0; }
.sprungleiste a {
  display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px;
  border-radius: var(--r-pille);
  font: 500 15px/1 var(--text); color: var(--link2); text-decoration: none;
  transition: background-color .2s var(--kurve), color .2s var(--kurve);
}
.sprungleiste a:hover { background: var(--tint); color: var(--blau-dunkel); }

/* Über */
.ueber { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 48px 72px; align-items: start; }
.ueber__absatz { margin-top: 18px; color: var(--link2); }
.philosophie { margin-top: 32px; padding: 26px 28px; }
.philosophie__titel { color: var(--blau-dunkel); margin-bottom: 14px; }
.philosophie .liste { color: var(--link2); }
.ueber__karten { display: flex; flex-direction: column; gap: 20px; }
.ueber__karten .karte { display: grid; grid-template-columns: 52px minmax(0, 1fr); column-gap: 20px; padding: 26px 28px 26px 30px; }
.ueber__karten .icon-kreis { grid-row: span 2; }
.ueber__karten .h3 { align-self: center; }
.ueber__karten .karte__text { margin-top: 8px; font-size: 16px; }

.zitat {
  position: relative;
  margin: 56px auto 0; max-width: 980px;
  padding: 34px 40px 34px 48px;
  border-radius: var(--r-mittel);
  background: var(--tint);
}
.zitat::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; border-radius: var(--r-mittel) 0 0 var(--r-mittel); background: var(--blau); }
.zitat p { font: 600 clamp(19px, 1.9vw, 23px)/1.45 var(--kopf); letter-spacing: -.005em; color: var(--ink); }
.zitat--klein { margin-top: 40px; max-width: none; text-align: center; padding: 26px 32px; background: transparent; border: 1.5px dashed var(--hellblau); }
.zitat--klein::before { display: none; }
.zitat--klein p { color: var(--blau-dunkel); }

/* Problem und Lösung */
.vergleich { margin-top: 48px; display: flex; flex-direction: column; gap: 14px; }
.vergleich__kopf, .vergleich__zeile { display: grid; grid-template-columns: minmax(0, 1fr) 56px minmax(0, 1fr); align-items: stretch; }
.vergleich__kopf { padding: 0 4px 2px; }
.vergleich__kopf .label { padding-left: 24px; }
.vergleich__kopf-loesung { color: var(--blau-dunkel); }
.vergleich__problem, .vergleich__loesung {
  display: flex; align-items: center;
  min-height: 72px; padding: 16px 24px;
  border-radius: var(--r-mittel);
  line-height: 1.45;
}
.vergleich__problem { background: var(--feld); color: var(--link2); border: 1.5px solid var(--linie); }
.vergleich__loesung { position: relative; background: var(--weiss); color: var(--ink); font-weight: 500; border: 1.5px solid var(--linie); box-shadow: var(--schatten-klein); }
.vergleich__loesung::before { content: ""; position: absolute; left: -1.5px; top: -1.5px; bottom: -1.5px; width: 5px; background: var(--blau); border-radius: var(--r-mittel) 0 0 var(--r-mittel); }
.vergleich__pfeil { display: flex; align-items: center; justify-content: center; color: var(--blau); font-size: 22px; }

/* Beratungsprozess */
.prozess { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; gap: 24px; margin-top: 56px; counter-reset: schritt; }
.prozess__schritt:not(:last-child)::before { content: ""; position: absolute; left: 56px; width: calc(100% + 24px - 56px); top: 27px; height: 3px; background: var(--hellblau); }
.prozess__schritt { position: relative; display: flex; flex-direction: column; }
.prozess__nummer {
  display: inline-flex; align-items: center; justify-content: center;
  width: 56px; height: 56px; border-radius: 50%;
  background: var(--weiss); border: 2.5px solid var(--blau);
  box-shadow: 0 0 0 6px var(--hintergrund);
  font: 700 18px/1 var(--kopf); color: var(--ink);
}
.prozess__schritt:first-child .prozess__nummer { background: var(--blau); color: var(--weiss); }
.prozess__titel { margin-top: 22px; min-height: 2.6em; }
.prozess__liste {
  flex: 1 1 auto;
  margin-top: 14px; padding: 22px 22px 22px 22px;
  border-radius: var(--r-gross);
  background: var(--weiss); border: 1.5px solid var(--linie); box-shadow: var(--schatten-klein);
  font-size: 16px; line-height: 1.5; color: var(--link2);
}

/* Geschäftsmodell */
.erloese { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; margin-top: 48px; }
.erloes { display: flex; flex-direction: column; align-items: flex-start; padding: 28px 26px 26px 30px; }
.erloes__nr {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--tint); color: var(--blau-dunkel);
  font: 700 17px/1 var(--kopf);
}
.erloes__art { margin-top: 18px; color: var(--blau-dunkel); }
.erloes .h3 { margin-top: 6px; }
.erloes .karte__text { font-size: 16px; }
.erloes__pillen { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.erloes__pillen .pille { white-space: normal; }
.erloes__liste { margin-top: 14px; color: var(--link2); font-size: 16px; gap: 8px; }
.erloes__ziel { margin-top: auto; padding-top: 18px; width: 100%; font-size: 15px; line-height: 1.5; color: var(--ink); }
.erloes__ziel .label { display: block; margin-bottom: 4px; padding-top: 14px; border-top: 1.5px solid var(--linie); }

.segmente { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 28px 56px; margin-top: 64px; padding-top: 56px; border-top: 1.5px solid var(--linie); align-items: start; }
.segmente__titel { font-size: 24px; }
.segmente__kopf .karte__text { margin-top: 14px; }
.segmente__liste { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.segment { padding: 22px 24px; }
.segment__titel { margin-top: 14px; font: 600 18px/1.3 var(--kopf); color: var(--ink); }
.segment__text { margin-top: 6px; font-size: 16px; line-height: 1.5; color: var(--label); }

/* Differenzierung */
.gruppen { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.achsen__label { margin-top: 48px; color: var(--blau-dunkel); }
.achsen { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 18px; }
.achse { padding: 30px 30px 30px 34px; }
.achse .h3 { margin-top: 20px; }

/* Team */
.trennzeile { display: flex; align-items: center; gap: 20px; margin: 48px 0 22px; font-size: inherit; }
.trennzeile__text { flex: none; color: var(--blau-dunkel); }
.trennzeile__linie { flex: 1 1 auto; height: 1.5px; background: var(--linie); }
.gruender { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.erweitert { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.person { display: flex; flex-direction: column; padding: 28px 28px 26px 32px; }
.person__kopf { display: flex; align-items: center; gap: 18px; }
.monogramm {
  display: inline-flex; align-items: center; justify-content: center; flex: none;
  width: 72px; height: 72px; border-radius: 50%;
  background: var(--feld); color: var(--blau-dunkel);
  border: 3px solid var(--weiss);
  box-shadow: 0 0 0 1.5px var(--linie), var(--schatten-klein);
  font: 700 22px/1 var(--kopf); letter-spacing: .02em;
}
.monogramm--klein { width: 52px; height: 52px; font-size: 17px; }
.person__name { font: 700 21px/1.25 var(--kopf); letter-spacing: -.01em; color: var(--ink); }
.person__kopf .pille { margin-top: 8px; white-space: normal; }
.person__rolle { margin-top: 4px; font-size: 15px; line-height: 1.4; color: var(--blau-dunkel); font-weight: 500; }
.person__text { margin-top: 20px; padding-top: 18px; border-top: 1.5px solid var(--linie); color: var(--link2); font-size: 16px; line-height: 1.55; }
.person__stationen { margin-top: auto; padding-top: 16px; font-size: 15px; line-height: 1.5; color: var(--label); }
.person__stationen .label { display: block; margin-bottom: 4px; color: var(--blau-dunkel); }
.person--klein { padding: 24px 24px 24px; }
.person--klein .person__name { font-size: 18px; }
.person--klein .person__text { margin-top: 16px; padding-top: 14px; font-size: 16px; }

/* Partnerschaft */
.partner {
  position: relative; overflow: hidden;
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px;
  padding: 64px 60px;
  border-radius: var(--r-gross);
  background:
    radial-gradient(ellipse 60% 80% at 90% 10%, rgba(21, 123, 187, .30) 0%, rgba(21, 123, 187, 0) 70%),
    radial-gradient(ellipse 40% 60% at 0% 100%, rgba(133, 183, 235, .10) 0%, rgba(133, 183, 235, 0) 70%),
    var(--ink);
  box-shadow: var(--schatten-fenster);
}
.partner__kopf { max-width: 860px; }
.partner__karten { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.partner__karte {
  display: flex; flex-direction: column; align-items: flex-start;
  padding: 28px 26px 24px;
  border-radius: var(--r-gross);
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(133, 183, 235, .22);
}
.partner__karte .h3 { margin-top: 18px; }
.partner__text { margin-top: 10px; font-size: 16px; line-height: 1.55; color: var(--hellblau); }
.partner__pillen { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.partner__pillen .pille { white-space: normal; }
.partner__nutzen { margin-top: auto; padding-top: 18px; width: 100%; font: 600 17px/1.3 var(--kopf); color: var(--weiss); }
.partner__nutzen .label { display: block; margin-bottom: 6px; padding-top: 16px; border-top: 1px solid rgba(133, 183, 235, .22); color: var(--blau-auf-dunkel); }

/* Materialien */
.materialien { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 48px; }
.material { display: flex; flex-direction: column; padding: 0; overflow: hidden; }
.material.karte--streifen::before { z-index: 2; }
.material__bild { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ink); }
.material__bild img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--kurve); }
.material:hover .material__bild img { transform: scale(1.03); }
.material__play {
  position: absolute; left: 16px; bottom: 14px;
  display: inline-flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; border-radius: 50%;
  background: rgba(255, 255, 255, .94); color: var(--blau); font-size: 20px;
  box-shadow: 0 8px 24px rgba(5, 30, 46, .25);
}
.material__play .icon { fill: currentColor; stroke-width: 1.5; margin-left: 3px; }
.deckcover {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: 8% 9% 9%;
  background:
    radial-gradient(ellipse 60% 80% at 80% 30%, rgba(21, 123, 187, .32) 0%, rgba(21, 123, 187, 0) 70%),
    var(--ink);
}
.material__bild .deckcover__logo { position: absolute; left: 9%; top: 12%; width: 32%; height: auto; object-fit: contain; transform: none; }
.deckcover__titel { font: 700 clamp(20px, 2.6vw, 34px)/1.15 var(--kopf); letter-spacing: -.02em; color: var(--weiss); max-width: 80%; }
.deckcover__unter { margin-top: 10px; font: 500 clamp(14px, 1.1vw, 16px)/1.4 var(--text); color: var(--blau-auf-dunkel); }
.deckcover__strich { width: 48px; height: 4px; margin-top: 16px; background: var(--blau); }
.material__text { display: flex; flex-direction: column; align-items: flex-start; flex: 1 1 auto; padding: 28px 32px 30px 36px; }
.material__meta { display: inline-flex; align-items: center; gap: 8px; color: var(--blau-dunkel); }
.material__meta .icon { font-size: 18px; }
.material__meta .label { color: var(--blau-dunkel); }
.material .h3 { margin-top: 10px; font-size: 24px; }
.material__liste { margin-top: 14px; color: var(--link2); font-size: 16px; gap: 6px; }
.material__knopf { margin-top: auto; }
.material .karte__text, .material__liste { margin-bottom: 26px; }
.material__url { margin-top: 10px; }
.material__pillen { display: flex; flex-wrap: wrap; gap: 8px; margin: -12px 0 26px; }

/* Kontakt */
.kontakt { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px 64px; align-items: center; padding: 52px 56px 52px 60px; }
.kontakt__wege { display: flex; flex-direction: column; gap: 14px; }
.kontakt__weg {
  display: flex; align-items: center; gap: 18px;
  padding: 16px 20px;
  border-radius: var(--r-mittel);
  background: var(--hintergrund); border: 1.5px solid var(--linie);
  color: var(--ink); text-decoration: none;
  transition: border-color .2s var(--kurve), background-color .2s var(--kurve);
}
.kontakt__weg:hover { border-color: var(--blau); background: var(--weiss); }
.kontakt__weg .label { display: block; }
.kontakt__wert { display: block; margin-top: 2px; font: 600 18px/1.3 var(--kopf); color: var(--ink); overflow-wrap: anywhere; }
.kontakt__termin { align-self: flex-start; margin-top: 6px; }

/* Responsiv */
@media (max-width: 1199px) {
  .irhero__raster { grid-template-columns: minmax(0, 1fr); }
  .profil { max-width: 640px; }
  .ueber { grid-template-columns: minmax(0, 1fr); }
  .prozess { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; }
  .prozess__schritt::before { display: none; }
  .prozess__titel { min-height: 0; }
  .erloese { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .segmente { grid-template-columns: minmax(0, 1fr); }
  .achsen { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .achsen > li:last-child { grid-column: 1 / -1; }
  .gruender { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gruender > li:last-child { grid-column: 1 / -1; }
  .erweitert { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner { grid-template-columns: minmax(0, 1fr); padding: 52px 44px; }
  .kontakt { grid-template-columns: minmax(0, 1fr); padding: 44px 40px 44px 46px; }
}
@media (max-width: 767px) {
  .irhero { padding: 52px 0 60px; }
  .irhero__aktionen { margin-top: 28px; }
  .profil { padding: 22px 20px 18px; }
  .profil__text { hyphens: auto; }
  .sprungleiste ul { justify-content: flex-start; gap: 2px; padding: 10px 0; margin-left: -10px; }
  .sprungleiste a { padding: 0 10px; font-size: 14px; min-height: 36px; }
  .vergleich { margin-top: 36px; gap: 18px; }
  .vergleich__kopf { display: none; }
  .vergleich__zeile { grid-template-columns: minmax(0, 1fr); }
  .vergleich__problem { min-height: 0; border-radius: var(--r-mittel) var(--r-mittel) 0 0; border-bottom: 0; font-size: 16px; padding: 12px 18px; }
  .vergleich__loesung { min-height: 0; border-radius: 0 0 var(--r-mittel) var(--r-mittel); padding: 14px 18px 14px 22px; }
  .vergleich__loesung::before { border-radius: 0 0 0 var(--r-mittel); }
  .vergleich__pfeil { display: none; }
  /* Spaltenköpfe fehlen mobil: je Paar ein kleines Label über der Box */
  .vergleich__problem, .vergleich__loesung { flex-direction: column; align-items: flex-start; gap: 4px; }
  .vergleich__problem::after, .vergleich__loesung::after {
    order: -1; font: 500 14px/1.3 var(--text); letter-spacing: .1em; text-transform: uppercase;
  }
  .vergleich__problem::after { content: "Status quo im Markt"; color: var(--label); }
  .vergleich__loesung::after { content: "Lösungsansatz LeasingPilot"; color: var(--blau-dunkel); }
  .prozess, .erloese, .achsen, .gruender, .erweitert, .segmente__liste, .partner__karten, .materialien { grid-template-columns: minmax(0, 1fr); }
  .prozess { margin-top: 40px; gap: 32px; }
  .erloese, .materialien { margin-top: 36px; }
  .achsen > li:last-child, .gruender > li:last-child { grid-column: auto; }
  .ueber__karten .karte { grid-template-columns: minmax(0, 1fr); padding: 24px 22px 24px 26px; }
  .ueber__karten .icon-kreis { grid-row: auto; margin-bottom: 14px; }
  .zitat { margin-top: 40px; padding: 24px 22px 24px 28px; }
  .zitat--klein { padding: 20px; }
  .segmente { margin-top: 48px; padding-top: 40px; }
  .person { padding: 24px 22px 22px 26px; }
  .monogramm { width: 60px; height: 60px; font-size: 19px; }
  .partner { padding: 36px 22px; }
  .partner__karte { padding: 22px 20px 20px; }
  .material__text { padding: 24px 22px 26px 26px; }
  .deckcover__unter, .deckcover__strich { display: none; }
  .kontakt { padding: 32px 22px 30px 26px; }
  .kontakt__weg { padding: 14px 16px; gap: 14px; }
  .kontakt__wert { font-size: 16px; }
  .kontakt__termin { align-self: stretch; }
}

/* Pitchdeck-Vorschau ohne Folientext (kein Duplicate Content): Titelbalken als Platzhalter */
.deckcover__balken { display: flex; flex-direction: column; gap: 10px; margin-top: 18px; }
.deckcover__balken span { display: block; height: 12px; border-radius: 6px; background: rgba(255,255,255,.85); width: 78%; }
.deckcover__balken span + span { height: 8px; width: 56%; background: var(--blau-auf-dunkel); }

/* 14.11.: Philosophie als rechte Spalte, lange Firmennamen umbrechen, Videovorschau ohne Videoinhalt */
.ueber__seite .philosophie { margin-top: 0; }
.profil__wert { overflow-wrap: anywhere; hyphens: auto; }
.deckcover--video { justify-content: flex-end; }
.deckcover__filmstreifen { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-bottom: 4px; }
.deckcover__filmstreifen span { aspect-ratio: 16 / 9; border-radius: 4px; border: 1.5px solid rgba(133, 183, 235, .55); background: rgba(21, 123, 187, .18); }
.deckcover__filmstreifen span:first-child { background: rgba(21, 123, 187, .55); border-color: var(--blau-auf-dunkel); }
@media (max-width: 979px) { .ueber { grid-template-columns: minmax(0, 1fr); } }
