/* Nicole's River Park v62 — final visual/performance overrides.
   This file intentionally loads after the historical bundled stylesheet. */

/* HERO: one stable layout and crop policy across every slide. */
.park-hero{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  min-height:min(760px,calc(100svh - 76px))!important;
  height:auto!important;
  padding:clamp(92px,8vw,124px) max(28px,calc((100vw - 1360px)/2)) clamp(76px,7vw,102px)!important;
  overflow:hidden!important;
  background:#03105f!important;
}
.park-hero .hero-photo-stage{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  transform:none!important;
  animation:none!important;
  background:#03105f!important;
  overflow:hidden!important;
}
.hero-slide,.hero-slide-photo-grid{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
.hero-slide-photo-grid{display:block!important;background:#03105f!important}
.hero-slide .hero-slide-photo{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 52%!important;
  transform:none!important;
  animation:none!important;
  filter:saturate(1.04) contrast(1.02) brightness(1.01)!important;
}
.hero-slide{transition:opacity .8s ease,visibility 0s linear .8s!important;will-change:auto!important}
.hero-slide.is-active{transition:opacity .8s ease,visibility 0s linear!important}
.park-hero:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  opacity:1!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,rgba(0,5,70,.94) 0%,rgba(0,5,70,.82) 28%,rgba(0,5,70,.48) 48%,rgba(0,5,70,.10) 72%,rgba(0,5,70,.03) 100%)!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
.park-hero:after{z-index:3!important;pointer-events:none!important}
.park-hero .hero-content{position:relative!important;z-index:5!important;width:min(48%,620px)!important;max-width:620px!important;margin:0!important;padding:0!important}
.park-hero .hero-title-yuk,.park-hero .hero-title-nicole,.park-hero .hero-title-river,
.park-hero .hero-cinematic-light,.hero-title-showcase:before{
  animation:none!important;
}
.park-hero .hero-cinematic-light{opacity:.12!important}
.hero-slide-progress{z-index:6!important}

/* Keep section card geometry predictable. */
.attraction-image-wrap{aspect-ratio:16/10!important}
.attraction-image-wrap img{object-fit:contain!important;object-position:center!important}
.gallery-grid{align-items:stretch!important}
.gallery-card{min-height:0!important}
.gallery-card img{object-fit:cover!important;object-position:center!important}
.ticket-row{align-items:stretch!important}
.ticket-card{height:100%!important}

/* Reduce perpetual paint/composite work; keep interaction feedback. */
.hero-cloud,.ticket-sun{will-change:auto!important}
.motion-reveal{transition-duration:.42s!important}

@media (max-width:900px){
  .park-hero{
    min-height:720px!important;
    padding:108px 22px 72px!important;
    align-items:center!important;
  }
  .park-hero .hero-content{width:min(100%,560px)!important;max-width:560px!important;margin:0!important}
  .hero-slide .hero-slide-photo{object-position:center 50%!important}
  .park-hero:before{background:linear-gradient(180deg,rgba(0,5,70,.82) 0%,rgba(0,5,70,.60) 48%,rgba(0,5,70,.30) 74%,rgba(0,5,70,.22) 100%)!important}
  .hero-slide-progress{right:22px!important;bottom:24px!important}
}
@media (max-width:600px){
  .park-hero{min-height:700px!important;padding:104px 18px 68px!important}
  .park-hero .hero-title-yuk{font-size:clamp(40px,12.2vw,56px)!important}
  .park-hero .hero-title-nicole{font-size:clamp(62px,19vw,84px)!important}
  .park-hero .hero-title-river{font-size:clamp(27px,8vw,36px)!important}
  .park-hero .hero-copy{font-size:14px!important;line-height:1.55!important}
}

/* v65: keep location heading text, remove only logo/brand overlay on photo */
.location-section .location-image .location-brand-overlay {
  display: none !important;
}

/* v72: direct ImageKit video inside attraction lightbox */
.attraction-lightbox .lightbox-video-frame video {
  display: block;
  width: 100%;
  height: 100%;
  min-height: min(54vh, 520px);
  max-height: 70vh;
  object-fit: contain;
  background: #05070d;
  border-radius: 18px;
}
@media (max-width: 600px) {
  .attraction-lightbox .lightbox-video-frame video {
    min-height: 260px;
    max-height: 58vh;
  }
}
