/* Smooth, accessible slide transitions for the single KAIROS homepage. */
.a .hero{isolation:isolate}
.a .hero .hero-img{z-index:0;transform:scale(1.035);animation:kairos-photo-drift 7.5s ease-out both;will-change:transform}
.a .hero .hero-img-incoming{z-index:1;opacity:0;transform:scale(1.065);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform 6.5s ease-out;animation:none;pointer-events:none}
.a .hero .hero-img-incoming.visible{opacity:1;transform:scale(1.015)}
.a .hero::after{z-index:1;pointer-events:none}
.a .hero-copy{z-index:3;transition:opacity .3s ease,transform .55s cubic-bezier(.22,1,.36,1)}
.a .hero-copy.copy-changing{opacity:0;transform:translateY(13px)}
.a .hero .slide-controls{z-index:8}
.a .hero .slide-controls button{transition:background-color .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease}
.a .hero .slide-arrow:hover{transform:scale(1.09);background:#4a1263;color:#fff;box-shadow:0 4px 12px #4a126344}
.a .hero .slide-arrow:focus-visible,.a .hero .dot:focus-visible{outline:3px solid #bc8728;outline-offset:3px}
.a .hero .dot:hover{background:#9b6baa;transform:scale(1.12)}
.a .hero .dot.active{box-shadow:0 0 0 3px #5d167322}
@keyframes kairos-photo-drift{from{transform:scale(1.055)}to{transform:scale(1.015)}}
@media(prefers-reduced-motion:reduce){
  .a .hero .hero-img,.a .hero .hero-img-incoming{animation:none!important;transition:none!important;transform:none!important}
  .a .hero-copy,.a .hero .slide-controls button{transition:none!important;transform:none!important}
}

/* CMS-selectable hero motion; all effects work with the existing two-image slideshow. */
.a .hero .hero-img-incoming{transition-duration:var(--ks-duration,850ms),6.5s}
.a .hero[data-transition="slide-left"] .hero-img-incoming{transform:translateX(100%);opacity:1;transition:transform var(--ks-duration,850ms) ease}
.a .hero[data-transition="slide-left"] .hero-img-incoming.visible{transform:translateX(0)}
.a .hero[data-transition="slide-right"] .hero-img-incoming{transform:translateX(-100%);opacity:1;transition:transform var(--ks-duration,850ms) ease}
.a .hero[data-transition="slide-right"] .hero-img-incoming.visible{transform:translateX(0)}
.a .hero[data-transition="zoom"] .hero-img-incoming{transform:scale(1.25);opacity:0;transition:transform var(--ks-duration,850ms) ease,opacity var(--ks-duration,850ms) ease}
.a .hero[data-transition="zoom"] .hero-img-incoming.visible{transform:scale(1);opacity:1}
.a .hero[data-transition="none"] .hero-img-incoming{transition:none;transform:none;opacity:0}
.a .hero[data-transition="none"] .hero-img-incoming.visible{opacity:1}
.a .hero[data-motion="pan-left"] .hero-img:not(.hero-img-incoming){animation:ks-pan-left var(--ks-interval,6500ms) linear both}
.a .hero[data-motion="pan-right"] .hero-img:not(.hero-img-incoming){animation:ks-pan-right var(--ks-interval,6500ms) linear both}
.a .hero[data-motion="none"] .hero-img{animation:none!important}
@keyframes ks-pan-left{from{transform:scale(1.12) translateX(2%)}to{transform:scale(1.12) translateX(-2%)}}
@keyframes ks-pan-right{from{transform:scale(1.12) translateX(-2%)}to{transform:scale(1.12) translateX(2%)}}
