/* Kingdom Church: image-rich homepage enhancement. Load AFTER all existing site CSS. */
:root {
  --kc-photo-ink: #0b1930;
  --kc-photo-blue: #4778df;
  --kc-photo-mint: #72e5d1;
}
.kc-community-gallery .kc-gallery-photo figcaption span,
.kc-community-gallery .kc-gallery-photo figcaption .number,
.kc-community-gallery .kc-gallery-photo figcaption .index,
.values-grid .value-number,
.value-number,
.hero-index,
.hero-scroll .scroll-number,
.homepage .numbered-label,
.homepage [data-number],
.homepage .step-number {
  display: none !important;
}
/* Turn the three core values into image-led editorial cards. */
.values-grid {
  gap: 20px !important;
}
.values-grid article {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate;
  padding: 176px 27px 28px !important;
  min-height: 315px;
  border-radius: 17px !important;
  background: #fff !important;
  border: 1px solid rgba(19,39,69,.09) !important;
  box-shadow: 0 12px 35px rgba(10,27,51,.035);
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease !important;
}
.values-grid article::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 154px;
  z-index: -1;
  background-size: cover;
  background-position: center;
  transition: transform .75s cubic-bezier(.2,.7,.2,1), filter .45s ease;
  filter: saturate(.88);
}
.values-grid article:nth-child(1)::before {
  background-image: linear-gradient(0deg,rgba(6,16,32,.45),rgba(6,16,32,.02)),url("https://images.unsplash.com/photo-1507692049790-de58290a4334?auto=format&fit=crop&w=1000&q=85");
}
.values-grid article:nth-child(2)::before {
  background-image: linear-gradient(0deg,rgba(6,16,32,.42),rgba(6,16,32,.02)),url("https://images.unsplash.com/photo-1529156069898-49953e39b3ac?auto=format&fit=crop&w=1000&q=85");
}
.values-grid article:nth-child(3)::before {
  background-image: linear-gradient(0deg,rgba(6,16,32,.42),rgba(6,16,32,.02)),url("https://images.unsplash.com/photo-1559027615-cd4628902d4a?auto=format&fit=crop&w=1000&q=85");
}
.values-grid article:hover {
  transform: translateY(-7px) !important;
  box-shadow: 0 24px 55px rgba(10,27,51,.12) !important;
  border-color: rgba(71,120,223,.28) !important;
}
.values-grid article:hover::before {
  transform: scale(1.07);
  filter: saturate(1.08);
}
.values-grid article .value-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 37px;
  height: 37px;
  border-radius: 50%;
  color: #4778df;
  background: #eef4ff;
  margin-bottom: 9px;
}
.values-grid article h3 {
  color: #101d32;
  margin-top: 0;
}
.values-grid article p {
  color: #647188;
  line-height: 1.8;
}
/* Add a photographic backdrop and a moving highlight to the introduction section. */
.welcome.section-wrap {
  position: relative;
  isolation: isolate;
}
.welcome.section-wrap::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: min(34vw,420px);
  height: min(34vw,420px);
  right: -7%;
  top: 4%;
  border-radius: 50%;
  background: url("https://images.unsplash.com/photo-1438232992991-995b7058bbb3?auto=format&fit=crop&w=900&q=80") center/cover;
  opacity: .055;
  filter: grayscale(1);
  animation: kc-welcome-drift 24s ease-in-out infinite alternate;
  pointer-events: none;
}
.welcome-grid h2,
.welcome-grid > div {
  position: relative;
}
.welcome-grid h2 em {
  color: #4778df !important;
}
/* Refine the four-photo community gallery and make every image feel interactive. */
.kc-community-gallery {
  width: min(1240px, 91%) !important;
  column-gap: 20px !important;
  row-gap: 20px !important;
  margin-top: 48px !important;
  margin-bottom: 110px !important;
}
.kc-gallery-photo {
  border-radius: 17px !important;
  box-shadow: 0 18px 45px rgba(9,23,45,.12) !important;
}
.kc-gallery-photo img {
  transition: transform 1s cubic-bezier(.2,.7,.2,1), filter .5s ease !important;
}
.kc-gallery-photo:hover img {
  transform: scale(1.09) !important;
  filter: saturate(1.13) contrast(1.03) !important;
}
.kc-gallery-photo figcaption {
  font-size: 10px !important;
  letter-spacing: .11em;
  text-shadow: 0 2px 12px rgba(0,0,0,.45);
}
.kc-gallery-photo figcaption span {
  display: none !important;
}
/* Keep the feature section from feeling like an empty block. */
.events-section,
.sermon-feature,
.community-stats,
.visit-cta {
  position: relative;
}
.event-card {
  transition: transform .3s ease, box-shadow .3s ease !important;
}
.event-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 18px 44px rgba(10,25,48,.1) !important;
}
.visit-cta h2 {
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.visit-cta p {
  color: #d8e1ef !important;
}
@keyframes kc-welcome-drift {
  from { transform: translate3d(0,-8px,0) scale(.96); }
  to { transform: translate3d(-15px,12px,0) scale(1.04); }
}
@media (max-width: 800px) {
  .values-grid article { padding: 164px 21px 24px !important; min-height: 300px; }
  .values-grid article::before { height: 143px; }
  .kc-community-gallery { margin-top: 25px !important; margin-bottom: 70px !important; }
}
@media (max-width: 520px) {
  .values-grid { gap: 13px !important; }
  .values-grid article { padding: 155px 17px 20px !important; min-height: 280px; }
  .values-grid article::before { height: 135px; }
}
@media (prefers-reduced-motion: reduce) {
  .welcome.section-wrap::after { animation: none !important; }
  .values-grid article,
  .values-grid article::before,
  .kc-gallery-photo img,
  .event-card { transition: none !important; }
}
