:root{--program-plum:#2d252c;--program-pink:#c93d80;--program-paper:#fffdfb;--program-teal:#0f4d59}.program-page{background:var(--program-paper);color:#29252a}.program-hero{position:relative;display:grid;align-items:end;min-height:clamp(500px,56vw,720px);overflow:hidden;background:var(--program-plum);color:#fff}.program-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(34,26,32,.86),rgba(34,26,32,.23) 70%)}.program-hero--seniors{background:url('../images/highlights/DSC04821.jpg') center/cover}.program-hero--karaoke{background:url('../images/karaoke/Sharing moments-min.JPG') center/cover}.program-hero--kids{background:url('../images/highlights/performing-girl.jpg') center/cover}.program-hero--welfare{background:url('../images/social-welfare/social-welfare-1.jpg') center/cover}.program-hero-content{position:relative;padding-top:130px;padding-bottom:72px}.program-kicker{margin:0 0 18px;color:#f6b6d2;font:800 12px/1 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}.program-hero h1{max-width:780px;margin:0;font:700 clamp(62px,8vw,122px)/.87 Georgia,serif;letter-spacing:-.065em}.program-hero h1 em{color:#f69ac5;font-style:italic}.program-hero-content>p:last-child{max-width:610px;margin:30px 0 0;font:400 clamp(18px,2vw,24px)/1.45 Arial,sans-serif}.program-intro{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(300px,1.1fr);align-items:center;gap:10%;padding:clamp(76px,10vw,138px) 0}.program-intro h2,.program-story h2,.program-cta h2{margin:0;font:700 clamp(46px,5.4vw,80px)/.94 Georgia,serif;letter-spacing:-.06em}.program-intro h2 em,.program-story h2 em,.program-cta h2 em{color:var(--program-pink);font-style:italic}.program-intro>p,.program-story-copy p{margin:0;color:#5c5660;font:400 18px/1.58 Arial,sans-serif}.program-story{display:grid;grid-template-columns:1fr 1fr;min-height:520px;background:#f3eef0}.program-story:nth-of-type(even){background:#fff}.program-story--reverse .program-story-image{order:2}.program-story-image img{width:100%;height:100%;min-height:360px;display:block;object-fit:cover}.program-story-copy{display:flex;flex-direction:column;justify-content:center;max-width:640px;padding:clamp(50px,7vw,110px);box-sizing:border-box}.program-story-copy .program-kicker{color:var(--program-teal)}.program-story-copy h2{margin-bottom:24px}.program-story-copy p+ p{margin-top:18px}.program-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:clamp(70px,9vw,126px) 0}.program-feature-card{padding:28px;border:1px solid #eadde3;border-radius:20px;background:#fff;box-shadow:0 12px 34px rgba(45,37,44,.06)}.program-feature-card span{color:var(--program-pink);font:800 12px/1 Arial,sans-serif;letter-spacing:.14em}.program-feature-card h3{margin:20px 0 12px;font:700 clamp(29px,3vw,42px)/.98 Georgia,serif;letter-spacing:-.05em}.program-feature-card p{margin:0;color:#5c5660;font:400 16px/1.5 Arial,sans-serif}.program-cta{padding:clamp(78px,10vw,136px) 0;background:linear-gradient(115deg,#922a5d,#c93d80);color:#fff;text-align:center}.program-cta h2{max-width:820px;margin:0 auto 34px;color:#fff}.program-cta h2 em{color:#ffe4f0}.program-cta .home-button{display:inline-flex}@media(max-width:700px){.program-hero{min-height:560px}.program-hero-content{padding-top:150px;padding-bottom:58px}.program-hero h1{font-size:62px}.program-intro{display:block;padding:72px 0}.program-intro h2{font-size:54px}.program-intro>p{margin-top:24px;font-size:16px}.program-story,.program-story--reverse{grid-template-columns:1fr}.program-story--reverse .program-story-image{order:0}.program-story-image img{min-height:300px}.program-story-copy{padding:48px 24px}.program-story h2{font-size:52px}.program-story-copy p{font-size:16px}.program-feature-grid{grid-template-columns:1fr;gap:14px;padding:70px 0}.program-feature-card{border-radius:16px;padding:23px}.program-cta h2{font-size:54px}}

/* Amazing Seniors — member testimonials (matches program card system) */
.program-testimonials{background:linear-gradient(165deg,#2d252c,#3a2a35);color:#fff;padding:clamp(78px,10vw,132px) 0}
.program-testimonials-head{max-width:720px;margin:0 0 clamp(34px,5vw,58px)}
.program-testimonials-head .program-kicker{color:#f6b6d2}
.program-testimonials-head h2{margin:0;font:700 clamp(44px,5.2vw,76px)/.94 Georgia,serif;letter-spacing:-.06em}
.program-testimonials-head h2 em{color:#f69ac5;font-style:italic}
.program-testimonials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.program-testimonial-card{position:relative;display:flex;flex-direction:column;gap:26px;padding:40px 34px 32px;background:var(--program-paper);color:#29252a;border-radius:22px;box-shadow:0 22px 46px rgba(18,12,16,.30);overflow:hidden}
.program-testimonial-card::before{content:"\201C";position:absolute;top:2px;right:28px;font:700 128px/1 Georgia,serif;color:#f4d6e4;pointer-events:none}
.program-testimonial-card blockquote{position:relative;z-index:1;margin:0;color:#4a444c;font:400 clamp(16px,1.4vw,18px)/1.62 Arial,sans-serif}
.program-testimonial-who{display:flex;align-items:center;gap:15px;margin-top:auto}
.program-testimonial-avatar{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#c93d80,#922a5d);color:#fff;font:800 19px/1 Georgia,serif;letter-spacing:.01em}
.program-testimonial-id{display:flex;flex-direction:column;gap:5px}
.program-testimonial-name{font:700 20px/1.1 Georgia,serif;letter-spacing:-.02em}
.program-testimonial-role{color:var(--program-teal);font:800 11px/1 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}
@media(max-width:760px){.program-testimonials-grid{grid-template-columns:1fr;gap:16px}.program-testimonial-card{padding:32px 24px 26px}.program-testimonial-card::before{font-size:104px;right:20px}}

/* Amazing Seniors — six services in one line */
.program-services{padding:clamp(66px,8vw,116px) 0}
.program-services-head{max-width:720px;margin:0 0 clamp(28px,4vw,46px)}
.program-services-head h2{margin:0;font:700 clamp(40px,5vw,72px)/.95 Georgia,serif;letter-spacing:-.06em}
.program-services-head h2 em{color:var(--program-pink);font-style:italic}
.program-services-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.program-service-chip{display:flex;flex-direction:column;background:#fff;border:1px solid #eadde3;border-radius:16px;overflow:hidden;box-shadow:0 12px 30px rgba(45,37,44,.07)}
.program-service-chip img{width:100%;height:118px;object-fit:cover}
.program-service-chip-body{display:flex;flex-direction:column;gap:7px;padding:16px 15px 20px}
.program-service-chip span{color:var(--program-pink);font:800 11px/1 Arial,sans-serif;letter-spacing:.13em}
.program-service-chip h3{margin:0;font:700 clamp(16px,1.15vw,19px)/1.08 Georgia,serif;letter-spacing:-.03em}
.program-service-chip p{margin:0;color:#5c5660;font:400 13px/1.45 Arial,sans-serif}
@media(max-width:1080px){.program-services-row{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.program-services-row{grid-template-columns:repeat(2,1fr);gap:10px}.program-service-chip img{height:104px}}

/* Amazing Seniors — reviews slider */
.reviews{padding:clamp(78px,10vw,132px) 0;background:linear-gradient(165deg,#2d252c,#3a2a35);color:#fff;overflow:hidden}
.reviews-head{max-width:720px;margin:0 0 clamp(30px,4vw,50px)}
.reviews-head .program-kicker{color:#f6b6d2}
.reviews-head h2{margin:0;font:700 clamp(44px,5vw,74px)/.95 Georgia,serif;letter-spacing:-.06em}
.reviews-head h2 em{color:#f69ac5;font-style:italic}
.reviews-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:6px;scrollbar-width:none;-ms-overflow-style:none}
.reviews-track::-webkit-scrollbar{display:none}
.review-card{flex:0 0 min(560px,86%);scroll-snap-align:center;display:flex;flex-direction:column;gap:20px;padding:40px 38px 34px;background:var(--program-paper);color:#29252a;border-radius:22px;box-shadow:0 22px 46px rgba(18,12,16,.34)}
.review-stars{color:#f5a623;font-size:17px;letter-spacing:3px}
.review-card blockquote{margin:0;font:400 clamp(16px,1.4vw,18px)/1.62 Arial,sans-serif;color:#4a444c}
.review-who{display:flex;align-items:center;gap:15px;margin-top:auto}
.review-who img{width:58px;height:58px;border-radius:50%;object-fit:cover;flex:none;background:#eadde3}
.review-id{display:flex;flex-direction:column;gap:4px}
.review-name{font:700 19px/1.1 Georgia,serif;letter-spacing:-.02em}
.review-role{color:var(--program-teal);font:800 11px/1 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.reviews-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:32px}
.reviews-prev,.reviews-next{width:50px;height:50px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;font-size:26px;line-height:1;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.reviews-prev:hover,.reviews-next:hover{background:#c93d80;border-color:#c93d80;transform:scale(1.05)}
.reviews-dots{display:flex;gap:9px}
.reviews-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.38);cursor:pointer;transition:width .2s,background .2s}
.reviews-dots button[aria-current="true"]{background:#f69ac5;width:26px;border-radius:5px}
@media(max-width:600px){.review-card{flex-basis:88%;padding:30px 24px 26px}}

/* Amazing Seniors — individual service sections (reference-style, one per service) */
.program-detail{padding:clamp(58px,7vw,96px) 0}
.program-detail--alt{background:#f3eef0}
.program-detail-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,5vw,72px);align-items:center}
.program-detail-inner--reverse .program-detail-copy{order:2}
.program-detail-copy .program-kicker{color:var(--program-teal)}
.program-detail-copy h2{margin:0 0 20px;font:700 clamp(34px,4vw,58px)/1 Georgia,serif;letter-spacing:-.05em}
.program-detail-copy h2 em{color:var(--program-pink);font-style:italic}
.program-detail-copy p{margin:0 0 14px;color:#5c5660;font:400 clamp(15px,1.15vw,17px)/1.62 Arial,sans-serif}
.program-detail-list{margin:0 0 14px;padding-left:20px;color:#5c5660;font:400 clamp(15px,1.15vw,17px)/1.6 Arial,sans-serif}
.program-detail-list li{margin:6px 0}
.program-detail-list li::marker{color:var(--program-pink)}
.program-detail-gallery{position:relative}
.program-detail-gallery-track{position:relative;height:440px;border-radius:18px;overflow:hidden;box-shadow:0 18px 40px rgba(45,37,44,.16)}
.program-detail-gallery-track img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s ease}
.program-detail-gallery-track img.is-active{opacity:1}
@media(max-width:820px){.program-detail-inner{grid-template-columns:1fr;gap:26px}.program-detail-inner--reverse .program-detail-copy{order:0}.program-detail-gallery-track{height:340px}}
@media(max-width:480px){.program-detail-gallery-track{height:260px}}
