*{box-sizing:border-box}
:root{
--ink:#061c21;
--mint:#7bd0ba;
--white:#fff;
--sand:#f5efe4;
--paper:#fffaf2;
--slide-duration:128s
}
html{scroll-behavior:smooth;background:#061c21}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--sand);color:#061c21;overflow-x:hidden}
.hero{position:relative;min-height:100svh;overflow:hidden;display:flex;align-items:flex-start;justify-content:flex-start;padding:38px;isolation:isolate;color:#fff}
.media,.fallback-gallery,.fallback-slide,.fallback-slide img{position:absolute;inset:0;width:100%;height:100%}
.media{z-index:-3;background:#061c21}
.fallback-gallery{opacity:1}
.fallback-slide{opacity:0;overflow:hidden;transition:opacity 1.8s ease-in-out;z-index:0;pointer-events:none}
.fallback-slide.active{opacity:1;z-index:2}
.fallback-slide.leaving{opacity:0;z-index:1}
.fallback-slide img{object-fit:cover;transform:scale(1.02) translate3d(0,0,0);filter:saturate(1.03) contrast(1.02);will-change:transform;transform-origin:center center;backface-visibility:hidden}
.fallback-slide.active img{animation-duration:9.5s;animation-timing-function:ease-in-out;animation-iteration-count:1;animation-fill-mode:forwards}
.fallback-slide:nth-child(1) img,.fallback-slide:nth-child(6) img,.fallback-slide:nth-child(11) img,.fallback-slide:nth-child(16) img{animation-name:softZoomIn}
.fallback-slide:nth-child(2) img,.fallback-slide:nth-child(7) img,.fallback-slide:nth-child(12) img{animation-name:softPanLeft}
.fallback-slide:nth-child(3) img,.fallback-slide:nth-child(8) img,.fallback-slide:nth-child(13) img{animation-name:softPanRight}
.fallback-slide:nth-child(4) img,.fallback-slide:nth-child(9) img,.fallback-slide:nth-child(14) img{animation-name:softPanUp}
.fallback-slide:nth-child(5) img,.fallback-slide:nth-child(10) img,.fallback-slide:nth-child(15) img{animation-name:softDrift}

.cinematic-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.12) 30%,rgba(0,0,0,.42)),linear-gradient(90deg,rgba(0,0,0,.38),rgba(0,0,0,.04) 40%,rgba(0,0,0,.24))}.grain{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}
.hero-content{position:relative;z-index:5;max-width:360px;padding:0;text-align:left;margin-top:0;animation:fadeIn 1.4s ease both}.brand{width:96px;height:auto;padding:0;border-radius:0;background:transparent!important;backdrop-filter:blur(10px);box-shadow:none!important;border:none!important;margin-bottom:18px}.eyebrow{margin:0 0 10px;font-size:.62rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.76)}h1{margin:0;font-size:clamp(1.8rem,3.4vw,3.15rem);line-height:.92;letter-spacing:-.06em;font-weight:850;text-shadow:0 12px 30px rgba(0,0,0,.35)}.lead{margin-top:14px;max-width:305px;font-size:.84rem;line-height:1.6;color:rgba(255,255,255,.84);text-shadow:0 10px 26px rgba(0,0,0,.35)}.hero-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border-radius:999px;font-size:.82rem;font-weight:700;text-decoration:none;transition:all .25s ease}.button:hover{transform:translateY(-2px)}.primary{background:rgba(255,255,255,.9);color:#061c21}.secondary{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.34);backdrop-filter:blur(8px)}.scroll{position:absolute;left:38px;bottom:26px;font-size:.65rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.7);text-decoration:none}.intro-block{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:100px min(8vw,100px);background:var(--paper)}.intro-block p{font-size:1.05rem;line-height:1.8}.intro-block h2,.reservation h2{margin:0;font-size:clamp(2rem,5vw,5rem);line-height:.94;letter-spacing:-.05em}.section-kicker{display:inline-block;margin-bottom:12px;font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#064f5d}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(0,0,0,.08)}.cards article{background:var(--sand);padding:48px}.cards h3{margin-top:0}.cards p{line-height:1.7}.reservation{text-align:center;padding:110px 24px;background:#061c21;color:#fff}.reservation p{max-width:620px;margin:18px auto 0;line-height:1.7;color:rgba(255,255,255,.78)}.dark{margin-top:24px}.music-toggle{position:fixed;right:18px;bottom:18px;z-index:9999;padding:12px 18px;border:none;border-radius:999px;background:rgba(0,0,0,.45);color:#fff;font-size:.78rem;font-weight:700;cursor:pointer;backdrop-filter:blur(12px);transition:all .25s ease;box-shadow:0 10px 30px rgba(0,0,0,.22)}.music-toggle:hover{transform:translateY(-2px);background:rgba(0,0,0,.65)}.music-toggle.active{background:rgba(255,255,255,.9);color:#061c21}
@keyframes fallbackFade{0%{opacity:0}1.2%{opacity:1}6.25%{opacity:1}7.8%{opacity:0}100%{opacity:0}}
@keyframes softZoomIn{0%{transform:scale(1.00) translate3d(0,0,0)}100%{transform:scale(1.12) translate3d(0,0,0)}}
@keyframes softPanLeft{0%{transform:scale(1.07) translate3d(6%,0,0)}100%{transform:scale(1.07) translate3d(-6%,0,0)}}
@keyframes softPanRight{0%{transform:scale(1.07) translate3d(-6%,0,0)}100%{transform:scale(1.07) translate3d(6%,0,0)}}
@keyframes softPanUp{0%{transform:scale(1.07) translate3d(0,5%,0)}100%{transform:scale(1.07) translate3d(0,-5%,0)}}
@keyframes softDrift{0%{transform:scale(1.05) translate3d(-3%,2%,0)}100%{transform:scale(1.11) translate3d(3%,-2%,0)}}
@keyframes cinematicMove{0%{transform:scale(1.055) translate3d(-1.2%,-.8%,0)}25%{transform:scale(1.07) translate3d(.8%,-.4%,0)}50%{transform:scale(1.08) translate3d(1.2%,.8%,0)}75%{transform:scale(1.065) translate3d(-.6%,.4%,0)}100%{transform:scale(1.055) translate3d(-1.2%,-.8%,0)}}
@keyframes fadeIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.hero{padding:24px}.hero-content{max-width:290px}.brand{width:88px}h1{font-size:2.3rem}.lead{font-size:.84rem}.intro-block,.cards{grid-template-columns:1fr}.cards article{padding:34px 24px}}
@media(max-width:520px){.hero{padding:20px;padding-top:calc(20px + env(safe-area-inset-top));min-height:100svh}.hero-content{max-width:280px}.eyebrow{font-size:.58rem;letter-spacing:.2em}.button{width:100%;padding:12px 16px}.scroll{left:20px;bottom:22px}.music-toggle{right:14px;bottom:14px}.intro-block{padding:70px 22px}.reservation{padding:80px 22px}.fallback-slide img{object-position:center center}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.fallback-slide:first-child{opacity:1}.fallback-slide:not(:first-child){opacity:0}}

/* =========================================================
   SLIDER CINEMATOGRÁFICO CORREGIDO
   Transición entre imágenes + zoom/deslizamiento suave.
   Estas reglas refuerzan el movimiento sin tocar textos ni música.
   ========================================================= */

.fallback-slide{
  opacity:0;
  overflow:hidden;
  transition:opacity 1.8s ease-in-out;
  z-index:0;
  pointer-events:none;
}

.fallback-slide.active{
  opacity:1;
  z-index:2;
}

.fallback-slide.leaving{
  opacity:0;
  z-index:1;
}

.fallback-slide img{
  object-fit:cover;
  transform:scale(1.02) translate3d(0,0,0);
  transform-origin:center center;
  will-change:transform;
  backface-visibility:hidden;
}

.fallback-slide.active img.motion-zoom{
  animation:softZoomIn 9.5s ease-in-out forwards;
}

.fallback-slide.active img.motion-pan-left{
  animation:softPanLeft 9.5s ease-in-out forwards;
}

.fallback-slide.active img.motion-pan-right{
  animation:softPanRight 9.5s ease-in-out forwards;
}

.fallback-slide.active img.motion-pan-up{
  animation:softPanUp 9.5s ease-in-out forwards;
}

.fallback-slide.active img.motion-drift{
  animation:softDrift 9.5s ease-in-out forwards;
}

.hero-content,
.scroll{
  position:relative;
  z-index:5;
}

.music-toggle{
  z-index:9999;
}

/* Si tu sistema tiene "reducir movimiento" activado, mantenemos transiciones del slider igualmente. */
@media(prefers-reduced-motion:reduce){
  .fallback-slide{
    transition:opacity 1.8s ease-in-out!important;
  }

  .fallback-slide.active img.motion-zoom{
    animation:softZoomIn 9.5s ease-in-out forwards!important;
  }

  .fallback-slide.active img.motion-pan-left{
    animation:softPanLeft 9.5s ease-in-out forwards!important;
  }

  .fallback-slide.active img.motion-pan-right{
    animation:softPanRight 9.5s ease-in-out forwards!important;
  }

  .fallback-slide.active img.motion-pan-up{
    animation:softPanUp 9.5s ease-in-out forwards!important;
  }

  .fallback-slide.active img.motion-drift{
    animation:softDrift 9.5s ease-in-out forwards!important;
  }
}

/* =========================================================
   FIX ANTI-SALTO ENTRE IMÁGENES
   La imagen saliente mantiene su transform/animación mientras se funde.
   ========================================================= */

.fallback-slide.active img.motion-zoom,
.fallback-slide.leaving img.motion-zoom{
  animation:softZoomIn 9.5s ease-in-out forwards!important;
}

.fallback-slide.active img.motion-pan-left,
.fallback-slide.leaving img.motion-pan-left{
  animation:softPanLeft 9.5s ease-in-out forwards!important;
}

.fallback-slide.active img.motion-pan-right,
.fallback-slide.leaving img.motion-pan-right{
  animation:softPanRight 9.5s ease-in-out forwards!important;
}

.fallback-slide.active img.motion-pan-up,
.fallback-slide.leaving img.motion-pan-up{
  animation:softPanUp 9.5s ease-in-out forwards!important;
}

.fallback-slide.active img.motion-drift,
.fallback-slide.leaving img.motion-drift{
  animation:softDrift 9.5s ease-in-out forwards!important;
}

/* Base coherente para que no haya cambio brusco de escala */
.fallback-slide img{
  transform:scale(1.045) translate3d(0,0,0);
}
