:root{
  --bg:#050105;
  --bg2:#0a030b;
  --panel:#0d0610;
  --panel-2:#130817;
  --pink:#ff42ef;
  --pink-2:#ff9cf7;
  --purple:#a900d7;
  --purple-2:#6f008f;
  --white:#fff;
  --text:#f8f4f9;
  --muted:#ad9fb2;
  --line:rgba(255,255,255,.09);
  --line-strong:rgba(255,255,255,.15);
  --shadow:0 24px 80px rgba(0,0,0,.45);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  min-height:100%;
  color:var(--text);
  font-family:Montserrat,sans-serif;
  background:
    radial-gradient(circle at 18% -4%,rgba(184,0,236,.16),transparent 28%),
    radial-gradient(circle at 92% 20%,rgba(255,53,220,.07),transparent 24%),
    linear-gradient(180deg,#050105 0%,#080208 45%,#040104 100%);
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:999;
  opacity:.018;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter id='n'/%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.scroll-progress{
  position:fixed;
  top:0;
  left:0;
  width:0%;
  height:2px;
  z-index:10000;
  background:linear-gradient(90deg,var(--purple),var(--pink),#fff);
  box-shadow:0 0 10px rgba(255,66,239,.85);
  pointer-events:none;
}
::selection{background:var(--pink);color:#180019}
.logo-img{display:block;object-fit:contain}

/* LOADER */
.loader{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 50%, rgba(190,0,246,.13), transparent 23%),
    radial-gradient(circle at 50% 52%, rgba(255,47,237,.05), transparent 38%),
    #020102;
  transition:
    opacity .72s ease,
    visibility .72s ease,
    transform .72s cubic-bezier(.22,.75,.25,1);
}
.loader.hide{
  opacity:0;
  visibility:hidden;
  transform:scale(1.035);
}
.loader::before{
  content:"";
  position:absolute;
  inset:-20%;
  background:
    linear-gradient(
      112deg,
      transparent 38%,
      rgba(255,255,255,.02) 45%,
      rgba(255,87,244,.13) 49%,
      rgba(255,255,255,.09) 50%,
      rgba(255,87,244,.10) 51%,
      transparent 58%
    );
  transform:translateX(-90%) rotate(-4deg);
  animation:loaderSweep 1.05s .42s cubic-bezier(.65,0,.35,1) forwards;
}
.loader::after{
  content:"";
  position:absolute;
  width:min(500px,85vw);
  height:150px;
  left:50%;
  top:50%;
  transform:translate(-50%,-30%);
  border-radius:50%;
  background:#bd00ef;
  filter:blur(85px);
  opacity:0;
  animation:loaderBloom .8s .18s ease-out forwards;
}
.loader-box{
  position:relative;
  z-index:2;
  width:min(470px,82vw);
  text-align:center;
}
.logo-img{display:block;object-fit:contain}
.loader-logo{
  width:100%;
  margin:auto;
  opacity:0;
  transform:translateY(24px) scale(.92);
  filter:
    blur(12px)
    brightness(.7)
    drop-shadow(0 0 0 rgba(203,0,255,0));
  animation:loaderLogo 1s .06s cubic-bezier(.16,.9,.22,1) forwards;
}
.loader-caption{
  margin-top:17px;
  color:rgba(255,255,255,.58);
  font-size:7px;
  font-weight:700;
  letter-spacing:.42em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(8px);
  animation:loaderCaption .5s .62s forwards ease-out;
}
.loader-rule{
  width:0;
  height:1px;
  margin:14px auto 0;
  background:linear-gradient(90deg,transparent,#ff59ee,#bc00ef,transparent);
  box-shadow:0 0 12px rgba(231,0,255,.65);
  animation:loaderRule .7s .58s forwards cubic-bezier(.2,.8,.2,1);
}
@keyframes loaderLogo{
  0%{
    opacity:0;
    transform:translateY(24px) scale(.92);
    filter:blur(12px) brightness(.65) drop-shadow(0 0 0 rgba(203,0,255,0));
  }
  55%{
    opacity:1;
    filter:blur(0) brightness(1.13) drop-shadow(0 0 27px rgba(216,0,255,.52));
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0) brightness(1) drop-shadow(0 0 17px rgba(203,0,255,.30));
  }
}
@keyframes loaderCaption{
  to{opacity:1;transform:none}
}
@keyframes loaderRule{
  to{width:150px}
}
@keyframes loaderSweep{
  to{transform:translateX(90%) rotate(-4deg)}
}
@keyframes loaderBloom{
  0%{opacity:0;transform:translate(-50%,-30%) scale(.7)}
  55%{opacity:.20}
  100%{opacity:.10;transform:translate(-50%,-30%) scale(1.15)}
}

/* HEADER */
header{
  position:sticky;
  top:0;
  z-index:90;
  background:rgba(5,1,6,.72);
  backdrop-filter:blur(20px) saturate(120%);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.header-inner{
  max-width:1280px;
  margin:auto;
  padding:10px 5%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.header-logo{width:230px;max-width:64vw;max-height:49px}
.header-tag{
  color:#c7bbc9;
  font-size:8px;
  letter-spacing:.22em;
  text-transform:uppercase;
}

/* HERO */
.hero{
  position:relative;
  min-height:610px;
  padding:72px 20px 80px;
  display:grid;
  place-items:center;
  text-align:center;
  overflow:hidden;
}

/* IMAGEN DE FONDO DE "NUESTRO MENÚ"
   Solo cambia "tu-imagen-menu.jpg" por el nombre o ruta de tu imagen. */
.hero::before{
  content:"";
  position:absolute;
  inset:-30px;
  background:
    linear-gradient(rgba(5,1,5,.58),rgba(5,1,5,.78)),
    url("tu-imagen-menu.jpg") center/cover no-repeat;
  filter:blur(7px);
  transform:scale(1.04);
  opacity:.62;
  z-index:0;
  pointer-events:none;
}
.hero::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:min(920px,88vw);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(255,64,239,.34),transparent);
}
.hero-glow{
  position:absolute;
  z-index:1;
  width:600px;
  height:600px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(213,0,255,.18),rgba(107,0,137,.04) 48%,transparent 72%);
  filter:blur(50px);
  animation:heroFloat 8s ease-in-out infinite alternate;
}
@keyframes heroFloat{to{transform:translate(65px,45px) scale(1.12)}}
.hero-inner{position:relative;z-index:2}
.hero-kicker{
  color:#d8bfde;
  font-size:8px;
  letter-spacing:.38em;
  text-transform:uppercase;
  margin-bottom:25px;
}

/* NEON */
.neon-sign{position:relative;display:inline-block;padding:18px 26px 24px}
.neon-sign::before{
  content:"";
  position:absolute;
  inset:25% 5% 2%;
  border-radius:50%;
  background:rgba(220,0,255,.15);
  filter:blur(40px);
}
.neon-title{
  position:relative;
  font-family:Bebas Neue,sans-serif;
  font-size:clamp(78px,14vw,158px);
  line-height:.72;
  letter-spacing:.035em;
  font-weight:400;
  color:#fff;
  text-shadow:
    0 0 1px #fff,
    0 0 5px rgba(255,255,255,.9),
    0 0 11px rgba(255,191,248,.72),
    0 0 20px rgba(255,70,240,.68),
    0 0 38px rgba(210,0,255,.5);
}
.neon-line{display:block;white-space:nowrap}
.neon-line.menu{margin-top:7px;color:#ffd6fb}
.neon-piece{display:inline-block;will-change:opacity,filter}
.flicker-a{animation:flickA 10s infinite}
.flicker-b{animation:flickB 8.2s 1.2s infinite}
.flicker-c{animation:flickC 11.2s .7s infinite}
.flicker-d{animation:flickD 9s 2.1s infinite}
@keyframes flickA{0%,7%,9%,44%,46%,100%{opacity:1}8%,45%{opacity:.25}}
@keyframes flickB{0%,18%,20%,65%,67%,100%{opacity:1}19%,66%{opacity:.42}}
@keyframes flickC{0%,30%,32%,76%,78%,100%{opacity:1}31%,77%{opacity:.18}}
@keyframes flickD{0%,11%,13%,52%,54%,100%{opacity:1}12%,53%{opacity:.34}}
.hero-text{
  max-width:570px;
  margin:48px auto 0;
  color:var(--muted);
  font-size:10px;
  line-height:1.9;
}
.scroll-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:24px;
  color:#fff;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.14);
  border-radius:100px;
  padding:12px 18px;
  font-size:8px;
  letter-spacing:.18em;
  text-transform:uppercase;
  background:rgba(255,255,255,.025);
  transition:.25s ease;
}
.scroll-link:hover{
  transform:translateY(-2px);
  border-color:rgba(255,78,241,.42);
  box-shadow:0 0 28px rgba(180,0,224,.15);
}

/* CATEGORY NAV */
.navwrap{
  position:sticky;
  top:69px;
  z-index:80;
  padding:10px 0;
  background:rgba(6,2,7,.88);
  backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(255,255,255,.055);
}
.nav{
  max-width:1280px;
  margin:auto;
  padding:0 5%;
  display:flex;
  gap:8px;
  overflow:auto;
  scrollbar-width:none;
}
.nav::-webkit-scrollbar{display:none}
.nav a{
  flex:none;
  position:relative;
  color:#a99fab;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
  border-radius:100px;
  padding:11px 16px;
  font-size:8px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:.28s ease;
}
.nav a:hover{color:#fff;border-color:rgba(255,70,240,.28)}
.nav a.active{
  color:#fff;
  border-color:rgba(255,100,244,.22);
  background:linear-gradient(90deg,rgba(112,0,145,.9),rgba(211,0,235,.9));
  box-shadow:0 0 22px rgba(193,0,241,.22);
}

/* MENU SECTIONS */
main{max-width:1280px;margin:auto;padding:0 5% 100px}
.menu-section{
  position:relative;
  scroll-margin-top:145px;
  padding-top:86px;
  margin-bottom:18px;
}
.section-ghost{
  position:absolute;
  top:16px;
  right:0;
  font-family:Bebas Neue,sans-serif;
  font-size:clamp(76px,13vw,165px);
  line-height:.8;
  color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.035);
  pointer-events:none;
  user-select:none;
}
.section-head{position:relative;z-index:2;margin-bottom:28px}
.section-head small{
  color:var(--pink);
  font-size:8px;
  letter-spacing:.3em;
  text-transform:uppercase;
  font-weight:900;
}
.section-head h2{
  font-family:Bebas Neue,sans-serif;
  font-size:clamp(54px,8.5vw,90px);
  line-height:.88;
  font-weight:400;
  margin-top:7px;
}
.section-head h2 em{
  font-family:Playfair Display,serif;
  color:var(--pink-2);
}
.section-line{
  width:0;
  height:1px;
  margin-top:18px;
  background:linear-gradient(90deg,var(--pink),rgba(255,255,255,.03));
  transition:1s ease;
}
.menu-section.visible .section-line{width:min(500px,85%)}

/* PA' TOMAR */
.drink-category-list{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.drink-category{
  position:relative;
  min-height:112px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding:20px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,.01)),
    var(--panel);
  color:#fff;
  text-align:left;
  cursor:pointer;
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease,background .28s ease;
}
.drink-category::before{
  content:"";
  position:absolute;
  width:110px;
  height:110px;
  right:-35px;
  top:-35px;
  border-radius:50%;
  background:var(--purple);
  filter:blur(55px);
  opacity:.08;
  transition:.28s ease;
}
.drink-category::after{
  content:"";
  position:absolute;
  left:20px;
  right:20px;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,var(--pink),transparent);
  opacity:.25;
}
.drink-category:hover{
  transform:translateY(-4px);
  border-color:rgba(255,71,240,.28);
  box-shadow:0 18px 55px rgba(0,0,0,.24),0 0 28px rgba(178,0,219,.09);
}
.drink-category:hover::before{opacity:.14}
.drink-kicker{
  display:block;
  margin-bottom:7px;
  color:var(--pink);
  font-size:7px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.drink-category h3{
  font-family:Bebas Neue,sans-serif;
  font-size:34px;
  line-height:.92;
  font-weight:400;
}
.drink-arrow{
  flex:none;
  color:#ffd4fb;
  font-size:23px;
  transition:.25s ease;
}
.drink-category:hover .drink-arrow{transform:translateX(5px)}

/* FOOD LISTS */
.menu-list{position:relative;z-index:2}
.product-row{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:20px;
  padding:22px 16px;
  margin:0 -16px;
  border-bottom:1px solid rgba(255,255,255,.07);
  border-radius:14px;
  opacity:0;
  transform:translateY(20px);
  filter:blur(3px);
  cursor:pointer;
  transition:
    opacity .62s ease,
    transform .62s cubic-bezier(.2,.8,.2,1),
    filter .62s ease,
    background .25s ease,
    padding .25s ease;
}
.product-row.show{opacity:1;transform:none;filter:blur(0)}
.product-row:hover{
  background:linear-gradient(90deg,rgba(184,0,232,.09),rgba(255,255,255,.015));
  padding-left:22px;
}
.product-row::before{
  content:"";
  position:absolute;
  left:0;
  top:20%;
  width:2px;
  height:0;
  border-radius:20px;
  background:var(--pink);
  box-shadow:0 0 10px rgba(255,66,239,.55);
  transition:.25s ease;
}
.product-row:hover::before{height:60%}
.product-row::after{
  content:"VER";
  position:absolute;
  right:92px;
  top:50%;
  transform:translateY(-50%) translateX(6px);
  color:rgba(255,121,246,.65);
  font-size:6px;
  font-weight:900;
  letter-spacing:.16em;
  opacity:0;
  transition:.25s ease;
}
.product-row:hover::after{opacity:1;transform:translateY(-50%)}
.product-name{
  font-size:13px;
  line-height:1.3;
  font-weight:850;
  text-transform:uppercase;
}
.product-desc{
  max-width:700px;
  margin-top:7px;
  color:var(--muted);
  font-size:9px;
  line-height:1.65;
}
.product-price{
  font-family:Bebas Neue,sans-serif;
  font-size:30px;
  color:#ffd4fb;
  text-shadow:0 0 12px rgba(225,0,255,.22);
  white-space:nowrap;
  align-self:center;
}

/* MODALS */
.drink-modal,.product-modal{
  position:fixed;
  inset:0;
  z-index:5100;
  display:grid;
  place-items:center;
  padding:16px;
  background:rgba(0,0,0,.82);
  backdrop-filter:blur(18px);
  opacity:0;
  visibility:hidden;
  transition:.3s ease;
}
.drink-modal.open,.product-modal.open{opacity:1;visibility:visible}
.drink-modal-card,.product-modal-card{
  width:min(680px,100%);
  max-height:86vh;
  overflow:auto;
  position:relative;
  border:1px solid rgba(255,255,255,.11);
  border-radius:26px;
  padding:28px;
  background:
    radial-gradient(circle at 90% 0%,rgba(175,0,224,.16),transparent 34%),
    linear-gradient(180deg,#110713,#0a040b);
  box-shadow:var(--shadow),0 0 48px rgba(174,0,217,.11);
  transform:translateY(26px) scale(.975);
  transition:.38s cubic-bezier(.2,.8,.2,1);
}
.drink-modal.open .drink-modal-card,.product-modal.open .product-modal-card{transform:none}
.drink-modal-close,.modal-close{
  position:absolute;
  right:14px;
  top:14px;
  z-index:4;
  width:40px;
  height:40px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  background:rgba(0,0,0,.38);
  color:#fff;
  font-size:20px;
  cursor:pointer;
  transition:.25s ease;
}
.drink-modal-close:hover,.modal-close:hover{border-color:rgba(255,78,241,.4);transform:rotate(6deg)}
.drink-modal-label,.modal-label{
  color:var(--pink);
  font-size:7px;
  font-weight:900;
  letter-spacing:.22em;
  text-transform:uppercase;
  margin-bottom:9px;
}
.drink-modal-title,.modal-name{
  font-family:Bebas Neue,sans-serif;
  font-size:46px;
  line-height:.92;
  font-weight:400;
  padding-right:48px;
}
.drink-modal-divider,.modal-divider{
  height:1px;
  margin:20px 0 16px;
  background:linear-gradient(90deg,rgba(255,64,241,.5),rgba(255,255,255,.04));
}
.drink-modal-text,.modal-description{
  color:var(--muted);
  font-size:10px;
  line-height:1.75;
}
.modal-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  margin-top:4px;
}
.modal-table th,.modal-table td{
  padding:12px 8px;
  border-bottom:1px solid rgba(255,255,255,.07);
  font-size:10px;
  vertical-align:top;
}
.modal-table th{
  position:sticky;
  top:-28px;
  z-index:2;
  background:#100611;
  color:#ffc2f8;
  font-family:Bebas Neue,sans-serif;
  font-size:15px;
  letter-spacing:.04em;
}
.modal-table td small{
  display:block;
  color:#8f8392;
  font-size:8px;
  margin-top:3px;
  line-height:1.5;
}
.modal-table .price-col{
  text-align:right;
  font-family:Bebas Neue,sans-serif;
  font-size:19px;
  color:#ffd4fb;
  white-space:nowrap;
}
.modal-layout{
  display:grid;
  grid-template-columns:128px 1fr;
  gap:22px;
  align-items:center;
}
.modal-thumb{
  width:128px;
  height:128px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  background:#170918;
}
.modal-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transform:scale(1.04);
  transition:.35s ease;
}
.product-modal.open .modal-thumb img{opacity:1;transform:scale(1)}
.modal-price{
  margin-top:8px;
  color:#ffd4fb;
  font-family:Bebas Neue,sans-serif;
  font-size:30px;
}
.modal-includes-title{
  color:#fff;
  font-size:8px;
  font-weight:900;
  letter-spacing:.17em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.modal-note{
  margin-top:13px;
  color:#756a78;
  font-size:7px;
  line-height:1.6;
}

/* FOOTER */
footer{
  border-top:1px solid rgba(255,255,255,.06);
  padding:52px 20px 60px;
  text-align:center;
}
.footer-logo{
  width:270px;
  max-width:74vw;
  margin:0 auto 14px;
  filter:drop-shadow(0 0 14px rgba(216,0,255,.18));
}
footer p{
  color:#706674;
  font-size:8px;
  letter-spacing:.18em;
  text-transform:uppercase;
}

/* AMBIENT POINTER LIGHT */
.cursor-glow{
  position:fixed;
  width:320px;
  height:320px;
  border-radius:50%;
  pointer-events:none;
  z-index:1;
  transform:translate(-50%,-50%);
  background:rgba(197,0,255,.04);
  filter:blur(64px);
}

@media(max-width:780px){
  .drink-category-list{grid-template-columns:1fr}
  .drink-category{min-height:98px}
}
@media(max-width:650px){
  .header-inner{padding:9px 15px}
  .header-logo{width:205px}
  .header-tag{display:none}
  .navwrap{top:58px}
  .hero{min-height:565px;padding:55px 14px 70px}
  .neon-sign{padding:14px 8px 20px}
  .neon-title{font-size:76px}
  .hero-text{margin-top:43px}
  main{padding-left:15px;padding-right:15px}
  .menu-section{padding-top:70px}
  .section-ghost{font-size:88px}
  .product-row{
    margin:0;
    padding:18px 4px;
    gap:12px;
    border-radius:0;
  }
  .product-row:hover{padding-left:8px}
  .product-row::after{display:none}
  .product-name{font-size:12px}
  .product-price{font-size:27px}
  .drink-category{padding:18px;border-radius:16px}
  .drink-category h3{font-size:31px}
  .drink-modal-card,.product-modal-card{padding:22px 18px;border-radius:22px}
  .modal-layout{grid-template-columns:92px 1fr;gap:15px}
  .modal-thumb{width:92px;height:92px;border-radius:14px}
  .drink-modal-title,.modal-name{font-size:36px}
  .modal-table th,.modal-table td{padding:10px 5px;font-size:9px}
  .modal-table th{font-size:13px;top:-22px}
  .modal-table .price-col{font-size:16px}
  .cursor-glow{display:none}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .product-row{opacity:1;transform:none;filter:none}
  .section-line{width:min(500px,85%)}
}


/* ===== KPRICHOSA ULTRA — visual + performance pass ===== */
:root{
  --bg:#030104; --bg2:#09020b; --panel:#0c0710; --panel-2:#120918;
  --pink:#ff4de8; --pink-2:#ffc4f7; --purple:#b400e8; --purple-2:#690082;
  --muted:#b9adbc; --line:rgba(255,255,255,.085);
  --glass:rgba(15,7,18,.66); --radius:24px;
}
body{background:
  radial-gradient(900px 560px at 50% -180px,rgba(193,0,241,.17),transparent 65%),
  radial-gradient(700px 500px at 110% 28%,rgba(255,53,220,.07),transparent 68%),
  linear-gradient(180deg,#030104,#080209 48%,#030104);}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 0 47%,rgba(255,255,255,.012) 50%,transparent 53% 100%);background-size:180px 180px}
.scroll-progress{height:1px;opacity:.8}
header{background:linear-gradient(180deg,rgba(4,1,5,.94),rgba(4,1,5,.68));border-bottom-color:rgba(255,255,255,.075)}
.header-inner{min-height:66px}.header-logo{filter:drop-shadow(0 0 16px rgba(216,0,255,.18))}.header-tag{font-weight:800;color:#cfc4d2}
.hero{min-height:690px;padding-top:90px;isolation:isolate}
.hero::before{inset:0;background:
  linear-gradient(180deg,rgba(3,1,4,.20),rgba(3,1,4,.76) 72%,#030104 100%),
  radial-gradient(circle at 50% 38%,rgba(206,0,255,.17),transparent 25%),
  repeating-linear-gradient(90deg,transparent 0 79px,rgba(255,255,255,.018) 80px),
  repeating-linear-gradient(0deg,transparent 0 79px,rgba(255,255,255,.014) 80px);
  filter:none;transform:none;opacity:1}
.hero::after{height:180px;bottom:0;width:100%;background:linear-gradient(180deg,transparent,#030104);transform:none;left:0}
.hero-glow{width:min(760px,95vw);height:min(760px,95vw);opacity:.9}
.hero-inner{width:min(900px,100%)}
.hero-kicker{display:inline-flex;align-items:center;gap:10px;margin-bottom:28px;padding:8px 12px;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:rgba(255,255,255,.025);backdrop-filter:blur(12px);font-weight:800}
.hero-kicker::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--pink);box-shadow:0 0 12px var(--pink)}
.neon-sign{padding:24px 34px 28px;border:1px solid rgba(255,255,255,.045);border-radius:34px;background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.004));box-shadow:inset 0 1px rgba(255,255,255,.04),0 35px 100px rgba(0,0,0,.28)}
.neon-title{font-size:clamp(86px,15vw,170px);letter-spacing:.025em;text-shadow:0 0 2px #fff,0 0 9px rgba(255,255,255,.9),0 0 18px rgba(255,95,238,.8),0 0 42px rgba(210,0,255,.58),0 0 90px rgba(159,0,211,.32)}
.hero-text{max-width:520px;font-size:11px;color:#c4b8c7;line-height:1.85}
.scroll-link{padding:13px 20px;border-color:rgba(255,255,255,.16);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018));font-weight:900;box-shadow:0 10px 35px rgba(0,0,0,.22)}
.navwrap{top:66px;padding:9px 0;background:rgba(5,2,7,.78);box-shadow:0 12px 30px rgba(0,0,0,.18)}
.nav a{padding:11px 17px;border-color:rgba(255,255,255,.075);font-size:7.5px}.nav a.active{background:linear-gradient(110deg,#73008e,#c500df 60%,#f037df);box-shadow:0 8px 30px rgba(193,0,241,.2),inset 0 1px rgba(255,255,255,.18)}
main{padding-bottom:120px}.menu-section{padding-top:98px}.section-head{margin-bottom:34px}.section-head small{display:inline-block;padding:6px 9px;border-radius:999px;background:rgba(255,77,232,.07);border:1px solid rgba(255,77,232,.13)}
.section-head h2{font-size:clamp(60px,9vw,100px);letter-spacing:.01em}.section-head h2 em{font-weight:700;text-shadow:0 0 28px rgba(255,77,232,.14)}
.section-ghost{opacity:.8}.section-line{height:2px;border-radius:9px;background:linear-gradient(90deg,var(--pink),rgba(180,0,232,.42),transparent)}
.drink-category-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.drink-category{min-height:150px;padding:22px;border-radius:22px;align-items:flex-end;background:radial-gradient(circle at 88% 12%,rgba(190,0,239,.12),transparent 32%),linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012)),#0b050d;box-shadow:inset 0 1px rgba(255,255,255,.035),0 18px 45px rgba(0,0,0,.15)}
.drink-category::after{left:22px;right:22px;background:linear-gradient(90deg,var(--pink),rgba(255,255,255,.08),transparent)}
.drink-category:hover{transform:translateY(-6px) scale(1.012);border-color:rgba(255,90,239,.34);box-shadow:0 24px 60px rgba(0,0,0,.32),0 0 42px rgba(178,0,219,.11)}
.drink-category h3{font-size:39px}.drink-arrow{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035)}
.menu-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.product-row{margin:0;padding:20px 18px;min-height:100px;border:1px solid rgba(255,255,255,.075);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.028),rgba(255,255,255,.009));align-items:center;overflow:hidden}
.product-row:hover{padding-left:22px;background:radial-gradient(circle at 0 50%,rgba(190,0,236,.12),transparent 38%),linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.012));border-color:rgba(255,80,234,.2)}
.product-row::before{top:18%;height:64%;opacity:.55}.product-row:hover::before{height:64%;opacity:1}.product-row::after{display:none}
.product-name{font-size:13px;letter-spacing:.015em}.product-desc{font-size:8.5px}.product-price{font-size:31px}
.drink-modal,.product-modal{background:rgba(2,0,3,.82);backdrop-filter:blur(22px) saturate(120%)}
.drink-modal-card,.product-modal-card{border-radius:30px;border-color:rgba(255,255,255,.13);background:radial-gradient(circle at 100% 0,rgba(194,0,239,.18),transparent 32%),linear-gradient(180deg,#120816,#08030a);box-shadow:0 35px 100px rgba(0,0,0,.58),0 0 80px rgba(174,0,217,.1),inset 0 1px rgba(255,255,255,.05)}
.modal-thumb{box-shadow:0 15px 40px rgba(0,0,0,.28)}
.modal-table tr:last-child td{border-bottom:0}.modal-table tbody tr:hover td{background:rgba(255,255,255,.018)}
footer{background:radial-gradient(circle at 50% 100%,rgba(172,0,222,.08),transparent 38%)}
@media(max-width:980px){.drink-category-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.menu-list{grid-template-columns:1fr}.drink-category-list{grid-template-columns:1fr 1fr}.drink-category{min-height:125px}.hero{min-height:630px}}
@media(max-width:520px){
  .hero{min-height:590px;padding:58px 14px 62px}.neon-sign{padding:20px 12px 24px;border-radius:26px}.neon-title{font-size:clamp(68px,22vw,94px)}
  .hero-text{font-size:9.5px;margin-top:34px}.drink-category-list{grid-template-columns:1fr;gap:10px}.drink-category{min-height:104px;padding:18px}.drink-category h3{font-size:34px}
  .menu-section{padding-top:78px}.section-head{margin-bottom:24px}.product-row{min-height:88px;padding:17px 14px}.product-row:hover{padding-left:17px}.product-desc{font-size:8px}.product-price{font-size:28px}
}



/* ===== APP-LIKE ROUTING / SUBDIVIDED MENU ===== */
body.menu-home-active{overflow:hidden}
.menu-home{min-height:calc(100vh - 70px);display:grid;place-items:center;position:relative;overflow:hidden;padding:34px 5% 48px;background:radial-gradient(circle at 50% 32%,rgba(196,0,238,.14),transparent 33%),linear-gradient(180deg,#050106,#08020a 60%,#040104)}
.home-shell{width:min(1180px,100%);position:relative;z-index:2}
.home-brand{font-size:9px;font-weight:800;letter-spacing:.35em;color:#cdbed0;margin-bottom:16px}
.home-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(64px,10vw,132px);line-height:.76;letter-spacing:.01em;color:#fff;text-shadow:0 0 44px rgba(255,255,255,.05)}
.home-title em{font-style:normal;color:var(--pink);text-shadow:0 0 30px rgba(255,66,239,.34)}
.home-copy{margin:22px 0 28px;color:#9f91a5;font-size:12px;letter-spacing:.04em}
.home-ambient{position:absolute;border-radius:50%;filter:blur(70px);opacity:.14;pointer-events:none}.home-ambient-a{width:400px;height:400px;background:#db00ff;left:-150px;top:20%}.home-ambient-b{width:360px;height:360px;background:#ff55e8;right:-170px;bottom:0}
.portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.portal-card{appearance:none;text-align:left;position:relative;min-height:270px;padding:24px;border:1px solid rgba(255,255,255,.09);border-radius:26px;color:#fff;cursor:pointer;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.012)),#0b050d;box-shadow:inset 0 1px rgba(255,255,255,.045),0 22px 60px rgba(0,0,0,.24);transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .35s}
.portal-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 18%,rgba(232,38,255,.18),transparent 32%);opacity:.6;transition:.35s}.portal-card:hover{transform:translateY(-7px);border-color:rgba(255,84,240,.34);box-shadow:0 28px 70px rgba(0,0,0,.38),0 0 45px rgba(190,0,235,.10)}
.portal-index{position:absolute;top:22px;left:24px;font-size:9px;letter-spacing:.25em;color:#766a7a;font-weight:800}.portal-art{position:absolute;right:24px;top:28px;width:100px;height:100px;display:block;opacity:.9}
.portal-label{position:absolute;left:24px;right:24px;bottom:82px;font-family:'Bebas Neue';font-size:46px;line-height:.9}.portal-sub{position:absolute;left:24px;right:24px;bottom:50px;color:#9d8fa3;font-size:9px;font-weight:600}.portal-go{position:absolute;bottom:22px;left:24px;font-size:8px;font-weight:900;letter-spacing:.2em;color:#f0c9ee}.portal-go b{font-size:14px;margin-left:6px;color:var(--pink)}
.mini-bottle{position:absolute;width:22px;height:65px;border:2px solid rgba(255,255,255,.68);border-radius:5px 5px 12px 12px;bottom:10px}.mini-bottle::before{content:"";position:absolute;width:10px;height:19px;border:2px solid rgba(255,255,255,.68);border-bottom:0;left:4px;top:-20px;border-radius:4px 4px 0 0}.mini-bottle.b1{left:24px;transform:rotate(-16deg)}.mini-bottle.b2{right:25px;transform:rotate(16deg)}
.mini-plate{position:absolute;width:74px;height:36px;border:2px solid rgba(255,255,255,.67);border-radius:50%;left:13px;bottom:14px;box-shadow:inset 0 0 0 8px rgba(255,255,255,.025)}.mini-steam{position:absolute;width:14px;height:30px;border-left:2px solid rgba(255,255,255,.55);border-radius:50%;top:17px}.mini-steam.s1{left:36px;transform:rotate(12deg)}.mini-steam.s2{left:58px;transform:rotate(-10deg)}
.mini-glass{position:absolute;width:48px;height:60px;left:27px;bottom:10px;border:2px solid rgba(255,255,255,.66);border-radius:4px 4px 14px 14px;clip-path:polygon(0 0,100% 0,85% 100%,15% 100%)}.mini-straw{position:absolute;width:2px;height:65px;background:rgba(255,255,255,.64);left:65px;top:5px;transform:rotate(15deg)}.mini-bubble{position:absolute;border:1px solid var(--pink);border-radius:50%}.mb1{width:8px;height:8px;left:42px;top:56px}.mb2{width:5px;height:5px;left:58px;top:42px}

.menu-topbar{display:none;position:sticky;top:66px;z-index:85;max-width:1280px;margin:0 auto;padding:12px 5%;align-items:center;justify-content:space-between;background:rgba(5,1,6,.84);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.06)}.menu-topbar.show{display:flex}.menu-back,.menu-home-btn{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.035);color:#fff;border-radius:999px;min-height:42px;padding:0 16px;font-family:Montserrat;font-size:8px;font-weight:900;letter-spacing:.17em;cursor:pointer}.menu-home-btn{width:42px;padding:0;font-size:17px}.menu-current{font-family:'Bebas Neue';font-size:23px;letter-spacing:.06em;color:#f7eaf7}
main{min-height:0}.menu-section{display:none!important;opacity:1!important;transform:none!important;max-width:1280px;margin:0 auto;padding-top:54px;min-height:calc(100vh - 132px)}.menu-section.route-active{display:block!important}.food-hub{position:relative}.food-intro{color:#9e90a3;margin:-16px 0 26px;font-size:11px}.food-subgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.food-subcard{position:relative;min-height:240px;text-align:left;padding:24px;border-radius:24px;border:1px solid rgba(255,255,255,.09);background:radial-gradient(circle at 88% 12%,rgba(216,0,255,.14),transparent 30%),linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.012)),#0b050d;color:#fff;cursor:pointer;transition:.32s}.food-subcard:hover{transform:translateY(-6px);border-color:rgba(255,82,239,.34);box-shadow:0 25px 60px rgba(0,0,0,.34)}.food-subcard span{font-size:9px;color:#736777;font-weight:800;letter-spacing:.2em}.food-subcard strong{position:absolute;left:24px;bottom:78px;font-family:'Bebas Neue';font-size:42px;line-height:.9}.food-subcard small{position:absolute;left:24px;right:48px;bottom:48px;color:#9f91a5;font-size:9px}.food-subcard b{position:absolute;right:24px;bottom:20px;color:var(--pink);font-size:20px}
footer{display:none}body.menu-route-active footer{display:block}

/* CINEMATIC CATEGORY TRANSITIONS — premium motion */
.route-transition{position:fixed;inset:0;z-index:9998;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 50%,#17031d 0,#060107 42%,#020102 78%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s}
.route-transition.play{opacity:1;visibility:visible}
.route-transition::before{content:"";position:absolute;inset:-35%;background:conic-gradient(from 210deg,transparent 0 35%,rgba(255,66,239,.12) 41%,transparent 47% 64%,rgba(169,0,215,.10) 70%,transparent 76%);filter:blur(18px);animation:transitionSpin 2.8s linear infinite}
.route-transition::after{content:"";position:absolute;left:-10%;right:-10%;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),#ff4bea,rgba(255,255,255,.16),transparent);box-shadow:0 0 28px rgba(255,55,235,.7);transform:scaleX(0);animation:laserSweep .9s .05s cubic-bezier(.2,.8,.2,1) forwards}
.transition-glow{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(232,0,255,.27),rgba(137,0,185,.08) 38%,transparent 69%);filter:blur(34px);animation:pulseGlow .62s ease-in-out infinite alternate}
.transition-stage{position:relative;width:320px;height:330px;display:grid;place-items:center;isolation:isolate}
.transition-stage::before,.transition-stage::after{content:"";position:absolute;left:50%;top:47%;width:180px;height:180px;border:1px solid rgba(255,120,243,.28);border-radius:50%;transform:translate(-50%,-50%) scale(.15);opacity:0}
.route-transition.play .transition-stage::before{animation:shockwave .72s .34s ease-out forwards}.route-transition.play .transition-stage::after{animation:shockwave .72s .47s ease-out forwards}
.anim{position:absolute;width:230px;height:215px;display:none;filter:drop-shadow(0 24px 35px rgba(0,0,0,.5))}
.route-transition[data-kind="drink"] .anim-drink,.route-transition[data-kind="snack"] .anim-food,.route-transition[data-kind="meal"] .anim-food,.route-transition[data-kind="share"] .anim-food,.route-transition[data-kind="food"] .anim-food,.route-transition[data-kind="zero"] .anim-zero{display:block}
.transition-name{position:absolute;bottom:4px;font-family:'Bebas Neue';font-size:34px;letter-spacing:.16em;color:#fff;text-shadow:0 0 26px rgba(255,76,238,.55);opacity:0;transform:translateY(14px);animation:titleReveal .55s .28s ease-out forwards}
.transition-kicker{position:absolute;bottom:48px;font-size:7px;font-weight:900;letter-spacing:.42em;color:rgba(255,255,255,.48);opacity:0;animation:titleReveal .5s .2s ease forwards}

/* DRINK — crystal bottle clink */
.cheers-bottle{position:absolute;bottom:29px;width:48px;height:126px;border:2px solid rgba(255,255,255,.88);border-radius:10px 10px 23px 23px;background:linear-gradient(110deg,rgba(255,255,255,.11),rgba(255,255,255,.018) 45%,rgba(255,78,237,.08));box-shadow:inset 7px 0 12px rgba(255,255,255,.05),inset -7px 0 12px rgba(0,0,0,.23),0 0 24px rgba(255,255,255,.10),0 0 48px rgba(225,0,255,.12);backdrop-filter:blur(3px)}
.cheers-bottle::before{content:"";position:absolute;width:21px;height:39px;border:2px solid rgba(255,255,255,.88);border-bottom:0;left:11px;top:-41px;border-radius:5px 5px 0 0;background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.01))}.cheers-bottle::after{content:"K";position:absolute;left:7px;right:7px;top:39px;height:35px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.20);font-family:'Playfair Display';font-size:20px;font-style:italic;color:#ffd9fb;background:linear-gradient(135deg,rgba(169,0,215,.55),rgba(255,66,239,.18));box-shadow:inset 0 0 18px rgba(255,73,236,.12)}
.cheers-bottle i{position:absolute;left:5px;right:5px;bottom:7px;height:43px;background:linear-gradient(180deg,rgba(255,104,241,.13),rgba(132,0,164,.48));border-radius:4px 4px 15px 15px;box-shadow:inset 0 7px 13px rgba(255,255,255,.04)}
.bottle-left{left:39px;transform-origin:bottom center;animation:clinkLeft .92s cubic-bezier(.16,.9,.25,1) forwards}.bottle-right{right:39px;transform-origin:bottom center;animation:clinkRight .92s cubic-bezier(.16,.9,.25,1) forwards}
.cheers-flash{position:absolute;width:12px;height:12px;left:109px;top:35px;border-radius:50%;background:#fff;box-shadow:0 0 18px 7px #fff,0 0 42px 19px var(--pink);opacity:0;animation:clinkFlash .92s ease forwards}
.cheers-drop{position:absolute;width:4px;height:13px;border-radius:80% 20% 70% 30%;background:linear-gradient(#fff,var(--pink));opacity:0;box-shadow:0 0 10px rgba(255,65,235,.6)}.d1{left:99px;top:49px;transform:rotate(-28deg)}.d2{left:126px;top:45px;transform:rotate(34deg)}.d3{left:116px;top:29px}.route-transition.play .cheers-drop{animation:splashDrop .72s .46s ease-out forwards}
.spark{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;box-shadow:0 0 10px #fff,0 0 18px var(--pink);opacity:0}.route-transition.play .spark{animation:sparkBurst .65s .43s ease-out forwards}.sp1{left:110px;top:52px;--tx:-54px;--ty:-42px}.sp2{left:115px;top:48px;--tx:55px;--ty:-35px}.sp3{left:113px;top:50px;--tx:-64px;--ty:14px}.sp4{left:113px;top:49px;--tx:67px;--ty:18px}.sp5{left:113px;top:48px;--tx:6px;--ty:-68px}

/* FOOD — cloche reveal */
.food-plate{position:absolute;width:158px;height:48px;left:36px;bottom:28px;border:2px solid rgba(255,255,255,.86);border-radius:50%;background:radial-gradient(ellipse,rgba(255,255,255,.06),transparent 65%);box-shadow:inset 0 -8px 20px rgba(0,0,0,.25),0 0 35px rgba(216,0,255,.16);animation:platePop .8s cubic-bezier(.16,.9,.2,1)}
.food-plate i{position:absolute;width:122px;height:68px;left:16px;top:-54px;border:2px solid rgba(255,255,255,.90);border-bottom:0;border-radius:80px 80px 10px 10px;background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.018) 48%,rgba(255,77,236,.10));box-shadow:inset 10px 8px 18px rgba(255,255,255,.04),0 0 28px rgba(255,69,238,.12);transform-origin:100% 100%;animation:clocheLift .9s .08s cubic-bezier(.2,.85,.2,1) forwards}.food-plate i::before{content:"";position:absolute;width:25px;height:12px;border:2px solid rgba(255,255,255,.9);border-bottom:0;border-radius:20px 20px 0 0;left:47px;top:-14px}.food-plate i::after{content:"";position:absolute;left:36px;right:36px;bottom:7px;height:12px;border-radius:50%;background:radial-gradient(circle,#ff63ec 0 18%,#9d00c8 20% 52%,transparent 54%);filter:blur(.2px)}
.fork,.knife{position:absolute;bottom:24px;height:117px;width:3px;background:linear-gradient(#fff,#bfaec2);border-radius:3px}.fork{left:15px;transform:rotate(-15deg);animation:utensilInL .78s ease}.knife{right:15px;transform:rotate(15deg);animation:utensilInR .78s ease}.fork::before{content:"≡";position:absolute;top:-13px;left:-5px;font-size:13px;color:#fff;transform:rotate(90deg)}
.steam{position:absolute;top:29px;width:21px;height:61px;border-left:2px solid rgba(255,255,255,.64);border-radius:50%;opacity:0;filter:drop-shadow(0 0 6px rgba(255,255,255,.22))}.st1{left:83px}.st2{left:112px}.st3{left:141px}.route-transition.play .steam{animation:steamUp .9s .28s ease forwards}

/* ZERO — poured neon refresher */
.zero-glass{position:absolute;width:94px;height:126px;left:68px;bottom:18px;border:2px solid rgba(255,255,255,.88);border-radius:9px 9px 24px 24px;clip-path:polygon(0 0,100% 0,85% 100%,15% 100%);overflow:hidden;background:linear-gradient(100deg,rgba(255,255,255,.07),rgba(255,255,255,.01));box-shadow:inset 9px 0 15px rgba(255,255,255,.04),0 0 32px rgba(225,0,255,.13);animation:glassPop .75s cubic-bezier(.16,.9,.2,1)}
.zero-glass i{position:absolute;left:0;right:0;bottom:0;height:0;background:linear-gradient(180deg,rgba(255,130,244,.52),rgba(185,0,221,.78));box-shadow:inset 0 10px 18px rgba(255,255,255,.10);animation:liquidRise .82s .12s cubic-bezier(.3,.8,.2,1) forwards}.zero-glass b{position:absolute;width:27px;height:27px;border-radius:50%;border:2px solid rgba(255,255,255,.70);left:30px;bottom:31px;box-shadow:inset 0 0 0 4px rgba(255,255,255,.04)}
.zero-straw{position:absolute;width:4px;height:142px;background:linear-gradient(#fff,#f0b4ef);left:147px;top:0;transform:rotate(14deg);border-radius:3px;box-shadow:0 0 12px rgba(255,255,255,.15)}
.zero-pour{position:absolute;width:7px;height:95px;left:108px;top:2px;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,61,236,.45));transform-origin:top;opacity:0;filter:drop-shadow(0 0 7px rgba(255,78,237,.7));animation:pourStream .62s .08s ease forwards}
.zero-bubble{position:absolute;border:2px solid rgba(255,151,245,.9);border-radius:50%;opacity:0;box-shadow:0 0 8px rgba(255,80,239,.35)}.z1{width:9px;height:9px;left:96px;top:99px}.z2{width:14px;height:14px;left:125px;top:111px}.z3{width:7px;height:7px;left:116px;top:86px}.route-transition.play .zero-bubble{animation:bubbleUp .82s .22s ease-out forwards}

@keyframes transitionSpin{to{transform:rotate(360deg)}}@keyframes laserSweep{0%{transform:scaleX(0);opacity:0}45%{opacity:1}100%{transform:scaleX(1);opacity:0}}@keyframes shockwave{0%{transform:translate(-50%,-50%) scale(.15);opacity:.85}100%{transform:translate(-50%,-50%) scale(2.4);opacity:0}}@keyframes titleReveal{to{opacity:1;transform:none}}@keyframes pulseGlow{from{transform:scale(.92);opacity:.55}to{transform:scale(1.1);opacity:1}}
@keyframes clinkLeft{0%{transform:translate(-70px,24px) rotate(-38deg) scale(.78);opacity:0}54%{transform:translate(12px,-4px) rotate(24deg) scale(1.03);opacity:1}67%{transform:translate(6px,0) rotate(16deg)}100%{transform:translate(0,0) rotate(10deg);opacity:1}}@keyframes clinkRight{0%{transform:translate(70px,24px) rotate(38deg) scale(.78);opacity:0}54%{transform:translate(-12px,-4px) rotate(-24deg) scale(1.03);opacity:1}67%{transform:translate(-6px,0) rotate(-16deg)}100%{transform:translate(0,0) rotate(-10deg);opacity:1}}@keyframes clinkFlash{0%,45%{opacity:0;transform:scale(.15)}55%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(5.5)}}@keyframes splashDrop{0%{opacity:1;transform:translateY(0) scale(1) rotate(var(--r,0deg))}100%{opacity:0;transform:translateY(-62px) translateX(13px) scale(.25) rotate(18deg)}}@keyframes sparkBurst{0%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--tx),var(--ty)) scale(.2)}}
@keyframes platePop{0%{transform:translateY(45px) scale(.55);opacity:0}100%{transform:none;opacity:1}}@keyframes clocheLift{0%{transform:rotate(0) translate(0,0)}58%{transform:rotate(-17deg) translate(-4px,-25px)}100%{transform:rotate(-28deg) translate(-10px,-42px)}}@keyframes utensilInL{0%{transform:translateX(-55px) rotate(-28deg);opacity:0}100%{transform:translateX(0) rotate(-15deg);opacity:1}}@keyframes utensilInR{0%{transform:translateX(55px) rotate(28deg);opacity:0}100%{transform:translateX(0) rotate(15deg);opacity:1}}@keyframes steamUp{0%{opacity:0;transform:translateY(18px) scale(.75)}35%{opacity:.75}100%{opacity:0;transform:translateY(-42px) translateX(8px) scale(1.25)}}
@keyframes glassPop{0%{transform:translateY(35px) scale(.7);opacity:0}100%{transform:none;opacity:1}}@keyframes liquidRise{0%{height:0}100%{height:68%}}@keyframes pourStream{0%{opacity:0;transform:scaleY(.15)}22%{opacity:1}80%{opacity:.85}100%{opacity:0;transform:scaleY(1)}}@keyframes bubbleUp{0%{opacity:0;transform:translateY(18px) scale(.5)}30%{opacity:1}100%{opacity:0;transform:translateY(-66px) translateX(8px) scale(1.3)}}

/* Botellas modal grouping */
.bottle-modal-intro{margin:-2px 0 18px;padding:10px 12px;border:1px solid rgba(255,82,239,.15);border-radius:12px;background:linear-gradient(90deg,rgba(255,72,235,.07),transparent);font-size:8px;font-weight:900;letter-spacing:.28em;color:#d7c6d9}.bottle-group-title{display:flex;align-items:center;gap:10px;margin:24px 0 9px;font-family:'Bebas Neue';font-size:24px;letter-spacing:.08em;color:#fff}.bottle-group-title span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,81,238,.25);background:rgba(255,65,237,.07);font-family:Montserrat;font-size:7px;font-weight:900;color:var(--pink)}.bottle-table+.bottle-group-title{margin-top:28px}.bottle-category{background:radial-gradient(circle at 88% 12%,rgba(255,57,232,.20),transparent 33%),linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.012)),#0c050e}.bottle-category::before{opacity:.18}.bottle-category h3::after{content:"  · 5 TIPOS";font-family:Montserrat;font-size:7px;letter-spacing:.16em;color:#a691a9;vertical-align:middle;margin-left:9px}
@media(max-width:820px){.portal-grid{grid-template-columns:1fr}.portal-card{min-height:145px}.portal-label{font-size:38px;bottom:58px}.portal-sub{bottom:36px;max-width:66%}.portal-go{right:20px;left:auto;bottom:18px}.portal-art{width:85px;height:85px;right:18px;top:20px;transform:scale(.8)}.home-title{font-size:74px}.home-copy{margin:16px 0 20px}.food-subgrid{grid-template-columns:1fr}.food-subcard{min-height:150px}.food-subcard strong{font-size:36px;bottom:55px}.food-subcard small{bottom:30px}.menu-section{padding-top:34px;min-height:calc(100vh - 120px)}}
@media(max-width:520px){.menu-home{padding:24px 16px 34px;align-items:start}.home-shell{padding-top:10px}.home-title{font-size:61px}.portal-grid{gap:9px}.portal-card{min-height:132px;border-radius:19px;padding:18px}.portal-index{top:16px;left:18px}.portal-label{left:18px;font-size:34px}.portal-sub{left:18px;font-size:8px}.portal-art{right:8px;top:15px}.menu-topbar{top:58px;padding:9px 14px}.menu-back{padding:0 12px}.menu-current{font-size:20px}.menu-section{padding-left:16px;padding-right:16px}.route-transition .transition-stage{transform:scale(.9)}}
@media(prefers-reduced-motion:reduce){.route-transition *,.portal-card,.food-subcard{animation:none!important;transition:none!important}}


/* WELCOME + SOCIALS V3 */
.welcome-screen{
  min-height:calc(100vh - 70px);
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:52px 20px 68px;
  isolation:isolate;
  background:
    radial-gradient(circle at 50% 30%,rgba(211,0,250,.16),transparent 28%),
    radial-gradient(circle at 50% 72%,rgba(255,50,226,.07),transparent 26%),
    linear-gradient(180deg,#040104 0%,#09020a 52%,#040104 100%);
}
.welcome-screen::before{
  content:"";position:absolute;inset:0;z-index:-2;opacity:.28;
  background:
    linear-gradient(115deg,transparent 22%,rgba(255,255,255,.025) 23%,transparent 24%) 0 0/90px 90px,
    radial-gradient(circle at 50% 50%,transparent 0 33%,rgba(255,55,234,.09) 33.3% 33.6%,transparent 34% 100%);
  mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);
}
.welcome-screen::after{
  content:"";position:absolute;left:50%;top:50%;width:min(760px,90vw);height:min(760px,90vw);transform:translate(-50%,-50%);border-radius:50%;z-index:-1;
  border:1px solid rgba(255,255,255,.04);box-shadow:0 0 110px rgba(197,0,241,.06),inset 0 0 100px rgba(255,52,234,.025);
}
.welcome-orb{position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none;opacity:.13;animation:welcomeDrift 8s ease-in-out infinite alternate}
.welcome-orb.one{width:330px;height:330px;background:#c400ef;left:-120px;top:12%}.welcome-orb.two{width:300px;height:300px;background:#ff45db;right:-120px;bottom:7%;animation-delay:-3s}
@keyframes welcomeDrift{to{transform:translate3d(18px,-14px,0) scale(1.08)}}
.welcome-inner{width:min(860px,100%);text-align:center;position:relative;z-index:2}
.welcome-eyebrow{display:inline-flex;align-items:center;justify-content:center;font-size:8px;font-weight:800;letter-spacing:.34em;color:#c8bdcc;text-transform:uppercase;margin:0 auto 38px;padding:7px 11px;border:1px solid rgba(255,255,255,.07);border-radius:999px;background:rgba(255,255,255,.02);line-height:1.35;position:relative;z-index:3}
.welcome-logo{width:min(470px,78vw);max-height:150px;margin:0 auto 22px;filter:drop-shadow(0 0 26px rgba(204,0,250,.28))}
.welcome-menu-neon{font-family:'Bebas Neue',sans-serif;font-size:clamp(82px,15vw,148px);line-height:.88;letter-spacing:.055em;margin:0 auto 30px;color:#ffd9fb;text-transform:uppercase;text-shadow:0 0 4px #fff,0 0 10px #ff9cf5,0 0 24px #ff35e4,0 0 52px rgba(207,0,255,.72);animation:menuNeonFault 7.2s infinite;will-change:opacity,filter;text-align:center}
@keyframes menuNeonFault{0%,7%,9%,12%,47%,49%,51%,82%,84%,100%{opacity:1;filter:brightness(1)}8%,48%,83%{opacity:.42;filter:brightness(.65)}10%{opacity:.78;filter:brightness(.8)}11%,50%{opacity:.18;filter:brightness(.45)}}
.welcome-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(46px,7vw,82px);line-height:.9;letter-spacing:.02em;color:#fff;margin-bottom:16px;text-shadow:0 12px 50px rgba(0,0,0,.5)}
.welcome-title em{font-style:normal;color:var(--pink);text-shadow:0 0 27px rgba(255,66,239,.28)}
.welcome-copy{max-width:520px;margin:0 auto 30px;color:#98899d;font-size:11px;line-height:1.7;letter-spacing:.03em}
.welcome-cta{appearance:none;border:1px solid rgba(255,255,255,.16);border-radius:999px;min-width:220px;min-height:58px;padding:0 30px;background:linear-gradient(120deg,#780097,#c300e5 58%,#ee3edc);color:white;font:900 10px/1 Montserrat,sans-serif;letter-spacing:.24em;cursor:pointer;box-shadow:0 16px 48px rgba(175,0,225,.22),inset 0 1px rgba(255,255,255,.24);position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.welcome-cta::after{content:"";position:absolute;inset:-2px;background:linear-gradient(110deg,transparent 28%,rgba(255,255,255,.35),transparent 62%);transform:translateX(-130%);transition:transform .65s ease}
.welcome-cta:hover{transform:translateY(-4px) scale(1.015);box-shadow:0 22px 60px rgba(191,0,239,.3),0 0 38px rgba(255,60,231,.12)}
.welcome-cta:hover::after{transform:translateX(130%)}
.welcome-cta span{position:relative;z-index:1}.welcome-cta b{font-size:16px;margin-left:9px;color:#fff}
.welcome-foot{margin-top:22px;color:#655c69;font-size:7px;font-weight:700;letter-spacing:.26em;text-transform:uppercase}

.header-inner{max-width:none;width:100%;padding-left:3.5%;padding-right:3.5%}
.header-actions{display:flex;align-items:center;gap:12px;margin-left:auto}
.reserve-copy{display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding-right:4px}
.reserve-copy strong{font-size:8px;letter-spacing:.15em;color:#fff;text-transform:uppercase}.reserve-copy small{font-size:6.5px;letter-spacing:.11em;color:#8f8293;text-transform:uppercase}
.social-links{display:flex;align-items:center;gap:7px}
.social-link{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.10);display:grid;place-items:center;color:#e9e0ec;background:rgba(255,255,255,.035);transition:.25s ease;text-decoration:none}
.social-link svg{width:15px;height:15px;fill:currentColor}.social-link:hover{color:#fff;border-color:rgba(255,76,234,.34);background:rgba(227,31,255,.10);transform:translateY(-2px);box-shadow:0 0 24px rgba(214,0,255,.12)}
@media(max-width:720px){
  .header-logo{width:150px}.header-tag{display:none}.header-actions{gap:6px}.reserve-copy{display:none}.social-link{width:34px;height:34px}.header-inner{padding-left:14px;padding-right:14px}.welcome-screen{min-height:calc(100vh - 58px);padding:42px 18px 48px}.welcome-eyebrow{font-size:7px;letter-spacing:.26em;margin-bottom:34px;padding:6px 10px}.welcome-logo{width:min(360px,82vw)}.welcome-menu-neon{font-size:clamp(76px,25vw,112px);line-height:.9;margin-bottom:28px}.welcome-title{font-size:52px}.welcome-copy{font-size:10px;max-width:330px}.welcome-cta{min-height:54px;min-width:210px}}
@media(max-width:390px){.header-logo{width:125px}.social-link{width:32px;height:32px}.social-links{gap:4px}.welcome-eyebrow{font-size:6.5px;letter-spacing:.20em;margin-bottom:30px}.welcome-menu-neon{font-size:82px}.welcome-title{font-size:46px}}


/* V4 — premium category modal readability */
.drink-modal-card{width:min(760px,calc(100% - 28px));max-height:min(88vh,820px);padding:34px 34px 30px;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(255,80,235,.45) transparent}
.drink-modal-card::-webkit-scrollbar{width:6px}.drink-modal-card::-webkit-scrollbar-thumb{background:linear-gradient(#ff50e8,#8f2cff);border-radius:10px}
.drink-modal-label{font-size:9px;color:#ff63ed;margin-bottom:10px}.drink-modal-title{font-size:54px;letter-spacing:.01em}.drink-modal-divider{margin:22px 0 18px}
.drink-modal-text>p:first-child{display:inline-flex;align-items:center;gap:8px;padding:8px 12px!important;margin:0 0 18px!important;border:1px solid rgba(255,92,232,.22);border-radius:999px;background:rgba(255,70,226,.07);font-size:9px!important;letter-spacing:.06em;color:#ff9af2!important}
.drink-modal-text>p:first-child:before{content:"✦";font-size:9px}
.modal-table{border-collapse:separate;border-spacing:0 10px;margin-top:0}.modal-table thead{display:none}.modal-table tbody{display:table-row-group}.modal-table tbody tr{position:relative;background:linear-gradient(110deg,rgba(255,255,255,.055),rgba(255,255,255,.018));box-shadow:inset 0 0 0 1px rgba(255,255,255,.075)}
.modal-table td{padding:17px 18px;border:0!important;font-size:12px;line-height:1.35;color:#f7eff7}.modal-table td:first-child{border-radius:15px 0 0 15px!important;font-weight:700}.modal-table td:last-child{border-radius:0 15px 15px 0!important}
.modal-table td small{font-weight:400;color:#a99dab;font-size:9px;margin-top:8px;line-height:1.65}.modal-table .price-col{min-width:128px;padding-left:12px;text-align:right;vertical-align:middle;font-size:23px;color:#ffd8fa;text-shadow:0 0 18px rgba(255,75,232,.18)}
.drink-modal.package-mode .modal-table tbody tr{background:radial-gradient(circle at 100% 0,rgba(255,62,230,.09),transparent 35%),linear-gradient(110deg,rgba(255,255,255,.055),rgba(255,255,255,.018))}
.drink-modal.package-mode .modal-table td:first-child{font-size:13px}.drink-modal.package-mode .modal-table td small{padding-left:1px}
@media(max-width:600px){.drink-modal{padding:10px;align-items:end}.drink-modal-card{width:100%;max-height:91vh;padding:26px 16px 20px;border-radius:26px 26px 18px 18px}.drink-modal-title{font-size:43px}.drink-modal-divider{margin:17px 0 15px}.modal-table,.modal-table tbody{display:block}.modal-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;margin-bottom:10px;border-radius:15px}.modal-table td{display:block;padding:14px 13px;font-size:11px}.modal-table td:first-child{border-radius:15px 0 0 15px!important}.modal-table td:last-child{border-radius:0 15px 15px 0!important}.modal-table .price-col{min-width:90px;font-size:20px;padding-left:4px}.modal-table td small{font-size:8px;line-height:1.55}.drink-modal-close{top:12px;right:12px;width:42px;height:42px;background:rgba(16,5,18,.9)}}
@media(max-width:390px){.modal-table tbody tr{grid-template-columns:1fr}.modal-table td:first-child{border-radius:15px 15px 0 0!important;padding-bottom:7px}.modal-table td:last-child{border-radius:0 0 15px 15px!important;text-align:left;padding-top:4px;padding-bottom:13px}.modal-table .price-col{min-width:0}.drink-modal-title{font-size:39px}}


/* V8 — SOLO FONDO DE PORTADA. Mantiene intacta la composición V6. */
.welcome-screen{
  background:
    radial-gradient(ellipse at 50% 12%,rgba(121,0,105,.16) 0%,transparent 37%),
    radial-gradient(ellipse at 14% 58%,rgba(206,0,211,.14) 0%,transparent 25%),
    radial-gradient(ellipse at 88% 46%,rgba(104,0,183,.18) 0%,transparent 30%),
    radial-gradient(ellipse at 62% 86%,rgba(255,27,181,.07) 0%,transparent 26%),
    linear-gradient(180deg,#060207 0%,#110413 44%,#080209 72%,#030104 100%) !important;
}
.welcome-screen::before{
  content:"";
  position:absolute;inset:0;z-index:-2;opacity:1;pointer-events:none;
  background:
    radial-gradient(circle at 12% 20%,rgba(255,48,212,.52) 0 1px,transparent 2px),
    radial-gradient(circle at 82% 15%,rgba(195,58,255,.44) 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 72% 67%,rgba(255,66,222,.30) 0 1px,transparent 2px),
    radial-gradient(circle at 20% 78%,rgba(164,42,255,.28) 0 1.5px,transparent 2.5px),
    linear-gradient(105deg,transparent 0 14%,rgba(255,255,255,.016) 14.2% 14.45%,transparent 14.7% 100%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.012) 0 1px,transparent 1px 72px);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),#000 22%,#000 78%,rgba(0,0,0,.55));
}
.welcome-screen::after{
  content:"";
  position:absolute;inset:auto -12% -12% -12%;width:auto;height:58%;transform:none;border:0;border-radius:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 100%,rgba(191,0,204,.16),transparent 52%),
    linear-gradient(176deg,transparent 0 54%,rgba(255,255,255,.018) 54.5% 55%,transparent 55.5% 100%);
  box-shadow:none;
  filter:blur(.2px);
}
.welcome-orb.one{width:430px;height:430px;background:#d400e8;left:-190px;top:18%;opacity:.11;filter:blur(92px)}
.welcome-orb.two{width:390px;height:390px;background:#6d00e8;right:-160px;bottom:10%;opacity:.13;filter:blur(96px)}
.welcome-inner::before{
  content:"";position:absolute;left:50%;top:44%;width:min(680px,92vw);height:300px;transform:translate(-50%,-50%);z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse,rgba(225,0,255,.095),rgba(155,0,181,.025) 45%,transparent 72%);filter:blur(18px);
}
@media(max-width:720px){
  .welcome-screen{
    background:
      radial-gradient(ellipse at 50% 10%,rgba(122,0,116,.18) 0%,transparent 34%),
      radial-gradient(ellipse at 8% 48%,rgba(214,0,205,.12) 0%,transparent 28%),
      radial-gradient(ellipse at 93% 52%,rgba(86,0,179,.17) 0%,transparent 31%),
      radial-gradient(ellipse at 54% 91%,rgba(255,25,187,.06) 0%,transparent 27%),
      linear-gradient(180deg,#050106 0%,#100312 42%,#080209 74%,#030104 100%) !important;
  }
}


/* ===== HOME SELECTOR V9 — NEON TITLE + MOBILE BREATHING ROOM ===== */
.home-brand{
  margin-bottom:20px;
  color:#d9c7dc;
  text-shadow:0 0 12px rgba(229,118,255,.12);
}
.home-title{
  position:relative;
  display:inline-block;
  margin:0 0 4px;
  font-size:clamp(62px,9.2vw,124px);
  line-height:.9;
  letter-spacing:.02em;
  color:#fff7ff;
  text-shadow:
    0 0 2px rgba(255,255,255,.98),
    0 0 8px rgba(255,255,255,.42),
    0 0 18px rgba(232,91,255,.32),
    0 0 40px rgba(153,0,255,.18);
  filter:drop-shadow(0 12px 34px rgba(0,0,0,.28));
}
.home-title::after{
  content:"";
  position:absolute;
  left:2%; right:4%; bottom:-10px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,84,238,.72),rgba(178,75,255,.78),transparent);
  box-shadow:0 0 10px rgba(255,65,237,.55);
  opacity:.9;
}
.home-title em{
  display:inline-block;
  margin-top:7px;
  font-style:normal;
  color:#ff59e8;
  background:linear-gradient(90deg,#ff7ae9 0%,#ff3edc 45%,#b965ff 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:none;
  filter:drop-shadow(0 0 5px rgba(255,75,229,.62)) drop-shadow(0 0 15px rgba(191,72,255,.34));
  animation:homeNeonPulse 4.8s ease-in-out infinite;
}
.home-copy{
  margin:28px 0 30px;
  max-width:540px;
  color:#b8a8bc;
  line-height:1.65;
}
.portal-grid{margin-top:2px;gap:16px}

@keyframes homeNeonPulse{
  0%,18%,22%,68%,72%,100%{opacity:1;filter:drop-shadow(0 0 5px rgba(255,75,229,.62)) drop-shadow(0 0 15px rgba(191,72,255,.34))}
  20%,70%{opacity:.78;filter:drop-shadow(0 0 2px rgba(255,75,229,.34)) drop-shadow(0 0 7px rgba(191,72,255,.18))}
}

@media(max-width:820px){
  .menu-home{padding-top:28px;padding-bottom:34px;place-items:start center;overflow:auto}
  .home-shell{padding-top:8px}
  .home-brand{margin-bottom:17px}
  .home-title{font-size:clamp(58px,13vw,76px);line-height:.91;margin-bottom:2px}
  .home-title em{margin-top:5px}
  .home-title::after{bottom:-9px}
  .home-copy{margin:24px 0 24px;font-size:11px}
  .portal-grid{gap:11px}
  .portal-card{min-height:140px}
}

@media(max-width:520px){
  body.menu-home-active{overflow:auto}
  .menu-home{min-height:calc(100vh - 58px);padding:18px 16px 26px;align-items:start;overflow:visible}
  .home-shell{padding-top:4px}
  .home-brand{font-size:7.5px;letter-spacing:.27em;margin-bottom:14px;line-height:1.5}
  .home-title{display:block;font-size:clamp(52px,15.5vw,64px);line-height:.92;letter-spacing:.015em;margin:0 0 2px;max-width:100%}
  .home-title em{margin-top:4px}
  .home-title::after{left:0;right:8%;bottom:-8px}
  .home-copy{margin:22px 0 20px;font-size:10px;line-height:1.55}
  .portal-grid{gap:10px}
  .portal-card{min-height:124px;border-radius:19px;padding:17px}
  .portal-index{top:15px;left:17px}
  .portal-label{left:17px;bottom:54px;font-size:32px;line-height:.95}
  .portal-sub{left:17px;bottom:32px;font-size:7.8px;max-width:66%}
  .portal-go{right:17px;left:auto;bottom:15px}
  .portal-art{width:78px;height:78px;right:8px;top:15px;transform:scale(.78)}
}

@media(prefers-reduced-motion:reduce){.home-title em{animation:none}}


/* ===== V10 — PREMIUM PORTAL ILLUSTRATIONS ===== */
.portal-illustration{
  width:118px;height:118px;right:18px;top:18px;
  display:grid;place-items:center;opacity:1;
  filter:drop-shadow(0 12px 18px rgba(0,0,0,.34));
}
.portal-svg{width:100%;height:100%;overflow:visible}
.portal-svg .svg-main{stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 5px rgba(255,63,220,.42))}
.portal-svg .svg-soft{fill:rgba(219,39,255,.045)}
.portal-svg .svg-line{stroke:rgba(255,255,255,.62);stroke-width:1.5;stroke-linecap:round}
.portal-svg .svg-shine{stroke:rgba(255,255,255,.78);stroke-width:2;stroke-linecap:round}
.portal-svg .svg-label{fill:rgba(255,255,255,.035);stroke:rgba(255,255,255,.36);stroke-width:1.2}
.portal-svg .svg-dot{fill:#ff70e8;filter:drop-shadow(0 0 6px rgba(255,59,222,.85))}
.portal-svg .svg-steam{stroke:#f5d7ff;stroke-width:2;stroke-linecap:round;opacity:.72;filter:drop-shadow(0 0 5px rgba(236,105,255,.7));animation:portalSteam 3s ease-in-out infinite}
.portal-svg .steam-b{animation-delay:.5s}.portal-svg .steam-c{animation-delay:1s}
.portal-svg .svg-cutlery{stroke:rgba(255,255,255,.76);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.portal-svg .svg-straw{stroke:#ff62e6;stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 5px rgba(255,75,225,.75))}
.portal-svg .svg-liquid{fill:rgba(181,84,255,.12);stroke:rgba(220,137,255,.34);stroke-width:1}
.portal-svg .svg-ice{fill:rgba(255,255,255,.04);stroke:rgba(255,255,255,.58);stroke-width:1.2;stroke-linejoin:round}
.portal-svg .svg-lime{fill:rgba(255,85,219,.08);stroke:#ff66e8;stroke-width:1.7;stroke-linejoin:round}
.portal-svg .svg-mint{fill:rgba(181,87,255,.08);stroke:#c77dff;stroke-width:1.5;stroke-linejoin:round}
.portal-svg .svg-bubble{fill:none;stroke:#f3cfff;stroke-width:1.2;filter:drop-shadow(0 0 4px rgba(226,120,255,.65));animation:portalBubble 2.8s ease-in-out infinite}
.portal-svg .bubble-b{animation-delay:.7s}.portal-svg .bubble-c{animation-delay:1.3s}
.portal-card:hover .bottle-svg{animation:bottleLift .85s cubic-bezier(.2,.8,.2,1)}
.portal-card:hover .food-svg{animation:plateLift .8s cubic-bezier(.2,.8,.2,1)}
.portal-card:hover .mojito-svg{animation:mojitoTilt .9s cubic-bezier(.2,.8,.2,1)}
@keyframes portalSteam{0%,100%{transform:translateY(2px);opacity:.42}50%{transform:translateY(-5px);opacity:.92}}
@keyframes portalBubble{0%,100%{transform:translateY(3px);opacity:.35}50%{transform:translateY(-5px);opacity:1}}
@keyframes bottleLift{0%,100%{transform:translateY(0) rotate(0)}45%{transform:translateY(-5px) rotate(-2deg)}}
@keyframes plateLift{0%,100%{transform:translateY(0)}45%{transform:translateY(-4px)}}
@keyframes mojitoTilt{0%,100%{transform:rotate(0)}45%{transform:rotate(3deg) translateY(-3px)}}
@media(max-width:520px){
  .portal-illustration{width:94px;height:94px;right:7px;top:10px;transform:none}
  .portal-card{padding-right:98px}
  .portal-label{right:86px}
  .portal-sub{max-width:62%}
}
@media(prefers-reduced-motion:reduce){.portal-svg *{animation:none!important}.portal-card:hover .portal-svg{animation:none!important}}

/* ===== V11 — ICONOS MÁS VIVOS ===== */
.portal-illustration::before{content:"";position:absolute;inset:18%;border-radius:50%;background:radial-gradient(circle,rgba(255,58,224,.20),rgba(167,74,255,.08) 48%,transparent 72%);filter:blur(9px);opacity:.72;animation:iconAura 3.2s ease-in-out infinite;pointer-events:none}
.portal-svg{position:relative;z-index:1;transform-origin:50% 72%}
.bottle-svg{animation:bottleIdle 4.2s ease-in-out infinite}
.food-svg{animation:foodIdle 3.8s ease-in-out infinite}
.mojito-svg{animation:mojitoIdle 4s ease-in-out infinite}
.bottle-spark{fill:#fff0fb;filter:drop-shadow(0 0 5px #ff58df);animation:sparkBlink 2.15s ease-in-out infinite}.bottle-spark.spark-b{animation-delay:.65s}
.bottle-k{filter:drop-shadow(0 0 4px rgba(255,66,223,.9));animation:labelGlow 2.8s ease-in-out infinite}
.bottle-shine{animation:shinePulse 2.7s ease-in-out infinite}
.fork-art{transform-origin:16px 88px;animation:forkWiggle 3.7s ease-in-out infinite}
.spoon-art{transform-origin:104px 88px;animation:spoonWiggle 3.7s ease-in-out infinite .3s}
.mojito-svg .svg-lime{transform-origin:86px 47px;animation:limeWiggle 3s ease-in-out infinite}
.mojito-svg .svg-straw{transform-origin:68px 39px;animation:strawWiggle 3.5s ease-in-out infinite}
.portal-card:active .portal-svg{transform:scale(.94)}
@media(hover:hover) and (pointer:fine){
 .portal-card:hover .portal-illustration::before{opacity:1;transform:scale(1.16)}
 .portal-card:hover .portal-svg{filter:drop-shadow(0 0 12px rgba(255,73,226,.38))}
}
@keyframes iconAura{0%,100%{transform:scale(.9);opacity:.48}50%{transform:scale(1.12);opacity:.95}}
@keyframes bottleIdle{0%,100%{transform:translateY(0) rotate(-1deg)}48%{transform:translateY(-6px) rotate(1.3deg)}58%{transform:translateY(-5px) rotate(.5deg)}}
@keyframes foodIdle{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes mojitoIdle{0%,100%{transform:translateY(0) rotate(0)}45%{transform:translateY(-5px) rotate(1.8deg)}55%{transform:translateY(-5px) rotate(-.8deg)}}
@keyframes sparkBlink{0%,38%,100%{opacity:.12;transform:scale(.55)}44%{opacity:1;transform:scale(1.55)}50%{opacity:.42;transform:scale(.85)}}
@keyframes labelGlow{0%,100%{opacity:.76}50%{opacity:1}}
@keyframes shinePulse{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes forkWiggle{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}
@keyframes spoonWiggle{0%,100%{transform:rotate(2deg)}50%{transform:rotate(-3deg)}}
@keyframes limeWiggle{0%,100%{transform:rotate(0)}50%{transform:rotate(7deg)}}
@keyframes strawWiggle{0%,100%{transform:rotate(0)}50%{transform:rotate(-2deg)}}
@media(max-width:520px){.portal-illustration::before{inset:21%}}
@media(prefers-reduced-motion:reduce){.bottle-svg,.food-svg,.mojito-svg,.portal-illustration::before,.bottle-spark,.bottle-k,.bottle-shine,.fork-art,.spoon-art,.mojito-svg .svg-lime,.mojito-svg .svg-straw{animation:none!important}}
