/* V49: top enrollment ribbon — centered two-line layout */
.top-ribbon-v49{padding:7px 0 8px}
.top-ribbon-v49 .ribbon-inner-v49{min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center}
.top-ribbon-v49 .enrollment-line-v49{justify-content:center;max-width:100%;font-size:15px;line-height:1.35;padding:.3rem .82rem}
.top-ribbon-v49 .enrollment-line-v49 b{font-weight:850;letter-spacing:-.25px}
.top-ribbon-v49 .ribbon-hours-v49{justify-content:center;gap:6px;font-size:12.5px;line-height:1.35;color:rgba(255,255,255,.9);font-weight:650}
.top-ribbon-v49 .ribbon-hours-v49 .icon{width:15px;height:15px;flex:0 0 auto}
@media(max-width:680px){
  .top-ribbon-v49{padding:7px 0 8px}
  .top-ribbon-v49 .ribbon-inner-v49{min-height:70px;gap:5px}
  .top-ribbon-v49 .enrollment-line-v49{font-size:12.5px;line-height:1.45;padding:.28rem .56rem;white-space:normal}
  .top-ribbon-v49 .enrollment-line-v49 b{display:block;max-width:330px}
  .top-ribbon-v49 .ribbon-hours-v49{font-size:11.5px;line-height:1.3}
}
@media(max-width:380px){
  .top-ribbon-v49 .enrollment-line-v49{font-size:12px}
  .top-ribbon-v49 .enrollment-line-v49 b{max-width:300px}
}


/* V53: cumulative visitor counter + home hero slideshow */
.visitor-strip-v53{background:#fff7fa;border-bottom:1px solid #f2d7e2;color:var(--navy);padding:5px 0}
.visitor-strip-inner-v53{min-height:34px;display:flex;align-items:center;justify-content:center;gap:7px;text-align:center;white-space:nowrap}
.visitor-label-v53{font-size:12px;font-weight:750;color:#8a6071;letter-spacing:-.15px}
.visitor-count-v53{font-variant-numeric:tabular-nums;font-size:17px;line-height:1;font-weight:900;letter-spacing:.2px;color:var(--blue)}
.visitor-unit-v53{font-size:12px;font-weight:750;color:#8a6071}
.hero-visual-v53{width:100%;min-width:0}
.hero-photo-frame-v53{aspect-ratio:4/3!important;width:min(100%,560px)!important;background:#fff!important;isolation:isolate}
.hero-photo-frame-v53 .hero-slides-v53{position:absolute;inset:0;background:#fff;overflow:hidden;border-radius:34px}
.hero-photo-frame-v53 .hero-slide-v53{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;object-position:center center!important;opacity:0;transform:scale(1.008);transition:opacity .78s ease,transform 4.8s ease;filter:none!important;background:#fff}
.hero-photo-frame-v53 .hero-slide-v53.is-active{opacity:1;transform:scale(1);z-index:1}
.hero-photo-frame-v53 .photo-label{z-index:4;bottom:18px}
.hero-dots-v53{position:absolute;z-index:5;right:22px;top:18px;display:flex;gap:7px;padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.88);box-shadow:0 6px 18px rgba(66,23,46,.12);backdrop-filter:blur(8px)}
.hero-dots-v53 button{appearance:none;width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#d8b8c5;transition:width .25s ease,background .25s ease;cursor:pointer}
.hero-dots-v53 button.is-active{width:22px;border-radius:99px;background:var(--blue)}
@media(max-width:680px){
 .visitor-strip-v53{padding:4px 0}
 .visitor-strip-inner-v53{min-height:30px;gap:6px}
 .visitor-label-v53,.visitor-unit-v53{font-size:11px}
 .visitor-count-v53{font-size:15px}
 .hero-photo-frame-v53{aspect-ratio:4/3!important;max-height:none!important;width:100%!important;margin:auto!important;border-width:6px!important;border-radius:28px!important}
 .hero-photo-frame-v53 .hero-slides-v53{border-radius:22px}
 .hero-photo-frame-v53 .photo-label{left:12px;right:12px;bottom:12px;padding:9px 10px;font-size:12px;border-radius:12px}
 .hero-dots-v53{right:12px;top:12px;gap:6px;padding:6px 8px}
 .hero-dots-v53 button{width:7px;height:7px}
 .hero-dots-v53 button.is-active{width:18px}
}
@media(prefers-reduced-motion:reduce){
 .hero-photo-frame-v53 .hero-slide-v53{transition:none!important}
 .hero-dots-v53 button{transition:none!important}
}
