.elementor-2165 .elementor-element.elementor-element-331439f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:43px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2165 .elementor-element.elementor-element-331439f:not(.elementor-motion-effects-element-type-background), .elementor-2165 .elementor-element.elementor-element-331439f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, var( --e-global-color-945b73a ) 28%, var( --e-global-color-1335285 ) 70%);}.elementor-2165 .elementor-element.elementor-element-caef629{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:35px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2165 .elementor-element.elementor-element-caef629:not(.elementor-motion-effects-element-type-background), .elementor-2165 .elementor-element.elementor-element-caef629 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-1335285 );}.elementor-widget-heading .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-2165 .elementor-element.elementor-element-c0aea30{padding:35px 0px 0px 0px;}.elementor-2165 .elementor-element.elementor-element-26b9bd1{padding:47px 0px 47px 0px;}@media(max-width:1024px){.elementor-2165 .elementor-element.elementor-element-fecfdf1{width:100%;max-width:100%;}.elementor-2165 .elementor-element.elementor-element-fecfdf1.elementor-element{--align-self:center;}.elementor-2165 .elementor-element.elementor-element-c0aea30{padding:40px 0px 0px 0px;}.elementor-2165 .elementor-element.elementor-element-26b9bd1{padding:44px 0px 44px 0px;}}@media(max-width:1024px) and (min-width:768px){.elementor-2165 .elementor-element.elementor-element-331439f{--content-width:90%;}.elementor-2165 .elementor-element.elementor-element-caef629{--content-width:90%;}}@media(max-width:767px){.elementor-2165 .elementor-element.elementor-element-331439f{--padding-top:10px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2165 .elementor-element.elementor-element-caef629{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:4px;--padding-bottom:0px;--padding-left:14px;--padding-right:0px;}.elementor-2165 .elementor-element.elementor-element-c0aea30{padding:23px 0px 0px 0px;}.elementor-2165 .elementor-element.elementor-element-26b9bd1{padding:41px 0px 42px 0px;}}/* Start custom CSS for html, class: .elementor-element-fecfdf1 *//* =========================
   HERO ABOUT – FINAL CLEAN (Tablet auch 2-spaltig)
   ========================= */

.hero--about{
  --gap: clamp(18px, 4vw, 56px);
  --stack-gap: 18px;
}

/* Mobile-first: 1 Spalte */
.hero--about .hero__inner{
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gap);
  align-items: start;
}

/* Tablet + Desktop: 2 Spalten -> Foto rechts */
@media (min-width: 768px){
  .hero--about .hero__inner{
    grid-template-columns: 1.15fr 0.85fr;
    align-items: stretch;
  }
  .hero--about .hero__media{
    justify-self: end;
  }
}

/* Text-Stack (saubere Abstände ohne Margin-Chaos) */
.hero--about .hero__text{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--stack-gap);
  height: 100%;
}

.hero--about .hero__text > *{
  margin: 0 !important;
}

/* Kicker-Pills: Desktop/Tablet normal, Mobile 1 Zeile (Scroll statt Umbruch) */
.hero--about .hero__kicker{
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.hero--about .hero__kicker li{
  white-space: nowrap;
  background: rgba(255,255,255,.65);
  border: 1px solid rgba(47,79,47,.16);
  padding: 6px 12px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .02em;
  color: #2f4f2f;
}

/* Mobile: 1 Zeile + horizontales Scrollen (wie du es „schön“ fandest) */
@media (max-width: 767px){
  .hero--about .hero__kicker{
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    max-width: 100%;
  }
  .hero--about .hero__kicker::-webkit-scrollbar{ display:none; }
  .hero--about .hero__kicker li{
    font-size: 12px;
    padding: 6px 10px;
  }
}

/* Typo */
.hero--about h1{
  font-size: clamp(30px, 3.4vw, 52px);
  line-height: 1.12;
}

.hero--about .hero__lead{
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.55;
  max-width: 60ch;
}

/* CTA: mehr Abstand + auf Desktop unten ausrichten (Premium-Look) */
.hero--about .hero__cta{
  margin-top: 10px;
}

@media (min-width: 1025px){
  .hero--about .hero__cta{
    margin-top: auto;     /* CTA „nach unten“ */
    padding-top: 18px;
  }
}

/* Button (dein Slim-Button, robust im Hero) */
.hero--about .epSlimCta__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.56rem 1.2rem;
  border-radius: 999px;
  background: #6BB81D;
  border: 1px solid #6BB81D;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 600;
  line-height: 1.15;
  box-shadow: 0 1px 2px rgba(0,0,0,.06);
  transition: background .2s ease, border-color .2s ease,
              transform .12s ease, box-shadow .2s ease;
  white-space: nowrap;
}

.hero--about .epSlimCta__btn:hover{
  background: #2f661f;
  border-color: #2f661f;
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(47,102,31,.12);
}

@media (max-width: 640px){
  .hero--about .epSlimCta__btn{
    width: 100%;
    max-width: 360px;
    text-align: center;
  }
}

/* Foto-Card: feste, schöne „Business“-Höhen je Gerät */
.hero--about .hero__media{
  width: min(460px, 100%);
}

.hero--about .hero__photo{
  width: 100%;
  height: 360px;              /* Tablet/Default */
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255,255,255,.55);
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

/* Desktop etwas höher, damit weniger Crop */
@media (min-width: 1025px){
  .hero--about .hero__photo{ height: 400px; }
}

/* Mobile etwas kompakter */
@media (max-width: 767px){
  .hero--about .hero__photo{ height: 320px; }
}

.hero--about .hero__photo img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 32%;
  display: block;
}

/* Mobile: Gesicht sicher im Frame */
@media (max-width: 767px){
  .hero--about .hero__photo img{
    object-position: 50% 42%;
  }
}

/* Optional: WhatsApp Button stört im Bildbereich (Mobile) */
@media (max-width: 767px){
  .joinchat, .whatsapp-floating, .wa__btn{
    bottom: 20px !important;
  }
}
/* =========================
   MOBILE POLISH (<=767px)
   ========================= */
@media (max-width: 767px){

  /* A) Seitenabstand im Hero (damit nichts an der Kante klebt) */
  .hero--about .hero__inner{
    padding-inline: 16px;
  }

  /* B) Kicker etwas kompakter (passt besser auf kleine Screens) */
  .hero--about .hero__kicker{
    gap: 10px;
  }
  .hero--about .hero__kicker li{
    padding: 6px 10px;
    font-size: 12px;
  }

  /* C) CTA-Button: kein Overflow, darf bei Bedarf 2 Zeilen machen */
  .hero--about .epSlimCta__btn{
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    white-space: normal !important;   /* WICHTIG: erlaubt Umbruch */
    text-align: center;
    padding: 0.72rem 1rem;
  }

  /* D) Etwas mehr Luft zwischen Button und Foto */
  .hero--about .hero__photo{
    margin-top: 8px;
  }
}

/* Extra klein (z.B. 360px Geräte): Pills minimal kleiner */
@media (max-width: 360px){
  .hero--about .hero__kicker li{
    font-size: 11px;
    padding: 5px 9px;
  }
}
/* =========================
   CTA LABEL SWITCH – SLIM & CLEAN
   ========================= */

/* Standard: Desktop/Tablet = langer Text, Mobile-Text verstecken */
.hero--about .epSlimCta__btn .ctaLabel--mob{
  display: none !important;
}

/* Button immer slim (überschreibt alte Mobile-Blöcke) */
.hero--about .epSlimCta__btn{
  width: auto !important;
  max-width: 100% !important;
  white-space: nowrap !important;
}

/* Mobile: nur kurzer Text (damit Button schlank bleibt) */
@media (max-width: 767px){
  .hero--about .epSlimCta__btn .ctaLabel--desk{
    display: none !important;
  }
  .hero--about .epSlimCta__btn .ctaLabel--mob{
    display: inline !important;
  }

  /* Optional: minimal kompakter, aber weiterhin „Slim“ */
  .hero--about .epSlimCta__btn{
    font-size: 0.95rem !important;
    padding: 0.48rem 1.0rem !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-bbd590b */.trust-strip {
  max-width: 960px;          /* oder 1000px – je nach Layoutbreite */
  margin: 0 auto;            /* zentriert den gesamten Streifen */
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px 20px;
  align-items: center;
  justify-items: start;      /* Desktop: links ausgerichtet */
  padding: 16px 20px;
}

.trust-strip__item {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.4;
}

.trust-strip__item img {
  width: 36px;
  height: 36px;
}

/* Tablet: 2x2, zentriert die Zellen */
@media (min-width: 601px) and (max-width: 1024px) {
  .trust-strip {
    grid-template-columns: repeat(2, minmax(200px, 1fr));
    gap: 14px 18px;
    justify-items: center;   /* Items mittig, reduziert Leerräume rechts */
  }
  .trust-strip__item {
    justify-items: start;    /* Icon+Text bleiben links innerhalb der Zelle */
  }
}

/* Mobile: 1 Spalte */
@media (max-width: 600px) {
  .trust-strip {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 12px 16px;
    justify-items: start;
  }
  .trust-strip__item {
    font-size: 14px;
  }
  .trust-strip__item img {
    width: 32px;
    height: 32px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3a4a1d0 */.section.mission {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 24px;
  align-items: center;
  max-width: 1100px; /* an dein Layout anpassen oder entfernen */
  margin: 48px auto;
}

.mission__text h2 {
  margin: 0 0 12px;
}

.mission__text p {
  margin: 0;
  line-height: 1.6;
}

.mission__image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px; /* optional: weglassen, wenn global geregelt */
  object-fit: cover;
}

/* Mobile/Tablet: untereinander */
@media (max-width: 900px) {
  .section.mission {
    grid-template-columns: 1fr;
    gap: 18px;
    margin: 36px auto;
  }
  .mission__image {
    order: -1; /* Bild über den Text setzen; entfernen, wenn Text zuerst bleiben soll */
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c02c26e *//* Mission – clean & modern (kein Background) */
.mission__inner{
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: clamp(18px, 4vw, 56px);
  align-items: start;
}

.mission__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}

.mission__card{
  margin: 0;
  background: rgba(255,255,255,.7);
  border: 1px solid rgba(47,79,47,.12);
  border-radius: 16px;
  padding: 12px;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  text-align: center;
}

.mission__card img{
  width: 100%;
  height: 150px;
  object-fit: contain; /* wichtig bei freigestellten Motiven */
  display: block;
}

.mission__card figcaption{
  margin-top: 8px;
  font-weight: 600;
  font-size: 14px;
  color: rgba(0,0,0,.75);
}

@media (max-width: 900px){
  .mission__inner{ grid-template-columns: 1fr; }
  .mission__grid{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 600px){
  .mission__grid{ grid-template-columns: 1fr; }
  .mission__card img{ height: 170px; }
}/* End custom CSS */