/* Shared control row for program impact-story carousels. */
body .elementor .rhf-program-impact{gap:40px}
body .elementor .rhf-program-impact .rhf-program-impact-slider{margin-bottom:0;padding-bottom:80px}
body .elementor .rhf-program-impact .rhf-program-impact-slider .swiper-pagination{display:none!important}
body .elementor .rhf-program-impact .rhf-program-impact-cta{align-self:flex-end;width:auto;max-width:calc(100% - 112px);margin-top:-80px!important;z-index:2}
body .elementor .rhf-program-impact .rhf-program-impact-cta .elementor-button{box-sizing:border-box;min-height:40px;height:40px;padding:8px 24px;border:2px solid #0a0b0b;border-radius:100px;background:transparent;color:#0a0b0b;font:700 14px/20px 'General Sans',sans-serif;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
body .elementor .rhf-program-impact .rhf-program-impact-slider .elementor-swiper-button{top:auto!important;bottom:0!important;transform:none!important;left:0!important;right:auto!important;width:40px;height:40px}
body .elementor .rhf-program-impact .rhf-program-impact-slider .elementor-swiper-button-next{left:52px!important}
@media(max-width:767px){body .elementor .rhf-program-impact .rhf-program-impact-slider{padding-bottom:72px}body .elementor .rhf-program-impact .rhf-program-impact-cta{margin-top:-80px!important}body .elementor .rhf-program-impact .rhf-program-impact-cta .elementor-button{padding:8px 14px;font-size:12px}}
body .elementor .rhf-program-impact .rhf-program-impact-slider .elementor-swiper-button{box-sizing:border-box}
/* Keep the shared row aligned with the site's 44px accessible control size. */
body .elementor .rhf-program-impact .rhf-program-impact-cta{margin-top:-84px!important}
body .elementor .rhf-program-impact .rhf-program-impact-cta .elementor-button{height:44px;min-height:44px}
body .elementor .rhf-program-impact .rhf-program-impact-slider .elementor-swiper-button{width:44px!important;height:44px!important}
/* Homepage matches its red outlined CTA in the approved mock. */
body .elementor .rhf-home-impact .rhf-home-impact-cta .elementor-button{color:#D22530;border-color:#D22530;background:transparent;height:48px;min-height:48px;padding:12px 24px}
body .elementor .rhf-home-impact .rhf-home-impact-cta{margin-top:-88px!important}
body .elementor .rhf-home-impact .rhf-program-impact-slider .elementor-swiper-button{display:flex!important}
@media(max-width:767px){body .elementor .rhf-home-impact .rhf-home-impact-cta .elementor-button{height:44px;min-height:44px;padding:10px 18px}body .elementor .rhf-home-impact .rhf-home-impact-cta{margin-top:-84px!important}}
/* About Us news/media uses the same editorial control row. */
body .elementor .rhf-editorial-impact .rhf-editorial-impact-cta .elementor-button{color:#D22530;border-color:#D22530;background:transparent;height:48px;min-height:48px;padding:12px 24px}
body .elementor .rhf-editorial-impact .rhf-editorial-impact-cta{margin-top:-88px!important}
body .elementor .rhf-editorial-impact .rhf-program-impact-slider .elementor-swiper-button{display:flex!important}
@media(max-width:767px){body .elementor .rhf-editorial-impact .rhf-editorial-impact-cta .elementor-button{height:44px;min-height:44px;padding:10px 18px}body .elementor .rhf-editorial-impact .rhf-editorial-impact-cta{margin-top:-84px!important}}
/* Shared editorial card height, based on the first homepage impact story. */
body .elementor .elementor-widget-n-carousel .rhf-news-card{height:454px!important;min-height:454px!important;max-height:454px;box-sizing:border-box;overflow:hidden}
body .elementor .elementor-widget-n-carousel .swiper-slide:has(>.rhf-news-card){height:454px!important}
body .elementor .elementor-widget-n-carousel .rhf-news-card :is(.rhf-news-copy,.rhf-news-body){height:100%;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}
body .elementor .elementor-widget-n-carousel .rhf-news-card :is(.rhf-news-copy,.rhf-news-body)>.elementor-widget{flex-shrink:0;min-height:0}
body .elementor .elementor-widget-n-carousel .rhf-news-card .elementor-widget-heading:not(.rhf-news-tag) .elementor-heading-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
body .elementor .elementor-widget-n-carousel .rhf-news-card .rhf-news-tag .elementor-heading-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
body .elementor .elementor-widget-n-carousel .rhf-news-card .elementor-widget-text-editor{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
body .elementor .elementor-widget-n-carousel .rhf-news-card .elementor-widget-text-editor p{margin:0!important}
body .elementor .elementor-widget-n-carousel .rhf-news-card .rhf-news-link{margin-top:auto!important}
body .elementor .elementor-widget-n-carousel .rhf-news-card .rhf-news-image{min-height:0!important;height:100%}
/* Vertical cards in the featured impact-story carousel stay level too. */
body .elementor .elementor-widget-n-carousel .subscribe-card{height:454px!important;min-height:454px!important;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}
body .elementor .elementor-widget-n-carousel .subscribe-card .elementor-widget-image{height:155px;min-height:155px;flex:0 0 155px;overflow:hidden}
body .elementor .elementor-widget-n-carousel .subscribe-card .elementor-widget-image img{width:100%;height:155px!important;object-fit:cover}
body .elementor .elementor-widget-n-carousel .subscribe-card h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
body .elementor .elementor-widget-n-carousel .subscribe-card .elementor-widget-button{margin-top:auto!important}
@media(max-width:767px){
 body .elementor .elementor-widget-n-carousel .rhf-news-card{height:640px!important;min-height:640px!important;max-height:640px}
 body .elementor .elementor-widget-n-carousel .swiper-slide:has(>.rhf-news-card){height:640px!important}
 body .elementor .elementor-widget-n-carousel .rhf-news-card .rhf-news-image{height:200px!important;min-height:200px!important;flex:0 0 200px}
 body .elementor .elementor-widget-n-carousel .rhf-news-card .rhf-news-image img{height:200px!important;width:100%;object-fit:cover}
 body .elementor .elementor-widget-n-carousel .rhf-news-card :is(.rhf-news-copy,.rhf-news-body){flex:1;min-height:0;height:auto}
 body .elementor .elementor-widget-n-carousel .rhf-news-card .elementor-widget-text-editor{-webkit-line-clamp:4}
}
