/* Approved community photographs: shared by the C home and subpage frames. */
.photo-hero{background:#1f2d3d;overflow:hidden}
.photo-hero .photo-slide{opacity:0;transition:opacity 1.2s ease;pointer-events:none}
.photo-hero .photo-slide.is-active{opacity:1}
.photo-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,27,42,.55),rgba(15,27,42,0) 55%);z-index:-1;pointer-events:none}
.c .photo-hero{min-height:0;aspect-ratio:16/9}
.photo-hero .photo-slide>img{object-fit:contain;object-position:center}
/* Authored CSS, not generated. Each desktop crop follows the people, not the wall. */
@media(min-width:801px){
  .c .photo-hero{aspect-ratio:auto;height:min(56.25vw,560px);min-height:0}
  .photo-hero .photo-slide>img{object-fit:cover;object-position:50% var(--hero-y,50%)}
  .photo-hero .photo-slide[data-slide="0"]{--hero-y:65%}
  .photo-hero .photo-slide[data-slide="1"]{--hero-y:100%}
  .photo-hero .photo-slide[data-slide="2"]{--hero-y:75%}
  .photo-hero .photo-slide[data-slide="3"]{--hero-y:34%}
  .photo-hero .photo-slide[data-slide="4"]{--hero-y:58%}
  /* At 1920, sign-to-feet exceeds a 560px full-bleed crop. Keep the complete
     group in a 1600px sharp area; same-image soft wings fill the outer edges. */
  .photo-hero .photo-slide[data-slide="0"]>img{position:relative;max-width:1600px;margin-inline:auto}
  .photo-hero .photo-slide[data-slide="0"]:before{content:"";position:absolute;inset:-16px;background-image:var(--hero-fill);background-size:cover;background-position:50% 65%;filter:blur(12px)}
}
.photo-hero .hero-inner{padding:24px 0}
.c .photo-hero .hero-copy{color:#fff;background:none;padding:0}
.photo-hero .hero-copy h1,.photo-hero .hero-copy p{text-shadow:0 1px 2px #000d,0 0 2px #000e,0 0 4px #000a}
.photo-hero .eyebrow{color:#f2dfb6}
.photo-hero .button{background:#fff;color:#1f2d3d}
.photo-hero .button.primary{background:#1f2d3d;border-color:#d5b777;color:#fff}
.photo-hero .hero-pause{position:absolute;right:20px;bottom:16px;padding:7px 14px;background:#1f2d3d;color:#fff;border:1px solid #c09f5a;font:inherit;border-radius:6px;min-height:44px;cursor:pointer}
.c .extra-grid .tile-copy{background:linear-gradient(transparent,rgba(15,27,42,.7));text-shadow:0 1px 2px #000b}
.c .sermon-copy{background:linear-gradient(transparent,rgba(15,27,42,.72) 60%);text-shadow:0 1px 2px #000d,0 0 2px #000e}
.c .photo-gallery>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.story-cover{display:block;background:#fff;border-radius:10px;overflow:hidden;color:#1f2d3d}
.story-cover img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.story-cover span{display:block;padding:14px 16px;font-weight:650}
.stories-index{padding-top:32px}
.story-jumps{display:flex!important;flex-wrap:wrap;gap:8px;margin:22px 0 12px;width:100%}
.story-jumps a{display:flex;align-items:center;min-height:44px;padding:8px 14px;background:#fff;border:1px solid #bcc8d0;border-radius:24px;font-size:.9rem}
.story-event{padding-top:48px;padding-bottom:16px;scroll-margin-top:24px}
.story-event:last-of-type{padding-bottom:64px}
.story-heading{background:none;position:static;margin-bottom:20px}
.story-heading time{display:block;font-size:.875rem;color:#34495e;margin-bottom:8px;letter-spacing:.1em}
.story-heading h2{margin-bottom:12px;font-family:'Noto Serif KR',serif}
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.story-photo{display:block;border-radius:10px;background:#fff;overflow:hidden;color:#1f2d3d}
.story-photo:first-child{grid-column:span 2;grid-row:span 2;display:flex;flex-direction:column}
.story-photo img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;height:auto}
.story-photo:first-child img{flex:1;min-height:0;object-fit:cover}
.photo-caption{display:block;padding:12px 16px;font-size:.9rem}
.thai-story-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:22px 0 12px}
.thai-story-grid img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:8px}
.photo-lightbox{border:0;padding:20px;background:#142230;color:#fff;width:min(1280px,96vw);max-width:96vw;max-height:96dvh;border-radius:10px}
.photo-lightbox::backdrop{background:rgba(8,15,24,.92)}
.lightbox-tools{display:flex;justify-content:flex-end;margin-bottom:12px}
.photo-lightbox button{min-width:48px;min-height:48px;background:#1f2d3d;color:#fff;border:1px solid #a4b3c2;border-radius:6px;font:inherit;cursor:pointer;padding:8px 12px}
.lightbox-stage{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:12px}
.lightbox-stage img{width:100%;height:70dvh;object-fit:contain;display:block}
#lightbox-caption{text-align:center;margin:16px 0 0;min-height:28px}
.story-photo:focus-visible,.story-cover:focus-visible,.thai-story-grid a:focus-visible,.photo-lightbox button:focus-visible,.hero-pause:focus-visible{outline:3px solid #dfb965;outline-offset:4px}
@media(max-width:1100px){.header-inner nav{gap:14px}.header-inner nav a{font-size:.9rem}}
@media(max-width:800px){.c .photo-gallery>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.c .photo-hero{aspect-ratio:auto;min-height:0;background:#f1f4f6;padding-top:56.25vw}.photo-hero .photo-slide{height:56.25vw;bottom:auto;z-index:0}.photo-hero:after{display:none}.photo-hero .hero-inner{min-height:0;padding:24px 0 28px}.c .photo-hero .hero-copy{color:#1f2d3d;padding:0;margin-top:0}.photo-hero .hero-copy h1,.photo-hero .hero-copy p{text-shadow:0 1px 1px #fff8}.photo-hero .eyebrow{color:#6c511c}.photo-hero .hero-pause{top:calc(56.25vw - 54px);bottom:auto;right:12px;font-size:.8rem}.story-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.story-photo:first-child{grid-column:span 2;grid-row:auto}.thai-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.thai-story-grid a:first-child{grid-column:span 2}.story-heading h2{font-size:1.7rem}.story-cover span,.photo-caption{padding:10px 12px}.lightbox-stage{grid-template-columns:44px minmax(0,1fr) 44px;gap:6px}.photo-lightbox{padding:12px}.lightbox-stage img{height:60dvh}.photo-lightbox button{min-width:44px;padding:6px}.story-jumps{border:0;padding-top:0}.story-jumps a{font-size:.8rem}.stories-index{padding-top:24px}}
@media(prefers-reduced-motion:reduce){.photo-hero .photo-slide{transition:none}.photo-hero .photo-slide:not(:first-child){display:none}.photo-hero .hero-pause{display:none}}
