/* Final interaction hotfix — stable section rhythm and image loading */
.image-pending{opacity:0!important}
.image-ready{opacity:1!important;transition:opacity .22s cubic-bezier(.22,1,.36,1)!important}
.hero-slide img.image-ready{transition:none!important}

/* Hero: always reveal the fully decoded image as one complete frame.
   V3 still animates a subtle scale, but its inset clip-path must never show
   the center first and the edges afterwards. */
.hero-v2 .hero-media,
.hero-v2 .hero-cinema,
.hero-v2 .hero-slide,
.hero-v2 .hero-slide img{
  clip-path:none!important;
  -webkit-clip-path:none!important;
  mask:none!important;
  -webkit-mask:none!important;
}
.hero-v2 .hero-media{
  transform-origin:center center!important;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.hero-v2 .hero-slide img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.hero-morph-canvas{
  position:absolute;
  inset:0;
  z-index:4;
  display:block;
  width:100%;
  height:100%;
  opacity:0;
  transition:opacity .3s ease;
  pointer-events:none;
}
.hero-morph-canvas.is-ready{opacity:1}
.hero-sequence i::after{animation-duration:6s!important}

@media (min-width:761px){
  /* Approved rhythm: heritage dark → rooms light → experiences dark → gastronomy light */
  .stay-scene{
    background:#f4f1ea!important;
    color:#13272b!important;
    overflow:visible!important;
    padding-top:clamp(100px,10vw,160px)!important;
    padding-bottom:clamp(72px,7vw,110px)!important;
  }
  .stay-scene .v3-scene-head{margin-bottom:clamp(68px,7vw,104px)!important}
  .stay-scene .v3-scene-head h2,
  .stay-scene .v3-scene-head .section-index{color:#13272b!important}
  .stay-scene .v3-scene-head>p:last-child{color:#66706d!important}

  /* One native-sticky room stage. It grows to almost edge-to-edge as the horizontal story starts. */
  .stay-scroll-shell{
    position:relative!important;
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
  }
  .stay-horizontal{
    --stay-scale:.94;
    position:sticky!important;
    top:18svh!important;
    width:min(88vw,1260px)!important;
    height:min(64svh,650px)!important;
    min-height:500px!important;
    margin:0 auto!important;
    overflow:hidden!important;
    background:#071719!important;
    box-shadow:0 24px 70px rgba(3,12,14,.18)!important;
    touch-action:auto!important;
    user-select:auto!important;
    cursor:default!important;
    opacity:1!important;
    transform:scale(var(--stay-scale))!important;
    transform-origin:center center!important;
    will-change:transform!important;
  }
  .stay-horizontal-track{
    display:flex!important;
    align-items:stretch!important;
    height:100%!important;
    width:max-content!important;
    gap:clamp(18px,2vw,30px)!important;
    padding:0!important;
    will-change:transform!important;
  }
  .stay-card{
    position:relative!important;
    flex:none!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
    background:#071719!important;
  }
  .stay-card figure{position:absolute!important;inset:0!important;margin:0!important;overflow:hidden!important}
  .stay-card img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;transform:scale(1.025)!important}
  .stay-drag-hint{display:none!important}
  .room-dragging,.room-dragging *{cursor:auto!important}

  .experience-scene{
    background:#102326!important;
    color:#fff!important;
    padding-top:clamp(100px,10vw,155px)!important;
    padding-bottom:clamp(100px,10vw,155px)!important;
    overflow:hidden!important;
  }
  .experience-scene .v3-scene-head h2,
  .experience-scene .v3-scene-head .section-index,
  .experience-scene .v3-scene-head p{color:#fff!important}
  .experience-scene .v3-scene-head>p:last-child{color:rgba(255,255,255,.62)!important}
  .experience-thread{color:rgba(199,93,63,.28)!important}
  .experience-center-mark{color:rgba(255,255,255,.075)!important}
  .experience-center-mark small{color:rgba(255,255,255,.34)!important}
  .experience-tile{color:#fff!important;box-shadow:0 18px 50px rgba(0,0,0,.14)!important}
  .experience-all .text-link-light{color:#fff!important}

  /* Collection stays visible; separation is whitespace only. */
  .journey-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:clamp(24px,2.8vw,42px)!important;
    background:transparent!important;
    align-items:start!important;
  }
  .journey-card{
    position:relative!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    clip-path:none!important;
    visibility:visible!important;
  }
  .journey-card img{
    display:block!important;
    visibility:visible!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    clip-path:none!important;
  }
  .journey-card+.journey-card::before{content:none!important;display:none!important}
  .journey-card:nth-child(2){margin-top:34px!important}
  .journey-card:nth-child(3){margin-top:0!important}
}

@media (max-width:760px){
  .stay-scene{background:#f4f1ea!important;color:#13272b!important}
  .stay-drag-hint{display:none!important}
  .experience-scene{background:#102326!important;color:#fff!important}
  .experience-scene .v3-scene-head h2,
  .experience-scene .v3-scene-head .section-index,
  .experience-scene .v3-scene-head p{color:#fff!important}
  .experience-all .text-link-light{color:#fff!important}
  .journey-card{clip-path:none!important;visibility:visible!important}
  .journey-card img{clip-path:none!important;visibility:visible!important}
  .journey-card+.journey-card::before{display:none!important}
}
