:root{
 --background:37 33% 86%; --foreground:213 22% 15%; --card:38 36% 91%;
 --card-foreground:204 18% 15%; --primary:16 54% 40%; --primary-foreground:42 44% 96%;
 --secondary:35 28% 81%; --secondary-foreground:213 20% 18%; --muted:36 24% 83%;
 --muted-foreground:213 12% 38%; --accent:213 58% 26%; --accent-foreground:42 44% 96%;
 --destructive:0 72% 45%; --destructive-foreground:42 44% 96%; --border:33 22% 71%;
 --input:33 22% 71%; --ring:16 54% 40%; --radius:0.25rem; --charcoal:213 46% 13%;
 --charcoal-soft:213 40% 21%; --sand:38 34% 88%; --chalk:40 34% 93%;
 --rosa:337 74% 52%; --amarillo:42 92% 56%; --turquesa:186 62% 42%;
 --mar:190 56% 25%; --espuma:186 40% 58%;
 --curva:cubic-bezier(.22,1,.36,1);
}
*,*::before,*::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:hsl(var(--border))}
*{margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Playfair Display',Georgia,'Times New Roman',serif;font-size:1.04rem;
 background-color:hsl(var(--background));color:hsl(var(--foreground));
 overflow-x:clip;-webkit-font-smoothing:antialiased;line-height:1.5}
img,svg,video{display:block;max-width:100%}
img{height:auto}
ul,ol{list-style:none;padding:0}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit;background:none;border-radius:0}
button{cursor:pointer}
[hidden]{display:none !important}
::selection{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}
@keyframes subir{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes girar{to{transform:rotate(360deg)}}
@keyframes kenburns{0%{transform:scale(1)}100%{transform:scale(1.08)}}

#progreso{position:fixed;inset:0 0 auto 0;height:3px;z-index:60;pointer-events:none;
 background-image:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--rosa)) 55%,hsl(var(--amarillo)));
 transform:scaleX(0);transform-origin:0 50%}

.logo-pie{height:58px;width:auto;filter:brightness(0) invert(1)}
@media (min-width:768px){ .logo-pie{height:68px} }

.velo-menu{position:fixed;inset:0;z-index:40;pointer-events:none;
 opacity:0;visibility:hidden;background-color:hsl(var(--charcoal) / 34%);
 transition:opacity .38s ease,visibility 0s linear .38s}
.velo-menu.se-ve{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
@supports ((-webkit-backdrop-filter:blur(2px)) or (backdrop-filter:blur(2px))){
 .velo-menu{background-color:hsl(var(--charcoal) / 18%);
  -webkit-backdrop-filter:blur(16px) saturate(115%);backdrop-filter:blur(16px) saturate(115%)}
 #cabecera.menu-abierto,#cabecera.es-solida.menu-abierto{background-color:hsl(var(--background) / 74%);
  -webkit-backdrop-filter:blur(20px) saturate(125%);backdrop-filter:blur(20px) saturate(125%)}
 #cabecera.menu-abierto #nav-movil{background-color:transparent}
}

#inicio{height:100vh;height:100svh;min-height:34rem;background-color:hsl(var(--charcoal))}
.cinta-fondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
 background-color:hsl(var(--charcoal))}
.velo-portada{position:absolute;inset:0;pointer-events:none;
 background-image:linear-gradient(180deg,hsl(var(--charcoal) / 62%) 0%,
  hsl(var(--charcoal) / 16%) 26%,hsl(var(--charcoal) / 16%) 62%,
  hsl(var(--charcoal) / 72%) 100%)}
.caja-portada{z-index:1}
.caja-portada::before{content:"";position:absolute;inset:-14% -6%;z-index:-1;pointer-events:none;
 background-image:radial-gradient(54% 50% at 50% 50%,hsl(var(--charcoal) / 46%),transparent 76%)}
@media (max-width:767px){
 #inicio .portada-ceja{font-size:1.36rem;line-height:1.35}
 #inicio .portada-tit{font-size:2.85rem;margin-top:.6rem}
 #inicio .portada-txt{font-size:.95rem;line-height:1.5;margin-top:1.4rem}
 #inicio .botones-portada{margin-top:1.6rem;gap:.7rem}
 #inicio .botones-portada a{padding:.72rem 1.5rem;font-size:.92rem}
 .caja-portada::before{inset:-8% -4%}
}
.guia-baja{position:absolute;left:50%;bottom:1.6rem;z-index:1;width:1px;height:2.6rem;
 overflow:hidden;background-color:hsl(var(--chalk) / 28%);transform:translateX(-50%)}
.guia-baja::after{content:"";position:absolute;inset:0 0 auto 0;height:40%;
 background-color:hsl(var(--chalk) / 90%);animation:guia 2.4s ease-in-out infinite}
@keyframes guia{0%{transform:translateY(-110%)}60%,100%{transform:translateY(260%)}}

#cabecera{transition:background-color .45s ease,color .45s ease,border-color .45s ease}
#cabecera.es-transparente{background-color:transparent;color:hsl(var(--chalk))}
#cabecera.es-solida{background-color:hsl(var(--background));color:hsl(var(--foreground));
 border-bottom:1px solid hsl(var(--border))}
.marca-logo{height:44px;width:auto;transition:filter .45s ease,transform .5s var(--curva)}
#cabecera.es-transparente .marca-logo{filter:brightness(0) invert(1)}
#cabecera a:hover .marca-logo{transform:translateY(-1px) scale(1.02)}
@media (min-width:768px){.marca-logo{height:56px}}

.enl-nav{position:relative;opacity:.9;transition:opacity .3s}
.enl-nav::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;
 background-color:currentColor;transform:scaleX(0);transform-origin:left;
 transition:transform .45s var(--curva)}
.enl-nav:hover,.enl-nav:focus-visible{opacity:1}
.enl-nav:hover::after,.enl-nav:focus-visible::after{transform:scaleX(1)}

.barras-caja{position:relative;display:block;width:24px;height:16px}
.barras-caja i{position:absolute;left:0;height:1.7px;width:100%;background-color:currentColor;
 transition:transform .5s var(--curva),opacity .3s ease,width .5s var(--curva)}
.barras-caja i:nth-child(1){top:0}
.barras-caja i:nth-child(2){top:7.2px;width:70%}
.barras-caja i:nth-child(3){top:14.4px;width:85%}
#btn-menu:hover .barras-caja i{width:100%}
#cabecera.menu-abierto .barras-caja i:nth-child(1){transform:translateY(7.2px) rotate(45deg)}
#cabecera.menu-abierto .barras-caja i:nth-child(2){opacity:0;transform:translateX(-14px)}
#cabecera.menu-abierto .barras-caja i:nth-child(3){width:100%;transform:translateY(-7.2px) rotate(-45deg)}

#nav-movil{max-height:0;overflow:hidden;visibility:hidden;
 transition:max-height .55s var(--curva),visibility 0s linear .55s}
#cabecera.menu-abierto #nav-movil{max-height:var(--alto-menu,620px);visibility:visible;
 transition:max-height .55s var(--curva),visibility 0s linear 0s}
.enl-mov{color:inherit;opacity:0;transform:translateX(-18px);
 transition:transform .5s var(--curva),opacity .4s ease,color .25s,padding-left .3s;
 transition-delay:calc((var(--n) - var(--i)) * 32ms)}
#cabecera.menu-abierto .enl-mov{opacity:1;transform:none;
 transition-delay:calc(var(--i) * 60ms + 130ms)}
.enl-mov:hover,.enl-mov:focus-visible{color:hsl(var(--primary));padding-left:6px;outline:none}
.enl-mov-txt{flex:1}
.ic-mov{display:flex;width:2.5rem;height:2.5rem;flex:none;align-items:center;justify-content:center;
 border:1px solid hsl(var(--border));color:hsl(var(--primary));
 transition:background-color .35s,color .35s,transform .5s var(--curva),border-color .35s}
.ic-mov svg{width:1.3rem;height:1.3rem}
.enl-mov:hover .ic-mov,.enl-mov:focus-visible .ic-mov{background-color:hsl(var(--primary));
 border-color:hsl(var(--primary));color:hsl(var(--primary-foreground));transform:rotate(-4deg) scale(1.06)}
.ic-mov-flecha{width:1rem;height:1rem;opacity:.3;transition:transform .4s var(--curva),opacity .3s}
.enl-mov:hover .ic-mov-flecha{transform:translateX(5px);opacity:.75}

.interruptor{display:inline-flex;align-items:center;gap:.4rem;padding:.28rem .4rem;
 border:1px solid hsl(var(--border));transition:border-color .4s,background-color .3s}
#cabecera.es-transparente .interruptor{border-color:hsl(var(--chalk) / 45%)}
.interruptor:hover{background-color:hsl(var(--primary) / 8%)}
.interruptor:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:3px}
.int-et{font-size:.6rem;font-weight:600;letter-spacing:.14em;opacity:.4;transition:opacity .4s}
.interruptor[aria-checked="false"] .int-et[data-et="es"],
.interruptor[aria-checked="true"]  .int-et[data-et="en"]{opacity:1}
.int-pista{position:relative;display:block;width:2.4rem;height:1.15rem;
 background-color:hsl(var(--foreground) / 15%);transition:background-color .45s}
#cabecera.es-transparente .int-pista{background-color:hsl(var(--chalk) / 26%)}
.interruptor[aria-checked="true"] .int-pista{background-color:hsl(var(--primary) / 40%)}
.int-perilla{position:absolute;top:.15rem;left:.15rem;width:1rem;height:.85rem;
 background-color:hsl(var(--primary));
 transition:transform .5s cubic-bezier(.34,1.56,.64,1),width .22s ease}
.interruptor[aria-checked="true"] .int-perilla{transform:translateX(1.25rem)}
.interruptor:active .int-perilla{width:1.2rem}

.boton-p,.boton-f,.boton-c{position:relative;overflow:hidden;
 transition:transform .35s var(--curva),filter .3s,background-color .35s,color .35s,border-color .35s}
.boton-p::after{content:"";position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(105deg,transparent 36%,hsl(0 0% 100% / .22) 50%,transparent 64%);
 transform:translateX(-130%);transition:transform .8s ease}
.boton-p:hover::after{transform:translateX(130%)}
.boton-p:hover{filter:brightness(1.1);transform:translateY(-2px)}
.boton-f:hover{background-color:hsl(var(--chalk) / 12%);transform:translateY(-2px)}
.boton-f.boton-arena:hover{background-color:hsl(var(--accent))}
.boton-c:hover{background-color:hsl(var(--secondary));transform:translateY(-2px)}
.boton-p:active,.boton-f:active,.boton-c:active{transform:translateY(0) scale(.985)}
.boton-p:focus-visible,.boton-f:focus-visible,.boton-c:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:3px}
.red-btn{transition:transform .4s var(--curva),background-color .35s,border-color .35s,color .35s}
.red-btn:hover{transform:translateY(-3px);background-color:hsl(var(--primary));
 border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}
.chip{transition:background-color .35s,border-color .35s,transform .35s var(--curva)}
.chip:hover{background-color:hsl(var(--chalk) / 12%);border-color:hsl(var(--chalk) / 75%);transform:translateY(-2px)}
.campo{transition:border-color .3s,box-shadow .3s}
.campo:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / 16%)}

.marco{display:block;overflow:hidden;background-color:hsl(var(--background))}
button.marco{width:100%;padding:0;background:none;border:0;cursor:zoom-in;
 -webkit-tap-highlight-color:transparent}
button.marco:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:4px}

.tit-carr{font-family:'Playfair Display',Georgia,serif;font-size:1.05rem;font-weight:500;
 letter-spacing:.2em;text-transform:uppercase;color:hsl(var(--accent));
 display:flex;align-items:center;gap:.9rem}
.tit-carr::after{content:"";flex:1;height:1px;background-color:hsl(var(--border))}
.bloque-carr{margin-top:3.2rem}
.bloque-carr + .bloque-carr{margin-top:4.5rem}
@media (min-width:768px){ .bloque-carr{margin-top:4rem}
 .bloque-carr + .bloque-carr{margin-top:6rem} .tit-carr{font-size:1.2rem} }

#lupa{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center}
#lupa[hidden]{display:none}
#lupa-fondo{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;cursor:zoom-out;
 background-color:hsl(213 46% 4% / 97%);animation:lupa-entra .3s ease both}
#lupa-caja{position:relative;max-width:min(94vw,1100px);max-height:86vh;margin:0;
 animation:lupa-sube .4s var(--curva) both}
#lupa-img{display:block;max-width:min(94vw,1100px);max-height:86vh;width:auto;height:auto;
 box-shadow:0 30px 70px hsl(213 46% 4% / 65%)}
.lupa-btn{position:absolute;display:flex;align-items:center;justify-content:center;
 width:3.2rem;height:3.2rem;border:1px solid hsl(var(--chalk) / 35%);color:hsl(var(--chalk));
 background-color:hsl(213 46% 10% / 55%);cursor:pointer;
 transition:background-color .3s,border-color .3s,transform .3s var(--curva)}
.lupa-btn:hover{background-color:hsl(var(--primary));border-color:hsl(var(--primary))}
.lupa-btn:focus-visible{outline:2px solid hsl(var(--amarillo));outline-offset:3px}
.lupa-btn svg{width:1.3rem;height:1.3rem}
#lupa-ant{left:max(1rem,3vw);top:50%;margin-top:-1.6rem}
#lupa-sig{right:max(1rem,3vw);top:50%;margin-top:-1.6rem}
#lupa-x{top:max(1rem,3vw);right:max(1rem,3vw)}
#lupa-num{position:absolute;bottom:max(1rem,3vw);left:0;right:0;text-align:center;
 font-variant-numeric:tabular-nums;letter-spacing:.2em;font-size:.85rem;
 color:hsl(var(--chalk) / 80%)}
@keyframes lupa-entra{from{opacity:0}to{opacity:1}}
@keyframes lupa-sube{from{opacity:0;transform:translateY(22px) scale(.97)}
 to{opacity:1;transform:none}}
body.con-lupa{overflow:hidden}
.zoom img{transition:transform 1.15s var(--curva)}
.zoom:hover img{transform:scale(1.05)}

.pantalla-carga{position:fixed;inset:0;z-index:90;display:flex;align-items:center;
 justify-content:center;background-color:hsl(var(--background));
 background-image:radial-gradient(130% 95% at 50% 6%,hsl(var(--chalk)) 0%,
  hsl(var(--background)) 52%,hsl(var(--secondary)) 100%);
 animation:carga-sale .6s ease 2.75s forwards}
.pantalla-carga::after{content:"";position:absolute;inset:auto 0 0 0;height:32%;
 pointer-events:none;
 background-image:linear-gradient(to top,hsl(var(--espuma) / 30%),transparent)}
.carga-centro{position:relative;z-index:1;width:min(74vw,320px);text-align:center}
.carga-logo{width:100%;height:auto;margin:0 auto;animation:carga-entra .9s var(--curva) both}
.carga-logo.se-deshace{filter:url(#arena)}
.carga-barra{position:relative;margin-top:28px;height:3px;overflow:hidden;
 background-color:hsl(var(--border))}
.carga-barra i{position:absolute;inset:0 auto 0 0;width:0;
 background-image:linear-gradient(90deg,hsl(var(--mar)),hsl(var(--turquesa)) 45%,
  hsl(var(--amarillo)) 80%,hsl(var(--primary)));
 animation:carga-llena 1.6s cubic-bezier(.35,.04,.2,1) forwards}
.carga-pie{margin-top:15px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
 font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;
 color:hsl(var(--muted-foreground));opacity:.75}
.pantalla-carga.se-va{animation:none;opacity:0;visibility:hidden;
 transition:opacity .45s ease,visibility 0s linear .45s}
@keyframes carga-entra{from{opacity:0;transform:translateY(14px) scale(.97)}
 to{opacity:1;transform:none}}
@keyframes carga-llena{from{width:0}to{width:100%}}
@keyframes carga-sale{to{opacity:0;visibility:hidden}}
html.cargando,html.cargando body{overflow:hidden}
html.sin-carga .pantalla-carga{display:none}

.adorno{position:absolute;z-index:0;pointer-events:none}
@media (max-width:899px){
 .adorno-amplio{display:none}
 .adorno{width:46px !important;height:46px !important}
}
.franja-maya::before{content:"";position:absolute;inset:0 0 auto 0;height:20px;opacity:.3;
 pointer-events:none;background-repeat:repeat-x;background-size:40px 20px;
 background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 12' width='24' height='12' fill='none' stroke='%23214a6e' stroke-width='1.3' stroke-linecap='square'><path d='M0 11H3V8H6V5H9V2H15V5H18V8H21V11H24'/></svg>")}
.franja-clara::before{opacity:.24;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 12' width='24' height='12' fill='none' stroke='%23e6dcc9' stroke-width='1.3' stroke-linecap='square'><path d='M0 11H3V8H6V5H9V2H15V5H18V8H21V11H24'/></svg>")}

#casa-maria > div,#bungalows > div,#galeria > div,#tu-estancia > div{position:relative;z-index:1}
.portada-ceja{color:hsl(var(--sand));text-shadow:0 2px 20px hsl(213 46% 8% / 60%)}
.portada-tit{color:hsl(var(--chalk));text-shadow:0 3px 26px hsl(213 46% 8% / 62%)}
.portada-txt{color:hsl(var(--chalk) / 88%);text-shadow:0 2px 16px hsl(213 46% 8% / 58%)}
#inicio .boton-f{border-color:hsl(var(--chalk) / 55%);color:hsl(var(--chalk));
 background-color:hsl(var(--charcoal) / 25%)}
#inicio .boton-f:hover{background-color:hsl(var(--chalk) / 18%);border-color:hsl(var(--chalk))}

.carrusel{position:relative}
.pista{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;
 -webkit-overflow-scrolling:touch;scrollbar-width:none;padding-block:6px;
 padding-inline:max(1.25rem, calc((100vw - 72rem) / 2 + 1.25rem))}
.pista::-webkit-scrollbar{display:none}
.pista:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:4px}
.diapo{flex:0 0 78vw;max-width:440px;scroll-snap-align:center;
 transition:opacity .7s var(--curva)}
.diapo img{width:100%;aspect-ratio:3/4;object-fit:cover}
.diapo.activa img{animation:kenburns 8s ease-in-out infinite alternate}
@media (max-width:767px){ .diapo{opacity:.4} .diapo.activa{opacity:1} }
@media (min-width:768px){ .pista{gap:28px} .diapo{flex:0 0 33vw;max-width:400px} }
.nav-carr{gap:.6rem}
.flecha{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;flex:none;
 border:1px solid hsl(var(--foreground) / 25%);color:hsl(var(--foreground));
 transition:background-color .3s,border-color .3s,color .3s,transform .35s var(--curva)}
.flecha:hover{background-color:hsl(var(--primary));border-color:hsl(var(--primary));
 color:hsl(var(--primary-foreground));transform:translateY(-2px)}
.flecha:active{transform:translateY(0) scale(.94)}
.flecha:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:3px}
.flecha svg{width:1.2rem;height:1.2rem}
.puntos{display:flex;flex-wrap:wrap;gap:.4rem}
.punto{width:26px;height:3px;flex:none;background-color:hsl(var(--foreground) / 18%);
 transition:background-color .4s,transform .4s var(--curva)}
.punto:hover{transform:scaleY(2)}
.punto[aria-current="true"]{background-color:hsl(var(--primary))}
.punto:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:3px}

.carta-fondo{
 --c-txt:36 44% 93%; --c-suave:30 26% 80%; --c-ambar:30 76% 63%;
 --c-linea:26 30% 44%; --c-brasa:14 62% 48%;
 background-image:linear-gradient(158deg,hsl(22 32% 13%) 0%,hsl(14 36% 20%) 58%,hsl(20 34% 15%) 100%);
 color:hsl(var(--c-txt))}
.carta-fondo .ceja{color:hsl(var(--c-ambar))}
.carta-fondo h2{color:hsl(var(--c-txt))}
.carta-fondo .nota-carta,.carta-fondo .grupo-carta{color:hsl(var(--c-ambar))}

.pestanas{display:flex;gap:.55rem;margin-top:2.5rem;overflow-x:auto;
 scrollbar-width:none;padding-bottom:.35rem}
.pestanas::-webkit-scrollbar{display:none}
.pestana{flex:none;padding:.6rem 1.15rem;font-size:.92rem;letter-spacing:.02em;
 border:1px solid hsl(var(--c-linea) / 55%);color:hsl(var(--c-suave));
 transition:background-color .35s,color .35s,border-color .35s,transform .35s var(--curva)}
.pestana:hover{color:hsl(var(--c-txt));border-color:hsl(var(--c-ambar) / 75%);transform:translateY(-2px)}
.pestana.activa{background-color:hsl(var(--c-brasa));border-color:hsl(var(--c-brasa));
 color:hsl(36 48% 96%)}
.pestana:focus-visible{outline:2px solid hsl(var(--c-ambar));outline-offset:3px}
.cuerpo-carta{margin-top:2.5rem}
.panel-carta{animation:entrar .5s var(--curva) both}
@keyframes entrar{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.nota-carta{font-family:'Playfair Display',Georgia,serif;font-style:italic;
 font-size:1.22rem;margin-bottom:2rem}
.grupo-carta{margin-top:3rem;padding-top:1.4rem;border-top:1px solid hsl(var(--c-linea) / 45%);
 font-size:.78rem;text-transform:uppercase;letter-spacing:.24em;margin-bottom:1.8rem}
.rejilla-platos{display:grid;gap:1.8rem}
@media (min-width:1024px){ .rejilla-platos{grid-template-columns:1fr 1fr;column-gap:3.5rem}
 .rejilla-bebidas{column-gap:4rem;gap:1.1rem} }
.plato{display:flex;align-items:flex-start;gap:.95rem}
.plato-ic{flex:none;display:flex;width:2.6rem;height:2.6rem;align-items:center;justify-content:center;
 border:1px solid hsl(var(--c-linea) / 50%);color:hsl(var(--c-ambar));margin-top:.1rem;
 transition:background-color .35s,color .35s,border-color .35s,transform .5s var(--curva)}
.plato-ic svg{width:1.3rem;height:1.3rem}
.plato:hover .plato-ic{background-color:hsl(var(--c-brasa));border-color:hsl(var(--c-brasa));
 color:hsl(36 48% 96%);transform:rotate(-5deg) scale(1.07)}

.plato-cuerpo{flex:1;min-width:0}
.plato-linea{display:flex;align-items:baseline;gap:.7rem}
.plato-nom{min-width:0;overflow-wrap:break-word;font-weight:600;font-size:1.06rem;color:hsl(var(--c-txt))}
.plato-guia{flex:1;min-width:1.5rem;border-bottom:1px dotted hsl(var(--c-linea) / 70%);
 transform:translateY(-.3rem)}
.plato-precio{flex:none;font-variant-numeric:tabular-nums;color:hsl(var(--c-ambar));font-weight:600}
.plato-desc{margin-top:.45rem;font-size:.93rem;line-height:1.6;color:hsl(var(--c-suave) / 88%);
 max-width:52ch}
.bebida-nota{display:block;margin-top:.25rem;font-size:.82rem;color:hsl(var(--c-suave) / 75%)}
.glosario{margin-top:1.6rem;font-size:.8rem;color:hsl(var(--c-suave) / 80%);
 display:flex;flex-wrap:wrap;gap:.35rem .9rem}
.glosario b{font-weight:600;color:hsl(var(--c-ambar))}
.guarniciones{display:flex;flex-wrap:wrap;gap:.6rem}
.guarniciones li{border:1px solid hsl(var(--c-linea) / 50%);padding:.5rem 1rem;font-size:.9rem;
 color:hsl(var(--c-suave));transition:border-color .3s,color .3s,transform .3s var(--curva)}
.guarniciones li:hover{border-color:hsl(var(--c-ambar));color:hsl(var(--c-txt));transform:translateY(-2px)}

.enl-mapa{opacity:.9;transition:opacity .3s}
.enl-mapa:hover{opacity:1}
.enl-mapa svg{transition:transform .4s var(--curva)}
.enl-mapa:hover svg{transform:translateY(-2px) scale(1.1)}
.mapa-codigo{display:block;margin-top:.15rem;font-variant-numeric:tabular-nums;
 letter-spacing:.06em;opacity:.55}
.mapa-cta{display:inline-block;margin-top:.45rem;color:hsl(var(--sand));
 border-bottom:1px solid hsl(var(--sand) / 45%);padding-bottom:1px;transition:border-color .3s}
.enl-mapa:hover .mapa-cta{border-color:hsl(var(--sand))}
.enl-mapa:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:3px}

.rev{opacity:0;transform:translateY(26px);
 transition:opacity .9s var(--curva),transform .9s var(--curva);
 transition-delay:calc(var(--d,0) * 90ms)}
.rev.vista{opacity:1;transform:none}

.contador{flex:none;display:flex;align-items:baseline;gap:.35rem;
 font-variant-numeric:tabular-nums;color:hsl(var(--muted-foreground))}
.contador b{font-size:1.45rem;font-weight:600;color:hsl(var(--foreground));line-height:1}
.contador span{font-size:.95rem}
.barra-carr{flex:1;height:2px;background-color:hsl(var(--foreground) / 12%);position:relative}
.barra-carr span{position:absolute;inset:0 auto 0 0;width:0;
 background-image:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--rosa)) 60%,hsl(var(--amarillo)));
 transition:width .55s var(--curva)}

.lista-pie.lista-anim li{opacity:0;transform:translateX(-12px);
 transition:opacity .6s var(--curva),transform .6s var(--curva);
 transition-delay:calc(var(--i) * 70ms)}
.lista-pie.lista-anim.vista li{opacity:1;transform:none}
.enl-pie{display:flex;align-items:center;gap:.8rem;padding:.42rem 0;
 transition:transform .4s var(--curva)}
.ic-pie{display:flex;width:2rem;height:2rem;flex:none;align-items:center;justify-content:center;
 border:1px solid hsl(var(--chalk) / 22%);color:hsl(var(--sand));
 transition:background-color .35s,color .35s,border-color .35s,transform .5s var(--curva)}
.ic-pie svg{width:1.05rem;height:1.05rem}
.et-pie{font-size:.95rem;opacity:.85;flex:none;transition:opacity .3s}
.ln-pie{flex:1;height:1px;background-color:hsl(var(--chalk) / 14%);position:relative}
.ln-pie::after{content:"";position:absolute;inset:0 auto 0 0;width:0;
 background-color:hsl(var(--primary));transition:width .55s var(--curva)}
.enl-pie:hover,.enl-pie:focus-visible{transform:translateX(3px);outline:none}
.enl-pie:hover .ic-pie,.enl-pie:focus-visible .ic-pie{background-color:hsl(var(--primary));
 border-color:hsl(var(--primary));color:hsl(var(--primary-foreground));transform:rotate(-5deg) scale(1.08)}
.enl-pie:hover .et-pie,.enl-pie:focus-visible .et-pie{opacity:1}
.enl-pie:hover .ln-pie::after,.enl-pie:focus-visible .ln-pie::after{width:100%}

@media (prefers-reduced-motion:reduce){
 .pantalla-carga{display:none}
 .guia-baja::after{animation:none}
 .lista-pie.lista-anim li{opacity:1 !important;transform:none !important}
 html{scroll-behavior:auto}
 .pista{scroll-behavior:auto}
 .animate-rise,.animate-rise-1,.animate-rise-2,.animate-rise-3{animation:none}
 .diapo.activa img{animation:none}
 .rev{opacity:1 !important;transform:none !important;transition:none}
 *,*::before,*::after{transition-duration:.01ms !important}
}

.text-sm{font-size:0.875rem;line-height:1.25rem}
.tracking-wide{letter-spacing:0.025em}
.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.flex{display:flex}
.items-center{align-items:center}
.gap-4{gap:1rem}
.border-b{border-bottom-width:1px;border-bottom-style:solid}
.border-border\/60{border-color:hsl(var(--border) / 60%)}
.py-4{padding-block:1rem}
.text-base{font-size:1rem;line-height:1.5rem}
.fixed{position:fixed}
.inset-x-0{left:0;right:0}
.top-0{top:0}
.z-50{z-index:50}
.mx-auto{margin-left:auto;margin-right:auto}
.h-16{height:4rem}
.max-w-6xl{max-width:72rem}
.justify-between{justify-content:space-between}
.px-5{padding-inline:1.25rem}
.leading-none{line-height:1}
.hidden{display:none}
.gap-7{gap:1.75rem}
.gap-3{gap:0.75rem}
.h-11{height:2.75rem}
.w-11{width:2.75rem}
.justify-center{justify-content:center}
.border-t{border-top-width:1px;border-top-style:solid}
.border-border{border-color:hsl(var(--border))}
.bg-background{background-color:hsl(var(--background))}
.text-foreground{color:hsl(var(--foreground))}
.pb-6{padding-bottom:1.5rem}
.pt-1{padding-top:0.25rem}
.relative{position:relative}
.overflow-hidden{overflow:hidden}
.w-full{width:100%}
.max-w-4xl{max-width:56rem}
.px-6{padding-inline:1.5rem}
.text-center{text-align:center}
.animate-rise{animation:subir .9s cubic-bezier(.22,1,.36,1) both}
.font-serif-accent{font-family:'Playfair Display',Georgia,serif}
.text-\[1\.75rem\]{font-size:1.75rem;line-height:1.4}
.italic{font-style:italic}
.animate-rise-1{animation:subir .9s cubic-bezier(.22,1,.36,1) .12s both}
.mt-3{margin-top:0.75rem}
.max-w-3xl{max-width:48rem}
.font-display{font-family:'Playfair Display',Georgia,serif}
.text-5xl{font-size:3rem;line-height:1}
.font-medium{font-weight:500}
.leading-\[1\.02\]{line-height:1.02}
.tracking-tight{letter-spacing:-0.025em}
.animate-rise-2{animation:subir .9s cubic-bezier(.22,1,.36,1) .26s both}
.mt-7{margin-top:1.75rem}
.max-w-xl{max-width:36rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.leading-relaxed{line-height:1.625}
.animate-rise-3{animation:subir .9s cubic-bezier(.22,1,.36,1) .4s both}
.mt-9{margin-top:2.25rem}
.flex-wrap{flex-wrap:wrap}
.inline-flex{display:inline-flex}
.bg-primary{background-color:hsl(var(--primary))}
.px-7{padding-inline:1.75rem}
.py-3\.5{padding-block:0.875rem}
.text-primary-foreground{color:hsl(var(--primary-foreground))}
.border{border-width:1px;border-style:solid}
.p-6{padding:1.5rem}
.shadow-hard-chalk{box-shadow:12px 12px 0 0 hsl(var(--chalk) / 16%)}
.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.duration-300{transition-duration:.3s}
.h-7{height:1.75rem}
.w-7{width:1.75rem}
.mt-4{margin-top:1rem}
.mt-2{margin-top:0.5rem}
.opacity-85{opacity:0.85}
.surface-dark-soft{background-color:hsl(var(--charcoal-soft));color:hsl(var(--chalk))}
.bg-\[hsl\(var\(--amarillo\)\)\]{background-color:hsl(var(--amarillo))}
.text-\[hsl\(var\(--charcoal\)\)\]{color:hsl(var(--charcoal))}
.bg-secondary{background-color:hsl(var(--secondary))}
.text-secondary-foreground{color:hsl(var(--secondary-foreground))}
.py-20{padding-block:5rem}
.text-primary{color:hsl(var(--primary))}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.leading-tight{line-height:1.25}
.text-balance{text-wrap:balance}
.mt-6{margin-top:1.5rem}
.text-muted-foreground{color:hsl(var(--muted-foreground))}
.mt-14{margin-top:3.5rem}
.grid{display:grid}
.gap-6{gap:1.5rem}
.border-2{border-width:2px;border-style:solid}
.border-foreground\/80{border-color:hsl(var(--foreground) / 80%)}
.bg-card{background-color:hsl(var(--card))}
.p-7{padding:1.75rem}
.shadow-hard-sm{box-shadow:7px 7px 0 0 hsl(var(--primary))}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.h-6{height:1.5rem}
.w-6{width:1.5rem}
.space-y-2\.5 > * + *{margin-top:0.625rem}
.items-start{align-items:flex-start}
.gap-2\.5{gap:0.625rem}
.mt-0\.5{margin-top:0.125rem}
.h-4{height:1rem}
.w-4{width:1rem}
.shrink-0{flex-shrink:0}
.border-t-2{border-top-width:2px;border-top-style:solid}
.pt-6{padding-top:1.5rem}
.border-\[hsl\(var\(--chalk\)\)\]\/40{border-color:hsl(var(--chalk) / 40%)}
.px-4{padding-inline:1rem}
.py-2{padding-block:0.5rem}
.scroll-mt-20{scroll-margin-top:5rem}
.items-end{align-items:flex-end}
.gap-10{gap:2.5rem}
.inline-block{display:inline-block}
.mt-16{margin-top:4rem}
.gap-8{gap:2rem}
.gap-x-16{column-gap:4rem}
.gap-y-12{row-gap:3rem}
.surface-dark{background-color:hsl(var(--charcoal));color:hsl(var(--chalk))}
.p-8{padding:2rem}
.shadow-hard{box-shadow:12px 12px 0 0 hsl(var(--primary))}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-\[hsl\(var\(--sand\)\)\]{color:hsl(var(--sand))}
.opacity-75{opacity:0.75}
.mt-20{margin-top:5rem}
.border-\[hsl\(var\(--sand\)\)\]\/70{border-color:hsl(var(--sand) / 70%)}
.opacity-80{opacity:0.8}
.gap-x-12{column-gap:3rem}
.max-w-2xl{max-width:42rem}
.border-l-4{border-left-width:4px;border-left-style:solid}
.border-primary{border-color:hsl(var(--primary))}
.pl-6{padding-left:1.5rem}
.leading-snug{line-height:1.375}
.bg-secondary\/60{background-color:hsl(var(--secondary) / 60%)}
.gap-12{gap:3rem}
.space-y-10 > * + *{margin-top:2.5rem}
.mt-10{margin-top:2.5rem}
.text-xs{font-size:0.75rem;line-height:1rem}
.uppercase{text-transform:uppercase}
.tracking-\[0\.2em\]{letter-spacing:0.2em}
.opacity-50{opacity:0.5}
.gap-5{gap:1.25rem}
.mt-12{margin-top:3rem}
.gap-14{gap:3.5rem}
.max-w-md{max-width:28rem}
.pl-5{padding-left:1.25rem}
.h-5{height:1.25rem}
.w-5{width:1.25rem}
.bg-\[hsl\(var\(--chalk\)\)\]{background-color:hsl(var(--chalk))}
.h-full{height:100%}
.min-h-80{min-height:20rem}
.flex-col{flex-direction:column}
.h-12{height:3rem}
.w-12{width:3rem}
.mt-5{margin-top:1.25rem}
.max-w-sm{max-width:24rem}
.border-foreground\/70{border-color:hsl(var(--foreground) / 70%)}
.py-2\.5{padding-block:0.625rem}
.space-y-5 > * + *{margin-top:1.25rem}
.gap-2{gap:0.5rem}
.border-input{border-color:hsl(var(--input))}
.py-3{padding-block:0.75rem}
.border-destructive\/50{border-color:hsl(var(--destructive) / 50%)}
.bg-destructive\/10{background-color:hsl(var(--destructive) / 10%)}
.text-destructive{color:hsl(var(--destructive))}
.border-\[hsl\(var\(--chalk\)\)\]\/25{border-color:hsl(var(--chalk) / 25%)}
.text-\[hsl\(var\(--chalk\)\)\]{color:hsl(var(--chalk))}
.gap-3\.5{gap:0.875rem}
.h-9{height:2.25rem}
.w-9{width:2.25rem}
.border-\[hsl\(var\(--chalk\)\)\]\/20{border-color:hsl(var(--chalk) / 20%)}
.text-\[0\.65rem\]{font-size:0.65rem;line-height:1.4}
.opacity-60{opacity:0.6}
.opacity-65{opacity:0.65}
.py-16{padding-block:4rem}
.tracking-\[0\.24em\]{letter-spacing:0.24em}
.space-y-4 > * + *{margin-top:1rem}
.block{display:block}
.border-\[hsl\(var\(--chalk\)\)\]\/15{border-color:hsl(var(--chalk) / 15%)}
.gap-1{gap:0.25rem}
.py-5{padding-block:1.25rem}
.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}
.hover\:-translate-y-1:hover{transform:translateY(-0.25rem)}
.placeholder\:text-muted-foreground\/70::placeholder{color:hsl(var(--muted-foreground) / 70%)}
.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}
.group:hover .group-hover\:translate-x-0\.5{transform:translateX(0.125rem)}
.group:hover .group-hover\:-translate-y-0\.5{transform:translateY(-0.125rem)}
@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:768px){.md\:h-20{height:5rem}.md\:px-8{padding-inline:2rem}.md\:text-\[2\.75rem\]{font-size:2.75rem;line-height:1.4}.md\:max-w-4xl{max-width:56rem}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:max-w-2xl{max-width:42rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}.md\:py-28{padding-block:7rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:p-10{padding:2.5rem}.md\:justify-start{justify-content:flex-start}.md\:gap-8{gap:2rem}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:p-9{padding:2.25rem}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:py-20{padding-block:5rem}.md\:col-span-5{grid-column:span 5 / span 5}.md\:col-span-3{grid-column:span 3 / span 3}.md\:col-span-4{grid-column:span 4 / span 4}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}}
@media (min-width:1024px){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-\[1\.1fr_1fr\]{grid-template-columns:1.1fr 1fr}.lg\:gap-16{gap:4rem}.lg\:sticky{position:sticky}.lg\:top-28{top:7rem}.lg\:self-start{align-self:flex-start}.lg\:grid-cols-\[1fr_1\.1fr\]{grid-template-columns:1fr 1.1fr}}
