/* 2026-10-04 · Carousel v6: full-image path slides + persistent controls */

/* Keep the carousel controls visible on every slide, including after auto-rotation. */
.reference-primary .hero-visual{
  position:relative!important;
  overflow:hidden!important;
}
.reference-primary .hero-visual .slider-controls{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  background:transparent!important;
  pointer-events:none!important;
  z-index:12!important;
}
.reference-primary .hero-visual .slider-controls .dots{
  position:absolute!important;
  left:50%!important;
  bottom:10px!important;
  transform:translateX(-50%)!important;
  display:flex!important;
  gap:8px!important;
  margin:0!important;
  padding:6px 9px!important;
  border-radius:999px!important;
  background:rgba(0,38,67,.74)!important;
  backdrop-filter:blur(5px);
  pointer-events:auto!important;
  z-index:13!important;
}
.reference-primary .hero-visual .slider-controls .dots button{
  width:8px!important;
  height:8px!important;
  background:#c8e2f2!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.35)!important;
}
.reference-primary .hero-visual .slider-controls .dots button[aria-pressed="true"]{
  background:#00dbee!important;
  transform:scale(1.18);
}
.reference-primary .hero-visual .slider-controls .prev,
.reference-primary .hero-visual .slider-controls .next{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(255,255,255,.6)!important;
  background:rgba(0,38,67,.86)!important;
  box-shadow:0 4px 14px rgba(0,31,54,.20)!important;
  pointer-events:auto!important;
  z-index:14!important;
}
.reference-primary .hero-visual .slider-controls .prev{left:10px!important}
.reference-primary .hero-visual .slider-controls .next{right:10px!important}
.reference-primary .hero-visual .slider-controls .prev:hover,
.reference-primary .hero-visual .slider-controls .next:hover{background:#00558b!important}

/* The six path slides use a split composition so the whole 3:2 image remains visible. */
@media(min-width:761px){
  .reference-primary .hero:not(.is-general) .hero-visual>.slide:not(.general-slide):not([hidden]){
    display:grid!important;
    grid-template-columns:minmax(0,55%) minmax(0,45%)!important;
    align-items:stretch!important;
    height:100%!important;
    min-height:0!important;
    background:#eef8fd!important;
    overflow:hidden!important;
  }
  .reference-primary .hero:not(.is-general) .hero-visual>.slide:not(.general-slide):not([hidden])>img{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    object-fit:contain!important;
    object-position:center center!important;
    background:#e9f5fb!important;
  }
  .reference-primary .hero:not(.is-general) .hero-visual>.slide:not(.general-slide):not([hidden])::after{
    display:none!important;
  }
  .reference-primary .hero:not(.is-general) .slide figcaption{
    position:relative!important;
    inset:auto!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:6px!important;
    padding:28px 42px 46px 30px!important;
    background:linear-gradient(145deg,#06314e,#002643)!important;
    color:#fff!important;
    z-index:2!important;
  }
  .reference-primary .hero:not(.is-general) .slide figcaption span{
    color:#6feaf3!important;
    font-size:10px!important;
    font-weight:700!important;
    letter-spacing:1.25px!important;
    margin:0!important;
  }
  .reference-primary .hero:not(.is-general) .slide figcaption strong{
    display:block!important;
    color:#fff!important;
    font-size:19px!important;
    line-height:1.08!important;
    letter-spacing:-.35px!important;
  }
  .reference-primary .hero:not(.is-general) .slide figcaption small{
    display:block!important;
    color:#d7e9f3!important;
    font-size:12.5px!important;
    line-height:1.45!important;
    max-width:31ch!important;
  }

  /* On the initial general slide keep the editorial image full-bleed. */
  .reference-primary .hero.is-general .general-slide>img{
    object-fit:cover!important;
  }
}

/* Mobile/tablet: preserve complete images and keep controls accessible. */
@media(max-width:760px){
  .reference-primary .hero-visual{height:270px!important;background:#eef8fd!important}
  .reference-primary .hero:not(.is-general) .hero-visual>.slide:not(.general-slide):not([hidden]){
    display:grid!important;
    grid-template-rows:minmax(0,1fr) auto!important;
    height:100%!important;
    background:#eef8fd!important;
  }
  .reference-primary .hero:not(.is-general) .hero-visual>.slide:not(.general-slide):not([hidden])>img{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    object-fit:contain!important;
    object-position:center center!important;
    background:#e9f5fb!important;
  }
  .reference-primary .hero:not(.is-general) .hero-visual>.slide:not(.general-slide):not([hidden])::after{display:none!important}
  .reference-primary .hero:not(.is-general) .slide figcaption{
    position:relative!important;
    inset:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding:9px 44px 34px 12px!important;
    background:#06314e!important;
    color:#fff!important;
  }
  .reference-primary .hero:not(.is-general) .slide figcaption span{color:#6feaf3!important}
  .reference-primary .hero:not(.is-general) .slide figcaption strong{display:block!important;color:#fff!important;font-size:13px!important}
  .reference-primary .hero:not(.is-general) .slide figcaption small{display:block!important;color:#d7e9f3!important;font-size:10px!important;line-height:1.3!important}
  .reference-primary .hero-visual .slider-controls .prev,
  .reference-primary .hero-visual .slider-controls .next{width:32px!important;height:32px!important}
  .reference-primary .hero-visual .slider-controls .prev{left:8px!important}
  .reference-primary .hero-visual .slider-controls .next{right:8px!important}
  .reference-primary .hero-visual .slider-controls .dots{bottom:8px!important}
}
