/* Kingdom Church homepage enhancement — load after kingdom-global-upgrade.css */

/* Remove numbered decorations throughout the homepage while keeping the content. */
.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;
}

/* Give the homepage more depth without changing its core identity. */
.hero-cinematic {
  min-height: min(820px, calc(100vh - 120px));
  background: #081321;
  isolation: isolate;
}
.hero-cinematic .hero-image {
  transform-origin: 58% 50%;
  animation: kc-home-hero-drift 28s ease-in-out infinite alternate;
  will-change: transform;
}
.hero-cinematic::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 78% 45%, rgba(91,140,255,.12), transparent 34%),
    linear-gradient(90deg, rgba(5,12,24,.26), transparent 68%);
}
.hero-cinematic .hero-content {
  animation: kc-home-intro .9s cubic-bezier(.2,.7,.2,1) both;
}
.hero-cinematic .hero-content h1 {
  text-wrap: balance;
  max-width: 950px;
}
.hero-cinematic .hero-actions .btn,
.hero-cinematic .hero-actions .text-link {
  transition: transform .25s ease, filter .25s ease;
}
.hero-cinematic .hero-actions .btn:hover,
.hero-cinematic .hero-actions .text-link:hover {
  transform: translateY(-4px);
  filter: brightness(1.07);
}
.hero-cinematic .hero-note {
  backdrop-filter: blur(12px);
}

/* Richer gallery presentation: larger images, clear labels, subtle image motion. */
.kc-community-gallery {
  width: min(1240px, 91%);
  column-gap: 20px;
  row-gap: 20px;
  margin-top: 42px;
  margin-bottom: 118px;
}
.kc-gallery-photo {
  border-radius: 18px;
  box-shadow: 0 20px 55px rgba(9,23,45,.13);
  transform: translateZ(0);
}
.kc-gallery-photo img {
  transform: scale(1.015);
  filter: saturate(.91) contrast(1.02);
}
.kc-gallery-photo:hover img {
  transform: scale(1.09);
  filter: saturate(1.12) contrast(1.03);
}
.kc-gallery-photo figcaption {
  font-size: 10px;
  letter-spacing: .13em;
  text-shadow: 0 2px 14px rgba(0,0,0,.45);
}
.kc-gallery-photo figcaption span {
  display: none !important;
}
.kc-gallery-intro h2 {
  line-height: 1.02;
}
.kc-gallery-intro > a {
  transition: color .2s ease, letter-spacing .2s ease;
}
.kc-gallery-intro > a:hover {
  letter-spacing: .025em;
}

/* Feature cards feel more interactive and polished. */
.values-grid article {
  position: relative;
  overflow: hidden;
  border-radius: 17px;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.values-grid article::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 2px;
  transform: scaleX(0);
  transform-origin: left;
  background: linear-gradient(90deg, #5b8cff, #72e5d1);
  transition: transform .35s ease;
}
.values-grid article:hover {
  transform: translateY(-7px);
  border-color: rgba(91,140,255,.38);
  box-shadow: 0 22px 50px rgba(16,35,65,.09);
}
.values-grid article:hover::before {
  transform: scaleX(1);
}
.values-grid .value-number {
  display: none !important;
}

/* Keep long sections feeling intentional and reduce oversized empty gaps. */
.welcome.section-wrap {
  padding-top: clamp(70px, 8vw, 112px);
  padding-bottom: clamp(48px, 6vw, 82px);
}
.scripture-band {
  overflow: hidden;
  isolation: isolate;
}
.scripture-band .scripture-orbit {
  animation: kc-home-orbit 42s linear infinite;
  transform-origin: center;
}
.sermon-feature {
  overflow: hidden;
}
.sermon-feature-art {
  position: relative;
  isolation: isolate;
}
.sermon-feature-art .sermon-art-glow {
  animation: kc-home-glow 7s ease-in-out infinite alternate;
}
.sermon-feature-art .sermon-art-cross {
  animation: kc-home-float 6s ease-in-out infinite alternate;
}
.event-card {
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.event-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 42px rgba(10,25,48,.08);
}
.visit-cta {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.visit-cta::after {
  content: "✦";
  position: absolute;
  z-index: -1;
  right: 7%;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(114,229,209,.09);
  font-size: clamp(120px, 20vw, 250px);
  line-height: 1;
  animation: kc-home-float 8s ease-in-out infinite alternate;
  pointer-events: none;
}
.visit-cta h2 {
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: 0 2px 20px rgba(0,0,0,.12);
}
.visit-cta p {
  color: #d4dfef !important;
  opacity: 1 !important;
}
.visit-cta .btn {
  position: relative;
  z-index: 1;
}
.community-stats .stat-item strong {
  font-variant-numeric: normal;
}

/* Accessible, performant movement. */
@keyframes kc-home-hero-drift {
  0% { transform: scale(1.015) translate3d(0,0,0); }
  100% { transform: scale(1.075) translate3d(-1.2%,.5%,0); }
}
@keyframes kc-home-intro {
  from { opacity: 0; transform: translate3d(0,20px,0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
}
@keyframes kc-home-orbit { to { transform: rotate(360deg); } }
@keyframes kc-home-glow {
  from { opacity: .55; transform: scale(.92); }
  to { opacity: 1; transform: scale(1.08); }
}
@keyframes kc-home-float {
  from { translate: 0 -5px; }
  to { translate: 0 12px; }
}
@media (max-width: 800px) {
  .hero-cinematic { min-height: 700px; }
  .kc-community-gallery { margin-top: 22px; margin-bottom: 72px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-cinematic .hero-image,
  .hero-cinematic .hero-content,
  .scripture-band .scripture-orbit,
  .sermon-feature-art .sermon-art-glow,
  .sermon-feature-art .sermon-art-cross,
  .visit-cta::after {
    animation: none !important;
  }
  .kc-gallery-photo,
  .kc-gallery-photo img,
  .values-grid article,
  .event-card,
  .hero-cinematic .hero-actions .btn,
  .hero-cinematic .hero-actions .text-link {
    transition: none !important;
  }
}

.hero-cinematic .hero-image { translate: var(--kc-pointer-x, 0) var(--kc-pointer-y, 0); }
