:root{
--azul:#25528C;--azul-hondo:#14335C;--tinta:#0B1C33;
--hueso:#EEE7DA;--hueso-2:#E2D8C5;--kraft:#E5CCA6;
--naranja:#F15E3E;--naranja-hondo:#B9401F;--aqua:#7DD3D0;--aqua-hondo:#1F7F7C;
--celeste:#A9DDEE;--amarillo:#F9E04C;--wa:#25D366;
--display:'Luckiest Guy',system-ui,sans-serif;--texto:'Outfit',system-ui,sans-serif;
--m:clamp(16px,4vw,64px);
--salida:cubic-bezier(0.23,1,0.32,1);
--rebote:cubic-bezier(0.34,1.56,0.64,1)
}
*{box-sizing:border-box}
html{background:var(--tinta);scroll-behavior:smooth;scroll-padding-top:72px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--tinta);color:var(--hueso);font-family:var(--texto);font-weight:400;font-size:18px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
h2,h3{font-family:var(--display);font-weight:400;line-height:.95;letter-spacing:.01em;text-wrap:balance}
img{display:block;max-width:100%;height:auto}
a{color:inherit;-webkit-tap-highlight-color:transparent}
button,input,select{font:inherit;color:inherit}
::selection{background:var(--naranja);color:#fff}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--amarillo);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* aparece al bajar */
.js .rv{opacity:0;transform:translateY(40px);transition:opacity .9s var(--salida),transform .9s var(--salida);transition-delay:calc(var(--d,0) * 110ms)}
.js .rv.visto{opacity:1;transform:none}

/* botones con relieve, se hunden al tocarlos */
.btn{--sombra:#000;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 26px;border:0;border-radius:999px;font-size:17px;font-weight:600;text-decoration:none;cursor:pointer;box-shadow:0 5px 0 var(--sombra);transition:transform .18s var(--salida),box-shadow .18s var(--salida),filter .2s}
.btn svg{width:22px;height:22px;flex:none}
.btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--sombra)}
@media (hover:hover) and (pointer:fine){.btn:hover{transform:translateY(-2px);box-shadow:0 7px 0 var(--sombra)}}
.btn-naranja{background:var(--naranja);color:#fff;--sombra:var(--naranja-hondo)}
.btn-claro{background:var(--hueso);color:var(--tinta);--sombra:#A99D88}
.btn-azul{background:var(--azul);color:#fff;--sombra:var(--azul-hondo)}
.btn-wa{background:var(--wa);color:#05361A;--sombra:#159447}

/* sellos de estrella (como en los flyers) */
.sello{position:relative;display:grid;place-items:center;aspect-ratio:1;color:var(--azul-hondo);text-decoration:none;container-type:inline-size}
.sello-fondo{position:absolute;inset:0;width:100%;height:100%;fill:var(--celeste);overflow:visible}
.sello-texto{position:relative;display:flex;flex-direction:column;align-items:center;font-family:var(--display);line-height:.88;text-align:center}
.sello-texto b{font-weight:400;font-size:27cqi}
.sello-texto small{font-size:11cqi}

/* barra */
.barra{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;gap:28px;padding:12px var(--m);transition:background-color .35s,box-shadow .35s,padding .35s}
.barra.solida{background:rgba(11,28,51,.97);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 1px 0 rgba(238,231,218,.08)}
.barra-logo{flex:none;display:block;width:104px;text-decoration:none;transition:opacity .35s,transform .35s var(--salida)}
.barra:not(.solida) .barra-logo{opacity:0;transform:translateY(-8px);pointer-events:none}
.barra-nav{display:flex;gap:6px 28px;margin-left:auto;font-weight:500;font-size:16px}
.barra-nav a{padding:10px 0;text-decoration:none;position:relative}
.barra-nav a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:3px;border-radius:3px;background:var(--naranja);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--salida)}
@media (hover:hover) and (pointer:fine){.barra-nav a:hover::after{transform:scaleX(1)}}
.barra-cta{min-height:44px;padding:0 20px;font-size:15px}
.barra-menu{display:none}

/* 1. portada */
.portada{position:relative;min-height:100svh;overflow:hidden;overflow:clip;background:radial-gradient(130% 85% at 50% 0%,#3C78BE 0%,#25528C 38%,#173B69 70%,#0E2443 100%);isolation:isolate}
#mar3d{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:0;transition:opacity 1.4s}
#mar3d.listo{opacity:1}
.portada-luz{position:absolute;inset:auto 0 0 0;height:30%;z-index:1;background:linear-gradient(transparent,rgba(11,28,51,.55));pointer-events:none}
.pulpo{position:absolute;z-index:1;bottom:-6%;height:min(108svh,1050px);aspect-ratio:640/1581;pointer-events:none}
.pulpo-i{left:-4vw;animation:pulpo-i 1.6s var(--salida) .1s both}
.pulpo-d{right:-4vw;transform:scaleX(-1);animation:pulpo-d 1.6s var(--salida) .1s both}
.pulpo-mueve{width:100%;height:100%;object-fit:contain;opacity:.72;transform-origin:50% 100%;animation:pulpo-ola 6s ease-in-out infinite alternate}
.pulpo-d .pulpo-mueve{animation-delay:-3s}
@keyframes pulpo-ola{from{rotate:-2.5deg}to{rotate:2.5deg}}
@keyframes pulpo-i{from{translate:-40% 10%;opacity:0}to{translate:0 0;opacity:1}}
@keyframes pulpo-d{from{translate:40% 10%;opacity:0}to{translate:0 0;opacity:1}}
.portada-centro{position:relative;z-index:2;min-height:100svh;max-width:900px;margin:0 auto;padding:110px var(--m) 120px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px;will-change:transform}
.estado{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;background:rgba(11,28,51,.35);border:1px solid rgba(238,231,218,.22);font-size:14px;font-weight:500;animation:aparece .9s var(--salida) .5s both}
.estado i{width:9px;height:9px;border-radius:50%;background:var(--aqua);box-shadow:0 0 0 0 currentColor}
.estado.abierto i{background:#4BE38A;color:rgba(75,227,138,.6);animation:latido 1.8s infinite}
.estado.cerrado i{background:var(--naranja)}
@keyframes latido{0%{box-shadow:0 0 0 0 currentColor}80%,100%{box-shadow:0 0 0 10px transparent}}
.portada-logo{width:min(640px,80vw);animation:logo 1.4s var(--rebote) .15s both}
.portada-logo img{width:100%}
@keyframes logo{from{opacity:0;transform:scale(.6) rotate(-6deg)}to{opacity:1;transform:none}}
.portada-frase{font-family:var(--display);font-size:clamp(30px,5.2vw,70px);line-height:1;color:var(--hueso);text-shadow:3px 4px 0 var(--naranja);margin-top:6px}
.portada-frase span{display:inline-block;animation:sube 1s var(--rebote) .55s both}
.portada-frase span+span{animation-delay:.7s;color:var(--amarillo)}
.portada-sub{max-width:44ch;color:#D5E2F1;font-size:clamp(16px,1.6vw,19px);animation:aparece 1s var(--salida) .85s both}
.portada-botones{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:10px;animation:aparece 1s var(--salida) 1s both}
@keyframes sube{from{opacity:0;transform:translateY(60%) rotate(4deg)}to{opacity:1;transform:none}}
@keyframes aparece{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.sello-portada{position:absolute;z-index:3;right:calc(var(--m) + 2vw);top:20%;width:clamp(104px,11vw,156px);animation:sello-entra 1.2s var(--rebote) 1.2s both}
.sello-portada .sello-fondo{animation:gira 22s linear infinite}
.sello-portada .sello-texto{transform:rotate(12deg)}
@keyframes sello-entra{from{opacity:0;transform:scale(0) rotate(-90deg)}to{opacity:1;transform:none}}
@keyframes gira{to{transform:rotate(360deg)}}
.bajar{position:absolute;z-index:3;left:50%;bottom:26px;width:28px;height:44px;margin-left:-14px;border:2px solid rgba(238,231,218,.6);border-radius:16px}
.bajar span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--hueso);animation:rueda 1.8s var(--salida) infinite}
@keyframes rueda{from{opacity:1;transform:none}to{opacity:0;transform:translateY(14px)}}

/* bandas */
.bandas{position:relative;z-index:4;height:150px;margin:-74px 0 -76px;pointer-events:none;overflow:hidden;overflow:clip}
.banda{position:absolute;left:-5%;right:-5%;padding:14px 0;white-space:nowrap;font-family:var(--display);font-size:clamp(24px,3.2vw,40px);line-height:1;box-shadow:0 10px 30px -10px rgba(0,0,0,.35)}
.banda-aqua{top:18px;background:var(--aqua);color:var(--azul-hondo);transform:rotate(2deg)}
.banda-naranja{top:66px;background:var(--naranja);color:var(--hueso);transform:rotate(-2.4deg)}
.banda-pista{display:inline-flex;gap:28px;will-change:transform}
.banda-pista span{display:inline-flex;align-items:center;gap:28px}
.banda-pista span::after{content:"✶";font-size:.8em}

/* 2. hoy toca */
.hoy{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:40px;align-items:center;padding:190px var(--m) 140px;background:var(--hueso);color:var(--tinta);overflow:hidden;overflow:clip}
.hoy-texto{grid-column:1/7;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.etiqueta{font-size:15px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--naranja)}
.hoy h2{font-size:clamp(52px,8.6vw,138px);color:var(--azul);text-shadow:4px 5px 0 var(--naranja)}
.hoy-detalle{font-size:clamp(18px,1.7vw,22px);max-width:34ch;color:#3A4558}
.hoy-nota{display:inline-block;padding:6px 14px;border-radius:999px;background:var(--azul-hondo);color:var(--amarillo);font-family:var(--display);font-size:20px;letter-spacing:.02em}
.hoy .btn{margin-top:8px}
.hoy-escena{grid-column:7/13;position:relative;min-height:440px;display:grid;place-items:center;perspective:1200px}
.hoy-plato{position:relative;width:min(560px,100%);transform-style:preserve-3d;will-change:transform}
.hoy-plato::after{content:"";position:absolute;left:12%;right:12%;bottom:-4%;height:14%;border-radius:50%;background:radial-gradient(rgba(11,28,51,.35),transparent 70%);z-index:-1}
.hoy-plato img{width:100%;max-height:520px;object-fit:contain;transition:opacity .4s}
.sello-hoy{position:absolute;left:2%;top:2%;width:clamp(120px,13vw,190px);z-index:2;will-change:transform}
.sello-hoy .sello-texto b{font-size:30cqi}
.hoy-burbujas{position:absolute;right:2%;bottom:-4%;width:150px;opacity:.9;will-change:transform}

/* 3. promociones (la pista de lado) */
.promos{position:relative;background-color:var(--naranja);background-image:radial-gradient(rgba(255,255,255,.13) 1.3px,transparent 1.8px);background-size:20px 20px;color:#fff}
.promos-fijo{display:flex;flex-direction:column;gap:clamp(20px,3svh,40px);padding:120px 0 90px}
.promos-cabeza{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 40px;padding:0 var(--m)}
.promos h2{font-size:clamp(54px,10vw,168px);color:#fff;text-shadow:5px 6px 0 var(--azul-hondo)}
.promos-cabeza p{max-width:30ch;font-size:18px;font-weight:500}
.promos-cabeza p span{display:block;margin-top:6px;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.promos-pista{display:flex;gap:clamp(18px,2.4vw,32px);padding:70px var(--m) 30px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0 var(--m);scrollbar-width:none;perspective:1500px;cursor:grab;touch-action:pan-x pan-y}
.promos-pista::-webkit-scrollbar{display:none}
.promos-pista.arrastrando{cursor:grabbing;scroll-snap-type:none}
.promos-pista.arrastrando *{pointer-events:none}
.promo{position:relative;flex:none;width:min(76vw,370px);height:min(56svh,500px);min-height:380px;padding:24px;border-radius:30px;background:var(--azul-hondo);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;box-shadow:0 30px 50px -24px rgba(40,10,0,.6);scroll-snap-align:center;transform-style:preserve-3d}
.promo:nth-child(3n+2){background:var(--hueso);color:var(--tinta)}
.promo:nth-child(3n){background:var(--azul)}
.promo-foto{position:absolute;left:50%;top:-4%;width:96%;height:58%;object-fit:contain;transform:translate3d(-50%,0,70px);pointer-events:none}
.promo .sello{position:absolute;right:-14px;top:38%;width:116px;transform:translateZ(110px) rotate(-12deg)}
.promo-dia{font-family:var(--display);font-size:clamp(30px,3.2vw,40px);line-height:1;color:var(--amarillo)}
.promo:nth-child(3n+2) .promo-dia{color:var(--naranja)}
.promo-titulo{font-family:var(--display);font-size:clamp(24px,2.4vw,30px);line-height:1}
.promo-detalle{font-size:15.5px;line-height:1.4;opacity:.88}
.promo-nota{align-self:flex-start;margin-top:4px;padding:5px 12px;border-radius:999px;background:var(--aqua);color:var(--azul-hondo);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.promo.es-hoy{box-shadow:0 0 0 5px var(--amarillo),0 30px 50px -24px rgba(40,10,0,.6)}
.promo.es-hoy::before{content:"¡Hoy!";position:absolute;left:18px;top:18px;z-index:2;padding:6px 14px;border-radius:999px;background:var(--amarillo);color:var(--tinta);font-family:var(--display);font-size:20px;transform:translateZ(90px) rotate(-6deg)}
.promos-control{display:flex;align-items:center;gap:16px;padding:0 var(--m)}
.flecha{flex:none;display:grid;place-items:center;width:54px;height:54px;border:0;border-radius:50%;background:#fff;color:var(--naranja);box-shadow:0 5px 0 var(--naranja-hondo);cursor:pointer;transition:transform .18s var(--salida),box-shadow .18s}
.flecha:active{transform:translateY(4px);box-shadow:0 1px 0 var(--naranja-hondo)}
.flecha svg{width:26px;height:26px}
.flecha-izq svg{transform:scaleX(-1)}
.promos-barra{flex:1;height:6px;border-radius:6px;background:rgba(255,255,255,.25);overflow:hidden}
.promos-barra i{display:block;height:100%;width:100%;border-radius:6px;background:#fff;transform-origin:left;transform:scaleX(0)}

/* 4. menú */
.menu{position:relative;padding:150px var(--m) 140px;background:var(--hueso);color:var(--tinta);overflow:hidden;overflow:clip}
.menu-pez{position:absolute;top:44px;left:0;width:min(400px,46vw);opacity:.95;pointer-events:none;animation:nada-lado 16s linear infinite}
@keyframes nada-lado{0%{translate:-110% 0;rotate:-3deg}25%{translate:30vw 18px;rotate:3deg}50%{translate:60vw -6px;rotate:-3deg}75%{translate:85vw 14px;rotate:3deg}100%{translate:115vw 0;rotate:-3deg}}
@keyframes flota{from{translate:0 -10px;rotate:-4deg}to{translate:0 10px;rotate:4deg}}
.hoy-burbujas,.menu-concha,.lugar-sirena,.visitanos-cola,.m-ancla,.m-burbujas{animation:flota 3.6s ease-in-out infinite alternate}
.menu-concha{animation-duration:4.4s}.visitanos-cola{animation-duration:2.8s}.lugar-sirena{animation-duration:4s}
.menu-cabeza{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:22px;align-items:end;margin-bottom:36px}
.menu h2{grid-column:1/7;font-size:clamp(60px,10vw,168px);color:var(--azul);text-shadow:4px 5px 0 var(--naranja)}
.menu-cabeza p{grid-column:7/13;color:#4A5568;max-width:40ch}
.buscar{grid-column:1/-1;display:flex;align-items:center;gap:12px;max-width:560px;height:58px;padding:0 20px;border-radius:999px;background:#fff;border:2px solid var(--azul);box-shadow:0 5px 0 var(--azul)}
.buscar svg{width:22px;height:22px;color:var(--azul);flex:none}
.buscar input{flex:1;min-width:0;height:100%;border:0;background:none;font-size:17px;outline:none}
.buscar:focus-within{box-shadow:0 5px 0 var(--naranja);border-color:var(--naranja)}
.chips{position:sticky;top:68px;z-index:5;display:flex;gap:10px;margin:0 calc(-1 * var(--m));padding:14px var(--m);overflow-x:auto;scrollbar-width:none;background:linear-gradient(var(--hueso) 75%,rgba(238,231,218,0))}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;min-height:44px;padding:0 18px;border:2px solid var(--azul);border-radius:999px;background:transparent;color:var(--azul);font-size:15px;font-weight:600;cursor:pointer;transition:background-color .2s,color .2s,transform .2s var(--rebote)}
.chip[aria-selected="true"]{background:var(--azul);color:#fff;transform:rotate(-2deg)}
@media (hover:hover) and (pointer:fine){.chip:hover{background:rgba(37,82,140,.1)}.chip[aria-selected="true"]:hover{background:var(--azul)}}
.menu-cuerpo{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:64px;align-items:start;margin-top:22px}
.menu-lista{min-height:420px}
.cat{animation:cat-entra .6s var(--salida) both}
@keyframes cat-entra{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.cat+.cat{margin-top:56px}
.cat-cabeza{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;padding-bottom:12px;border-bottom:5px solid var(--azul)}
.cat-cabeza h3{font-size:clamp(34px,4vw,52px);color:var(--azul)}
.cat-cabeza p{font-size:14px;font-weight:600;color:var(--aqua-hondo);letter-spacing:.04em}
.platos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}
.plato{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;row-gap:4px;padding:18px 0;border-bottom:2px dashed rgba(37,82,140,.25)}
.plato h4{margin:0;font-size:18px;font-weight:600;line-height:1.25}
.plato h4 small{display:block;margin-top:2px;font-size:13px;font-weight:600;color:var(--aqua-hondo);letter-spacing:.03em}
.plato .precio{font-family:var(--display);font-size:24px;line-height:1.1;color:var(--naranja);white-space:nowrap;text-align:right}
.plato p{grid-column:1/-1;font-size:15px;line-height:1.45;color:#556070}
.plato mark{background:var(--amarillo);color:inherit;border-radius:3px;padding:0 2px}
.vacio{padding:40px 0;font-size:20px;color:#556070}
.vacio b{color:var(--azul)}
.menu-foto{position:sticky;top:150px;perspective:1000px}
.polaroid{display:flex;flex-direction:column;gap:10px;padding:12px 12px 16px;background:#fff;box-shadow:0 24px 40px -18px rgba(11,28,51,.45);transform:rotate(-4deg);will-change:transform}
.polaroid img{width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--hueso-2)}
.polaroid span{font-family:var(--display);font-size:24px;color:var(--azul);text-align:center}
.menu-concha{width:150px;margin:28px 0 0 auto;transform:rotate(14deg)}

/* 5. litros */
.litros{position:relative;padding:120px var(--m) 140px;background-color:var(--kraft);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .3 0 0 0 0 .15 0 0 0 .22 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E");color:var(--azul);overflow:hidden;overflow:clip}
.litros-cabeza{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,4vw,64px);align-items:center;margin-bottom:72px}
.litros-intro{display:flex;flex-direction:column;gap:18px}
.litros-titulo{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px}
.litros-sub{max-width:46ch;font-size:clamp(17px,1.6vw,20px);font-weight:500;color:#2B4A78}
.repisa{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));justify-items:center;gap:14px 10px;padding:18px 20px 14px;border-radius:22px;background:rgba(255,255,255,.45);border-bottom:8px solid #b98d5a;box-shadow:inset 0 -2px 0 rgba(0,0,0,.08)}
.repisa-item{display:flex;flex-direction:column;align-items:center;gap:6px;width:62px;animation:brinca 2.4s ease-in-out infinite;animation-delay:calc(var(--i) * -.24s)}
.repisa-item .litro-vaso{width:34px;height:46px}
.repisa-item small{font-size:11px;font-weight:700;line-height:1.1;text-align:center;color:var(--azul-hondo)}
@keyframes brinca{0%,100%{translate:0 0}50%{translate:0 -6px}}
.litro-dia{--c:#f6c343;position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:28px;border-radius:32px;background:var(--azul-hondo);color:#fff;box-shadow:0 10px 0 var(--tinta),0 30px 50px -20px rgba(11,28,51,.6);rotate:2deg}
.litro-dia-tag{position:absolute;top:-16px;left:24px;padding:6px 16px;border-radius:999px;background:var(--amarillo);color:var(--tinta);font-family:var(--display);font-size:20px;rotate:-4deg}
.litro-dia-vaso{position:relative;align-self:center;margin:14px 0 4px}
.litro-vaso.grande{width:110px;height:150px;border-width:5px;border-color:#fff;border-top-width:0;border-radius:8px 8px 30px 30px;background:rgba(255,255,255,.12)}
.litro-vaso.grande::before{background:#fff;height:5px}
.litro-vaso.grande::after{width:7px;height:110px;right:22px;top:-30px}
.burbuja{position:absolute;bottom:20px;left:50%;width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.8);animation:burbujea 2.2s linear infinite}
.burbuja:nth-child(3){left:38%;animation-delay:-.7s;width:6px;height:6px}
.burbuja:nth-child(4){left:62%;animation-delay:-1.4s;width:7px;height:7px}
@keyframes burbujea{from{translate:0 0;opacity:0}20%{opacity:1}to{translate:0 -110px;opacity:0}}
.litro-dia h3{font-size:clamp(40px,4vw,58px);color:var(--amarillo)}
.litro-dia p{font-size:16px;line-height:1.45;color:#DCE7F4}
.litro-dia-pie{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;margin-top:6px}
.litro-dia-pie b{font-family:var(--display);font-weight:400;font-size:44px;color:var(--naranja)}
.litros h2{font-size:clamp(56px,9.4vw,152px);color:var(--azul)}
.sello-litros{width:clamp(130px,13vw,180px);color:#fff;transform:rotate(10deg)}
.sello-litros .sello-fondo{fill:var(--naranja);animation:gira 30s linear infinite}
.sello-litros .sello-texto b{font-size:28cqi}
.sello-litros .sello-texto small{font-size:12cqi}
.js .sello-litros.rv{transform:translateY(40px) rotate(10deg)}
.js .sello-litros.rv.visto{transform:rotate(10deg)}
.litros-cuerpo{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,5vw,80px);align-items:start}
.litros-vasos{position:sticky;top:110px;height:min(620px,72svh);perspective:1200px}
.vaso{position:absolute;margin:0;border:5px solid var(--hueso);border-radius:24px;overflow:hidden;box-shadow:0 30px 50px -22px rgba(60,30,0,.55);will-change:transform}
.vaso img{width:100%;height:100%;object-fit:cover}
.vaso-1{left:0;top:2%;width:56%;aspect-ratio:300/454}
.vaso-2{right:2%;top:16%;width:52%;aspect-ratio:300/600}
.mascara{position:absolute;display:block;background:var(--azul);-webkit-mask:var(--img) center/contain no-repeat;mask:var(--img) center/contain no-repeat;pointer-events:none}
.m-burbujas{--img:url(../img/burbujas.webp);left:4%;bottom:0;width:120px;aspect-ratio:260/233}
.m-ancla{--img:url(../img/ancla.webp);right:0;top:-4%;width:120px;aspect-ratio:360/260;transform:rotate(-14deg)}
.litros-info{display:flex;flex-direction:column;gap:26px}
.litros-datos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.litros-datos li{padding:16px 18px;border-radius:20px;background:var(--azul);color:#fff;box-shadow:0 6px 0 var(--azul-hondo)}
.litros-datos li:nth-child(2){background:var(--naranja);box-shadow:0 6px 0 var(--naranja-hondo)}
.litros-datos li:nth-child(3){background:var(--aqua);color:var(--azul-hondo);box-shadow:0 6px 0 var(--aqua-hondo)}
.litros-datos b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(32px,3.4vw,46px);line-height:1}
.litros-datos span{font-size:14px;font-weight:600;line-height:1.25}
.litros-filtro{display:flex;flex-wrap:wrap;gap:10px}
.chip-l[aria-pressed="true"]{background:var(--azul);color:#fff;transform:rotate(-2deg)}
.litros-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.litro{display:flex;gap:16px;align-items:flex-start;padding:18px;border-radius:22px;background:rgba(255,255,255,.55);border:2px solid rgba(37,82,140,.18);animation:cat-entra .5s var(--salida) both;animation-delay:calc(var(--i) * 45ms);transition:transform .25s var(--rebote),background-color .2s}
@media (hover:hover) and (pointer:fine){.litro:hover{transform:translateY(-4px) rotate(-1deg);background:#fff}}
.litro-vaso{display:block;position:relative;flex:none;width:46px;height:62px;border:3px solid var(--azul);border-top-width:0;border-radius:4px 4px 14px 14px;overflow:hidden;background:rgba(255,255,255,.6)}
.litro-vaso::before{content:"";position:absolute;left:-3px;right:-3px;top:0;height:3px;background:var(--azul);border-radius:2px}
.litro-vaso i{position:absolute;left:0;right:0;bottom:0;height:76%;background:var(--c);transform-origin:50% 100%;animation:sube-liquido 2.6s ease-in-out infinite alternate}
.litro-vaso i::before{content:"";position:absolute;left:-30%;top:-6px;width:160%;height:12px;border-radius:50%;background:var(--c);filter:brightness(1.15)}
.litro-vaso::after{content:"";position:absolute;right:9px;top:-10px;width:4px;height:44px;background:var(--naranja);border-radius:3px;transform:rotate(14deg)}
@keyframes sube-liquido{from{transform:scaleY(.86)}to{transform:scaleY(1)}}
.litro-licor{display:inline-block;margin-top:6px;padding:2px 10px;border-radius:999px;background:var(--c);color:var(--tinta);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.litros-cta{align-self:flex-start}
.litro>div{flex:1;min-width:0}
.litro h3{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:clamp(24px,2.2vw,30px)}
.litro h3::after{content:"$120";font-size:.8em;color:var(--naranja)}
.litro p{margin-top:8px;font-size:15.5px;font-weight:500;line-height:1.45;color:#2B4A78}

/* 6. el lugar */
.lugar{position:relative;padding:150px var(--m) 140px;background:var(--tinta);color:var(--hueso);overflow:hidden;overflow:clip}
.lugar-cabeza{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:24px;align-items:end}
.lugar h2{grid-column:1/8;font-size:clamp(50px,8.4vw,136px)}
.lugar h2 span{display:block}
.lugar h2 span+span{color:var(--naranja)}
.lugar-cabeza p{grid-column:8/13;color:#B9C6D8}
.lugar-escena{position:relative;margin:80px auto 90px;max-width:1180px;perspective:1700px}
.ventana{position:relative;border-radius:22px;transform-style:preserve-3d;will-change:transform}
.ventana::before{content:"";position:absolute;inset:0;border-radius:22px;background:var(--naranja);transform:translate3d(18px,18px,-1px)}
.ventana img{position:relative;width:100%;border-radius:22px;border:4px solid var(--hueso);aspect-ratio:1160/672;object-fit:cover}
.lugar-sirena{position:absolute;right:-3%;bottom:-16%;width:min(230px,26vw);z-index:2;will-change:transform}
.datos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.datos li{display:flex;flex-direction:column;gap:6px;padding-top:22px;border-top:2px solid rgba(238,231,218,.18)}
.datos b{font-family:var(--display);font-weight:400;font-size:clamp(44px,5vw,72px);line-height:1;color:var(--aqua)}
.datos b span{color:var(--amarillo)}
.datos li>span{color:#B9C6D8}
.dato-link{display:flex;flex-direction:column;gap:6px;text-decoration:none}
.dato-link span{display:inline-flex;align-items:center;gap:6px;color:#B9C6D8}
.dato-link svg{width:18px;height:18px;transition:transform .2s var(--salida)}
@media (hover:hover) and (pointer:fine){.dato-link:hover svg{transform:translateX(4px)}.dato-link:hover span{color:#fff}}
.resenas{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 40px;margin-top:80px;padding:clamp(24px,4vw,44px);border-radius:32px;background:var(--azul)}
.resenas-texto{flex:1 1 380px;display:flex;flex-direction:column;gap:10px}
.resenas-texto .resenas-estrellas{color:var(--amarillo);font-size:30px;letter-spacing:.1em;line-height:1}
.resenas h3{font-size:clamp(32px,3.6vw,50px)}
.resenas-texto p{color:#DCE7F4}
.resenas-idea{font-weight:600;color:var(--aqua)!important;min-height:1.5em}
.resenas-botones{display:flex;flex-wrap:wrap;gap:14px}
.estado{margin-top:6px}
.insta{margin-top:120px}
.insta-cabeza{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}
.insta h3{font-size:clamp(36px,4.4vw,60px)}
.insta-rejilla{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.insta-rejilla a{display:block;border-radius:18px;overflow:hidden;aspect-ratio:3/4;background:var(--azul-hondo)}
.insta-rejilla img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--salida)}
@media (hover:hover) and (pointer:fine){.insta-rejilla a:hover img{transform:scale(1.07) rotate(-1.5deg)}}

/* 7. visítanos */
.visitanos{position:relative;padding:150px var(--m) 120px;background:var(--azul);color:#fff;overflow:hidden;overflow:clip}
.visitanos-cola{position:absolute;right:-30px;top:60px;width:min(260px,30vw);opacity:.95;will-change:transform;pointer-events:none}
.visitanos-cabeza{margin-bottom:56px;max-width:900px}
.visitanos h2{font-size:clamp(58px,10vw,164px);text-shadow:5px 6px 0 var(--naranja)}
.visitanos-cabeza p{margin-top:18px;font-size:clamp(18px,1.8vw,22px);color:#DCE7F4}
.visitanos-cuerpo{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:28px}
.horario{padding:clamp(22px,3vw,34px);border-radius:30px;background:var(--azul-hondo)}
.horario h3,.reserva h3{font-size:clamp(30px,3vw,40px)}
.horario h3{color:var(--amarillo);margin-bottom:12px}
.horario li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;border-bottom:1px solid rgba(255,255,255,.12);font-size:17px}
.horario li span:last-child{font-variant-numeric:tabular-nums;color:#DCE7F4}
.horario li.hoy-dia{border-radius:12px;border-bottom-color:transparent;background:rgba(255,255,255,.1);font-weight:600}
.horario li.hoy-dia span:first-child::after{content:"Hoy";margin-left:10px;padding:2px 8px;border-radius:999px;background:var(--amarillo);color:var(--tinta);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;vertical-align:2px}
.direccion{display:flex;gap:10px;margin:22px 0;font-size:16px;color:#DCE7F4}
.direccion svg{width:22px;height:22px;flex:none;color:var(--aqua);margin-top:1px}
.horario-botones{display:flex;flex-wrap:wrap;gap:12px}
.mapa{min-height:420px;border-radius:30px;overflow:hidden;border:5px solid var(--hueso);background:var(--azul-hondo)}
.mapa iframe{display:block;width:100%;height:100%;min-height:410px;border:0}
.reserva{grid-column:1/-1;padding:clamp(24px,4vw,48px);border-radius:32px;background:var(--hueso);color:var(--tinta)}
.reserva h3{color:var(--azul)}
.reserva-sub{margin:10px 0 26px;color:#4A5568}
.campos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.campo{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600;color:var(--azul-hondo)}
.campo i{font-style:normal;font-weight:400;color:#6B7280}
.campo-ancho{grid-column:span 2}
.campo input,.campo select{width:100%;height:54px;padding:0 14px;border:2px solid #CFC4B0;border-radius:14px;background:#fff;font-size:16px;font-weight:400;color:var(--tinta);outline:none;transition:border-color .2s}
.campo input:focus,.campo select:focus{border-color:var(--azul)}
.reserva-aviso{min-height:24px;margin:16px 0 6px;font-size:15px;font-weight:600;color:var(--naranja-hondo)}
.didi{display:flex;align-items:center;gap:18px;margin-top:28px;padding:18px 22px;border-radius:22px;background:rgba(11,28,51,.28)}
.didi-logo{flex:none;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#FF7D41;color:#fff;font-weight:700;font-size:15px;line-height:.9;text-align:center}
.didi-logo i{display:block;font-style:normal;font-weight:500;font-size:12px}
.didi p{color:#DCE7F4}
.didi b{color:#fff}

/* pie */
.pie{padding:80px var(--m) 110px;background:var(--tinta);color:var(--hueso);overflow:hidden;overflow:clip}
.pie-marca{display:block;width:min(720px,90%);height:auto;margin:0 auto 56px;will-change:transform}
.pie-marca text{font-family:var(--display);font-size:200px;fill:var(--hueso)}
.pie-cuerpo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;align-items:start;color:#B9C6D8;font-size:16px}
.pie-titulo{font-family:var(--display);font-size:24px;color:var(--naranja);margin-bottom:8px}
.pie-redes{display:flex;gap:12px;justify-content:center}
.pie-redes a{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;border:2px solid rgba(238,231,218,.3);color:var(--hueso);transition:background-color .2s,color .2s,transform .2s var(--rebote)}
.pie-redes svg{width:24px;height:24px}
@media (hover:hover) and (pointer:fine){.pie-redes a:hover{background:var(--naranja);border-color:var(--naranja);color:#fff;transform:translateY(-3px) rotate(-6deg)}}
.pie-legal{text-align:right;display:flex;flex-direction:column;gap:10px;font-size:14px}

/* botón flotante de WhatsApp */
.flotante{position:fixed;right:18px;bottom:max(18px,env(safe-area-inset-bottom));z-index:60;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:var(--wa);color:#fff;box-shadow:0 10px 24px -6px rgba(0,0,0,.45);transform:scale(0);transition:transform .45s var(--rebote)}
.flotante.ver{transform:scale(1)}
.flotante svg{width:34px;height:34px}
.flotante::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(37,211,102,.55);animation:latido 2.2s infinite}

/* tableta y celular */
@media (max-width:980px){
.barra{gap:12px}
.barra-logo{width:88px}
.barra-cta{margin-left:auto}
.barra-menu{display:grid;place-items:center;gap:6px;width:46px;height:46px;padding:0;border:0;border-radius:50%;background:rgba(238,231,218,.14);cursor:pointer;align-content:center}
.barra-menu span{display:block;width:20px;height:2.5px;border-radius:2px;background:var(--hueso);transition:transform .3s var(--salida)}
.barra-menu[aria-expanded="true"] span:first-child{transform:translateY(4.25px) rotate(45deg)}
.barra-menu[aria-expanded="true"] span:last-child{transform:translateY(-4.25px) rotate(-45deg)}
.barra-nav{position:fixed;inset:0;z-index:-1;flex-direction:column;justify-content:center;gap:4px;margin:0;padding:90px var(--m) 40px;background:var(--azul-hondo);font-family:var(--display);font-size:clamp(40px,11vw,64px);font-weight:400;line-height:1.05;opacity:0;visibility:hidden;transform:translateY(-16px);transition:opacity .35s,transform .45s var(--salida),visibility 0s .45s}
.barra-nav a{padding:6px 0}
.barra-nav a::after{display:none}
.barra-nav a:nth-child(even){color:var(--naranja)}
.barra.abierta .barra-nav{opacity:1;visibility:visible;transform:none;transition:opacity .35s,transform .45s var(--salida)}
.barra.abierta .barra-logo{opacity:1;transform:none;pointer-events:auto}
.hoy-texto,.hoy-escena{grid-column:1/-1}
.hoy-escena{min-height:0}
.menu h2,.menu-cabeza p{grid-column:1/-1}
.menu-cuerpo{grid-template-columns:1fr}
.menu-foto{display:none}
.litros-cuerpo{grid-template-columns:1fr}
.litros-cabeza{grid-template-columns:1fr}
.litros-vasos{position:relative;top:0;height:min(480px,110vw);max-width:520px;width:100%;margin:0 auto}
.lugar h2,.lugar-cabeza p{grid-column:1/-1}
.insta-rejilla{grid-template-columns:repeat(3,minmax(0,1fr))}
.visitanos-cuerpo{grid-template-columns:1fr}
.campos{grid-template-columns:repeat(2,minmax(0,1fr))}
.pie-cuerpo{grid-template-columns:1fr;text-align:center}
.pie-legal{text-align:center}
}
@media (max-width:640px){
body{font-size:17px}
.pulpo{height:70svh;bottom:-3%}
.pulpo-mueve{opacity:.38}
.pulpo-i{left:-32vw}
.pulpo-d{right:-32vw}
.portada-centro{padding-top:120px;gap:16px}
.portada-botones{flex-direction:column;align-self:stretch}
.portada-botones .btn{width:100%}
.sello-portada{top:84px;right:12px;width:96px}
.bajar{display:none}
.bandas{height:120px;margin:-58px 0 -62px}
.banda-naranja{top:54px}
.hoy{padding:150px var(--m) 100px}
.chips{top:70px}
.promo{width:80vw;height:min(60svh,470px);min-height:360px;padding:20px}
.promo .sello{width:96px;right:-8px}
.platos{grid-template-columns:1fr}
.litros-lista{grid-template-columns:1fr}
.lugar-sirena{width:120px;right:-2%;bottom:-20%}
.datos{grid-template-columns:1fr;gap:4px}
.repisa-item{width:52px}
.litro-dia{rotate:0deg}
.litros-datos{grid-template-columns:1fr 1fr;gap:8px}
.litros-datos li{padding:12px}
.flecha{width:46px;height:46px}
.datos li{flex-direction:row;align-items:baseline;gap:14px;padding:16px 0}
.datos b{font-size:44px}
.insta-rejilla{gap:8px}
.insta-rejilla a{border-radius:12px}
.campos{grid-template-columns:1fr}
.campo-ancho{grid-column:auto}
.reserva .btn{width:100%}
.resenas-botones,.resenas-botones .btn{width:100%}
.horario-botones .btn{flex:1 1 auto}
.mapa,.mapa iframe{min-height:320px}
.didi{align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important}
.js .rv{opacity:1;transform:none}
.flotante{transform:scale(1)}
}
