/* Single hero transition: opacity-only crossfade. */
.visual{
  isolation:isolate;
  overflow:hidden;
}
.visual .hero-frame{
  position:absolute;
  inset:0;
  z-index:0;
  background-position:center;
  background-size:cover;
  opacity:0;
  transition:opacity 1.8s ease-in-out;
  will-change:opacity;
}
.visual .hero-frame::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(6,43,58,.32),transparent 50%),linear-gradient(0deg,rgba(3,29,41,.34),transparent 45%);
}
.visual .hero-frame.is-current{
  z-index:1;
  opacity:1;
}
.visual .slide-control{z-index:5}
@media(max-width:820px){
  .visual .hero-frame,.visual .hero-frame.is-current{transition-duration:1.6s}
}
@media(prefers-reduced-motion:reduce){
  .visual .hero-frame,.visual .hero-frame.is-current{transition-duration:.35s!important}
}
