.events-hero{display:grid;min-height:250px;padding:48px 24px;place-items:center;background:linear-gradient(90deg,rgba(14,21,56,.96),rgba(21,29,72,.8)),url("/plan-your-visit/assets/gallery/congregational-worship.jpg") center 40%/cover;color:#fff;text-align:center}
.events-hero>div{width:min(100%,720px)}
.events-hero h1{margin:0 0 10px;font-size:clamp(2.5rem,4.5vw,4rem);letter-spacing:-.03em}
.events-hero p:not(.eyebrow){margin:0;color:#ffffffe0;font-size:1rem}
.dark{color:var(--vlcc-gold)}
.events-section{padding:64px 24px 72px;background:var(--vlcc-ivory)}
.events-container{width:min(100%,1080px);margin:auto}
.section-intro{text-align:center}
.section-intro h2{margin:0 0 30px;font-size:clamp(2rem,3.5vw,2.8rem)}
.event-carousel{position:relative;width:min(100%,980px);margin:auto}
.carousel-viewport{overflow:hidden;border:1px solid var(--vlcc-border);border-radius:14px;background:#fff;box-shadow:0 14px 38px #0e153812}
.carousel-track{display:flex;transition:transform .55s ease}
.carousel-slide{min-width:100%}
.slide-card{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);color:inherit}
.slide-media{height:390px;background:#07172e}
.slide-media img{display:block;width:100%;height:100%;object-fit:cover}
.harvest-art{display:grid;padding:48px;place-items:center;background:radial-gradient(circle at 75% 20%,#293d83 0,transparent 35%),linear-gradient(135deg,#07142e,#18265e);color:#fff;text-align:center}
.harvest-art span{display:block;margin-bottom:14px;color:var(--vlcc-gold-light);font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.harvest-art strong{display:block;font-family:"Playfair Display",serif;font-size:clamp(2.8rem,5vw,4.8rem);line-height:1}
.harvest-art small{display:block;margin-top:18px;font-size:1rem}
.slide-copy{display:flex;padding:32px;flex-direction:column;justify-content:center}
.card-label{margin:0 0 8px;color:var(--vlcc-gold);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.slide-copy h3{margin:0;color:var(--vlcc-blue-dark);font-size:clamp(1.75rem,2.7vw,2.35rem);line-height:1.1}
.card-date{margin:12px 0 14px;color:var(--vlcc-blue);font-weight:800}
.slide-copy>p:not(.card-label,.card-date){margin:0;color:var(--vlcc-muted);line-height:1.6}
.view-event{margin-top:20px;color:var(--vlcc-blue);font-weight:800}
.carousel-button{position:absolute;top:50%;display:grid;width:44px;height:44px;padding:0;place-items:center;transform:translateY(-50%);border:0;border-radius:50%;background:var(--vlcc-blue-dark);color:#fff;font-size:2rem;line-height:1;cursor:pointer;box-shadow:0 5px 18px #0003}
.carousel-button.previous{left:-22px}.carousel-button.next{right:-22px}
.carousel-dots{display:flex;margin-top:18px;justify-content:center;gap:9px}
.carousel-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#b5b8c5;cursor:pointer}
.carousel-dots button.active{width:26px;border-radius:5px;background:var(--vlcc-gold)}
.services-note{padding:38px 24px;background:var(--vlcc-blue-dark);color:#fff}
.services-note .container{display:grid;align-items:center;grid-template-columns:1.35fr 1fr 1.2fr auto;gap:24px}
.services-note h2{margin:0;color:#fff;font-size:1.55rem}
.services-note p{margin:0;color:#ffffffd7;font-size:.93rem;line-height:1.65}
.services-note strong{color:#fff}
.detail-main{min-height:70vh;padding:0 24px;background:var(--vlcc-ivory)}
.detail-shell{width:min(100%,1040px);margin:auto;padding:40px 0 68px}
.back-link{display:inline-block;margin:0 0 20px;color:var(--vlcc-blue);font-size:.9rem;font-weight:800}
.detail-card{overflow:hidden;border:1px solid var(--vlcc-border);border-radius:14px;background:#fff;box-shadow:0 14px 38px #0e153812}
.detail-card>img{display:block;width:min(calc(100% - 48px),860px);height:auto;margin:24px auto 0;object-fit:contain}
.flyer-detail{width:min(100%,860px);margin:0 auto}
.flyer-detail>img{width:100%;margin:0}
.detail-content{padding:40px 44px 46px}
.detail-content .eyebrow{margin-bottom:8px}
.detail-content h1{max-width:760px;margin:0 0 8px;color:var(--vlcc-blue-dark);font-size:clamp(2rem,4vw,3.35rem);line-height:1.05}
.detail-date{margin:0;color:var(--vlcc-gold);font-size:1.05rem;font-weight:800}
.detail-grid{display:grid;margin-top:28px;grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr);gap:40px}
.detail-grid h2{margin:0 0 12px;font-size:1.75rem}
.detail-grid p{color:var(--vlcc-muted);font-size:.98rem;line-height:1.7}
.button-row.left{justify-content:flex-start}
.button.outline-dark{border-color:var(--vlcc-blue);background:transparent;color:var(--vlcc-blue)}
.detail-facts{display:grid;align-content:start;gap:10px}
.detail-facts div{padding:13px 15px;border-left:3px solid var(--vlcc-gold);background:var(--vlcc-ivory)}
.detail-facts span{display:block;color:var(--vlcc-muted);font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.detail-facts strong{display:block;margin-top:3px;color:var(--vlcc-blue-dark);font-size:.9rem;line-height:1.5}
.placeholder-hero{display:grid;min-height:260px;padding:38px 44px;place-items:end start;background:radial-gradient(circle at 75% 20%,#293d83 0,transparent 35%),linear-gradient(135deg,#07142e,#18265e);color:#fff}
.flyer-detail .placeholder-hero{min-height:0;aspect-ratio:1672/941}
.placeholder-hero p{margin:0 0 8px;color:var(--vlcc-gold-light);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.placeholder-hero h1{margin:0;color:#fff;font-size:clamp(2.6rem,5vw,4.5rem)}
@media(max-width:880px){
  .slide-card{grid-template-columns:1fr}.slide-media{height:auto;aspect-ratio:16/9}.slide-copy{padding:28px}
  .carousel-button.previous{left:10px}.carousel-button.next{right:10px}
  .services-note .container{grid-template-columns:1fr 1fr}
  .detail-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .events-hero{min-height:210px;padding:38px 20px}.events-hero h1{font-size:2.45rem}
  .events-section{padding:48px 16px 54px}.section-intro h2{margin-bottom:24px;font-size:2rem}
  .slide-copy{padding:24px 20px 28px}.slide-copy h3{font-size:1.65rem}
  .harvest-art{padding:30px 20px}.harvest-art strong{font-size:2.7rem}
  .carousel-button{top:28%;width:38px;height:38px;font-size:1.7rem}
  .services-note .container{grid-template-columns:1fr}.services-note .button{width:100%}
  .detail-main{padding:0 12px}.detail-shell{padding:26px 0 50px}
  .detail-content{padding:28px 20px 34px}.detail-content h1{font-size:2.15rem}
  .detail-card>img{width:calc(100% - 24px);margin-top:12px}.flyer-detail>img{width:100%;margin:0}.detail-grid{margin-top:24px;gap:28px}
  .detail-grid h2{font-size:1.5rem}.detail-grid .button-row{flex-direction:column}.detail-grid .button{width:100%}
  .placeholder-hero{min-height:210px;padding:28px 20px}.placeholder-hero h1{font-size:2.7rem}
}
@media(prefers-reduced-motion:reduce){.carousel-track{transition:none}}
