/* KFF Home Pillars Grid — pixel match Homepage_v10 #our-pillars .pillars-grid */
.kff-home-pillars-grid{
  --kff-teal:#10605A;
  --kff-teal-dark:#0A4842;
  --kff-sage:#9FB7A7;
  --kff-charcoal:#3A3A3A;
  --kff-gold:#C2A36B;
  --kff-gold-light:#D8C29A;
  --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);

  width:100%;
  box-sizing:border-box;
  font-family:var(--kff-sans);
}
.kff-home-pillars-grid *,
.kff-home-pillars-grid *::before,
.kff-home-pillars-grid *::after{
  box-sizing:border-box;
}

/* Section head — #our-pillars */
.kff-home-pillars-grid .section-head{
  max-width:900px;
  margin-bottom:3rem;
}
.kff-home-pillars-grid .section-head .eyebrow{
  display:block;
  margin-bottom:0.9rem;
  font-family:var(--kff-sans);
  text-transform:uppercase;
  letter-spacing:0.18em;
  font-size:0.72rem;
  font-weight:500;
  color:var(--kff-teal);
}
.kff-home-pillars-grid .section-head h2{
  font-family:var(--kff-serif);
  font-size:clamp(1.5rem, 2.5vw, 2.15rem);
  font-weight:400;
  line-height:1.25;
  color:var(--kff-teal-dark);
  margin:0;
}
.kff-home-pillars-grid .section-head p{
  margin:1rem 0 0;
  color:#5a5a5a;
  font-size:0.92rem;
  max-width:none;
  white-space:nowrap;
  text-align:left;
  line-height:1.6;
}

/* Scroll reveal */
.kff-home-pillars-grid .reveal{
  opacity:0;
  transform:translateY(36px);
  transition:opacity 1s cubic-bezier(0.2, 0.7, 0.3, 1), transform 1s cubic-bezier(0.2, 0.7, 0.3, 1);
}
.kff-home-pillars-grid .reveal.in-view{
  opacity:1;
  transform:translateY(0);
}
.kff-home-pillars-grid .reveal-delay-1.in-view{
  transition-delay:0.12s;
}
.kff-home-pillars-grid .reveal-delay-2.in-view{
  transition-delay:0.24s;
}
.kff-home-pillars-grid .reveal-delay-3.in-view{
  transition-delay:0.36s;
}

/* Pillars grid */
.kff-home-pillars-grid .pillars-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1.6rem;
  width:100%;
}

.kff-home-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-home-pillars-grid .pillar-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--kff-card-shadow-hover);
}

.kff-home-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-home-pillars-grid .pillar-card:hover .pillar-img{
  transform:scale(1.08);
}

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

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

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

.kff-home-pillars-grid .pillar-card p{
  font-family:var(--kff-sans);
  font-size:0.82rem;
  color:rgba(255,255,255,0.8);
  max-width:230px;
  text-align:left;
  margin:0;
  line-height:1.55;
}

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

/* Arrow CTA — beat Astra / Elementor link styles */
.elementor-widget-kff_home_pillars_grid .kff-home-pillars-grid .pillar-card .kff-hpg-arrow,
.kff-home-pillars-grid .pillar-card .kff-hpg-arrow{
  display:inline-flex !important;
  align-items:center;
  gap:0.45rem;
  background:var(--kff-sage) !important;
  background-color:var(--kff-sage) !important;
  color:var(--kff-charcoal) !important;
  padding:0.5rem 1rem !important;
  font-family:var(--kff-sans) !important;
  font-size:0.7rem !important;
  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;
  margin-top:0.9rem;
  transition:background 0.3s ease, background-color 0.3s ease, transform 0.3s ease !important;
}
.elementor-widget-kff_home_pillars_grid .kff-home-pillars-grid .pillar-card .kff-hpg-arrow svg,
.kff-home-pillars-grid .pillar-card .kff-hpg-arrow svg{
  width:14px;
  height:10px;
  flex-shrink:0;
  display:block;
  transition:transform 0.32s ease;
}
.elementor-widget-kff_home_pillars_grid .kff-home-pillars-grid .pillar-card:hover .kff-hpg-arrow,
.kff-home-pillars-grid .pillar-card:hover .kff-hpg-arrow{
  background:var(--kff-gold) !important;
  background-color:var(--kff-gold) !important;
  color:var(--kff-charcoal) !important;
  transform:translateY(-2px);
}
.elementor-widget-kff_home_pillars_grid .kff-home-pillars-grid .pillar-card:hover .kff-hpg-arrow svg,
.kff-home-pillars-grid .pillar-card:hover .kff-hpg-arrow svg{
  transform:translateX(6px);
}

@media(max-width:1080px){
  .kff-home-pillars-grid .pillars-grid{
    grid-template-columns:repeat(2, 1fr);
  }
}
@media(max-width:640px){
  .kff-home-pillars-grid .pillars-grid{
    grid-template-columns:1fr;
  }
  .kff-home-pillars-grid .section-head p{
    white-space:normal;
  }
}

/* Elementor editor — show content without waiting for scroll */
.elementor-editor-active .kff-home-pillars-grid .reveal,
.elementor-edit-area .kff-home-pillars-grid .reveal{
  opacity:1;
  transform:translateY(0);
}

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