.elementor-3534 .elementor-element.elementor-element-8d00d2b{--display:flex;}.elementor-3534 .elementor-element.elementor-element-8d00d2b.e-con{--flex-grow:0;--flex-shrink:0;}:root{--page-title-display:none;}body.elementor-page-3534{margin:-17px 0px 0px 0px;padding:0px 0px 0px 0px;}@media(min-width:768px){.elementor-3534 .elementor-element.elementor-element-8d00d2b{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-dd0cfd4 *//* ══════════════════════════════════════════
   ÜBER UNS – VOLLSTÄNDIGES CSS
   Basiert auf rg-page Design-System
══════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800&family=Inter:wght@400;500;600&display=swap');
/* Bild-Ecken: overflow:hidden reicht nicht, border-radius direkt ans img */
.rg-page .rg-about-hero-img-wrap {
  border-radius: var(--rg-radius-lg);
  overflow: hidden;
  box-shadow: var(--rg-shadow-lg);
  aspect-ratio: 4 / 3;
  -webkit-mask-image: -webkit-radial-gradient(white, black); /* Safari Fix */
}
.rg-page .rg-about-hero-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: var(--rg-radius-lg); /* direkter Fix falls overflow ignoriert wird */
}

/* Text nicht abschneiden */
.rg-page .rg-about-hero-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  align-items: center;
  padding: 0 0.25rem; /* verhindert Abschneiden am Rand */
}
@media (min-width: 768px) {
  .rg-page .rg-about-hero-grid {
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    padding: 0;
  }
}
/* ── BASE ── */
.rg-page .rg-about-hero-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  align-items: center;
}
@media (min-width: 768px) {
  .rg-page .rg-about-hero-grid {
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
  }
}
.rg-page .rg-about-hero-img-wrap {
  border-radius: var(--rg-radius-lg);
  overflow: hidden;
  box-shadow: var(--rg-shadow-lg);
  aspect-ratio: 4 / 3;
}
.rg-page .rg-about-hero-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ── TIMELINE ── */
.rg-page .rg-about-timeline {
  display: flex;
  flex-direction: column;
  max-width: 760px;
}
.rg-page .rg-about-tl-item {
  display: grid;
  grid-template-columns: 3.75rem 2.25rem 1fr;
  gap: 0 1.25rem;
  align-items: stretch;
  min-height: 5rem;
}
.rg-page .rg-about-tl-year {
  font-family: var(--rg-font-d);
  font-weight: 800;
  font-size: 0.875rem;
  color: var(--rg-vet);
  text-align: right;
  padding-top: 0.1rem;
  letter-spacing: 0.02em;
  align-self: flex-start;
}
.rg-page .rg-about-tl-item.rg-tl-future .rg-about-tl-year {
  color: var(--rg-muted);
}
.rg-page .rg-about-tl-dot-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.rg-page .rg-about-tl-dot {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  background: var(--rg-vet);
  border: 3px solid var(--rg-surface);
  box-shadow: 0 0 0 2px var(--rg-vet);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  z-index: 1;
}
.rg-page .rg-about-tl-dot-pulse {
  background: var(--rg-vet);
  box-shadow: 0 0 0 4px oklch(0.461 0.130 301.4 / 0.25), 0 0 0 2px var(--rg-vet);
  animation: rgPulse 2s infinite;
}
@keyframes rgPulse {
  0%, 100% { box-shadow: 0 0 0 4px oklch(0.461 0.130 301.4 / 0.25), 0 0 0 2px var(--rg-vet); }
  50%       { box-shadow: 0 0 0 9px oklch(0.461 0.130 301.4 / 0.08), 0 0 0 2px var(--rg-vet); }
}
.rg-page .rg-about-tl-dot-future {
  background: var(--rg-border);
  box-shadow: 0 0 0 2px var(--rg-border);
}
.rg-page .rg-about-tl-line {
  width: 2px;
  flex: 1;
  margin: 0.3rem 0;
  background: var(--rg-border);
}
.rg-page .rg-about-tl-item.rg-tl-done .rg-about-tl-line,
.rg-page .rg-about-tl-item.rg-tl-active .rg-about-tl-line {
  background: linear-gradient(to bottom, var(--rg-vet), oklch(0.461 0.130 301.4 / 0.25));
}
.rg-page .rg-about-tl-item:last-child .rg-about-tl-line {
  display: none;
}
.rg-page .rg-about-tl-content {
  padding-bottom: 2.25rem;
}
.rg-page .rg-about-tl-title {
  font-family: var(--rg-font-d);
  font-weight: 800;
  font-size: clamp(1rem, 1vw + 0.4rem, 1.15rem);
  color: var(--rg-text);
  margin: 0 0 0.4rem;
  letter-spacing: -0.01em;
  line-height: 1.2;
}
.rg-page .rg-about-tl-item.rg-tl-active .rg-about-tl-title {
  color: var(--rg-vet);
}
.rg-page .rg-about-tl-item.rg-tl-future .rg-about-tl-title {
  color: var(--rg-muted);
}
.rg-page .rg-about-tl-desc {
  font-family: var(--rg-font-b);
  font-size: 0.9rem;
  color: var(--rg-muted);
  line-height: 1.65;
  margin: 0;
}

/* ── TEAM ── */
.rg-page .rg-about-team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 2rem;
}
.rg-page .rg-about-team-card {
  background: var(--rg-surface);
  border-radius: var(--rg-radius-lg);
  border: 1px solid var(--rg-border);
  box-shadow: var(--rg-shadow-sm);
  overflow: hidden;
  transition: transform var(--rg-ease), box-shadow var(--rg-ease);
}
.rg-page .rg-about-team-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--rg-shadow-lg);
}
.rg-page .rg-about-team-img-wrap {
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: var(--rg-surface-2);
}
.rg-page .rg-about-team-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.rg-page .rg-about-team-card:hover .rg-about-team-img-wrap img {
  transform: scale(1.05);
}
.rg-page .rg-about-team-info {
  padding: 1.25rem 1.5rem 1.5rem;
  border-top: 1px solid var(--rg-border);
}
.rg-page .rg-about-team-name {
  font-family: var(--rg-font-d);
  font-weight: 800;
  font-size: 1.05rem;
  color: var(--rg-text);
  margin: 0 0 0.3rem;
  letter-spacing: -0.01em;
}
.rg-page .rg-about-team-role {
  font-family: var(--rg-font-b);
  font-size: 0.85rem;
  color: var(--rg-muted);
  margin: 0;
  line-height: 1.5;
}

/* ── SECTION HEADERS ── */
.rg-page .rg-about-section-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 3rem;
}
.rg-page .rg-about-section-icon {
  width: 3.25rem;
  height: 3.25rem;
  background: oklch(0.461 0.130 301.4 / 0.10);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.rg-page .rg-about-section-title {
  font-family: var(--rg-font-d);
  font-weight: 800;
  font-size: clamp(1.8rem, 2.5vw + 0.5rem, 2.4rem);
  margin: 0 0 0.2rem;
  letter-spacing: -0.02em;
  color: var(--rg-text);
}
.rg-page .rg-about-section-sub {
  margin: 0;
  color: var(--rg-muted);
  font-size: 0.95rem;
  font-family: var(--rg-font-b);
}

/* ── ELEMENTOR FULL-WIDTH FIX ── */
.elementor-widget-html .rg-page,
.elementor-widget-html .rg-page .rg-hero,
.elementor-widget-html .rg-page .rg-section {
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  width: 100vw !important;
  max-width: 100vw !important;
}
body { overflow-x: hidden !important; }

.elementor-widget-html .rg-page .rg-hero {
  margin-top: 0 !important;
  padding-top: 120px !important;
}
@media (min-width: 768px) {
  .elementor-widget-html .rg-page .rg-hero {
    padding-top: 180px !important;
  }
}

/* ── RESPONSIVE ── */
@media (max-width: 640px) {
  .rg-page .rg-about-tl-item {
    grid-template-columns: 2.75rem 2rem 1fr;
    gap: 0 0.75rem;
  }
  .rg-page .rg-about-tl-year {
    font-size: 0.78rem;
  }
  .rg-page .rg-about-tl-content {
    padding-bottom: 1.75rem;
  }
}/* End custom CSS */