
/* Kingdom Church — People-first photo gallery */
.kc-people-wall {
  position:relative; overflow:hidden; padding:clamp(64px,8vw,112px) 0;
  background:#09172b; color:#fff; isolation:isolate;
}
.kc-people-wall::before {
  content:""; position:absolute; z-index:-1; inset:-15%;
  background:
    radial-gradient(ellipse at 12% 18%,rgba(71,120,223,.25),transparent 36%),
    radial-gradient(ellipse at 85% 75%,rgba(114,229,209,.13),transparent 34%);
  animation:kc-wall-light 16s ease-in-out infinite alternate;
}
.kc-people-inner {width:min(1240px,91%);margin:auto}
.kc-people-heading {display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:34px}
.kc-people-eyebrow {display:flex;align-items:center;gap:10px;color:#72e5d1;font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.kc-people-eyebrow::before {content:"";width:26px;height:1px;background:currentColor}
.kc-people-heading h2 {font:500 clamp(38px,5.2vw,68px)/1.02 "Playfair Display",Georgia,serif;letter-spacing:-.045em;margin:18px 0 0;color:#fff}
.kc-people-heading h2 em {color:#d8b875;font-weight:500}
.kc-people-heading p {max-width:370px;color:#c0ccdc;font-size:14px;line-height:1.9;margin:0 0 5px}
.kc-people-grid {display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:230px 230px;gap:15px}
.kc-person-photo {position:relative;overflow:hidden;margin:0;border-radius:15px;background:#182941;min-height:180px;transform:translateY(24px);opacity:0;transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);isolation:isolate}
.kc-person-photo.is-visible {transform:translateY(0);opacity:1}
.kc-person-photo:nth-child(1){grid-row:1/3}
.kc-person-photo:nth-child(4){grid-column:2/4}
.kc-person-photo img {display:block;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .6s;filter:saturate(.88);will-change:transform}
.kc-person-photo:hover img {transform:scale(1.09);filter:saturate(1.1)}
.kc-person-photo::after {content:"";position:absolute;inset:25% 0 0;background:linear-gradient(0deg,rgba(4,11,23,.88),rgba(4,11,23,0));pointer-events:none}
.kc-person-photo figcaption {position:absolute;z-index:1;left:20px;right:20px;bottom:18px;display:flex;flex-direction:column;gap:5px}
.kc-person-photo figcaption strong {font-size:14px;letter-spacing:.01em;color:#fff}
.kc-person-photo figcaption span {font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#72e5d1;font-weight:800}
.kc-people-strip {display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}
.kc-people-strip span {border:1px solid rgba(255,255,255,.17);border-radius:100px;padding:10px 15px;color:#d7e0ec;font-size:10px;letter-spacing:.09em;text-transform:uppercase}
.kc-people-strip span::before {content:"✦";color:#d8b875;margin-right:8px}
.kc-people-cta {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:36px;padding-top:25px;border-top:1px solid rgba(255,255,255,.14)}
.kc-people-cta p {margin:0;color:#d0d9e7;font-size:14px}
.kc-people-cta a {display:inline-flex;gap:18px;align-items:center;background:#d8b875;color:#0c1a30;border-radius:4px;padding:15px 19px;font-weight:800;font-size:11px;transition:transform .25s,background .25s}
.kc-people-cta a:hover {transform:translateY(-3px);background:#ecd39a}
@keyframes kc-wall-light {from{transform:translate3d(-1%,0,0) scale(1)}to{transform:translate3d(1%,1%,0) scale(1.08)}}
@media(max-width:760px){
 .kc-people-heading{display:block}.kc-people-heading p{margin-top:17px}
 .kc-people-grid{grid-template-columns:1fr 1fr;grid-template-rows:240px 175px 175px}
 .kc-person-photo:nth-child(1){grid-column:1/3;grid-row:1}
 .kc-person-photo:nth-child(2){grid-column:1;grid-row:2}
 .kc-person-photo:nth-child(3){grid-column:2;grid-row:2}
 .kc-person-photo:nth-child(4){grid-column:1/3;grid-row:3}
 .kc-people-cta{align-items:flex-start;flex-direction:column}
}
@media(max-width:440px){
 .kc-people-grid{gap:9px;grid-template-rows:215px 155px 155px}
 .kc-person-photo{border-radius:10px}
 .kc-person-photo figcaption{left:12px;right:12px;bottom:12px}
 .kc-person-photo figcaption strong{font-size:12px}
 .kc-person-photo figcaption span{font-size:8px}
 .kc-people-strip{gap:7px}.kc-people-strip span{font-size:9px;padding:8px 10px}
}
@media(prefers-reduced-motion:reduce){
 .kc-people-wall::before{animation:none}
 .kc-person-photo,.kc-person-photo img{transition:none}
}
