.joy-carousel{position:relative}
.hero-editorial__photo .joy-carousel__slide{position:absolute;inset:0;opacity:1;margin:0}
.hero-editorial__photo .joy-carousel__slide img{width:100%;height:100%;object-fit:cover}
.joy-carousel__slide.is-entering{animation:joy-photo-in .55s ease both}
/* White caption remains directly on the photograph, with its existing text halo. */
.hero-editorial__photo.joy-carousel .joy-carousel__caption{bottom:3.65rem;font-size:clamp(1.5rem,2.2vw,2rem);max-width:20ch;line-height:1.25;pointer-events:none;background:transparent;padding:0;border-radius:0;-webkit-text-stroke:.3px #000;paint-order:stroke fill;text-shadow:0 1px 1px #000,0 -1px 1px #000,1px 0 1px #000,-1px 0 1px #000,0 2px 6px #000}
.joy-carousel__controls{display:none;position:absolute;z-index:3;bottom:.45rem;left:.5rem;right:.5rem;align-items:center;justify-content:center;gap:0;background:#07162de6;border:0;border-radius:22px;padding:0;color:#fff;width:max-content;max-width:calc(100% - 1rem);margin-inline:auto}
.js .joy-carousel__controls{display:flex}
.joy-carousel__dot{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}
.joy-carousel__dot span{display:block;width:10px;height:10px;border-radius:50%;background:transparent;border:2px solid #b6bfcc;box-shadow:0 0 0 1px #07162d}
.joy-carousel__dot[aria-current="true"] span{width:12px;height:12px;background:#fff;border-color:#fff}
.joy-carousel__dot:hover span{box-shadow:0 0 0 2px #fff}
.joy-carousel__dot:focus-visible,.joy-carousel__pause:focus-visible{outline:2px solid #fff;outline-offset:-3px;box-shadow:0 0 0 2px #07162d}
.joy-carousel__pause{display:none;position:absolute;z-index:3;top:.5rem;right:.5rem;width:44px;min-width:44px;height:44px;min-height:44px;align-items:center;justify-content:center;padding:0;background:#07162de6;color:#fff;border:0;border-radius:50%;cursor:pointer;filter:drop-shadow(0 1px 2px #000) drop-shadow(0 0 1px #000)}
.js .joy-carousel__pause{display:inline-flex}
.joy-carousel__pause svg{width:20px;height:20px}
.joy-carousel__pause svg [hidden]{display:none}
.joy-carousel__pause:hover{outline:1px solid #fff;outline-offset:-4px}
/* Removing the belief line leaves a balanced hero, with actions close to its value proposition. */
.ccs-home .hero-editorial__location{margin-bottom:1.15rem}
.ccs-home .hero-editorial__tagline{margin:0 0 1.2rem;color:var(--brand-navy);font:650 1.125rem/1.4 var(--font-ui)}
.ccs-home .hero-editorial__copy{padding-block:.25rem}
.ccs-home .enroll__title{gap:0}
@keyframes joy-photo-in{from{opacity:0}to{opacity:1}}
@media(max-width:639px){.hero-editorial__photo.joy-carousel .joy-carousel__caption{left:1.25rem;bottom:3.5rem;font-size:1.5rem}.joy-carousel__controls{bottom:.3rem}.joy-carousel__pause{top:.3rem;right:.3rem}.ccs-home .hero-editorial__location{margin-bottom:1rem}.ccs-home .hero-editorial__tagline{margin-bottom:1rem}}
@media(prefers-reduced-motion:reduce){.joy-carousel__slide.is-entering{animation:none}}
@media(forced-colors:active){.joy-carousel .joy-carousel__controls{border:0;background:transparent}.joy-carousel__dot span{forced-color-adjust:none;background:GrayText;border:1px solid CanvasText}.joy-carousel__dot[aria-current="true"] span{background:Highlight;border-color:HighlightText}.joy-carousel__dot:focus-visible,.joy-carousel__pause:focus-visible{outline-color:Highlight}.joy-carousel__pause{color:ButtonText;background:Canvas;filter:none}.hero-editorial__photo.joy-carousel .joy-carousel__caption{color:CanvasText;background:Canvas;text-shadow:none;-webkit-text-stroke:0}}
