/* Fixed ACF program layouts. Scoped to the two-page template; no global redesign. */
.rh-acf-program{--program-blue:#eaf3f9;--program-ink:#173a50;--program-navy:#0d2e4f}
.rh-acf-program .rh-header{position:absolute;inset:0 0 auto;z-index:20;background:transparent;box-shadow:none;padding:22px 0}
.rh-acf-program .rh-header-inner{max-width:1350px;align-items:flex-start;gap:40px}
.rh-acf-program .rh-brand img{width:154px;height:110px;object-fit:contain}
.rh-acf-program .rh-navigation{background:#fff;border-radius:3px;padding:10px 22px;box-shadow:0 4px 9px #0005;margin-top:20px}
.rh-acf-program .rh-menu{gap:26px;font-size:12px;color:#253746}
.rh-acf-program .rh-menu a{color:inherit}
.rh-acf-program .rh-menu-toggle{background:white;color:var(--program-navy)}
.rh-program{color:var(--program-ink);font-family:Quicksand,sans-serif;font-size:15px;font-weight:400;line-height:1.55}
.rh-program-wrap{width:min(1260px,calc(100% - 120px));margin-inline:auto}
.rh-program h1,.rh-program h2,.rh-program h3{font-family:'Instrument Serif',Georgia,serif;font-weight:400;letter-spacing:0;line-height:1.15}
.rh-program h1{font-size:clamp(42px,4.4vw,64px);margin:0 0 34px}
.rh-program h2{font-size:29px;margin:0 0 18px}
.rh-program h3{font-size:23px}
.rh-program p{margin:0 0 12px}
.rh-program ul,.rh-program ol{padding-left:24px;margin:0 0 12px}
.rh-program-hero{color:white;background:radial-gradient(ellipse at 100% 35%,#bf009c 0%,transparent 37%),radial-gradient(ellipse at 80% 105%,#f6c3ed 0%,transparent 49%),linear-gradient(115deg,#153b56,#0f2d47 58%,#345571);padding-top:170px;overflow:hidden}
.rh-program-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:end}
.rh-program-hero-copy{padding:58px 0 110px;text-align:center;max-width:590px}
.rh-program-hero-copy .rh-program-prose{text-align:justify;font-size:15px;line-height:1.5}
.rh-program-arch{position:relative;border-radius:49% 49% 0 0;min-height:580px;align-self:stretch;margin-left:15px;isolation:isolate}
.rh-program-arch>.rh-image{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;border-radius:inherit;object-position:center}
.rh-program-arch::after{content:'';position:absolute;inset:8px 12px 0;border:1px solid #fff9;border-bottom:0;border-radius:48% 48% 0 0;pointer-events:none}
.rh-program-arch>span{position:absolute;right:32px;top:4px;color:white;font:52px Georgia,serif;transform:rotate(-18deg)}
.rh-program-actions{display:flex;gap:14px;justify-content:center;margin-top:22px}
.rh-program-button{display:inline-flex;min-width:142px;min-height:45px;padding:11px 22px;align-items:center;justify-content:center;background:var(--program-navy);color:white;border:0;border-radius:2px;font-size:13px;line-height:1.3;text-decoration:none}
.rh-program-hero .rh-program-button{background:#a60092;box-shadow:0 4px 10px #0004}
.rh-program-button.is-pending{cursor:default}
.rh-program-shortcuts{background:var(--program-navy);padding:30px 0;color:white}
.rh-program-shortcuts>.rh-program-wrap{display:flex;justify-content:space-around;gap:30px}
.rh-program-shortcuts a{display:flex;align-items:center;gap:14px;color:white;text-decoration:none;font:22px 'Instrument Serif',serif}
.rh-program-shortcuts span{font:30px Georgia,serif;border:1px solid #fff5;border-radius:50%;width:43px;height:43px;display:grid;place-items:center}
.rh-program-section{padding:90px 0;background:#fff}
.rh-program-section.is-pale{background:var(--program-blue)}
.rh-program-row{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.rh-program-photo{grid-column:1;grid-row:1;overflow:hidden}
.rh-program-photo .rh-image{width:100%;height:450px;object-fit:cover;display:block}
.rh-program-copy{grid-column:2;grid-row:1;min-width:0}
.rh-program-price-row{display:flex;justify-content:flex-end;align-items:center;gap:45px;margin-top:18px}
.rh-program-price{font:25px 'Instrument Serif',serif;margin:0!important}
.rh-program--therapy .rh-program-section{padding-block:65px}
.rh-program--therapy .rh-program-section.is-pale{background:#d8e0e9}
.rh-program--therapy .rh-program-row{grid-template-columns:2fr 1fr;gap:130px}
.rh-program--therapy .text-first .rh-program-copy{grid-column:1}
.rh-program--therapy .text-first .rh-program-photo{grid-column:2}
.rh-program--therapy .image-first{grid-template-columns:1fr 2fr}
.rh-program--therapy .rh-program-photo{max-width:350px;justify-self:end}
.rh-program--therapy .rh-program-photo .rh-image{height:210px;object-fit:cover}
.rh-program--therapy .rh-program-section:nth-of-type(4) .rh-program-photo .rh-image{height:390px}
.rh-program-banner{position:relative;isolation:isolate;min-height:540px;display:flex;align-items:center;padding:100px 0;color:white}
.rh-program-banner-photo{position:absolute;inset:0;z-index:-2}
.rh-program-banner-photo .rh-image{width:100%;height:100%;object-fit:cover;object-position:center}
.rh-program-banner::after{content:'';position:absolute;inset:0;background:#0009;z-index:-1}
.rh-program-banner-copy{max-width:1130px}
.rh-program-banner h2{font-size:29px}
.rh-program-banner .rh-program-actions{justify-content:flex-start}
.rh-program-banner .rh-program-button{border:1px solid #fffb;background:#10334ccc}
.rh-program-events{padding:45px 0 65px;background:white;min-height:400px}
.rh-program--horse .rh-program-events{min-height:720px}
.rh-program-events h2{text-align:center;font-size:36px;margin-bottom:60px}
.rh-program-event{display:grid;grid-template-columns:140px 1fr auto;align-items:center;gap:22px;border-bottom:1px solid #e7edf0;padding:20px 0;max-width:1100px;margin:auto}
.rh-program-event .rh-image{width:140px;height:140px;object-fit:cover}
.rh-program-event h3{margin:6px 0}
.rh-program-event-empty{border-block:1px solid #dde5eb;padding:35px;text-align:center;max-width:1100px;margin:auto}
.rh-program-event-empty .rh-eyebrow{color:#526c80}
.rh-program-gallery{position:relative;background:var(--program-navy)}
.rh-program-gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:thin;gap:4px}
.rh-program-gallery figure{flex:0 0 calc(25% - 3px);height:380px;margin:0;scroll-snap-align:start}
.rh-program-gallery .rh-image{width:100%;height:100%;object-fit:cover}
.rh-program-gallery-controls{position:absolute;inset:45% 20px auto;display:flex;justify-content:space-between;pointer-events:none}
.rh-program-gallery-controls button{pointer-events:auto;border:0;background:#fffe;color:#173a50;width:45px;height:45px;border-radius:50%;font-size:30px;cursor:pointer}
.rh-acf-program .rh-footer{background:var(--program-navy);padding:60px 0 24px;color:white}
.rh-acf-program .rh-footer-grid{max-width:1050px;grid-template-columns:1.4fr 1fr 1.4fr;gap:24px 60px;font-size:13px}
.rh-acf-program .rh-footer-brand{grid-column:1;grid-row:1}
.rh-acf-program .rh-footer-grid>div:nth-child(2){grid-column:1;grid-row:2}
.rh-acf-program .rh-footer-grid>nav{grid-column:2;grid-row:1 / span 2}
.rh-acf-program .rh-footer-locations{grid-column:3;grid-row:1 / span 2}
.rh-acf-program .rh-footer-brand .rh-brand img{width:230px;height:auto}
.rh-acf-program .rh-footer-heading{font-size:23px}
.rh-acf-program .rh-footer-bottom{border:0;font-size:11px;justify-content:center}
.rh-acf-program :focus-visible{outline:3px solid #d04ab6;outline-offset:5px}
@media(min-width:1600px){.rh-program-arch{min-height:650px}}
@media(max-width:1000px){.rh-program-wrap{width:calc(100% - 70px)}.rh-program-hero-grid{gap:50px}.rh-program-arch{min-height:520px}.rh-program--therapy .rh-program-row{gap:50px}.rh-program-photo .rh-image{height:380px}.rh-acf-program .rh-menu{gap:12px}.rh-program-shortcuts a{font-size:19px}.rh-program-shortcuts span{display:none}}
@media(max-width:700px){
 .rh-acf-program .rh-header{padding:18px 0}.rh-acf-program .rh-header-inner{width:calc(100% - 52px);align-items:center;gap:10px}.rh-acf-program .rh-brand img{width:96px;height:70px}.rh-acf-program .rh-navigation{margin:0;padding:18px}.rh-acf-program .rh-menu-toggle{font-size:13px;min-height:42px}
 .rh-program{font-size:15px;line-height:1.5}.rh-program-wrap{width:calc(100% - 60px)}.rh-program h1{font-size:32px;line-height:1.1;margin-bottom:27px}.rh-program h2{font-size:26px}
 .rh-program-hero{padding-top:125px;background:radial-gradient(ellipse at 100% 30%,#b6009b 0%,transparent 50%),radial-gradient(ellipse at 75% 110%,#efc5e9 0%,transparent 40%),linear-gradient(#12364d,#2c4a62)}
 .rh-program-hero-grid{display:block}.rh-program-hero-copy{padding:22px 0 65px;margin:auto}.rh-program-hero-copy .rh-program-prose{font-size:14px;line-height:1.6;text-align:left}.rh-program-arch{display:none}.rh-program-actions{margin-top:22px}
 .rh-program-shortcuts{padding:34px 0}.rh-program-shortcuts>.rh-program-wrap{display:grid;gap:22px;max-width:270px}.rh-program-shortcuts a{font-size:21px}.rh-program-shortcuts span{display:grid;width:30px;height:30px;font-size:21px}
 .rh-program-section{padding:44px 0}.rh-program-row,.rh-program--therapy .rh-program-row{display:flex;flex-direction:column;gap:22px}.rh-program-copy,.rh-program-photo{width:100%}.rh-program--therapy .rh-program-copy{order:0}.rh-program--therapy .rh-program-photo{order:1}
 .rh-program-photo .rh-image{height:auto;aspect-ratio:1.05;object-fit:cover}.rh-program--therapy .rh-program-photo .rh-image{height:auto;aspect-ratio:1.6}.rh-program--therapy .rh-program-section:nth-of-type(4) .rh-program-photo .rh-image{height:auto;aspect-ratio:1.1}
 .rh-program-price-row{justify-content:space-between;gap:10px}.rh-program-price{font-size:24px}.rh-program-button{min-width:110px;max-width:100%;padding:10px 14px;min-height:44px;font-size:12px}
 .rh-program-banner{padding:45px 0;min-height:470px}.rh-program-banner::after{background:#000b}.rh-program-banner .rh-program-wrap{width:calc(100% - 54px)}.rh-program-banner h2{font-size:28px}
 .rh-program-events,.rh-program--horse .rh-program-events{padding:40px 0 65px;min-height:410px}.rh-program-events h2{font-size:34px;margin-bottom:35px}.rh-program-event{display:flex;flex-direction:column;align-items:stretch}.rh-program-event .rh-image{width:100%;height:220px}.rh-program-event-empty{padding:30px 12px}
 .rh-program-gallery figure{flex-basis:74%;height:275px}.rh-program-gallery-controls{inset-inline:10px}
 .rh-acf-program .rh-footer{padding-top:45px}.rh-acf-program .rh-footer-grid{display:flex;flex-direction:column;text-align:center;gap:30px}.rh-acf-program .rh-footer-brand .rh-brand img{width:200px}.rh-acf-program .rh-footer-grid .rh-brand{justify-content:center}.rh-acf-program .rh-footer-bottom{margin-top:35px;text-align:center}
}
@media(prefers-reduced-motion:reduce){.rh-program-gallery-track{scroll-behavior:auto}}
