.kautz-flow-split{
  position:relative;
  z-index:2;
  width:100%;
  padding:110px 0;
  background:transparent!important;
  overflow:visible;
}

.kautz-flow-split,
.kautz-flow-split *{
  box-sizing:border-box;
}

.kautz-flow-split__grid{
  --kfs-left-fr:.82fr;
  --kfs-center-fr:1.08fr;
  --kfs-right-fr:.82fr;
  width:92vw;
  max-width:1500px;
  margin:0 auto;
  display:grid;
  grid-template-columns:
    minmax(0,var(--kfs-left-fr))
    minmax(0,var(--kfs-center-fr))
    minmax(0,var(--kfs-right-fr));
  gap:28px;
  align-items:center;
}

.kautz-flow-split__column{
  position:relative;
  min-width:0;
  display:flex;
  flex-direction:column;
  will-change:transform;
  transform:translate3d(0,0,0);
}

.kautz-flow-split__side-column{
  --kfs-caption-gap:24px;
}

.kautz-flow-split__media{
  --kfs-focus-x:50%;
  --kfs-focus-y:50%;
  position:relative;
  width:100%;
  aspect-ratio:4 / 5;
  overflow:hidden;
  border-radius:18px;
  background:#111;
  transform-origin:center center;
  will-change:transform;
}

/*
 * Elementor setzt fuer Bilder global u. a. height:auto.
 * Diese Regel ist absichtlich spezifischer und stellt sicher,
 * dass Foto/Video den kompletten Media-Rahmen ausfuellen.
 */
.kautz-flow-split .kautz-flow-split__media > .kautz-flow-split__media-element,
.kautz-flow-split .kautz-flow-split__media > .kautz-flow-split__placeholder{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
}

.kautz-flow-split .kautz-flow-split__media > img.kautz-flow-split__media-element,
.kautz-flow-split .kautz-flow-split__media > video.kautz-flow-split__media-element{
  object-fit:cover!important;
  object-position:var(--kfs-focus-x) var(--kfs-focus-y)!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:scale(1.015);
}

.kautz-flow-split__placeholder{
  background:rgba(20,20,20,.75);
}

.kautz-flow-split__center .kautz-flow-split__media{
  will-change:transform;
}

.kautz-flow-split__caption{
  position:relative;
  width:90%;
  color:#f6f3ed;
}

.kautz-flow-split__caption-top .kautz-flow-split__caption{
  margin-bottom:var(--kfs-caption-gap);
}

.kautz-flow-split__caption-bottom .kautz-flow-split__caption{
  margin-top:var(--kfs-caption-gap);
}

.kautz-flow-split__right .kautz-flow-split__caption{
  align-self:flex-end;
}

.kautz-flow-split__eyebrow{
  display:block;
  margin:0 0 10px;
  color:#e6c9a4;
  font-size:9px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.20em;
  text-transform:uppercase;
  opacity:.86;
}

.kautz-flow-split__title{
  margin:0 0 12px;
  color:inherit;
  font-family:inherit;
  font-size:clamp(24px,2.25vw,42px);
  font-weight:600;
  line-height:.98;
  letter-spacing:-.035em;
}

.kautz-flow-split__body,
.kautz-flow-split__body p{
  color:inherit;
  font-family:inherit;
  font-size:clamp(12px,.9vw,15px);
  font-weight:400;
  line-height:1.5;
}

.kautz-flow-split__body{
  opacity:.78;
}

.kautz-flow-split__body p{
  margin:0;
}

.kautz-flow-split__body p + p{
  margin-top:.8em;
}

@media(max-width:1024px){
  .kautz-flow-split__grid{
    width:94vw;
    gap:18px;
  }

  .kautz-flow-split__caption{
    width:100%;
  }
}

@media(max-width:767px){
  .kautz-flow-split{
    padding:60px 0;
  }

  .kautz-flow-split__grid{
    width:90vw;
    grid-template-columns:1fr;
    gap:48px;
  }

  .kautz-flow-split__column{
    transform:none;
  }

  .kautz-flow-split--mobile-center-first .kautz-flow-split__center{
    order:-1;
  }

  .kautz-flow-split__right .kautz-flow-split__caption{
    align-self:flex-start;
  }
}

@media(prefers-reduced-motion:reduce){
  .kautz-flow-split__column,
  .kautz-flow-split__media{
    transform:none!important;
  }
}
