
.footerlogo-container img {
  height: 90px; width: auto;
}

.right-programs .servicearrow {
    display: block!important;
    transition: all 0.3s;
    height: 15px!important;
    width: 23px!important;
}

.right-programs .active .servicearrow {
    transform: rotate(90deg);
}

.right-programs .servicearrow path {
  fill: #d2ccc6!important;
}

.right-programs .question {
  display: none;
}

.price-left {
  position: absolute;
  top: 20px; right: 20px;
}

.price-left .desc {
  margin-top: 2px;
}

.text-18px {
  font-size: 0.9rem;
}

.logowrap.p-btn.active .text-18px {
  font-size: 1rem;
  color: #85ffc3;
}

.slick-slider {
      position: relative;
    }

.slick-slide {
    -webkit-backface-visibility: hidden;
  }

  .number, .number-text {
     -webkit-transform: translateZ(0);
   }

.numb-img { margin-left: 20px; margin-right: 20px; }
.home-journey .slick-list { margin-left: -20px; }
.home-journey { overflow-x: hidden; }

.numb-img {
  display: grid!important;
}

.numb-img .number {
  position: relative!important;
  grid-area: 1/-1;
  margin-top: -28px!important;
}

.numb-img .border-radius {
  position: relative!important;
  grid-area: 1/-1;
}


.testiwrap {
  padding: 100px 0px;
}

.testiwrap .swiper-wrapper {
  z-index: -1;
}

.testi-mainrow .contentwrap {
  width: 600px;
  flex-shrink: 0;
  background-color: #271d18;
  padding-right: 0px;
  overflow: hidden;
  z-index: 2;
}

.homeheadmobile { display: none; padding-left: 60px; width: calc(100% - 120px); }
.homeheaddesktop {  padding-left: 60px; width: calc(100% - 120px); }

.sliderarea {
  width: calc(100% - 500px);
}

.testi img {
  border-radius: 8px;
}

.testi .swiper-slidee {
    opacity: 1;
    transition: all 0.5s;
    transform: scale(0.5);
    transition: translateX(-0px);
    margin: 15px;
}

.testi .swiper-slide {
  opacity: 1;
  transition: all 0.5s;
}
.testi .swiper-slide-active {
  opacity: 1;
}

.testi .swiper-slide-activee {
  opacity: 1;
  transform: scale(1.6) translateX(-60px)!important;
}

.testi .swiper-slide-active {
  margin-right: 0px;
}

.testi-mainrow .content {
  width: calc(100% - 60px);
  padding-left: 60px;
}

.right-programs-inner .taginfo {
  margin-top: 15px;
  padding: 4px 0px 12px 0px;
  font-size: 1.05rem!important;
  line-height: 1.5em;
  font-family: MerriweatherItalic;
}

.centered-slider:hover{
  cursor: pointer;
}

.centered-slider{
  position:relative;
  width:100%;
  overflow:hidden;
  padding:28px 0;
}

/* viewport = sichtbarer Bereich (clippt Nachbarn) */
.viewport{
  width:100%;
  overflow:hidden;
}

/* track = flexible Reihe aller Karten */
.track{
  display:flex;
  gap: 40px;
  align-items:start;
  transition: all 0.25s;
  will-change: transform;
  padding:0 6px; /* kleine Atmung links/rechts */
}

/* Karte */
.card{
  flex: 0 0 33.3334%;
  overflow:hidden;
  user-select:none;
  transition: all 0.25s;
}


/* Bild */
.card .img-wrap{ width:100%; height: auto; display:block; margin-bottom: 50px; }
.card img{ display:block; width:100%; height:auto; object-fit:cover; border-radius: 8px; transition: all 0.25s;  }

/* Optik für Nachbarn */
.card img{ opacity:0.5; transform:scale(0.685); }
.card.is-active img{ opacity:1; transform:scale(1); }

/* Meta (nur beim aktiven sichtbar) */
.meta{ display:none; }
.card.is-active .meta{ display:block; }
.meta .text{ margin: 0px 0px 20px 0px;  color:#aca59e; }
.meta .name{ margin:0; color:#ffffff; }
.meta .position{ margin:4px 0 0; color:#aca59e; }

/* meta fade-in (verzögertes Einblenden unter dem Bild) */
.meta {
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.25s;
  /* kein transition-delay hier – wir steuern Verzögerung per JS */
}

.meta.active {
  opacity: 1;
  transform: translateY(0);
}



/* Navigation */
.nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
}
.nav.prev{ left:8px; }
.nav.next{ right:8px; }





.homefour-swiper .number-text p {
  display: none;
  color: #FFF;
  margin-top: 22px;
}


.homefour-swiper .numb-img .border-radius::before {
  top: 0;
  content: "";
  height: 100%;
  left: 0px;
  position: absolute;
  width: 0px;
  transition: all .3s;
  z-index: 1;
  background-color: #271d18;
}

/* :hover NUR für Geräte mit Maus/hover-Fähigkeit */
@media (hover: hover) and (pointer: fine) {
  .homefour-swiper .numb-img:hover .number-text p {
    display: block;
  }
  .homefour-swiper .numb-img:hover .border-radius::before {
    width: 100%;
  }
}

/* .active funktioniert überall (auch mobil via Tap) */
.homefour-swiper .numb-img.active .number-text p {
  display: block;
}
.homefour-swiper .numb-img.active .border-radius::before {
  width: 100%;
}


.carousel {
  width: 100vw;
  gap: 50px;
  overflow-x: visible;
  scroll-snap-type: x mandatory;
  display: flex;
  -webkit-overflow-scrolling: touch;
}

.carousel-slide {
  position: relative;
  width: 500px;
  height: 100%;
}

.carousel-slide.active {
  position: relative;
  width: 50%;
  height: 100%;
}

.carousel-slide .border-radius {


}

.carousel-slide img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}


.carousel-nav {
  display: none; /* displayed in the JS */
  position: absolute;
  width: 100%;
}

.carousel-nav button {
  cursor: pointer;
  border: none;
  font-size: 3rem;
  position: absolute;
  aspect-ratio: 1.5;
  width: 7vw;
  max-width: 75px;
  height: auto;
  max-height: 3.7vh;
  background-color: transparent;
  background-size: cover;
  overflow: visible;
  background-image: url("data:image/svg+xml,%3Csvg stroke='%23fff' fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 1 22 15'%3E%3Cpath d='M2,11 11,2 20,11'/%3E%3C/svg%3E");
}

.prev {
  transform: translateY(-50%) rotate(-90deg);
}

.next {
  transform: translateY(-50%) rotate(90deg);
  right: 0;
}

.carousel-nav div {
  position: absolute;
  top: 36vh;
  width: 100%;
  text-align: center;
  color: #fff;
  font-weight: 200;
  opacity: 0.5;
  letter-spacing: 0.25rem;
  font-size: clamp(22px, 3.9vw, 44px);
}

/* Simplify the scroll bar appearance */
::-webkit-scrollbar {
  height: 13px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  border-top: 6px solid #000;
  background: #555;
  width: 50%;
}

::-webkit-scrollbar-thumb:hover {
  background: #bbb;
}


.subbalken .balken {
  width: 65px; height: 24px;
}


.main-area {
  flex: 3 1 400px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px;
}

.main-image-container {
  position: relative;
  max-width: 100%;
}

.main-image-container img {
  width: 100%;
  max-width: 500px;
  height: auto;
}

.nav-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
  font-size: 30px;
  cursor: pointer;
  background: rgba(0,0,0,0.3);
  padding: 5px;
  border-radius: 50%;
}

.prev-btn { left: 10px; }
.next-btn { right: 10px; }

.main-text {
  margin-top: 15px;
  text-align: center;
}


.header .para-text.max-width {
  max-width: 500px;
}

.row1 {
  width: 150px;
  padding-left: 30px;
}
.row2 {
  width: 80px;
  padding-left: 20px;
}

.row1, .row2 {
  height: 99px;
  display:flex; align-items: center;
}



.balkenwrap .balken, .balkenwrap > div {
  height: 33px;
}

.balkenwrap .balken {
    width: 0px;
}

.test-headarea {
  height: 190px;
}



.home-journey {
  margin-top: 100px;
}

.number-text {
  position: absolute;
  top: 80px; left: 40px;
  width: calc(100% - 80px );
}

.numb-img .border-radius {
    background-color: #d2ccc6!important;
}

.homefour-swiper > div:nth-child(2) .number {
  content: 2;
}
.homefour-swiper > div:nth-child(3) .number {
  content: 3;
}
.homefour-swiper > div:nth-child(4) .number {
  content: 4;
}

.numb-img .number {
  margin-left: 40px;
  margin-top: -26px;
  background: #FFF;
  border-radius: 360px;
  width: 56px; height: 56px;
  font-size: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.numb-img h3{
    font-size: 28px;
    color: #FFF;
}

.balken2 .balken {
  background: #4fb786;
}
.balken3 .balken {
  background: #346a50;
}

.choose-program .box {
  padding: 50px 20px;
  background: #6d6660;
}



.right .views-row .flex span:nth-child(1) {
  font-size: 1.7rem;
  line-height: 1.1em;
}


.program-choose .right .content {
  height: 100%;
  overflow-y: scroll;
}
.program-choose .right .fixbottom {
  position: absolute;
  bottom: 50px;
}


.taghead {
  margin-top: 30px;
  padding-bottom: 10px;
  border-bottom: 3px solid #85ffc3;
}


.choose-program .logowrap svg {
  height: 30px;
  padding-left: 12px;
  padding-top: 2px;
  width: auto;
}

.choose-program .logowrap .desc, .choose-program .logowrap .sm-hidden {
    padding-left: 15px;
    padding-top: 2px;
}

.choose-program .logowrap .sm-hidden {
    padding-top: 4px;
}

.right-programs-inner .justify-between {
  padding-bottom: 23px;
}


.p-btn {
  background: #524a43;
  border-radius: 10px;
  padding: 20px 20px;
}

.p-btn.active, .p-btn:hover {
  background: #271d18;
  cursor: pointer;
}

.p-btn:hover path {
  fill: #FFF;
}


.p-btn path {
  fill: #aca59e;
}

.p-btn.active path {
  fill: #FFF;
}


.choose-program .box .flexa.active {
  background-color: #271d18;
}

.program-head {
    padding: 0px 20px;
}

.choose-program .price {
  color: #85ffc3;
}

.choose-program .box .logowrap {
  margin-bottom: 15px;
}

.choose-program .box .flex:last-child {
  margin-bottom: 0px;
}

.right {
    height: 100%;
}

.right-programs-inner {
    padding: 50px 30px 150px 30px;
    background-color: #271d18;
    height: 100%;
}

.report {
  margin-left: calc( 50% - 425px);
  width: 850px;
  margin-top: 80px;
}



.right .views-row .flex span:nth-child(2) {
  flex-shrink: 0;
  color: #85ffc3;
  font-family: MerriweatherItalic;
    font-size: 1.3rem;
}

  .para-tag {
    color: #d2ccc6;
    padding: 12px 0px;
    border-bottom: 1px solid #6d6660;
    font-family: "NDKernDemi";
  }

  .choose-program .para-tag svg {
    width: 20px; height: 20px;
    opacity: 0.5;
    padding: 0px;
  }

  .right-programs-inner .justify-between.tagflex {
  padding-bottom: 0px;
}

  .para-tag.active svg {
    opacity: 1;
  }

  .para-tag:hover {
    cursor: pointer;
  }

  .para-tag:hover svg{
   opacity: 1;
  }


  .para-tag:last-child {
    border-bottom: none;
  }



.header {
  padding-bottom: 380px;
}



.realstories .pvt-middlebig {
  padding-bottom: 100px;
}



.slick-dots {
  padding: 0px!important;
  grid-column-gap: 30px;
  margin-top: 60px;
  width: 50%;
  display: flex!important;
  justify-content: center;
}
.slick-dots li::before {
  display: none!important;
  content: "";
}

.slick-dots button {
  background: #85ffc4;
  height: 10px; width: 10px; border-radius: 36px;
  padding: 7px;
  text-indent: -999999999999px;
    opacity: 0.4;
}

.slick-dots .slick-active button {
  opacity: 1;
}

.footertriangle { display: block; background: #271d18!important; }


.realstories .gap-x-50px{
  grid-column-gap: 80px;
}

.teamslider {
  width: 100%;
  z-index: 2;
}

.solutionplans .postimg, .postimg .media { overflow: hidden; }
.solutionplans .postimg img { transition: all 0.3s; }
.solutionplans .postimg:hover img { transform: scale(1.1); }

.solutionplans {
  padding-top: 200px;
}
.solutionplans .grid {
  grid-column-gap: 24px;
  margin-top: 70px;
  margin-bottom: 50px;
}

.solutionplans .grid a {
  display: block;
}



.solutionplans .grid svg {
  display:none!important;
}

.solutionplans .text-22px p {
  padding: 60px 20px 20px 20px;
}

.solutionplans .grid .para-text.solhead {
  padding: 40px 50px;
}

.solutionplans .grid .para-link .flex {
  display: block;
}

.header .para-text.text-MerriweatherItalic {
  margin-bottom: 70px;
}

.header .bgimage {
  background-position: right top;
}

.realstories h2 { color: #FFF; }
.solutionplans h2 { color: #271d18; }

.team {
  background: #271d17;
}

.team h2 { color: #85ffc4; }

.team .grid {
  position: absolute;
  z-index: 22;
  grid-column-gap: 16px;
  margin-top: 70px;
  margin-bottom: 50px;
}


.team .layout__region--first {
  margin-top: 120px;
}
.team .layout__region--second {
  margin-top: 40px;
}
.team .layout__region--fourth {
  margin-top: 80px;
}

.right-programs .close-btn {
  display: none;
}

@media screen and (max-width: 1439px) {
  .home-journey .slick-list { padding:0 20% 0 0!important; }
  .home-journey { margin-top: 50px; margin-bottom: 50px; }

  .approach > .wrapper {
    padding: 0px 0px 0px 40px;
  }

  .approach .para-text {
    padding-right: 40px;
  }
}

@media screen and (max-width: 1440px) {

  .right-programs-inner .taginfo {
    font-size: 0.95rem!important;
    line-height: 1.35em;
  }


  .solutionplans .grid .para-text.solhead {
    font-size: 1.8rem!important;
  }

  .choose-program {
    padding-bottom: 100px;
  }

  .header {
    padding-top: 200px;
    padding-bottom: 280px;
  }

  .header .para-link {
  margin-top: 0px;
  }
  .report {
    margin-left: calc(50% - 325px);
    width: 650px;
    margin-top: 90px;
  }

}

@media screen and (max-width: 1024px) {


    .footerlogo-container img {
      height: 50px; width: auto;
    }


  .number-text {
    position: absolute;
    top: 60px;
    left: 20px;
    width: calc(100% - 40px);
    height: calc(100% - 100px);
  }

  .numb-img {
  margin-left: 15px;
  margin-right: 15px;
}

.home-journey .slick-list {
  margin-left: -15px;
}

  .home-journey .slick-list {
   padding: 0 36% 0 0!important;
 }

  .numb-img .number {
    width: 50px;
    height: 50px;
      font-size: 26px;
      margin-top: -25px!important;
  }

  .numb-img h3 {
    font-size: 26px;
  }

  body .right-programs {
    display: none; z-index: 101;
    position: fixed; top: 0px; left: 0px; width: 100%;  height: 100%;
    background: rgba(0, 0, 0, 0.5);
  }

  body .right-programs-inner {

    position: absolute;
    width: 100%; left: 0px;
    height: 100vh; top: 0px;

  }

.header {
  padding-bottom: 150px;
}

  .right-programs .close-btn {
    display: block;
  }

  .row1 {
  width: 102px;
  padding-left: 15px;
  }
  .row2 {
  width: 56px;
  padding-left: 10px;
}

  .home-journey .layout__region--first222 {
    margin-left: 50vw;
    transform: translate3d(-50vw, 0, 0);
  }
  .choose-program {
    padding-bottom: 40px;
  }
  .report {
    margin-left: calc(50% - 280px);
    width: 560px;
    margin-top: 80px;
  }
}

@media screen and (max-width: 768px) {


  .price-left {
    position: relative; padding-left: 15px; margin-top: 5px;
    top: auto; right: auto;
  }

  .testi-mainrow .content {
    width: calc(100% - 40px);
    padding: 0px 20px;
  }

  .homeheadmobile { display: block; padding-left: 20px; width: calc(100% - 40px); }
  .homeheaddesktop { display: none; padding-left: 20px; width: calc(100% - 40px); }

  .testiwrap {
  padding: 40px 0px;
  }


  .testi-mainrow { flex-wrap: wrap; }

  .testi-mainrow .contentwrap {
    width: 100%;
    order: 2;
    padding-right: 0px;
  }

  .sliderarea {
    width: 100%;
    order: 1;
  }

  .card{
    flex: 0 0 80%;
  }
  .track{
    gap: 0px;
    padding: 0 2px;
  }

  body.popup {
    overflow-y: hidden;
    height: 100vh;
  }


  .program-choose .right .content {
    height: calc(100% - 100px);
  }

  .program-choose .right .fixbottom {
    bottom: 110px;
  }

  .program-choose .right .fixbottom .gap-x-20px {
  grid-column-gap: 10px;
}

.program-choose .right .content::after {
  content: "";
  display: block;
  position: sticky;
  height: 18vh;
  width: 100%;
  z-index: 1;
  bottom: 0px;
  left: 0px;
  background-image: linear-gradient(to bottom, rgba(39,29,24,0), rgba(39,29,24,1));
}



  .program-choose .left {
    width: 100%;
  }

  .solutionplans .layout__region--first .text-22px p {
  padding: 40px 20px 70px 20px;
}
.solutionplans .layout__region--second .text-22px p {
padding: 40px 20px 10px 20px;
}

  .choose-program {
    padding-bottom: 110px;
  }

  .realstories .pvt-middlebig {
    padding-bottom: 60px;
  }

  .imgrow {
    max-width: 300px;
  }

  .report {
    margin-left: calc(50% - 210px);
    width: 420px;
    margin-top: 60px;
  }


.approach {
  padding-top: 150px;
}


  .imgrow {
    margin-bottom: 50px;
  }
  .slick-dots {
    display: none!important;
  }

}

@media screen and (max-width: 480px) {


.report {
margin-left: 0%;
width: 95%;
margin-top: 36px;
}

.choose-program {
    padding-bottom: 60px;
  }
  .solutionplans {
  padding-top: 160px;
}

.approach > .wrapper {
  padding: 0px 0px 0px 16px;
}

}
