

:root{
  --negro:#0C0B0A; --negro-2:#11100F; --sup:#171514; --sup-2:#1E1C1A;
  --linea:rgba(242,236,228,.09); --linea-2:rgba(242,236,228,.2);
  --crema:#F2ECE4; --crema-2:#ADA49A;

  --ambar:#D4B07A; --ambar-2:#C29A60; --cereza:#FF6B6B; --cereza-fondo:#B8382F;
  --sobre-ambar:#15100A;

  --display:'Instrument Serif', 'Didot', Georgia, serif;
  --serif:'Instrument Serif', 'Didot', Georgia, serif;
  --sans:'Manrope', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --suave:cubic-bezier(.2,.8,.2,1);
  --r:24px;
  --ancho:1280px;
}

*,*::before,*::after{ box-sizing:border-box }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; scroll-padding-top:84px }
body{
  margin:0; background:var(--negro); color:var(--crema);
  font-family:var(--sans); font-size:clamp(1rem, .96rem + .18vw, 1.08rem); line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
img{ display:block; max-width:100%; height:auto }
a{ color:inherit }
h1,h2,h3{ margin:0; font-weight:700 }
p{ margin:0 }
ul,ol{ margin:0; padding:0; list-style:none }
button{ font:inherit; color:inherit; cursor:pointer }
:focus-visible{ outline:2px solid var(--ambar); outline-offset:3px; border-radius:8px }
::selection{ background:var(--ambar); color:var(--sobre-ambar) }

main{ overflow-x:clip }
.contenedor{ width:100%; max-width:var(--ancho); margin:0 auto; padding:0 clamp(1rem, 4vw, 2.5rem) }
.seccion{ position:relative; padding:clamp(5rem, 10vw, 8.5rem) 0 }

.volanta{
  display:inline-flex; align-items:center; gap:.7rem;
  font-size:.72rem; font-weight:600; letter-spacing:.28em; text-transform:uppercase; color:var(--crema-2);
}
.volanta::before{ content:""; width:22px; height:1px; background:var(--ambar) }
.h2{
  font-family:var(--display); font-weight:400;
  font-size:clamp(2.6rem, 1.2rem + 4.6vw, 5.6rem); line-height:1; letter-spacing:-.015em;
  margin:.9rem 0 1.1rem; text-wrap:balance;
}
.h2 em{ font-family:var(--serif); font-style:italic; font-weight:400; letter-spacing:-.02em; color:var(--ambar) }
.lead{ max-width:36rem; font-size:clamp(1.04rem, 1rem + .3vw, 1.2rem); color:var(--crema-2); text-wrap:pretty }
.nota{ margin-top:1.4rem; font-size:.8rem; color:var(--crema-2); opacity:.8 }
.cab-fila{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:1rem 3rem; margin-bottom:clamp(2rem, 4vw, 3.2rem) }
.cab-fila .h2{ margin-bottom:0 }
.estrellas{ color:var(--ambar); letter-spacing:.08em }
.estrellas__vacia{ opacity:.3 }
.etq{ display:inline-block; padding:.2rem .65rem; border-radius:999px; font-size:.72rem; font-weight:600; letter-spacing:.04em; border:1px solid var(--linea-2); color:var(--crema-2) }
.etq--fuego{ border-color:var(--ambar); color:var(--ambar) }

.btn{
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  min-height:54px; padding:0 1.8rem; border-radius:999px; overflow:hidden; isolation:isolate;
  font-weight:600; font-size:1rem; text-decoration:none; letter-spacing:.01em;
  transition:transform .35s var(--suave);
}
.btn span{ position:relative; z-index:1 }
.btn:hover{ transform:translateY(-2px) }
.btn:active{ transform:scale(.98) }
.btn--ambar{ background:var(--crema); color:var(--sobre-ambar) }

.btn--ambar::after{ content:""; position:absolute; inset:0; z-index:0; background:var(--ambar); transform:translateY(101%); transition:transform .45s var(--suave) }
.btn--ambar:hover::after{ transform:none }
.btn svg{ position:relative; z-index:1; width:20px; height:20px; margin-right:.6rem; flex:none }
.btn--chico{ min-height:42px; padding:0 1.2rem; font-size:.88rem; background:none; color:var(--crema); border:1px solid var(--linea-2) }
.btn--chico:hover{ border-color:var(--crema) }
.btn--ancho{ width:100% }
.enlace{ display:inline-flex; gap:.4rem; align-items:center; font-weight:600; color:var(--crema); text-decoration:none; background:linear-gradient(currentColor,currentColor) 0 100% / 100% 1px no-repeat; padding-bottom:2px }
.enlace:hover{ color:var(--ambar) }

.nav{
  position:fixed; z-index:100; top:12px; left:50%; width:min(calc(100% - 24px), 1320px);
  transform:translate3d(-50%,0,0);
  display:flex; align-items:center; gap:1.4rem; height:62px; padding:0 .55rem 0 1.2rem;
  border-radius:999px; transition:transform .5s var(--suave);
}
.nav::before{
  content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit;
  background:rgba(14,10,9,.9); border:1px solid var(--linea); opacity:0; transition:opacity .4s ease;
}
.nav.is-scroll::before{ opacity:1 }
.nav.is-oculto{ transform:translate3d(-50%,-110px,0) }
.nav__marca{ display:flex; align-items:center; gap:.6rem; text-decoration:none; font-family:var(--sans); font-weight:600; font-size:.95rem; letter-spacing:.3em }
.nav__isotipo{ width:30px; height:30px; color:var(--ambar) }
.nav__links{ display:flex; gap:1.5rem; margin-left:auto }
.nav__links a{ font-size:.9rem; text-decoration:none; opacity:.82; position:relative; padding:.4rem 0 }
.nav__links a::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--ambar); transform:scaleX(0); transform-origin:left; transition:transform .35s var(--suave) }
.nav__links a:hover{ opacity:1 }
.nav__links a:hover::after{ transform:scaleX(1) }
.nav__estado{ display:flex; align-items:center; gap:.45rem; font-size:.8rem; color:var(--crema-2); white-space:nowrap }
.nav__estado i{ width:8px; height:8px; border-radius:50%; background:#8A7A70 }
.nav__estado.is-abierto i{ background:#6EE59B; animation:latido 2.4s ease-in-out infinite }
@keyframes latido{ 50%{ transform:scale(1.6); opacity:.5 } }
.nav__menu{ display:none; width:44px; height:44px; border:0; background:none; position:relative }
.nav__menu i{ position:absolute; left:12px; right:12px; height:2px; background:currentColor; border-radius:2px; transition:transform .3s var(--suave) }
.nav__menu i:first-child{ top:17px } .nav__menu i:last-child{ top:25px }
.nav__menu[aria-expanded="true"] i:first-child{ transform:translateY(4px) rotate(45deg) }
.nav__menu[aria-expanded="true"] i:last-child{ transform:translateY(-4px) rotate(-45deg) }
.menu-movil{ position:fixed; z-index:99; inset:0; padding:110px 1.5rem 2rem; display:flex; flex-direction:column; background:var(--negro) }
.menu-movil[hidden]{ display:none }
.menu-movil a{ font-family:var(--display); font-weight:400; font-size:2.3rem; letter-spacing:-.01em; text-decoration:none; padding:.55rem 0; border-bottom:1px solid var(--linea) }
.menu-movil .menu-movil__cta{ margin-top:1.4rem; border:0; text-align:center; padding:1rem; border-radius:999px; background:var(--crema); color:var(--sobre-ambar); font-family:var(--sans); font-size:1.05rem; font-weight:600 }
@media (max-width:1180px){ .nav__estado{ display:none } }
@media (max-width:920px){
  .nav{ top:10px; height:56px; padding:0 .3rem 0 1rem }
  .nav__links{ display:none }
  .nav .btn--chico{ margin-left:auto; flex:none }
  .nav{ gap:.6rem }
  .nav__marca{ font-size:1rem; letter-spacing:.1em }
  .nav__menu{ display:block; flex:none }
}

.hero{ position:relative; min-height:100svh; display:flex; align-items:flex-end; overflow:clip; isolation:isolate; background:#000 }
.hero__fondo{ position:absolute; inset:0; z-index:-2 }
.hero__fondo picture, .hero__fondo img{ width:100%; height:100% }
.hero__fondo img{ object-fit:cover; object-position:70% 50%; animation:heroEntra 2.4s var(--suave) both }
@keyframes heroEntra{ from{ opacity:0; transform:scale(1.05) } to{ opacity:1; transform:none } }

.hero__velo{ position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg, rgba(5,4,3,.9) 0%, rgba(5,4,3,.72) 34%, rgba(5,4,3,0) 66%), linear-gradient(to top, rgba(5,4,3,.85), rgba(5,4,3,0) 45%) }

.hero__in{
  width:100%; max-width:var(--ancho); margin:0 auto;
  padding:0 clamp(1rem, 4vw, 2.5rem) clamp(3rem, 8vh, 6rem);
  display:grid; grid-template-columns:minmax(0, 46rem) 1fr; align-items:end; gap:1.4rem 3rem;
}
.hero__in > *{ grid-column:1 }
.hoy{
  justify-self:start; display:inline-flex; align-items:center; gap:.6rem; padding:.45rem .95rem .45rem .8rem; border-radius:999px;
  border:1px solid var(--linea-2); font-size:.84rem; color:var(--crema-2);
  background:rgba(8,6,5,.72);
}
.hoy i{ width:6px; height:6px; flex:none; border-radius:50%; background:var(--ambar) }
.hoy b{ color:var(--crema); font-weight:600 }
.hero__h1{ font-family:var(--display); font-weight:400; font-size:clamp(3.6rem, 1rem + 8vw, 9rem); line-height:.94; letter-spacing:-.02em }
.hero__h1 span{ display:block }
.hero__l2 em{ font-family:var(--serif); font-style:italic; font-weight:400; color:var(--ambar); padding-right:.06em }
.hero__pie{ max-width:31rem }
.hero__lead{ color:var(--crema-2); font-size:clamp(1rem, .96rem + .25vw, 1.14rem) }
.hero__lead strong{ color:var(--crema); font-weight:600 }
.hero__acciones{ display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.8rem; margin-top:1.8rem }
.hero__nota{
  grid-column:2 !important; grid-row:4; justify-self:end; align-self:end;
  display:flex; align-items:center; gap:.9rem; text-decoration:none; font-size:.86rem; color:var(--crema-2);
}
.hero__nota b{ font-family:var(--display); font-weight:400; font-size:1.9rem; color:var(--crema); margin-right:.2rem }
.caritas{ display:flex }
.caritas img{ width:38px; height:38px; border-radius:50%; border:2px solid #000; object-fit:cover }
.caritas img + img{ margin-left:-11px }

.hoy, .hero__l1, .hero__l2, .hero__pie, .hero__nota{ animation:sube 1.2s var(--suave) both }
.hoy{ animation-delay:.3s } .hero__l1{ animation-delay:.45s } .hero__l2{ animation-delay:.6s }
.hero__pie{ animation-delay:.85s } .hero__nota{ animation-delay:1.05s }
@keyframes sube{ from{ opacity:0; transform:translate3d(0,28px,0) } to{ opacity:1; transform:none } }

@media (max-width:760px){
  .hero__fondo{ bottom:auto; height:min(100vw, 46svh) }
  .hero__fondo img{ object-position:50% 50% }
  .hero__fondo::after{ content:""; position:absolute; inset:auto 0 0; height:35%; background:linear-gradient(transparent, #000) }
  .hero__velo{ display:none }
  .hero__in{ grid-template-columns:1fr; padding-bottom:5.6rem }
  .hero__nota{ grid-column:1 !important; grid-row:auto; justify-self:start }
}

.cinta{ position:relative; overflow:clip; border-top:1px solid var(--linea); border-bottom:1px solid var(--linea); padding:1.1rem 0; color:var(--crema-2) }
.cinta__pista{ display:flex; align-items:center; width:max-content; animation:cinta 60s linear infinite }
.cinta span{ font-size:.8rem; font-weight:500; letter-spacing:.26em; text-transform:uppercase; white-space:nowrap; padding:0 2rem }
.cinta .hueca{ color:var(--crema) }
.cinta b{ width:5px; height:5px; flex:none; border-radius:50%; background:var(--ambar) }
.cinta.is-quieta .cinta__pista{ animation-play-state:paused }
@keyframes cinta{ to{ transform:translate3d(-50%,0,0) } }

.momentos{ padding-top:clamp(6rem, 11vw, 9rem) }
.momentos__cab{ margin-bottom:clamp(1rem, 3vw, 2rem) }
.momentos__carril{ display:flex; flex-direction:column; gap:1.2rem; padding:0 clamp(1rem, 4vw, 2.5rem) }
.momento{ position:relative; border-radius:28px; overflow:hidden; min-height:420px; background:var(--sup); isolation:isolate }
.momento img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2 }
.momento::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(to top, rgba(11,9,8,.94) 8%, rgba(11,9,8,.55) 48%, rgba(11,9,8,.05) 80%) }
.momento__txt{ position:absolute; left:0; right:0; bottom:0; padding:clamp(1.3rem, 3vw, 2.6rem); max-width:40rem }
.momento__hora{ font-family:var(--serif); font-style:italic; font-size:clamp(2.4rem, 1.4rem + 3vw, 4.4rem); line-height:1; color:var(--ambar) }
.momento h3{ font-family:var(--display); font-weight:400; font-size:clamp(1.9rem, 1.2rem + 2.4vw, 3.4rem); letter-spacing:-.01em; margin:.3rem 0 .6rem }
.momento p:not(.momento__hora){ color:var(--crema-2); max-width:30rem; margin-bottom:1rem }
.momentos__barra{ display:none }

.js-listo .momentos__pista{ position:relative; height:320vh }
.js-listo .momentos__escena{ position:sticky; top:0; height:100svh; overflow:hidden; display:flex; flex-direction:column; justify-content:center; padding-top:70px }
.js-listo .momentos__carril{ flex-direction:row; gap:clamp(1rem, 2vw, 1.6rem); width:max-content; padding-right:6vw }
.js-listo .momento{ width:min(76vw, 1040px); height:min(72svh, 660px); flex:none }
.js-listo .momento img{ inset:-4% -8%; width:116%; height:108%; max-width:none }
.js-listo .momentos__barra{ display:block; width:min(360px, 60vw); height:2px; margin:1.6rem auto 0; background:var(--linea-2); border-radius:2px; overflow:hidden }
.momentos__barra i{ display:block; height:100%; background:var(--ambar); transform-origin:left; transform:scaleX(0) }
@media (max-width:760px){
  .js-listo .momentos__pista{ height:300vh }
  .js-listo .momento{ width:86vw; height:64svh }
}

.dias{ display:grid; grid-template-columns:repeat(6, 1fr); gap:.9rem }
.dia{
  position:relative; display:flex; flex-direction:column; padding:1.4rem 1.2rem 1.2rem; border-radius:var(--r);
  background:var(--sup); border:1px solid var(--linea);
}
.dia__nom{ font-size:.76rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--crema-2) }
.dia h3{ font-family:var(--display); font-weight:400; font-size:1.65rem; line-height:1.05; letter-spacing:-.01em; margin:.8rem 0 .6rem }
.dia > p:not(.dia__nom):not(.dia__pie){ font-size:.92rem; color:var(--crema-2); flex:1 }
.dia__pie{ display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-top:1rem; font-size:.82rem; color:var(--crema-2) }
.dia__ir{ margin-top:1rem; padding-top:.9rem; border-top:1px solid var(--linea); font-size:.86rem; font-weight:600; color:var(--ambar); text-decoration:none }
.dia.es-hoy{ border-color:var(--ambar); background:var(--sup-2) }
.dia__hoy{ position:absolute; top:1.1rem; right:1rem; padding:.18rem .55rem; border-radius:999px; font-size:.68rem; font-weight:700; letter-spacing:.1em; background:var(--ambar); color:var(--sobre-ambar) }
@media (max-width:1180px){ .dias{ grid-template-columns:repeat(3, 1fr) } }
@media (max-width:760px){
  .dias{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:.8rem; margin:0 calc(-1 * clamp(1rem, 4vw, 2.5rem)); padding:0 clamp(1rem, 4vw, 2.5rem) .6rem; scrollbar-width:none }
  .dias::-webkit-scrollbar{ display:none }
  .dia{ flex:0 0 72vw; scroll-snap-align:start }
}

.carta{ background:var(--negro) }
.pestanas{ display:none }
.js-listo .pestanas{ display:flex; flex-wrap:wrap; gap:.3rem; padding:.3rem; border-radius:999px; background:var(--sup); border:1px solid var(--linea) }
.pestanas button{ min-height:44px; padding:0 1.1rem; border:0; border-radius:999px; background:none; font-size:.92rem; font-weight:600; color:var(--crema-2) }
.pestanas button[aria-selected="true"]{ background:var(--crema); color:var(--sobre-ambar) }
.carta__cuerpo{ display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem, 5vw, 4.5rem); align-items:start }
.carta__cuerpo.is-ancha{ grid-template-columns:1fr }
.carta__cuerpo.is-ancha .escenario{ display:none }
.escenario{ margin:0; position:sticky; top:100px; perspective:1100px }
.escenario__giro{ position:relative; aspect-ratio:4/5; border-radius:28px; overflow:hidden; background:var(--sup); transform-style:preserve-3d; transition:transform .6s var(--suave) }
.escenario__foto{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.08); transition:opacity .7s ease, transform 1.2s var(--suave) }
.escenario__foto.is-on{ opacity:1; transform:none }
.escenario__brillo{ position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .4s ease; background:radial-gradient(520px circle at var(--mx,50%) var(--my,30%), rgba(255,255,255,.1), transparent 60%) }
.escenario.is-tilt .escenario__brillo{ opacity:1 }
.escenario__pie{
  position:absolute; left:0; right:0; bottom:0; display:flex; justify-content:space-between; align-items:flex-end; gap:1rem;
  padding:4rem 1.4rem 1.3rem; background:linear-gradient(transparent, rgba(11,9,8,.9));
  transition:opacity .25s ease;
}
.escenario__pie b{ font-family:var(--display); font-weight:400; font-size:1.9rem; letter-spacing:-.01em; line-height:1.05 }
.escenario__pie span{ font-family:var(--serif); font-style:italic; font-size:1.4rem; color:var(--ambar); white-space:nowrap }
.escenario.is-cambia .escenario__pie{ opacity:0 }
.panel + .panel{ margin-top:3rem }
.js-listo .panel + .panel{ margin-top:0 }
.panel[hidden]{ display:none }
.lista{ border-top:1px solid var(--linea) }
.item{
  width:100%; display:grid; grid-template-columns:1fr auto; gap:.2rem 1.5rem; align-items:baseline; text-align:left;
  padding:1.3rem 1rem 1.3rem 1.3rem; background:none; border:0; border-bottom:1px solid var(--linea); position:relative;
  transition:transform .4s var(--suave);
}
.item::before{ content:""; position:absolute; left:0; top:1.3rem; bottom:1.3rem; width:3px; border-radius:3px; background:var(--ambar); transform:scaleY(0); transition:transform .4s var(--suave) }
.item:hover{ transform:translateX(6px) }
.item.is-on::before{ transform:scaleY(1) }
.item__nom{ font-family:var(--display); font-weight:400; font-size:clamp(1.45rem, 1.2rem + .8vw, 1.95rem); letter-spacing:-.01em }
.item__desc{ grid-column:1; color:var(--crema-2); font-size:.95rem }
.item b{ grid-row:1; grid-column:2; font-family:var(--serif); font-style:italic; font-weight:400; font-size:1.3rem; color:var(--ambar); white-space:nowrap }
.item__mini{ display:none }
.platos{ display:grid; grid-template-columns:repeat(3, 1fr); gap:1rem }
.plato{ border-radius:20px; overflow:hidden; background:var(--sup); border:1px solid var(--linea) }
.plato img{ width:100%; aspect-ratio:4/3; height:auto; object-fit:cover; transition:transform .9s var(--suave) }
.plato:hover img{ transform:scale(1.06) }
.plato div{ padding:1rem 1.1rem 1.2rem }
.plato h3{ font-family:var(--display); font-weight:400; font-size:1.4rem; letter-spacing:-.01em; line-height:1.15 }
.plato p{ font-size:.88rem; color:var(--crema-2); margin:.3rem 0 .6rem }
.plato b{ font-family:var(--serif); font-style:italic; font-weight:400; font-size:1.2rem; color:var(--ambar) }
.copas{ max-width:760px }
.copas li{ display:flex; align-items:baseline; gap:.8rem; padding:.95rem 0; border-bottom:1px solid var(--linea); font-size:1.05rem }
.copas i{ flex:1; border-bottom:1px dotted var(--linea-2); transform:translateY(-4px) }
.copas b{ font-family:var(--serif); font-style:italic; font-weight:400; font-size:1.25rem; color:var(--ambar); white-space:nowrap }
@media (max-width:980px){ .platos{ grid-template-columns:repeat(2, 1fr) } }
@media (max-width:760px){

  .carta__cuerpo{ grid-template-columns:1fr }
  .escenario{ display:none }
  .item{ grid-template-columns:64px 1fr auto; gap:.15rem .9rem; padding:1rem .4rem }
  .item__mini{ display:block; grid-row:1 / span 2; width:64px; height:64px; border-radius:14px; object-fit:cover }
  .item__desc{ grid-column:2 / -1; font-size:.9rem }
  .item b{ grid-column:3 }
  .item::before{ display:none }
  .item:hover{ transform:none }
  .platos{ grid-template-columns:1fr 1fr; gap:.7rem }
  .plato h3{ font-size:1rem }
}
@media (max-width:420px){ .platos{ grid-template-columns:1fr } }

@media (max-width:560px){
  .js-listo .pestanas{ flex-wrap:nowrap; width:100% }
  .pestanas button{ flex:1 1 auto; padding:0 .55rem; font-size:.8rem; white-space:nowrap }
}

.cerca{ --gap:clamp(.45rem, 1vw, .85rem); --col:calc((min(100vw, var(--ancho)) - 2 * clamp(1rem, 4vw, 2.5rem) - 3 * var(--gap)) / 4) }
.filtros{ display:none }
.js-listo .filtros{ display:flex; flex-wrap:wrap; gap:.3rem; padding:.3rem; border-radius:999px; border:1px solid var(--linea) }
.filtros button{ min-height:42px; padding:0 1.05rem; border:0; border-radius:999px; background:none; font-size:.88rem; font-weight:500; color:var(--crema-2); transition:background .3s ease, color .3s ease }
.filtros button[aria-pressed="true"]{ background:var(--crema); color:var(--sobre-ambar) }
.mosaico{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); grid-auto-rows:var(--col); grid-auto-flow:dense; gap:var(--gap) }
.foto{ position:relative; margin:0; border-radius:16px; overflow:hidden; background:var(--sup) }
.foto--ancha{ grid-column:span 2 }
.foto--alta{ grid-row:span 2 }
.foto[hidden]{ display:none }
.foto__abrir{ display:block; width:100%; height:100%; padding:0; border:0; background:none; cursor:zoom-in; border-radius:inherit }
.foto img{ width:100%; height:100%; object-fit:cover; transition:transform 1.4s var(--suave) }
.foto:hover img{ transform:scale(1.05) }
.foto__num{ position:absolute; top:.85rem; left:1rem; font-size:.68rem; font-weight:600; letter-spacing:.22em; color:rgba(242,236,228,.75); pointer-events:none }
.foto figcaption{
  position:absolute; left:0; right:0; bottom:0; padding:2.6rem 1.1rem 1rem; pointer-events:none;
  background:linear-gradient(transparent, rgba(0,0,0,.8)); font-size:.88rem; line-height:1.4; color:var(--crema);
  opacity:0; transform:translate3d(0,10px,0); transition:opacity .45s ease, transform .6s var(--suave);
}
.foto:hover figcaption, .foto:focus-within figcaption{ opacity:1; transform:none }
.foto.is-entra{ animation:fotoEntra .7s var(--suave) both; animation-delay:var(--e, 0s) }
@keyframes fotoEntra{ from{ opacity:0; transform:scale(.96) } to{ opacity:1; transform:none } }
.cerca__pie{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:.6rem 2rem; margin-top:1.4rem; font-size:.84rem; color:var(--crema-2) }
@media (max-width:760px){
  .cerca{ --col:calc((100vw - 2 * clamp(1rem, 4vw, 2.5rem) - var(--gap)) / 2) }
  .mosaico{ grid-template-columns:repeat(2, minmax(0,1fr)) }
  .foto{ border-radius:12px }
  .js-listo .filtros{ flex-wrap:nowrap; width:100% }
  .filtros button{ flex:1 1 auto; padding:0 .5rem; font-size:.8rem; white-space:nowrap }
}

.visor{
  position:fixed; inset:0; z-index:200; display:grid; grid-template-rows:auto minmax(0,1fr) auto;
  background:rgba(5,5,4,.985); color:var(--crema); overscroll-behavior:contain;
  opacity:0; visibility:hidden; transition:opacity .35s ease, visibility 0s linear .35s;
}
.visor[hidden]{ display:none }
.visor.is-abierto{ opacity:1; visibility:visible; transition:opacity .35s ease }
.visor__cab{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem clamp(1rem, 3vw, 2rem) }
.visor__cuenta{ font-size:.74rem; font-weight:600; letter-spacing:.24em; color:var(--crema-2) }
.visor__cerrar, .visor__flecha{ width:48px; height:48px; flex:none; display:grid; place-items:center; border-radius:50%; border:1px solid var(--linea-2); background:none; transition:border-color .3s ease, transform .3s var(--suave) }
.visor__cerrar:hover, .visor__flecha:hover{ border-color:var(--crema) }
.visor__cerrar svg, .visor__flecha svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round }
.visor__escena{ position:relative; margin:0 clamp(.6rem, 3vw, 2rem) }
.visor__escena img{
  position:absolute; inset:0; margin:auto; max-width:100%; max-height:100%; width:auto; height:auto;
  border-radius:8px; transition:opacity .45s ease, transform .7s var(--suave);
}
.visor.is-cargando .visor__escena img{ opacity:0; transform:scale(.97) }
.visor__pie{ display:flex; align-items:center; gap:1rem; padding:1rem clamp(1rem, 3vw, 2rem) 1.4rem; max-width:980px; width:100%; margin:0 auto }
.visor__txt{ flex:1; text-align:center }
.visor__txt b{ display:block; font-family:var(--display); font-weight:400; font-size:clamp(1.3rem, 1.1rem + .8vw, 1.8rem); line-height:1.2 }
.visor__txt span{ font-size:.74rem; letter-spacing:.22em; text-transform:uppercase; color:var(--ambar) }

.sintacc__grid{ display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem, 6vw, 6rem); align-items:center }

.sintacc__foto{ position:relative; margin:0; isolation:isolate; border-radius:var(--r) }
.sintacc__foto img{ width:100%; aspect-ratio:4/5; height:auto; object-fit:cover; border-radius:inherit }
.sintacc__foto figcaption{ margin-top:1rem; font-family:var(--serif); font-style:italic; font-size:1.25rem; color:var(--crema-2) }
.sintacc__halo{
  position:absolute; z-index:-1; left:50%; top:42%; width:125%; aspect-ratio:1; border-radius:50%; pointer-events:none;
  background:conic-gradient(from 0deg, rgba(255,154,77,0), rgba(255,154,77,.55) 14%, rgba(212,176,122,.6) 30%, rgba(255,107,107,.0) 48%, rgba(255,107,107,.45) 66%, rgba(212,176,122,.4) 82%, rgba(255,154,77,0) 96%);
  filter:blur(46px); opacity:.75; transform:translate(-50%,-50%);
}
@media (min-width:861px) and (hover:hover){ .sintacc__halo{ animation:haloGira 18s linear infinite } }
@keyframes haloGira{ to{ transform:translate(-50%,-50%) rotate(360deg) } }
.sintacc{ overflow-x:clip }
@media (max-width:860px){ .sintacc__grid{ grid-template-columns:1fr } .sintacc__foto{ max-width:420px } }
.tacc-cifras{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:1rem; margin:2rem 0 1.6rem }
.tacc-cifras li{ padding:1rem 0 0; border-top:1px solid var(--linea-2) }
.tacc-cifras b{ display:block; font-family:var(--display); font-weight:400; font-size:clamp(2.6rem, 1.8rem + 2.4vw, 4rem); line-height:1; color:var(--crema); font-variant-numeric:tabular-nums; text-shadow:0 0 22px rgba(255,154,77,.45), 0 0 50px rgba(212,176,122,.25) }
.tacc-cifras span{ display:block; margin-top:.4rem; font-size:.84rem; color:var(--crema-2) }
.cuidados{ display:grid; gap:.8rem; counter-reset:c }
.cuidados li{ position:relative; padding:1.1rem 1.2rem 1.1rem 4.2rem; border-radius:18px; background:var(--sup); border:1px solid var(--linea); color:var(--crema-2) }
.cuidados__n{ position:absolute; left:1.2rem; top:1.05rem; font-family:var(--serif); font-style:italic; font-size:1.6rem; line-height:1; color:var(--ambar) }
.cuidados b{ color:var(--crema) }
.js-listo .cuidados li.reveal{ transform:translate3d(70px,0,0) }
.js-listo .cuidados li.reveal.is-in{ transform:none }
@media (max-width:560px){ .tacc-cifras{ gap:.6rem } .tacc-cifras span{ font-size:.76rem } .js-listo .cuidados li.reveal{ transform:translate3d(40px,0,0) } }

.eventos{ background:var(--negro) }
.paquetes{ display:grid; grid-template-columns:repeat(3, 1fr); gap:1.1rem; align-items:stretch }
.paquete{
  position:relative; overflow:hidden; display:flex; flex-direction:column; padding:1.8rem 1.6rem 1.7rem; border-radius:var(--r);
  background:var(--sup); border:1px solid var(--linea);
}
.paquete--fuerte{ border-color:var(--ambar); background:var(--sup-2) }
.paquete__marca{ position:absolute; top:1.2rem; right:1.2rem; padding:.2rem .7rem; border-radius:999px; font-size:.72rem; font-weight:700; background:var(--ambar); color:var(--sobre-ambar) }
.paquete__cupo{ font-size:.78rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--crema-2) }
.paquete h3{ font-family:var(--display); font-weight:400; font-size:clamp(1.8rem, 1.4rem + 1vw, 2.4rem); letter-spacing:-.01em; line-height:1.05; margin:.8rem 0 1.1rem }
.paquete ul{ display:grid; gap:.55rem; flex:1; align-content:start }
.paquete li{ position:relative; padding-left:1.5rem; color:var(--crema-2); font-size:.95rem }
.paquete li::before{ content:""; position:absolute; left:0; top:.5em; width:9px; height:5px; border-left:2px solid var(--ambar); border-bottom:2px solid var(--ambar); transform:rotate(-45deg) }
.paquete__precio{ margin-top:1.5rem; padding-top:1.1rem; border-top:1px solid var(--linea); font-family:var(--serif); font-style:italic; font-size:1.8rem; color:var(--ambar) }
.paquete__precio small{ font-family:var(--sans); font-style:normal; font-size:.78rem; color:var(--crema-2) }
.paquete__luz{ position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .4s ease; background:radial-gradient(420px circle at var(--mx,50%) var(--my,20%), rgba(255,255,255,.07), transparent 60%) }
.paquete.is-tilt .paquete__luz{ opacity:1 }
.armador{
  margin-top:1.4rem; display:grid; grid-template-columns:1.2fr 1fr; gap:2rem; align-items:center;
  padding:clamp(1.3rem, 3vw, 2.2rem); border-radius:var(--r); background:var(--crema); color:var(--sobre-ambar);
}
.armador__tit{ font-family:var(--display); font-weight:400; font-size:1.8rem; letter-spacing:-.01em; margin-bottom:1rem }
.armador .chips span{ border-color:rgba(26,14,5,.22); color:var(--sobre-ambar) }
.armador .chips input:checked + span{ background:var(--sobre-ambar); color:var(--crema); border-color:var(--sobre-ambar) }
.rango{ display:grid; gap:.6rem; margin-top:1.3rem; font-weight:500 }
.rango b{ font-family:var(--sans); font-size:1.3rem }
.rango input{ width:100%; accent-color:#7A5C33; height:28px }
.armador__total small{ display:block; font-size:.78rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; opacity:.75 }
.armador__total b{ display:block; font-family:var(--sans); font-weight:600; font-size:clamp(2.4rem, 1.6rem + 2.4vw, 3.6rem); letter-spacing:-.04em; line-height:1.05; font-variant-numeric:tabular-nums }
.armador__total span{ display:block; margin:.2rem 0 1.1rem; opacity:.8 }
.armador .nota{ color:var(--sobre-ambar); opacity:.75 }
@media (max-width:980px){ .paquetes{ grid-template-columns:1fr } .armador{ grid-template-columns:1fr } }

.chips{ display:flex; flex-wrap:wrap; gap:.5rem }
.chips label{ position:relative; cursor:pointer }
.chips input{ position:absolute; opacity:0; inset:0; cursor:pointer; margin:0 }
.chips span{ display:inline-flex; align-items:center; min-height:44px; padding:0 1.05rem; border-radius:999px; border:1px solid var(--linea-2); font-size:.92rem; color:var(--crema-2); transition:transform .25s var(--suave) }
.chips input:checked + span{ background:var(--ambar); color:var(--sobre-ambar); border-color:var(--ambar); font-weight:600 }
.chips input:focus-visible + span{ outline:2px solid var(--ambar); outline-offset:2px }
.chips label:active span{ transform:scale(.96) }
.chips--dias span{ flex-direction:column; justify-content:center; min-width:64px; line-height:1.1; padding:.4rem .8rem }
.chips--dias small{ font-size:.72rem; opacity:.8 }
.chips--dias:empty{ display:none }

.eventos{ padding-bottom:clamp(3rem, 6vw, 5rem) }

.detras{ padding-top:clamp(2rem, 5vw, 4rem) }
.detras__grid{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr) minmax(0,.8fr); gap:clamp(1rem, 3vw, 2.2rem); align-items:end }
.detras__f{ margin:0; position:relative; border-radius:var(--r); overflow:hidden; background:var(--sup) }
.detras__f img{ width:100%; aspect-ratio:4/5; height:auto; object-fit:cover }
.detras__f:nth-child(3){ transform:translateY(2.4rem) }
.js-listo .detras__f:nth-child(3).rev-img.is-in{ transform:translateY(2.4rem) }
.detras__f figcaption{ position:absolute; left:0; right:0; bottom:0; padding:2.6rem 1.1rem 1rem; background:linear-gradient(transparent, rgba(0,0,0,.8)); font-size:.8rem; color:var(--crema-2) }
.detras__f figcaption b{ display:block; font-family:var(--display); font-weight:400; font-size:1.5rem; color:var(--crema) }
@media (max-width:760px){ .detras__grid{ grid-template-columns:1fr 1fr } .detras__grid > div{ grid-column:1 / -1 } .detras__f:nth-child(3), .js-listo .detras__f:nth-child(3).rev-img.is-in{ transform:none } }

.resenas__grid{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(2rem, 6vw, 6rem); align-items:start }
.puntaje{ display:flex; align-items:center; gap:1.1rem; margin:1.6rem 0 1.5rem }
.puntaje > b{ font-family:var(--display); font-weight:400; font-size:clamp(4rem, 3rem + 2.5vw, 5.4rem); line-height:.85 }
.puntaje small{ display:block; margin-top:.3rem; font-size:.84rem; color:var(--crema-2) }
.barras{ display:grid; gap:.5rem; max-width:21rem }
.barras li{ display:grid; grid-template-columns:1.4rem minmax(0,1fr) 2.4rem; align-items:center; gap:.7rem; font-size:.78rem; color:var(--crema-2); font-variant-numeric:tabular-nums }
.barras i{ height:3px; border-radius:3px; background:var(--linea) }
.barras i::before{ content:""; display:block; height:100%; width:var(--p); border-radius:inherit; background:var(--ambar); transform-origin:left; transition:transform 1.2s var(--suave) .2s }
.js-listo .barras:not(.is-in) i::before{ transform:scaleX(0) }
.temas{ margin-top:2.2rem }
.temas p{ font-size:.72rem; font-weight:600; letter-spacing:.24em; text-transform:uppercase; color:var(--crema-2); margin-bottom:.8rem }
.temas__chips{ display:flex; flex-wrap:wrap; gap:.45rem }
.temas__chips button{ min-height:40px; padding:0 .95rem; border-radius:999px; border:1px solid var(--linea-2); background:none; font-size:.86rem; color:var(--crema) }
.temas__chips button small{ margin-left:.35rem; color:var(--crema-2) }
.temas__chips button[aria-pressed="true"]{ background:var(--crema); color:var(--sobre-ambar); border-color:var(--crema) }
.temas__chips button[aria-pressed="true"] small{ color:inherit; opacity:.7 }

.voz{ margin:0; padding:clamp(1.5rem, 3.5vw, 2.8rem); border-radius:var(--r); background:var(--sup); border:1px solid var(--linea) }
.voz + .voz{ margin-top:1rem }
.voz__cita{ margin:0; font-family:var(--display); font-weight:400; font-size:clamp(1.45rem, 1.1rem + 1.2vw, 2.15rem); line-height:1.24; text-wrap:pretty }
.voz__cita::before{ content:"“"; display:block; height:1.9rem; font-size:4.4rem; line-height:1; color:var(--ambar) }
.voz figcaption{ display:flex; align-items:center; gap:.95rem; margin-top:1.7rem; padding-top:1.3rem; border-top:1px solid var(--linea) }
.voz figcaption img{ width:54px; height:54px; flex:none; border-radius:50%; object-fit:cover }
.voz cite{ display:block; font-style:normal; font-weight:600 }
.voz__meta{ display:block; font-size:.82rem; color:var(--crema-2) }
.voz figcaption .estrellas{ margin-left:auto; font-size:.8rem; white-space:nowrap }
.voz__resp{ margin-top:1.1rem; padding:.95rem 1.1rem; border-left:2px solid var(--ambar); border-radius:0 12px 12px 0; background:var(--negro-2); font-size:.9rem; color:var(--crema-2) }
.voz__resp b{ display:block; margin-bottom:.25rem; font-size:.7rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--crema) }
.voces__nav{ display:none }
.js-listo .voces__pila{ display:grid }
.js-listo .voz{ grid-area:1 / 1; margin:0; opacity:0; visibility:hidden; transform:translate3d(0,16px,0); transition:opacity .4s ease, transform .6s var(--suave), visibility 0s linear .4s }
.js-listo .voz.is-on{ opacity:1; visibility:visible; transform:none; transition:opacity .6s ease .12s, transform .9s var(--suave) .12s }
.js-listo .voces__nav{ display:flex; align-items:center; gap:1rem; margin-top:1.1rem }
.caras{ display:flex; flex-wrap:wrap; gap:.4rem }
.caras button{ width:44px; height:44px; padding:2px; border-radius:50%; border:1.5px solid transparent; background:none; opacity:.5; transition:opacity .3s ease, transform .3s var(--suave) }
.caras button img{ width:100%; height:100%; border-radius:50%; object-fit:cover }
.caras button:hover{ opacity:.85; transform:translateY(-2px) }
.caras button[aria-current="true"]{ opacity:1; border-color:var(--ambar) }
.caras.hay-tema button:not(.es-tema){ opacity:.15 }
.voces__flechas{ margin-left:auto; display:flex; gap:.4rem }
.voces__flechas button{ width:44px; height:44px; display:grid; place-items:center; border-radius:50%; border:1px solid var(--linea-2); background:none }
.voces__flechas svg{ width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round }

@keyframes vozEntra{ from{ opacity:0; transform:translate3d(0,12px,0) } to{ opacity:1; transform:none } }
@media (max-width:860px){
  .resenas__grid{ grid-template-columns:1fr }
  .js-listo .voces{ display:flex; flex-direction:column }
  .js-listo .voces__nav{ order:-1; margin:0 0 1rem }
  .js-listo .voces__pila{ display:block }
  .js-listo .voz:not(.is-on){ display:none }
  .js-listo .voz.is-on{ animation:vozEntra .6s var(--suave) both }
}
@media (max-width:520px){ .caras{ flex-wrap:nowrap; gap:.15rem } .caras button{ width:40px; height:40px } .voces__flechas{ display:none } .voz figcaption{ flex-wrap:wrap } .voz figcaption .estrellas{ margin-left:69px; width:100% } }

.reservar{ padding-top:clamp(5rem, 10vw, 8.5rem); overflow-x:clip; background:var(--negro) }
.reservar__grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem, 5vw, 5rem); align-items:start }
.llegar{ margin-top:2.4rem; padding:1.5rem; border-radius:var(--r); border:1px solid var(--linea); background:var(--negro-2) }
.llegar h3{ font-family:var(--display); font-weight:400; font-size:1.7rem; letter-spacing:-.01em; margin-bottom:1rem }
.datos{ display:grid; gap:1rem }
.datos li{ display:flex; gap:.8rem; align-items:flex-start; color:var(--crema-2) }
.datos small{ opacity:.8 }
.datos svg{ flex:none; width:22px; height:22px; margin-top:.15rem; fill:none; stroke:var(--ambar); stroke-width:1.6 }
.form{ display:grid; gap:1.2rem; padding:clamp(1.3rem, 3vw, 2.2rem); border-radius:28px; background:linear-gradient(165deg, var(--sup-2), var(--sup)); border:1px solid var(--linea) }
.form__fila{ display:grid; grid-template-columns:auto 1fr; gap:1.2rem; align-items:end }
.campo{ display:grid; gap:.5rem; border:0; margin:0; padding:0; min-width:0 }
.campo label, .campo__lbl{ font-size:.86rem; font-weight:500; color:var(--crema-2); padding:0 }
.campo input[type="text"], .campo select{
  width:100%; min-height:52px; padding:0 1rem; border-radius:14px; font:inherit; font-size:16px;
  color:var(--crema); background:var(--negro); border:1px solid var(--linea-2); color-scheme:dark;
}
.campo input::placeholder{ color:rgba(201,185,171,.55) }
.campo input:focus, .campo select:focus{ outline:none; border-color:var(--ambar) }
.campo.is-error input{ border-color:var(--cereza) }
.contador{ display:flex; align-items:center; gap:.5rem }
.contador button{ width:48px; height:48px; border-radius:50%; border:1px solid var(--linea-2); background:none; font-size:1.3rem }
.contador output{ min-width:2.2ch; text-align:center; font-family:var(--sans); font-weight:700; font-size:1.8rem; font-variant-numeric:tabular-nums }
.casilla{ display:flex; gap:.7rem; align-items:flex-start; font-size:.92rem; color:var(--crema-2); cursor:pointer }
.casilla small{ opacity:.75 }
.casilla input{ width:20px; height:20px; margin-top:.15rem; accent-color:var(--ambar) }
.form__estado{ min-height:1.3em; font-size:.9rem; color:#FF9CA8 }
.form__nota{ font-size:.8rem; color:var(--crema-2); opacity:.85 }

@media (max-width:860px){
  .reservar__grid{ grid-template-columns:1fr }
  .reservar__grid > div:first-child{ display:contents }
  .reservar__grid .form{ order:1 }
  .reservar__grid .llegar{ order:2; margin-top:0 }
}
@media (max-width:420px){ .form__fila{ grid-template-columns:1fr } }

.preguntas{ padding-top:clamp(3rem, 6vw, 5rem) }
.preguntas__grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem, 5vw, 5rem); align-items:start }
.faq details{ border-bottom:1px solid var(--linea) }
.faq summary{ list-style:none; cursor:pointer; padding:1.25rem 2.6rem 1.25rem 0; position:relative; font-family:var(--display); font-weight:400; font-size:1.45rem; letter-spacing:-.01em; line-height:1.25 }
.faq summary::-webkit-details-marker{ display:none }
.faq summary::after{ content:"+"; position:absolute; right:.2rem; top:50%; margin-top:-.8rem; font-family:var(--sans); font-weight:400; font-size:1.6rem; line-height:1.6rem; color:var(--ambar); transition:transform .35s var(--suave) }
.faq details[open] summary::after{ transform:rotate(45deg) }
.faq details p{ padding:0 2rem 1.3rem 0; color:var(--crema-2) }
@media (max-width:860px){ .preguntas__grid{ grid-template-columns:1fr } }

.pie{ padding:4rem 0 7.5rem; text-align:center; border-top:1px solid var(--linea); background:var(--negro-2) }
.pie__in{ display:grid; justify-items:center; gap:1rem }
.pie__marca{ font-family:var(--sans); font-weight:500; font-size:clamp(1.3rem, 5vw, 3rem); letter-spacing:.34em; padding-left:.34em; line-height:1; color:var(--crema) }
.pie p{ color:var(--crema-2) }
.pie__chico{ font-size:.8rem; opacity:.8 }
.wsp{ position:fixed; right:1rem; bottom:1rem; z-index:110; width:58px; height:58px; border-radius:50%; display:grid; place-items:center; background:#25D366; color:#fff; box-shadow:0 10px 30px -10px rgba(0,0,0,.6); transition:transform .3s var(--suave) }
.wsp:hover{ transform:scale(1.07) }
.sello-demo{
  position:fixed; left:50%; bottom:1rem; transform:translateX(-50%); z-index:105;
  display:flex; align-items:center; gap:.6rem; padding:.5rem .95rem; border-radius:999px;
  background:rgb(12,14,22); border:1px solid rgba(255,255,255,.14);
  font-size:.72rem; color:#EEF1F7; letter-spacing:.02em; white-space:nowrap;
}
.sello-demo b{ font-weight:600 }
.sello-demo a{ color:#fff; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.4) }
@media (max-width:1100px){ .sello-demo__larga{ display:none } }
@media (max-width:860px){ .sello-demo{ left:1rem; transform:none; font-size:.66rem; padding:.42rem .7rem; gap:.4rem } }

.js-listo .reveal{ opacity:0; transform:translate3d(0,34px,0); transition:opacity .9s var(--suave), transform 1.1s var(--suave); transition-delay:var(--d, 0s) }
.js-listo .reveal.is-in{ opacity:1; transform:none }
.js-listo .reveal.is-sale{ opacity:0; transform:translate3d(0,-34px,0); transition-duration:.5s, .6s; transition-delay:0s }
.js-listo .rev-img{ opacity:0; transform:scale(.92); transition:opacity 1s var(--suave), transform 1.3s var(--suave); transition-delay:var(--d, 0s) }
.js-listo .rev-img.is-in{ opacity:1; transform:none }
.js-listo .rev-img.is-sale{ opacity:0; transform:scale(.96); transition-delay:0s }
.js-listo .tit .w{ display:inline-block; overflow:clip; vertical-align:bottom; padding-bottom:.14em; margin-bottom:-.14em }
.js-listo .tit .w > i{ display:inline-block; font-style:normal; transform:translate3d(0,130%,0) rotate(4deg); transform-origin:0 100%; transition:transform 1s var(--suave); transition-delay:calc(var(--k, 0) * .055s) }
.js-listo .tit em .w > i{ font-style:italic }
.js-listo .tit.is-in .w > i{ transform:none }
.js-listo .tit.is-sale .w > i{ transform:translate3d(0,-130%,0); transition-duration:.5s; transition-delay:0s }

.js-listo .dias .dia.reveal, .js-listo .paquetes .paquete.reveal{ transform:perspective(900px) rotateX(18deg) translate3d(0,44px,0); transform-origin:50% 100% }
.js-listo .dias .dia.reveal.is-in, .js-listo .paquetes .paquete.reveal.is-in{ transform:none }

@media (prefers-reduced-motion:reduce){
  *, *::before, *::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important }
}

:root{ --led-a:#D4B07A; --led-b:#FF9A4D; --led-c:#FF6B6B }
[data-led]{ --lc:var(--led-a); --l1:40%; --l2:34%; --l3:52%; --lv:.55 }
[data-led~="b"]{ --lc:var(--led-b) }
[data-led~="c"]{ --lc:var(--led-c) }
[data-led~="suave"]{ --l1:26%; --l2:20%; --l3:34%; --lv:.35 }
[data-led~="fuerte"]{ --l1:62%; --l2:54%; --l3:70%; --lv:.8 }

[data-led][data-led]{
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--lc) var(--l1), transparent),
    0 0 24px color-mix(in srgb, var(--lc) var(--l2), transparent),
    0 34px 70px -22px color-mix(in srgb, var(--lc) var(--l3), transparent);
}
.led-vivo{
  position:absolute; inset:0; z-index:3; border-radius:inherit; pointer-events:none; overflow:hidden;
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--lc) 80%, #fff), inset 0 0 30px color-mix(in srgb, var(--lc) 30%, transparent);
  opacity:.2; animation:ledRespira var(--lt, 5.5s) ease-in-out var(--ld, 0s) infinite alternate;
}
.led-vivo::after{
  content:""; position:absolute; bottom:0; left:0; width:30%; height:2px;
  background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--lc) 45%, #fff), transparent);
  transform:translateX(-110%); animation:ledCorre calc(var(--lt, 5.5s) * 1.3) cubic-bezier(.6,0,.4,1) var(--ld, 0s) infinite;
}
@keyframes ledRespira{ from{ opacity:.12 } to{ opacity:var(--lv) } }
@keyframes ledCorre{ 0%{ transform:translateX(-110%) } 55%,100%{ transform:translateX(400%) } }

.led-aro{
  position:absolute; inset:0; z-index:3; border-radius:inherit; padding:2px; pointer-events:none; overflow:hidden;
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude;
}
.led-aro i{
  position:absolute; left:50%; top:50%; width:var(--diag, 140%); aspect-ratio:1;
  background:conic-gradient(from 0deg, transparent 0 8%, var(--led-a) 18%, transparent 30%, transparent 42%, var(--led-b) 55%, transparent 66%, transparent 74%, var(--led-c) 86%, transparent 96%);
  transform:translate(-50%,-50%); animation:ledAro 9s linear infinite;
}
@keyframes ledAro{ to{ transform:translate(-50%,-50%) rotate(360deg) } }
.form{ position:relative }

.h2 em, .hero__l2 em, .momento__hora{ text-shadow:0 0 18px rgba(255,154,77,.42), 0 0 46px rgba(212,176,122,.26) }
.js-listo .tit.is-lit .w{ overflow:visible }
.js-listo .tit.is-lit em .w > i{ animation:tuboPrende 1.1s linear both; text-shadow:0 0 2px rgba(255,236,214,.7), 0 0 14px rgba(255,154,77,.75), 0 0 36px rgba(255,120,60,.45), 0 0 70px rgba(212,176,122,.3) }
@keyframes tuboPrende{ 0%{ opacity:.35 } 10%{ opacity:1 } 16%{ opacity:.4 } 26%{ opacity:1 } 34%{ opacity:.6 } 44%,100%{ opacity:1 } }

.item__nom{ position:relative }
.item__nom::after{
  content:attr(data-nom); position:absolute; left:0; right:0; top:0; pointer-events:none;
  color:#FFE3C2; text-shadow:0 0 10px rgba(255,154,77,.85), 0 0 28px rgba(255,120,60,.5);
  opacity:0; transition:opacity .6s ease .15s;
}
.item.is-on .item__nom::after, .item.is-luz .item__nom::after{ opacity:1 }
.escenario__pie b{ text-shadow:0 0 14px rgba(255,154,77,.6), 0 0 36px rgba(212,176,122,.35) }
.item__mini{ box-shadow:0 0 0 1px rgba(212,176,122,.35), 0 10px 24px -8px rgba(255,154,77,.55) }

.dia[data-dia="2"]{ --dc:#D2566E }
.dia[data-dia="3"]{ --dc:#F08A4B }
.dia[data-dia="4"]{ --dc:#D4B07A }
.dia[data-dia="5"]{ --dc:#B98AFF }
.dia[data-dia="6"]{ --dc:#FF6B6B }
.dia[data-dia="0"]{ --dc:#F4B860 }
.dias .dia{
  background:linear-gradient(165deg, color-mix(in srgb, var(--dc) 22%, var(--sup)) 0%, var(--sup) 58%);
  border-color:color-mix(in srgb, var(--dc) 38%, transparent); overflow:hidden;
}
.dias .dia[data-led]{ --lc:var(--dc) }
.dias .dia::before{
  content:""; position:absolute; left:14%; right:14%; top:0; height:2px; border-radius:2px;
  background:linear-gradient(90deg, transparent, var(--dc), #fff8, var(--dc), transparent);
  box-shadow:0 0 14px 2px color-mix(in srgb, var(--dc) 70%, transparent);
}
.dias .dia__nom{ color:var(--dc) }
.dias .dia .etq{ border-color:color-mix(in srgb, var(--dc) 60%, transparent); color:var(--dc) }
.dias .dia__ir{ color:var(--dc) }
.dias .dia.es-hoy{ border-color:var(--dc); background:linear-gradient(165deg, color-mix(in srgb, var(--dc) 34%, var(--sup-2)) 0%, var(--sup-2) 62%) }
.dias .dia__hoy{ background:var(--dc); box-shadow:0 0 16px color-mix(in srgb, var(--dc) 80%, transparent) }
@media (hover:hover){
  .dias .dia{ transition:transform .5s var(--suave) }
  .dias .dia:hover{ transform:translateY(-8px) rotate(-.6deg) }
}
.js-listo .dias .dia.reveal{ transform:translate3d(-40px,90px,0) rotate(-7deg) scale(.9); transform-origin:50% 100% }
.js-listo .dias .dia.reveal:nth-child(even){ transform:translate3d(40px,90px,0) rotate(7deg) scale(.9) }
.js-listo .dias .dia.reveal.is-in{ transform:none }
.js-listo .dias .dia.reveal.is-sale{ transform:translate3d(0,-50px,0) scale(.94) }
@media (max-width:760px){
  .js-listo .dias .dia.reveal, .js-listo .dias .dia.reveal:nth-child(even){ transform:translate3d(90px,20px,0) rotate(5deg) scale(.92) }
  .dias{ padding-top:1rem; padding-bottom:2.4rem }
}

.js-listo .rev-foto{ opacity:0; transition:opacity .9s var(--suave), transform 1.2s var(--suave); transition-delay:var(--d, 0s) }
.js-listo .rev-foto img{ transform:scale(1.28); transition:transform 1.8s var(--suave) }
.js-listo .rev-foto[data-lado="izq"]{ transform:translate3d(-70px,0,0) rotate(-2deg) }
.js-listo .rev-foto[data-lado="der"]{ transform:translate3d(70px,0,0) rotate(2deg) }
.js-listo .rev-foto[data-lado="arriba"]{ transform:translate3d(0,-60px,0) }
.js-listo .rev-foto[data-lado="abajo"]{ transform:translate3d(0,80px,0) }
.js-listo .rev-foto[data-lado="cerca"]{ transform:scale(.78) }
.js-listo .rev-foto[data-lado="lejos"]{ transform:scale(1.12) }
.js-listo .rev-foto[data-lado="lejos"] img{ transform:scale(1.5) }
.js-listo .rev-foto.is-in{ opacity:1; transform:none }
.js-listo .rev-foto.is-in img{ transform:none }
.js-listo .rev-foto.is-in:hover img{ transform:scale(1.05) }
.js-listo .rev-foto.is-sale{ opacity:0; transform:translate3d(0,-50px,0) scale(.94); transition-delay:0s }
.cerca{ overflow-x:clip }

.hero::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px; z-index:1; pointer-events:none;
  background:linear-gradient(90deg, transparent, var(--led-b) 20%, #FFE3C2 50%, var(--led-a) 80%, transparent);
  box-shadow:0 0 18px 3px rgba(255,154,77,.55), 0 0 60px 10px rgba(212,176,122,.25);
}
@media (prefers-reduced-motion:reduce){ .led-vivo, .led-vivo::after, .led-aro i, .sintacc__halo{ animation:none } }

.escenas{ list-style:none; margin:0 0 clamp(2.6rem, 5vw, 3.8rem); padding:0; display:grid; grid-template-columns:repeat(4, minmax(0, 250px)); justify-content:space-between; gap:clamp(.8rem, 2vw, 1.4rem) }
.escena{ position:relative; aspect-ratio:4/5; border-radius:20px; overflow:hidden; background:var(--sup) }

.escena:nth-child(odd){ rotate:-2deg }
.escena:nth-child(even){ rotate:1.6deg; translate:0 16px }
@media (hover:hover){
  .escena{ transition:rotate .5s var(--suave), scale .5s var(--suave) }
  .escena:hover{ rotate:0deg; scale:1.04; z-index:5 }
}
.escena img{ display:block; width:100%; height:100%; object-fit:cover }
.escena__pie{
  position:absolute; left:.6rem; bottom:.6rem; z-index:4; padding:.28rem .7rem; border-radius:999px;
  background:rgba(12,11,10,.8); border:1px solid color-mix(in srgb, var(--lc, var(--ambar)) 55%, transparent);
  font-size:.74rem; font-weight:600; letter-spacing:.04em; color:var(--crema);
}
@media (max-width:760px){
  .escenas{ grid-template-columns:repeat(2, minmax(0,1fr)) }
  .escena{ aspect-ratio:1; border-radius:16px }
  .escena:nth-child(odd){ rotate:-1.4deg }
  .escena:nth-child(even){ rotate:1.2deg; translate:0 10px }
}

.mozo-btn{
  position:fixed; left:1rem; bottom:1rem; z-index:112;
  display:flex; align-items:center; gap:.6rem; height:54px; padding:0 18px 0 6px; border-radius:999px; cursor:pointer;
  background:var(--sup-2); color:var(--crema); border:1px solid rgba(212,176,122,.6);
  font:600 .9rem/1 var(--sans);
  box-shadow:0 10px 30px rgba(0,0,0,.5), 0 0 24px rgba(255,154,77,.28);
  animation:mozoLlega .7s var(--suave) 1.4s both;
}
.mozo-btn:hover{ border-color:var(--ambar) }
.mozo-btn__icono{ position:relative; width:42px; height:42px; flex:none; border-radius:50%; display:grid; place-items:center; background:var(--ambar); color:var(--sobre-ambar) }
.mozo-btn__icono svg, .mozo__avatar svg{ width:26px; height:26px }
.mozo-btn__punto{ position:absolute; right:0; top:0; width:11px; height:11px; border-radius:50%; background:#2FD47A; box-shadow:0 0 0 2px var(--sup-2) }
.mozo-btn__corto{ display:none }
@keyframes mozoLlega{ from{ opacity:0; transform:translate3d(0,24px,0) } to{ opacity:1; transform:none } }

.mozo{
  position:fixed; z-index:113; left:1rem; bottom:calc(1rem + 54px + 12px);
  width:min(400px, calc(100vw - 2rem)); height:min(640px, calc(100dvh - 130px));
  opacity:0; transform:translateY(16px) scale(.97); transform-origin:0 100%;
  transition:opacity .3s ease, transform .45s var(--suave); pointer-events:none;
}
.mozo.is-open{ opacity:1; transform:none; pointer-events:auto }
.mozo[hidden]{ display:none }
.mozo button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer }
.mozo__caja{
  height:100%; display:flex; flex-direction:column; overflow:hidden;
  background:var(--negro-2); border:1px solid rgba(212,176,122,.35); border-radius:24px;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.9), 0 0 44px rgba(255,154,77,.2);
}
.mozo__top{ display:flex; align-items:center; gap:.7rem; padding:.75rem .6rem .75rem .9rem; background:var(--sup-2); border-bottom:1px solid var(--linea) }
.mozo__avatar{ width:40px; height:40px; flex:none; border-radius:50%; display:grid; place-items:center; background:var(--ambar); color:var(--sobre-ambar) }
.mozo__quien{ flex:1; min-width:0; display:flex; flex-direction:column; line-height:1.25 }
.mozo__quien strong{ font-weight:600; font-size:.98rem; letter-spacing:.14em }
.mozo__estado{ font-size:.74rem; color:var(--crema-2); display:flex; align-items:center; gap:.4rem }
.mozo__estado::before{ content:""; width:7px; height:7px; border-radius:50%; background:#2FD47A }
.mozo__icono{ width:40px; height:40px; flex:none; display:grid; place-items:center; border-radius:50%; color:var(--crema-2); transition:background-color .2s, color .2s }
.mozo .mozo__icono:hover{ background:rgba(255,255,255,.08); color:var(--crema) }
.mozo__log{ flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:1rem .85rem .6rem; display:flex; flex-direction:column; gap:.5rem }
.mozo__msg{ max-width:86%; padding:.6rem .85rem; border-radius:16px; font-size:.92rem; line-height:1.45; white-space:pre-line; animation:mozoEntra .35s var(--suave) both }
.mozo__msg--bot{ align-self:flex-start; background:var(--sup-2); border:1px solid var(--linea); border-bottom-left-radius:5px }
.mozo__msg--yo{ align-self:flex-end; background:var(--ambar); color:var(--sobre-ambar); font-weight:600; border-bottom-right-radius:5px }
.mozo__msg--ancho{ padding:0; background:none; border:0; max-width:96%; width:96% }
@keyframes mozoEntra{ from{ opacity:0; transform:translateY(8px) } to{ opacity:1; transform:none } }
.mozo__escribe{ display:flex; gap:4px; padding:.8rem .9rem }
.mozo__escribe i{ width:6px; height:6px; border-radius:50%; background:var(--crema-2); animation:mozoPunto 1s infinite ease-in-out }
.mozo__escribe i:nth-child(2){ animation-delay:.15s }
.mozo__escribe i:nth-child(3){ animation-delay:.3s }
@keyframes mozoPunto{ 0%,60%,100%{ opacity:.35; transform:none } 30%{ opacity:1; transform:translateY(-3px) } }
.mozo__final{ display:flex; flex-direction:column; gap:.55rem; padding:.9rem; background:var(--sup-2); border:1px solid rgba(212,176,122,.4); border-radius:16px; box-shadow:0 0 22px rgba(255,154,77,.16) }
.mozo__final-tit{ font-size:.74rem; color:var(--crema-2); letter-spacing:.03em }
.mozo__final-msg{ align-self:flex-end; max-width:100%; margin:0; background:#144D37; color:#E9F5EE; border-radius:12px 12px 4px 12px; padding:.6rem .8rem; font-size:.88rem; line-height:1.45; white-space:pre-line }
.mozo__pie{ padding:.7rem .75rem calc(.75rem + env(safe-area-inset-bottom, 0px)); background:var(--sup-2); border-top:1px solid var(--linea); display:flex; flex-direction:column; gap:.5rem }
.mozo__pie:empty{ display:none }
.mozo__ops{ display:flex; flex-wrap:wrap; gap:.4rem; justify-content:flex-end }
.mozo__ops--horas{ display:grid; grid-template-columns:repeat(auto-fill, minmax(4.4rem, 1fr)) }
.mozo .mozo__op{ min-height:40px; padding:.5rem .9rem; border-radius:999px; font-size:.86rem; color:var(--crema); background:rgba(255,255,255,.04); border:1px solid rgba(212,176,122,.5); animation:mozoEntra .35s ease both; animation-delay:calc(var(--i) * 35ms); transition:background-color .2s, border-color .2s }
.mozo .mozo__op:hover{ background:rgba(212,176,122,.16); border-color:var(--ambar) }
.mozo .mozo__op--fuerte{ background:var(--ambar); border-color:var(--ambar); color:var(--sobre-ambar); font-weight:700 }
.mozo .mozo__op--fuerte:hover{ background:#E2C08E }
.mozo__campo{ display:flex; gap:.5rem }
.mozo__campo input{ flex:1; min-width:0; font:16px var(--sans); background:rgba(255,255,255,.05); border:1px solid var(--linea-2); border-radius:999px; padding:.6rem 1rem; color:var(--crema) }
.mozo__campo input:focus{ outline:none; border-color:var(--ambar) }
.mozo__campo.is-error input{ border-color:var(--cereza) }
.mozo .mozo__enviar{ width:44px; height:44px; flex:none; border-radius:50%; display:grid; place-items:center; background:var(--ambar); color:var(--sobre-ambar) }
.mozo__fila{ display:flex; justify-content:center; gap:1rem; flex-wrap:wrap }
.mozo .mozo__saltear{ font-size:.84rem; color:var(--crema-2); padding:.3rem .5rem; text-decoration:underline; text-underline-offset:3px }
.mozo .mozo__saltear:hover{ color:var(--crema) }
.mozo__wa{ display:flex; align-items:center; justify-content:center; gap:.55rem; min-height:50px; border-radius:999px; background:#25D366; color:#072A15; font-weight:700; font-size:.96rem; text-decoration:none }
.mozo__link{ color:var(--ambar); text-decoration:underline; text-underline-offset:3px; font-weight:600 }

.wsp__cartel{
  position:absolute; right:calc(100% + 14px); top:50%; white-space:nowrap; pointer-events:none;
  padding:.55rem .95rem; border-radius:14px; background:var(--crema); color:var(--negro);
  font:700 .84rem/1.25 var(--sans);
  box-shadow:0 12px 28px -10px rgba(0,0,0,.75), 0 0 24px rgba(37,211,102,.4);
  opacity:0; transform:translate3d(14px,-50%,0) scale(.92); transform-origin:100% 50%;
  transition:opacity .45s ease, transform .6s var(--suave);
}
.wsp__cartel::after{ content:""; position:absolute; right:-5px; top:50%; width:11px; height:11px; margin-top:-5.5px; background:inherit; border-radius:2px; transform:rotate(45deg) }
.wsp__cartel.is-on{ opacity:1; transform:translate3d(0,-50%,0) }

@media (max-width:860px){
  .mozo-btn{ height:50px; padding:0 15px 0 5px; font-size:.86rem }
  .mozo-btn__icono{ width:40px; height:40px }
  .mozo-btn__label{ display:none }
  .mozo-btn__corto{ display:inline }
  .sello-demo{ bottom:calc(1rem + 58px); transition:opacity .4s ease, transform .5s var(--suave) }
  .js-listo .sello-demo{ opacity:0; transform:translate3d(0,14px,0); pointer-events:none }
  .js-listo.sello-ve .sello-demo{ opacity:1; transform:none; pointer-events:auto }
  .mozo{ inset:0; width:auto; height:100dvh; transform:translateY(24px); transform-origin:50% 100% }
  .mozo__caja{ border-radius:0; border:0 }
  .mozo-abierto .wsp, .mozo-abierto .sello-demo, .mozo-abierto .mozo-btn{ opacity:0; pointer-events:none }
  .wsp__cartel{ right:0; top:auto; bottom:calc(100% + 12px); width:9.4rem; white-space:normal; text-align:right; transform:translate3d(0,10px,0) scale(.92); transform-origin:100% 100% }
  .wsp__cartel::after{ right:22px; top:auto; bottom:-5px; margin-top:0 }
  .wsp__cartel.is-on{ transform:none }
}
@media (prefers-reduced-motion:reduce){
  .mozo-btn, .mozo__msg, .mozo .mozo__op, .mozo__escribe i{ animation:none }
  .wsp__cartel, .mozo{ transition:opacity .2s }
}

[data-neon] .ln{ display:inline-block }
.nav__letras{ color:#FFEBD2; text-shadow:0 0 5px rgba(255,200,140,.6), 0 0 16px rgba(255,154,77,.5), 0 0 36px rgba(212,176,122,.32) }
.nav__isotipo{ filter:drop-shadow(0 0 3px rgba(255,200,140,.85)) drop-shadow(0 0 12px rgba(255,154,77,.55)) }
.js-listo .nav__letras .ln{ opacity:.3 }
.js-listo .nav__letras.is-on .ln{ animation:tuboPrende 1.1s linear calc(var(--i) * 70ms) both }

.pie__in{ position:relative; isolation:isolate }
.pie__marca{
  position:relative; font-size:clamp(2rem, 8vw, 5.6rem); letter-spacing:.3em; padding-left:.3em; font-weight:500;
  color:#FFEBD2; margin:.5rem 0 1.4rem;
  text-shadow:0 0 4px rgba(255,220,180,.7), 0 0 18px rgba(255,154,77,.6), 0 0 48px rgba(255,120,60,.35), 0 0 90px rgba(212,176,122,.25);
}

.pie__marca::after{
  content:attr(aria-label); position:absolute; left:0; right:0; top:88%; padding-left:.3em; pointer-events:none;
  transform:scaleY(-1); opacity:.16; text-shadow:none; color:#FFC98F;
  -webkit-mask-image:linear-gradient(0deg, #000, transparent 70%); mask-image:linear-gradient(0deg, #000, transparent 70%);
}

.pie__marca::before{
  content:""; position:absolute; left:-10%; right:-10%; top:-60%; bottom:-60%; z-index:-1; pointer-events:none;
  background:radial-gradient(closest-side, rgba(255,154,77,.22), rgba(212,86,110,.08) 60%, transparent);
  opacity:.5;
}
.pie__marca.is-on::before{ animation:pieRespira 4.5s ease-in-out 1.4s infinite alternate }
@keyframes pieRespira{ from{ opacity:.45 } to{ opacity:1 } }
.js-listo .pie__marca .ln{ opacity:.1 }
.js-listo .pie__marca.is-on .ln{ animation:tuboPrende 1.2s linear calc(var(--i) * 110ms) both }
.pie{ overflow-x:clip }

@media (min-width:761px){ .carta .lista .item{ padding-block:2.3rem } }

.fuera{
  position:relative; margin:0; height:clamp(440px, 54vw, 780px); overflow:hidden; background:var(--negro);
  -webkit-mask-image:linear-gradient(180deg, transparent 0%, #000 18%, #000 80%, transparent 100%);
          mask-image:linear-gradient(180deg, transparent 0%, #000 18%, #000 80%, transparent 100%);
}
.fuera picture, .fuera img{ position:absolute; inset:0; width:100%; height:100% }
.fuera img{ object-fit:cover; object-position:50% 70%; transform:scale(1.2); transition:transform 2.6s var(--suave) }
.fuera.is-in img{ transform:scale(1.02) }

.fuera::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(90deg, rgba(12,11,10,.82) 0%, rgba(12,11,10,.5) 32%, rgba(12,11,10,0) 58%),
             linear-gradient(180deg, rgba(120,60,140,.16) 0%, rgba(12,11,10,0) 35%),
             radial-gradient(50% 36% at 62% 74%, rgba(255,154,77,.14), transparent 70%);
}
.fuera__pie{
  position:absolute; z-index:1; left:max(clamp(1rem, 4vw, 2.5rem), (100% - var(--ancho)) / 2 + clamp(1rem, 4vw, 2.5rem)); right:1rem; bottom:21%;
  display:flex; flex-direction:column; gap:.6rem; max-width:34rem;
}
.fuera__pie b{ font-family:var(--display); font-weight:400; font-size:clamp(2rem, 1.2rem + 3.2vw, 4rem); line-height:1.02; letter-spacing:-.01em; color:var(--crema) }
.fuera__pie b em{ font-family:var(--serif); color:var(--ambar); text-shadow:0 0 18px rgba(255,154,77,.6), 0 0 44px rgba(212,176,122,.35) }
.fuera__pie span{ color:var(--crema-2); max-width:32rem }
.fuera__dato{ font-size:.78rem; letter-spacing:.24em; text-transform:uppercase; color:var(--ambar) !important }
.js-listo .fuera__pie > *{ opacity:0; transform:translate3d(0,34px,0); transition:opacity .9s ease, transform 1.2s var(--suave) }
.js-listo .fuera__pie > *:nth-child(2){ transition-delay:.15s }
.js-listo .fuera__pie > *:nth-child(3){ transition-delay:.3s }
.js-listo .fuera.is-in .fuera__pie > *{ opacity:1; transform:none }
@media (max-aspect-ratio: 4/5){
  .fuera{ height:auto; aspect-ratio:4/5 }
  .fuera::after{ background:linear-gradient(180deg, rgba(12,11,10,.1) 10%, rgba(12,11,10,.7) 32%, rgba(12,11,10,0) 55%) }
  .fuera__pie{ top:16%; bottom:auto }
}
@media (prefers-reduced-motion:reduce){
  .js-listo .nav__letras .ln, .js-listo .pie__marca .ln, .js-listo .fuera__pie > *{ opacity:1; transform:none; animation:none }
  .fuera img{ transform:none; transition:none }
  .pie__marca.is-on::before{ animation:none }
}

.hero__l2 em{ position:relative; isolation:isolate; display:inline-block }
.hero__l2 em::before{
  content:""; position:absolute; left:-8%; right:-6%; top:8%; bottom:-4%; z-index:-1; pointer-events:none;
  background:radial-gradient(closest-side, rgba(255,154,77,.55), rgba(212,86,110,.22) 55%, transparent);
  filter:blur(18px); opacity:0;
  animation:tardeSube 4s ease-in 1.6s forwards, tardeRespira 5s ease-in-out 5.6s infinite alternate;
}
.hero__l2 em::after{
  content:attr(data-txt); position:absolute; left:0; top:0; pointer-events:none; color:#FFD9A8;
  text-shadow:0 0 4px rgba(255,236,210,.8), 0 0 16px rgba(255,154,77,.85), 0 0 40px rgba(255,120,60,.55), 0 0 80px rgba(212,86,110,.35);
  opacity:0; animation:tardeSube 4s ease-in 1.6s forwards, tardeRespira 5s ease-in-out 5.6s infinite alternate;
}
@keyframes tardeSube{ 0%{ opacity:0 } 30%{ opacity:.2 } 60%{ opacity:.5 } 100%{ opacity:.9 } }
@keyframes tardeRespira{ from{ opacity:.9 } to{ opacity:.55 } }
@media (prefers-reduced-motion:reduce){ .hero__l2 em::before, .hero__l2 em::after{ animation:none; opacity:.7 } }

.dias-cinta{
  overflow-x:clip; margin-inline:calc(-1 * clamp(1rem, 4vw, 2.5rem)); padding:1.6rem 0 2.8rem;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
          mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.dias.dias--cinta{
  display:flex; width:max-content; gap:1rem; margin:0; padding:0 0 0 1rem; overflow:visible; scroll-snap-type:none;
  animation:diasCinta 56s linear infinite;
}
.dias--cinta .dia{ flex:0 0 clamp(250px, 21vw, 290px); min-height:370px; margin:0 }
.dias--cinta .dia.es-hoy{ box-shadow:0 0 0 1px var(--dc), 0 0 34px color-mix(in srgb, var(--dc) 45%, transparent), 0 30px 80px -20px color-mix(in srgb, var(--dc) 60%, transparent) }
.dias-cinta:hover .dias--cinta, .dias-cinta:focus-within .dias--cinta,
.dias-cinta.is-fuera .dias--cinta, .dias-cinta.is-toque .dias--cinta{ animation-play-state:paused }
@keyframes diasCinta{ to{ transform:translate3d(-50%,0,0) } }
@media (max-width:760px){
  .dias.dias--cinta{ animation-duration:44s }
  .dias--cinta .dia{ flex-basis:250px; min-height:340px }
}

.h2.led-fondo{ isolation:isolate }
.h2.led-fondo em{ position:relative }
.h2.led-fondo em::before{
  content:""; position:absolute; left:-10%; right:-8%; top:0; bottom:-12%; z-index:-1; pointer-events:none;
  background:radial-gradient(closest-side, rgba(255,154,77,.5), rgba(212,86,110,.2) 55%, transparent);
  filter:blur(16px); opacity:0; transition:opacity 3.2s ease-in;
}
.h2.led-fondo.is-lit em::before{ opacity:.9; animation:tardeRespira 5s ease-in-out 3.2s infinite alternate }
.h2.led-fondo:not(.tit) em::before{ opacity:.8 }

.nav__letras{ position:relative }
.nav__letras::after{
  content:attr(aria-label); position:absolute; left:0; top:0; pointer-events:none; letter-spacing:inherit; color:#FFF1DE;
  text-shadow:0 0 4px #fff, 0 0 14px rgba(255,170,90,.95), 0 0 32px rgba(255,120,60,.7), 0 0 60px rgba(212,176,122,.45);
  opacity:0; animation:neonLate 3.6s ease-in-out 2s infinite;
}
.nav__isotipo{ animation:isoLate 3.6s ease-in-out 2s infinite }
@keyframes neonLate{ 0%,100%{ opacity:.05 } 50%{ opacity:1 } }
@keyframes isoLate{ 0%,100%{ opacity:.75 } 50%{ opacity:1 } }
.hero__l2 em::after{ animation:tardeSube 4s ease-in 1.6s forwards, tardeLate 3.6s ease-in-out 5.6s infinite }
.hero__l2 em::before{ animation:tardeSube 4s ease-in 1.6s forwards, tardeLate 3.6s ease-in-out 5.6s infinite }
@keyframes tardeLate{ 0%,100%{ opacity:.95 } 50%{ opacity:.25 } }
@media (prefers-reduced-motion:reduce){ .nav__letras::after, .nav__isotipo{ animation:none } .nav__letras::after{ opacity:.6 } }

.dia__foto{ display:block; width:calc(100% + 2.4rem); max-width:none; margin:-1.4rem -1.2rem 1rem; aspect-ratio:4/3; height:auto; object-fit:cover; border-radius:var(--r) var(--r) 0 0 }
.cartel{ position:relative; isolation:isolate; padding:1rem 0 0; perspective:1400px }
.agenda{ overflow-x:clip }
.cartel__fondo{
  position:absolute; left:50%; top:46%; z-index:-1; margin:0; pointer-events:none; white-space:nowrap;
  font-family:var(--display); font-size:clamp(5rem, 17vw, 15rem); line-height:1; letter-spacing:-.02em; text-transform:uppercase;
  color:transparent; -webkit-text-stroke:1px color-mix(in srgb, var(--dc) 55%, transparent);
  text-shadow:0 0 60px color-mix(in srgb, var(--dc) 35%, transparent);
  transform:translate3d(-50%,-50%,0) scale(.94); opacity:0;
}
.cartel__fondo.is-on{ opacity:.55; transform:translate3d(-50%,-50%,0); transition:opacity 1s ease, transform 1.4s var(--suave) }
.dias.dias--cartel{
  position:relative; display:grid; grid-template-columns:1fr; place-items:center; overflow:visible;
  margin:0; padding:0; height:clamp(560px, 64vw, 640px); transform-style:preserve-3d;
}
.dias--cartel .dia{
  grid-area:1/1; width:clamp(270px, 27vw, 340px); height:100%; max-height:590px; margin:0; padding:0; overflow:hidden; cursor:pointer;
  border-radius:26px; justify-content:flex-end;
  transform:translate3d(calc(var(--k) * 78%), 0, calc(var(--ak) * -190px)) rotateY(calc(var(--k) * -24deg));
  opacity:calc(1 - var(--ak) * .3); z-index:calc(10 - var(--ak));
  transition:transform 1s var(--suave), opacity .8s ease;
}
.dias--cartel .dia[data-lejos]{ opacity:0; pointer-events:none }
.dias--cartel .dia.is-frente{ cursor:default }
.dias--cartel .dia__foto{ position:absolute; inset:0; width:100%; height:100%; margin:0; aspect-ratio:auto; border-radius:0; z-index:-2; transform:scale(1.12); transition:transform 5s ease }
.dias--cartel .dia.is-frente .dia__foto{ transform:scale(1) }
.dias--cartel .dia::after{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(180deg, rgba(8,7,6,.25) 0%, rgba(8,7,6,0) 30%, rgba(8,7,6,.7) 58%, rgba(8,7,6,.96) 100%),
             linear-gradient(0deg, color-mix(in srgb, var(--dc) 30%, transparent), transparent 45%);
}
.dias--cartel .dia > *:not(.dia__foto):not(.led-vivo):not(.dia__hoy){ position:relative; margin-inline:1.4rem }
.dias--cartel .dia__nom{ margin-top:0; font-size:.8rem }
.dias--cartel .dia h3{ font-size:clamp(2rem, 2.6vw, 2.5rem); margin:.4rem 1.4rem .5rem; text-shadow:0 2px 20px rgba(0,0,0,.6) }
.dias--cartel .dia > p:not(.dia__nom):not(.dia__pie){ flex:0; color:rgba(242,236,228,.82) }
.dias--cartel .dia__ir{ margin-bottom:1.3rem }
.dias--cartel .dia.is-frente{ box-shadow:0 0 0 1px var(--dc), 0 0 50px color-mix(in srgb, var(--dc) 45%, transparent), 0 40px 90px -20px color-mix(in srgb, var(--dc) 65%, transparent) }
.dias--cartel .dia__hoy{ z-index:2; top:1.2rem; right:1.2rem; font-size:.78rem; padding:.3rem .8rem; box-shadow:0 0 22px var(--dc) }
.cartel__mando{ display:flex; align-items:center; justify-content:center; gap:.8rem; margin-top:1.6rem }
.cartel__chips{ display:flex; flex-wrap:wrap; justify-content:center; gap:.4rem }
.cartel__chips button, .cartel__flecha{
  min-height:42px; padding:0 1rem; border-radius:999px; border:1px solid var(--linea-2); background:var(--sup); color:var(--crema-2);
  font:600 .82rem var(--sans); letter-spacing:.08em; text-transform:uppercase; cursor:pointer; transition:background-color .3s, color .3s, border-color .3s;
}
.cartel__flecha{ width:44px; padding:0; font-size:1.05rem; letter-spacing:0 }
.cartel__chips button.es-hoy{ border-color:color-mix(in srgb, var(--dc) 60%, transparent) }
.cartel__chips button[aria-current="true"]{ background:var(--dc); border-color:var(--dc); color:#120d0a; box-shadow:0 0 18px color-mix(in srgb, var(--dc) 55%, transparent) }
.cartel__flecha:hover, .cartel__chips button:hover{ border-color:var(--crema-2); color:var(--crema) }
@media (max-width:760px){
  .dias.dias--cartel{ height:500px; margin-inline:0; padding:0 }
  .dias--cartel .dia{ width:74vw; max-height:500px; transform:translate3d(calc(var(--k) * 84%), 0, calc(var(--ak) * -160px)) rotateY(calc(var(--k) * -18deg)) }
  .cartel__flecha{ display:none }
  .cartel__chips button{ padding:0 .75rem }
}

.regalo{
  position:relative; display:flex; align-items:center; gap:1.2rem 1.6rem; flex-wrap:wrap; margin-top:clamp(2rem,4vw,3rem);
  padding:clamp(1.2rem,2.6vw,1.8rem) clamp(1.2rem,3vw,2.2rem); border-radius:var(--r); text-decoration:none; color:var(--crema);
  background:linear-gradient(120deg, color-mix(in srgb, var(--led-b) 16%, var(--sup)), var(--sup) 60%); border:1px solid color-mix(in srgb, var(--led-b) 40%, transparent);
}
.regalo__icono{ width:52px; height:52px; flex:none; display:grid; place-items:center; border-radius:50%; background:var(--ambar); color:var(--sobre-ambar) }
.regalo__icono svg{ width:26px; height:26px }
.regalo__txt{ flex:1 1 20rem; display:flex; flex-direction:column; gap:.3rem }
.regalo__txt b{ font-family:var(--display); font-weight:400; font-size:clamp(1.5rem, 1.1rem + 1.2vw, 2.1rem); line-height:1.1 }
.regalo__txt span{ color:var(--crema-2) }
.regalo__ir{ font-weight:700; color:var(--ambar); white-space:nowrap; transition:transform .4s var(--suave) }
.regalo:hover .regalo__ir{ transform:translateX(6px) }
.mapa-link{ display:inline-flex; align-items:center; gap:.5rem; margin-top:1rem; padding:.6rem 1.1rem; border-radius:999px; border:1px solid var(--linea-2); color:var(--crema); text-decoration:none; font-size:.9rem; font-weight:600 }
.mapa-link svg{ width:18px; height:18px; fill:none; stroke:var(--ambar); stroke-width:1.6 }
.mapa-link:hover{ border-color:var(--ambar) }

.armador .btn--ambar{ background:var(--negro); color:var(--crema); box-shadow:0 12px 30px -12px rgba(0,0,0,.5) }
.armador .btn--ambar svg{ color:#25D366 }
.armador .btn--ambar::after{ background:#2A2420 }

.momento__neon{ position:relative; isolation:isolate; display:inline-block }
.momento__neon .ln{ white-space:pre }
.momento__neon--sol  { --n1:255,154,77;  --n2:255,94,58;   color:#FFE9D2 }
.momento__neon--oro, .momento__neon--pista{ --n1:255,154,77; --n2:255,94,58; color:#FFE9D2 }

.momento__neon{
  text-shadow:0 0 3px rgba(255,255,255,.75), 0 0 12px rgba(var(--n1),.9), 0 0 30px rgba(var(--n1),.6), 0 0 64px rgba(var(--n2),.45);
}
.momento__neon::before{
  content:''; position:absolute; z-index:-1; left:-18%; right:-18%; top:-55%; bottom:-55%; pointer-events:none;
  background:radial-gradient(closest-side, rgba(var(--n1),.38), rgba(var(--n2),.14) 60%, transparent);
  opacity:0; transition:opacity .8s ease;
}
.momento__neon.is-on::before{ opacity:1; animation:momentoRespira 3.4s ease-in-out 1.2s infinite alternate }
@keyframes momentoRespira{ from{ opacity:1 } to{ opacity:.45 } }
.js-listo .momento__neon .ln{ opacity:.18 }
.js-listo .momento__neon.is-on .ln{ animation:tuboPrende 1.1s linear calc(var(--i) * 65ms) both }
@media (prefers-reduced-motion:reduce){ .js-listo .momento__neon .ln{ opacity:1 } .momento__neon.is-on::before{ animation:none } }

.vscroll{ background:var(--negro) }
.vscroll .vscroll__titulo{ letter-spacing:-.005em }
@media (min-width:761px) and (min-aspect-ratio:4/3){
  .vs-js .vscroll--lateral .vscroll__txt{ left:clamp(24px,3.2vw,56px); bottom:auto; top:calc(50vh - 90px); max-width:min(300px,19vw) }
  .vscroll--lateral .vscroll__titulo{ font-size:clamp(30px,2.8vw,50px) }
  .vscroll.vscroll--lateral .vscroll__escena::after{ background:none }
}
.vscroll.vscroll--portada{ z-index:3 }
