/* KFF Holistic Visual — matches About Us_v6 .holistic-visual */
.kff-holistic-visual{
  --kff-warm-white:#F5F5F3;
  --kff-teal-dark:#0A4842;
  --kff-gold:#C2A36B;
  --kff-serif:'Playfair Display', Georgia, serif;
  --kff-card-shadow:0 14px 32px rgba(58,58,58,0.10);

  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  width:100%;
  box-sizing:border-box;
  font-family:var(--kff-serif);
}
.kff-holistic-visual *,
.kff-holistic-visual *::before,
.kff-holistic-visual *::after{box-sizing:border-box;}

.kff-holistic-visual .mosaic-wrap{
  position:relative;
  width:100%;
  max-width:300px;
  padding:40px;
}

.kff-holistic-visual .circle-mosaic{
  position:relative;
  width:100%;
  max-width:220px;
  margin:0 auto;
  aspect-ratio:1/1;
  border-radius:50%;
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  box-shadow:var(--kff-card-shadow);
}

.kff-holistic-visual .cm-quad{
  position:relative;
  overflow:hidden;
  background:#1c3d39;
}

/* Beat Elementor global img { height:auto; max-width:100% } */
.kff-holistic-visual .cm-quad img,
.elementor-widget-kff_holistic_visual .cm-quad img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  display:block;
  filter:grayscale(8%) saturate(1.05) contrast(1.03) brightness(0.94);
  transform:scale(1.03);
  transition:transform 1.1s cubic-bezier(.2,.7,.3,1);
}
.kff-holistic-visual .circle-mosaic:hover .cm-quad img{
  transform:scale(1.1);
}

.kff-holistic-visual .cm-cross{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
}
.kff-holistic-visual .cm-cross::before,
.kff-holistic-visual .cm-cross::after{
  content:'';
  position:absolute;
  background:var(--kff-warm-white);
}
.kff-holistic-visual .cm-cross::before{
  left:50%;
  top:0;
  bottom:0;
  width:1.5px;
  transform:translateX(-0.75px);
}
.kff-holistic-visual .cm-cross::after{
  top:50%;
  left:0;
  right:0;
  height:1.5px;
  transform:translateY(-0.75px);
}

.kff-holistic-visual .circle-mosaic::after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:50%;
  box-shadow:inset 0 0 0 1px rgba(194,163,107,0.55);
  z-index:3;
  pointer-events:none;
}

.kff-holistic-visual .mosaic-label{
  position:absolute;
  font-family:var(--kff-serif);
  font-weight:400;
  font-style:normal;
  font-size:0.76rem;
  letter-spacing:0.03em;
  color:var(--kff-teal-dark);
  white-space:nowrap;
  line-height:1.2;
}
.kff-holistic-visual .ml-tl{
  top:16px;
  left:16px;
  text-align:right;
  transform:translate(-42%,-42%);
}
.kff-holistic-visual .ml-tr{
  top:16px;
  right:16px;
  text-align:left;
  transform:translate(42%,-42%);
}
.kff-holistic-visual .ml-bl{
  bottom:16px;
  left:16px;
  text-align:right;
  transform:translate(-42%,42%);
}
.kff-holistic-visual .ml-br{
  bottom:16px;
  right:16px;
  text-align:left;
  transform:translate(42%,42%);
}

.kff-holistic-visual .quote{
  font-family:var(--kff-serif);
  font-style:italic;
  font-weight:400;
  font-size:1rem;
  line-height:1.55;
  color:var(--kff-teal-dark);
  margin:1.6rem 0 0;
  border-left:none;
  padding-left:0;
  text-align:center;
  max-width:280px;
}

@media (prefers-reduced-motion: reduce){
  .kff-holistic-visual .cm-quad img{
    transition-duration:0.001ms !important;
  }
}
