/* KFF Pillars Grid — pixel match Who We Are_v6 .pillars-grid */
.kff-pillars-grid{
  --kff-gold:#C2A36B;
  --kff-gold-light:#D8C29A;
  --kff-sage:#9FB7A7;
  --kff-charcoal:#3A3A3A;
  --kff-serif:'Playfair Display', Georgia, serif;
  --kff-sans:'Alegreya Sans', 'Helvetica Neue', Arial, sans-serif;
  --kff-card-radius:0;
  --kff-card-shadow:0 14px 32px rgba(58,58,58,0.10);
  --kff-card-shadow-hover:0 22px 44px rgba(58,58,58,0.16);

  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.6rem; /* 25.6px @16 */
  width:100%;
  box-sizing:border-box;
  font-family:var(--kff-sans);
}
.kff-pillars-grid.cols-3{
  grid-template-columns:repeat(3,1fr);
}
.kff-pillars-grid *,
.kff-pillars-grid *::before,
.kff-pillars-grid *::after{box-sizing:border-box;}

.kff-pillars-grid .pillar-card{
  position:relative;
  display:block;
  border-radius:var(--kff-card-radius);
  overflow:hidden;
  height:460px;
  cursor:pointer;
  box-shadow:var(--kff-card-shadow);
  text-decoration:none !important;
  color:#fff;
  transition:transform 0.5s cubic-bezier(0.2,0.7,0.3,1), box-shadow 0.5s ease;
}
.kff-pillars-grid .pillar-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--kff-card-shadow-hover);
}

.kff-pillars-grid .pillar-card .pillar-img{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  transition:transform 1.2s cubic-bezier(0.2,0.7,0.3,1);
  filter:grayscale(10%) saturate(1.05) contrast(1.04) brightness(0.85);
}
.kff-pillars-grid .pillar-card:hover .pillar-img{
  transform:scale(1.08);
}
.kff-pillars-grid .pillar-card .pillar-img.illustration{
  filter:none;
  background-size:cover;
  background-position:center;
}

.kff-pillars-grid .pillar-card::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(8,57,53,0.05) 0%, rgba(8,57,53,0.82) 100%);
}

.kff-pillars-grid .pillar-card .pillar-body{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:1.6rem 1.5rem; /* 25.6px 24px */
  z-index:2;
  color:#fff;
}

.kff-pillars-grid .pillar-card .pillar-num{
  font-family:var(--kff-serif);
  font-style:italic;
  font-weight:400;
  color:var(--kff-gold-light);
  font-size:0.82rem; /* 13.12px */
  margin:0 0 0.4rem;
  display:block;
  line-height:1.4;
}

.kff-pillars-grid .pillar-card h3{
  font-family:var(--kff-serif);
  color:#fff;
  font-weight:400;
  font-size:1.08rem; /* 17.28px */
  margin:0 0 0.45rem;
  line-height:1.35;
}

.kff-pillars-grid .pillar-card .gold-line{
  width:0;
  height:1px;
  background:var(--kff-gold);
  margin:0.85rem 0;
  transition:width 0.5s ease;
}
.kff-pillars-grid .pillar-card:hover .gold-line{
  width:36px;
}

.kff-pillars-grid .pillar-card p{
  font-family:var(--kff-sans);
  font-size:0.82rem; /* 13.12px */
  color:rgba(255,255,255,0.8);
  max-width:230px;
  margin:0 0 1.15rem;
  line-height:1.55;
}
.kff-pillars-grid .pillar-card p .pillar-list{
  display:inline-block;
  margin-top:0.3rem;
  font-size:0.66rem; /* 10.56px */
  letter-spacing:0.01em;
  white-space:nowrap;
  max-width:none;
  color:rgba(255,255,255,0.8);
}

/* Arrow CTA — beat Astra / Elementor button styles */
.elementor-widget-kff_pillars_grid .kff-pillars-grid .pillar-card .kff-pg-arrow,
.kff-pillars-grid .pillar-card .kff-pg-arrow{
  display:inline-flex !important;
  align-items:center;
  gap:0.45rem;
  background:#9FB7A7 !important;
  background-color:#9FB7A7 !important;
  color:#3A3A3A !important;
  padding:0.5rem 1rem !important; /* 8px 16px */
  font-family:var(--kff-sans) !important;
  font-size:0.7rem !important; /* 11.2px */
  letter-spacing:0.07em !important;
  text-transform:uppercase !important;
  font-weight:500 !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  text-decoration:none !important;
  line-height:1.4 !important;
  transition:background 0.3s ease, background-color 0.3s ease, transform 0.3s ease !important;
}
.elementor-widget-kff_pillars_grid .kff-pillars-grid .pillar-card .kff-pg-arrow svg,
.kff-pillars-grid .pillar-card .kff-pg-arrow svg{
  width:14px;
  height:10px;
  flex-shrink:0;
  display:block;
  transition:transform 0.32s ease;
}
.elementor-widget-kff_pillars_grid .kff-pillars-grid .pillar-card:hover .kff-pg-arrow,
.kff-pillars-grid .pillar-card:hover .kff-pg-arrow{
  background:#C2A36B !important;
  background-color:#C2A36B !important;
  color:#3A3A3A !important;
  transform:translateY(-2px);
}
.elementor-widget-kff_pillars_grid .kff-pillars-grid .pillar-card:hover .kff-pg-arrow svg,
.kff-pillars-grid .pillar-card:hover .kff-pg-arrow svg{
  transform:translateX(6px);
}

@media(max-width:1080px){
  .kff-pillars-grid,
  .kff-pillars-grid.cols-3{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:640px){
  .kff-pillars-grid,
  .kff-pillars-grid.cols-3{
    grid-template-columns:1fr;
  }
}

@media (prefers-reduced-motion: reduce){
  .kff-pillars-grid .pillar-card,
  .kff-pillars-grid .pillar-card .pillar-img,
  .kff-pillars-grid .pillar-card .gold-line,
  .kff-pillars-grid .pillar-card .kff-pg-arrow,
  .kff-pillars-grid .pillar-card .kff-pg-arrow svg{
    transition:none !important;
  }
  .kff-pillars-grid .pillar-card:hover{
    transform:none;
  }
  .kff-pillars-grid .pillar-card:hover .pillar-img{
    transform:none;
  }
}
