/* ============ Festival de la Unión · La Original ============ */
:root{
  --arena:#F1E3C6; --crema:#F4F6E8; --sol:#FFDC88; --naranja:#FF9209;
  --coral:#F0603F; --rosa:#F09ADB; --menta:#8BD3AE; --verde:#6FCBA6;
  --azul:#1877D6; --azul-prof:#104F91; --tinta:#172437; --noche:#0D1B2E;
  --pad:clamp(16px,4vw,56px);
  --zona-segura-superior:env(safe-area-inset-top,0px);
  --zona-segura-inferior:env(safe-area-inset-bottom,0px);
  --alto-nav:calc(68px + var(--zona-segura-superior));
  --display:"Archivo","Arial Narrow",sans-serif;
  --texto:"Outfit",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--arena)}
html.is-intro{overflow:hidden}
body{margin:0;background:var(--arena);color:var(--tinta);font:400 17px/1.5 var(--texto);overflow-x:hidden}
/* grano de papel */
body::after{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.16;mix-blend-mode:multiply;
  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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--azul-prof);outline-offset:3px;border-radius:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.salto{position:fixed;left:12px;top:-60px;z-index:200;background:var(--tinta);color:#fff;padding:10px 16px;border-radius:8px}
.salto:focus{top:12px}

/* ---- tipografía ---- */
.d{font-family:var(--display);font-stretch:62%;font-weight:900;text-transform:uppercase;line-height:.88;letter-spacing:-.005em}
.c-coral{color:var(--coral)} .c-azul{color:var(--azul)}
.etiqueta{font:600 13px/1 var(--texto);letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.etiqueta::before{content:"";width:28px;height:2px;background:currentColor}
.chip{font:600 11px/1 var(--texto);font-style:normal;letter-spacing:.08em;text-transform:uppercase;border:1.5px solid currentColor;border-radius:999px;padding:4px 9px;white-space:nowrap}
.nota{font-size:14px;color:#47566A;max-width:60ch}
.liga{background:none;border:0;padding:6px 0;font-weight:600;white-space:nowrap;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.liga:hover{color:var(--azul-prof)}

/* ---- botones ---- */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:0 28px;border-radius:999px;background:var(--azul-prof);color:#fff;
  font:700 17px/1 var(--texto);white-space:nowrap;flex:none;text-decoration:none;border:2px solid var(--tinta);box-shadow:4px 4px 0 var(--tinta);transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--tinta);background:var(--tinta)}
.btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--tinta)}
.btn--chico{min-height:44px;padding:0 18px;font-size:15px;box-shadow:3px 3px 0 var(--tinta)}
.btn--menta,.btn--rosa{color:var(--tinta)}
.btn--menta{background:var(--menta)} .btn--rosa{background:var(--rosa)}
.btn--menta:hover,.btn--rosa:hover{background:#fff}
.btn--sol{background:var(--sol);color:var(--tinta);border-color:var(--sol);box-shadow:4px 4px 0 var(--naranja)}
.btn--sol:hover{background:#fff;box-shadow:6px 6px 0 var(--naranja)}

/* ============ INTRO ============ */
#viejo{display:none}
.js #viejo{display:grid;place-items:center;position:fixed;inset:0;z-index:120;background:#fff;color:#0095F0;font-family:var(--texto)}
.viejo__centro{display:grid;justify-items:center;gap:22px;padding:24px;transform:translateY(-4vh)}
.viejo__sello-caja{position:relative;width:min(235px,50vw);aspect-ratio:1}
.viejo__sello{width:100%;height:100%;position:relative;z-index:1}
.anillo{position:absolute;left:50%;top:50%;width:100px;height:100px;margin:-50px;border-radius:50%;border:10px solid var(--sol);opacity:0}
.viejo__texto{max-width:660px;text-align:center;font-weight:600;font-size:clamp(15px,1.6vw,20px);line-height:1.3;letter-spacing:-.01em}
.viejo__texto span{display:inline-block;white-space:pre}
.viejo__nota{position:absolute;left:20px;bottom:calc(18px + var(--zona-segura-inferior));font:500 12px/1 ui-monospace,Menlo,Consolas,monospace;color:#8a93a3}
.viejo__nota span{color:#47566A}
.viejo__saltar{position:absolute;right:16px;bottom:calc(10px + var(--zona-segura-inferior));min-height:44px;padding:0 14px;background:none;border:0;font:500 13px/1 var(--texto);color:#8a93a3}
.viejo__saltar:hover{color:var(--tinta)}
#flood{display:none;position:fixed;z-index:121;width:100px;height:100px;border-radius:50%;background:var(--naranja);will-change:transform}

/* ============ NAV ============ */
.nav{position:fixed;inset:0 0 auto 0;z-index:80;display:flex;align-items:center;gap:24px;
  padding:calc(12px + var(--zona-segura-superior)) max(var(--pad),env(safe-area-inset-right)) 12px max(var(--pad),env(safe-area-inset-left));transition:background .3s,box-shadow .3s}
.nav.fija{background:var(--arena);box-shadow:0 2px 0 var(--tinta)}
.nav__marca{display:flex;align-items:center;gap:10px;text-decoration:none;font:900 15px/.95 var(--display);font-stretch:62%;text-transform:uppercase;letter-spacing:.02em}
.nav__marca img{width:40px;height:44px;object-fit:contain}
.nav__ligas{display:flex;gap:4px;margin-left:auto}
.nav__ligas a{padding:12px 12px;font-weight:600;font-size:15px;text-decoration:none;border-radius:999px}
.nav__ligas a:hover{background:var(--tinta);color:var(--arena)}
.nav__menu{display:none;width:44px;height:44px;background:var(--tinta);border:0;border-radius:50%;position:relative}
.nav__menu span:not(.sr){position:absolute;left:12px;right:12px;height:2px;background:var(--arena);transition:transform .25s}
.nav__menu span:nth-child(1){top:18px} .nav__menu span:nth-child(2){top:25px}
.nav__menu[aria-expanded=true] span:nth-child(1){transform:translateY(3.5px) rotate(45deg)}
.nav__menu[aria-expanded=true] span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}
@media (max-width:1020px){
  .nav{gap:10px;background:linear-gradient(var(--arena) var(--zona-segura-superior),transparent var(--zona-segura-superior))}
  .nav__cta{margin-left:auto}
  .nav__menu{display:block}
  .nav__ligas{position:fixed;inset:0;z-index:-1;margin:0;flex-direction:column;justify-content:center;gap:0;padding:calc(80px + var(--zona-segura-superior)) var(--pad) calc(40px + var(--zona-segura-inferior));background:var(--naranja);
    clip-path:circle(0 at calc(100% - 38px) calc(34px + var(--zona-segura-superior)));transition:clip-path .55s cubic-bezier(.7,0,.2,1);visibility:hidden}
  .nav__ligas.abierto{clip-path:circle(150% at calc(100% - 38px) calc(34px + var(--zona-segura-superior)));visibility:visible}
  .nav__ligas a{font:900 clamp(40px,12vw,72px)/1 var(--display);font-stretch:62%;text-transform:uppercase;padding:6px 0;border-radius:0}
  .nav__ligas a:hover{background:none;color:var(--crema)}
}
@media (max-width:420px){.nav__marca span{display:none}}

/* reloj del festival */
.reloj{position:fixed;left:var(--pad);bottom:calc(18px + var(--zona-segura-inferior));z-index:70;display:flex;align-items:center;gap:8px;padding:8px 14px 8px 8px;border-radius:999px;background:var(--tinta);color:var(--crema);
  font-size:12px;opacity:0;transform:translateY(20px);transition:opacity .4s,transform .4s;pointer-events:none}
.reloj.ver{opacity:1;transform:none}
.reloj i{width:22px;height:22px;border-radius:50%;background:var(--naranja);transition:background .4s,box-shadow .4s}
.reloj.noche i{background:var(--crema);box-shadow:inset -6px -2px 0 var(--tinta)}
.reloj b{font:900 18px/1 var(--display);font-stretch:62%;min-width:44px}
.reloj span{opacity:.7}
@media (max-width:700px){.reloj span{display:none}}

/* ============ HERO ============ */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;padding:calc(84px + var(--zona-segura-superior)) var(--pad) calc(17svh + 20px);overflow:hidden;isolation:isolate}
.hero__anillos{position:absolute;inset:-20%;z-index:-3;background:repeating-radial-gradient(circle at 50% 78%,transparent 0 7vmax,rgba(255,220,136,.6) 7vmax 14vmax)}
.hero__sol{--diametro:min(58vw,58svh);position:absolute;z-index:-2;left:50%;top:93%;width:var(--diametro);aspect-ratio:1;margin-left:calc(var(--diametro) / -2);margin-top:calc(var(--diametro) / -2);border-radius:50%;background:var(--naranja);overflow:hidden}
.hero__sol::after{content:"";position:absolute;inset:44% 0 0 0;opacity:var(--rayas,1);background:repeating-linear-gradient(to bottom,transparent 0 3.2%,var(--sol) 3.2% 5.4%)}
.hero__cuerpo{text-align:center}
.hero__titulo{--cartel-coral:#fa6347;--cartel-azul:#0097e5;--cartel-naranja:#fa8d00;container-type:inline-size;width:min(100%,69svh,680px);margin-inline:auto;line-height:.88}
.hero__linea{display:block;white-space:nowrap}
.hero__linea--festival{color:var(--cartel-coral);font-size:27cqi}
.hero__linea--cerveza{color:var(--cartel-azul);font-size:16.5cqi;margin-top:1cqi}
.hero__linea--original{color:var(--cartel-naranja);font-size:27cqi;margin-top:1.5cqi;padding-top:1.4cqi;
  background:linear-gradient(to right,currentColor 34%,transparent 34% 66%,currentColor 66%) top / 96% 2px no-repeat}
.hero__linea--descriptor{display:flex;align-items:center;justify-content:center;gap:1.8cqi;color:var(--cartel-coral);font-size:6.3cqi;margin-top:1.2cqi}
.hero__linea--descriptor::before,.hero__linea--descriptor::after{content:"";width:7cqi;height:2px;background:var(--cartel-naranja)}
.char{display:inline-block;will-change:transform}
.hero__meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:24px}
.hero__datos{display:grid;grid-template-columns:auto auto;justify-content:start;gap:clamp(10px,1.6svh,18px) clamp(18px,2.5vw,36px)}
.hero__datos div:last-child{grid-column:1/-1}
.hero__datos dt{font:600 11px/1 var(--texto);letter-spacing:.14em;text-transform:uppercase;opacity:.75;margin-bottom:3px}
.hero__datos dd{font-size:clamp(24px,min(2.9vw,4.6svh),46px);white-space:nowrap}
.hero__acciones{display:grid;gap:14px;margin-inline-start:auto}
.hero__acciones > .btn{justify-content:center}
.hero__ligas{display:grid;grid-template-columns:auto auto;gap:12px}
.hero__ligas .btn{justify-content:center}
.sticker{position:absolute;right:calc(var(--pad) + 1vw);top:clamp(96px,17svh,170px);width:clamp(84px,10vw,150px);aspect-ratio:1;display:grid;place-items:center;background:var(--rosa);border-radius:50%;border:2px solid var(--tinta);transform:rotate(12deg)}
.sticker svg{position:absolute;inset:0;animation:gira 16s linear infinite}
.sticker text{font:700 17.5px var(--texto);letter-spacing:.06em;fill:var(--tinta)}
.sticker b{font:900 clamp(22px,2.8vw,40px)/1 var(--display);font-stretch:62%}
@keyframes gira{to{transform:rotate(360deg)}}
@media (max-width:760px){

  .hero__cuerpo{margin-block:auto}
  .hero__titulo{width:min(100%,54svh,420px)}
  .hero__meta{flex-direction:column;align-items:stretch}
  .hero__datos{grid-template-columns:1fr 1fr;gap:12px 16px}
  .hero__acciones{margin-inline-start:0}
  .hero__ligas{grid-template-columns:1fr 1fr}
  .hero__ligas .btn{padding-inline:12px}
  .sticker{top:auto;bottom:max(2.5svh,calc(var(--zona-segura-inferior) + 8px));right:auto;left:max(12px,env(safe-area-inset-left));width:84px;z-index:1}
  .hero__sol{top:86%}
  .hero__anillos{background:repeating-radial-gradient(circle at 50% 84%,transparent 0 7vmax,rgba(255,220,136,.6) 7vmax 14vmax)}
}


/* olas */
.olas{position:absolute;left:0;right:0;bottom:0;height:17svh;z-index:-1;overflow:hidden;pointer-events:none}
.olas svg{position:absolute;left:0;bottom:0;width:200%;max-width:none;height:100%;animation:ola 18s linear infinite}
.olas svg:nth-child(2n){animation-direction:reverse;animation-duration:26s}
.olas svg:nth-child(3){animation-duration:34s}
@keyframes ola{to{transform:translateX(-50%)}}

/* cinta */
.cinta{background:var(--tinta);color:var(--sol);overflow:hidden;border-block:2px solid var(--tinta);position:relative;z-index:2}
.cinta__pista{display:flex;align-items:center;gap:28px;width:max-content;padding:14px 0;animation:ola 36s linear infinite;font:900 clamp(20px,2.4vw,34px)/1 var(--display);font-stretch:62%;text-transform:uppercase;white-space:nowrap}
.cinta i{font-style:normal;font-size:.5em;color:var(--coral)}

/* ============ LA VIBRA ============ */
.relato,main section[id]{scroll-margin-top:var(--alto-nav)}
.relato{position:relative;display:grid;isolation:isolate}
.relato > :is(.replica-reel,.manifiesto){grid-area:1/1;min-width:0}
.relato--reel .replica-reel{opacity:1;visibility:visible;transition-delay:0s}
.manifiesto__repetir{justify-self:start;min-height:44px;color:var(--azul-prof)}

/* ============ MANIFIESTO ============ */
.manifiesto{padding:clamp(80px,14vw,200px) var(--pad);display:grid;gap:36px;background:var(--crema);position:relative;z-index:2}
.manifiesto__txt{font-size:clamp(38px,6.6vw,118px);line-height:.92;max-width:17ch;color:var(--tinta)}
.manifiesto__txt .pal{display:inline-block;opacity:.14;transition:opacity .35s ease calc(var(--i,0) * 75ms)}
.manifiesto__txt .pal.fuerte{color:var(--coral)}
.manifiesto__txt.encendido .pal{opacity:1}
.manifiesto__txt.al-instante .pal{transition:none}
.manifiesto__pie{max-width:52ch;font-size:clamp(17px,1.5vw,22px);margin-left:auto}
.relato--auto .manifiesto{align-content:center;gap:clamp(14px,3svh,28px);padding:clamp(24px,6svh,64px) var(--pad) 72px}
.relato--auto .manifiesto__txt{max-width:27ch;font-size:clamp(28px,min(5.2vw,7.5svh),84px)}
.manifiesto__sigue{display:inline-flex;align-items:center;justify-self:end;gap:8px;min-height:44px;color:var(--azul-prof);font-weight:700;text-underline-offset:4px}
.manifiesto__sigue svg{animation:gesto-bajar 1.4s ease-in-out 3;animation-play-state:paused}
.relato--manifesto .manifiesto__sigue svg{animation-play-state:running}
@keyframes gesto-bajar{50%{transform:translateY(5px)}}
@media (max-height:650px){
  .relato--auto .manifiesto{gap:10px;padding-top:14px;padding-bottom:60px}
  .relato--auto .manifiesto__txt{font-size:clamp(24px,5vw,46px)}
  .relato--auto .manifiesto__pie{font-size:16px;line-height:1.35}
}

/* ============ CIFRAS ============ */
.cifras{background:var(--azul);color:var(--crema);padding:0 var(--pad) clamp(56px,8vw,120px);position:relative;z-index:2;border-block:2px solid var(--tinta)}
.llaves{display:flex;justify-content:space-between;gap:4px;height:clamp(70px,11vw,150px);align-items:flex-start;margin-bottom:clamp(40px,6vw,90px);border-top:clamp(14px,2vw,26px) solid var(--tinta)}
.llave{flex:1;max-width:44px;display:grid;justify-items:center}
.llave::before{content:"";width:6px;height:clamp(10px,1.6vw,22px);background:var(--tinta)}
.llave i{width:100%;height:clamp(40px,7vw,96px);border-radius:6px 6px 999px 999px;border:2px solid var(--tinta);transform-origin:top center}
.cifras__lista{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,48px)}
.cifras__lista b{display:block;font-size:clamp(90px,15vw,260px);color:var(--sol);line-height:.8}
.cifras__lista span{display:block;margin-top:12px;font-size:clamp(15px,1.3vw,19px);max-width:22ch}
.cifras__lista .chip{display:inline-block;margin-top:6px}
@media (max-width:820px){.cifras__lista{grid-template-columns:1fr 1fr}}

/* ============ PABELLONES ============ */
.pab{position:relative;z-index:2;overflow:hidden}
.pab__pista{display:flex;width:max-content}
.pab__panel{position:relative;width:100vw;min-height:100svh;padding:clamp(88px,10vh,120px) var(--pad) 48px;display:grid;align-content:center;gap:18px;overflow:hidden;border-right:2px solid var(--tinta)}
.pab__intro{background:var(--arena);width:min(100vw,760px)}
.pab__intro h2{font-size:clamp(52px,6.4vw,112px)}
.pab__intro p{max-width:36ch;font-size:19px}
.pab__sigue{font-weight:700;margin-top:20px}
.pab--claras{background:var(--sol)} .pab--lupuladas{background:var(--menta)} .pab--oscuras{background:var(--noche);color:var(--crema)}
.pab__num{position:absolute;right:-.04em;top:-.12em;font-size:clamp(220px,46vw,760px);line-height:.8;opacity:.13;pointer-events:none}
.pab--oscuras .pab__num{opacity:.1}
.pab__txt{position:relative;z-index:2;display:grid;gap:18px;max-width:min(620px,54vw)}
.pab__txt h3{font-size:clamp(60px,10vw,190px)}
.pab__txt>p:not(.etiqueta){font-size:clamp(17px,1.5vw,21px);max-width:40ch}
.pab__muestra{display:grid;margin-top:8px;border-top:2px solid currentColor}
.pab__muestra li{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1.5px solid currentColor;font-size:15px}
.pab__muestra b{font:900 20px/1 var(--display);font-stretch:62%;text-transform:uppercase}
.pab__muestra span{opacity:.8;text-align:right}
.pab__vaso{position:absolute;z-index:1;right:8vw;bottom:-4svh;height:76svh;width:auto;filter:drop-shadow(10px 10px 0 rgba(23,36,55,.9))}
.pab--oscuras .pab__vaso{filter:drop-shadow(10px 10px 0 var(--coral))}
@media (max-width:899px){
  .pab__pista{display:block;width:auto}
  .pab__panel{width:100%;min-height:0;padding:72px var(--pad) 46svh;border-right:0;border-bottom:2px solid var(--tinta)}
  .pab__intro{padding-bottom:64px;width:100%}
  .pab__txt{max-width:none}
  .pab__vaso{right:50%;transform:translateX(50%);height:40svh;bottom:-3svh}
  .pab__sigue{display:none}
}

/* ============ ÍNDICE ============ */
.indice{background:var(--crema);padding:clamp(64px,9vw,140px) var(--pad);position:relative;z-index:2}
.indice__lista{margin-top:28px;border-top:2px solid var(--tinta)}
.indice__lista li{position:relative;display:grid;grid-template-columns:60px 1fr minmax(0,38ch);align-items:center;gap:20px;padding:22px 12px;border-bottom:2px solid var(--tinta);overflow:hidden;isolation:isolate}
.indice__lista li::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--naranja);transform:scaleY(0);transform-origin:bottom;transition:transform .35s cubic-bezier(.7,0,.2,1)}
.indice__lista li:nth-child(2)::before{background:var(--rosa)} .indice__lista li:nth-child(3)::before{background:var(--menta)}
.indice__lista li:nth-child(4)::before{background:var(--sol)} .indice__lista li:nth-child(5)::before{background:var(--coral)}
.indice__lista li:hover::before{transform:scaleY(1)}
.indice__n{font:900 22px/1 var(--display);font-stretch:62%;width:44px;height:44px;display:grid;place-items:center;border:2px solid var(--tinta);border-radius:50%}
.indice__lista h3{font-size:clamp(34px,5.6vw,92px);transition:transform .35s}
.indice__lista li:hover h3{transform:translateX(14px)}
@media (max-width:820px){.indice__lista li{grid-template-columns:44px 1fr}.indice__lista p{grid-column:2}}

/* ============ ASISTENTE Y PLANO ============ */
.asistente-lanzador,.asistente{--chat-borde:max(14px,env(safe-area-inset-right));--chat-base:max(16px,var(--zona-segura-inferior))}
.asistente-lanzador{position:fixed;z-index:75;right:var(--chat-borde);bottom:var(--chat-base);display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 15px;border:2px solid var(--tinta);border-radius:999px;background:var(--sol);color:var(--tinta);font-size:14px;font-weight:800;box-shadow:0 4px 14px #17243730}
.asistente-lanzador:hover{background:var(--crema)}
.asistente-lanzador:active{transform:scale(.97)}
.is-intro .asistente-lanzador{visibility:hidden}
html:has(.asistente[open]){overflow:hidden}
.asistente{position:fixed;inset:auto var(--chat-borde) var(--chat-base) auto;margin:0;width:min(440px,calc(100% - 2 * var(--chat-borde)));max-width:none;
  height:min(var(--chat-maximo,650px),calc(100dvh - var(--chat-base) - max(8px,var(--zona-segura-superior))));max-height:none;padding:0;border:2px solid var(--tinta);border-radius:20px;overflow:hidden;background:var(--arena);color:var(--tinta);box-shadow:0 18px 48px #17243745}
.asistente[open]{display:grid;grid-template-rows:auto minmax(0,1fr);animation:entrada-asistente .2s cubic-bezier(.2,.8,.2,1) both}
.asistente::backdrop{background:#17243750}
@keyframes entrada-asistente{from{opacity:0;transform:translateY(8px)}}
.asistente__cabecera{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:12px 14px;border-bottom:2px solid var(--tinta);background:var(--sol)}
.asistente__cabecera h2{font-size:clamp(24px,7vw,34px)}
.asistente__cabecera p{font-size:13px;margin-top:3px}
.asistente__control{min-height:44px;padding:0 9px;border:1px solid var(--tinta);border-radius:8px;background:var(--crema);font-size:14px;font-weight:700}
.asistente__cerrar{width:44px;font-size:26px;line-height:1}
.asistente__control:hover{background:white}
.asistente__conversacion{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0}
.asistente__conversacion[hidden],.recinto[hidden]{display:none}
.asistente__historial,.recinto{min-height:0;overflow:auto;overscroll-behavior:contain;padding:14px}
.asistente__historial{position:relative}
.asistente__historial:focus-visible{outline-offset:-3px}
.asistente__sugerencias{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.asistente__sugerencias button,.asistente__ubicar{min-height:44px;padding:0 10px;border:1px solid var(--tinta);border-radius:999px;background:var(--crema);font-weight:600;font-size:13px}
.asistente__sugerencias button:hover,.asistente__ubicar:hover{background:var(--menta)}
.asistente__guias-entrada{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:8px 12px;border:1px solid var(--tinta);border-radius:9px;background:var(--sol);font-size:15px;font-weight:800;text-align:left}
.asistente__guias-entrada:hover{background:var(--menta)}
.asistente__guias{min-height:0;overflow:auto;overscroll-behavior:contain;padding:14px}
#contenido-guias{display:grid;gap:12px;margin-top:14px;font-size:15px}
.asistente__guia-titulo{font:900 clamp(22px,5vw,30px)/1.05 var(--display);font-stretch:70%}
.asistente__guia-paso{font-size:13px;font-weight:700;color:var(--azul-prof)}
.asistente__guia-opciones,.asistente__guia-referencia{display:grid;gap:7px}
.asistente__guia-opcion{min-height:44px;display:grid;gap:3px;padding:10px 12px;text-align:left;border:1px solid var(--tinta);border-radius:8px;background:var(--crema);font-weight:700}
.asistente__guia-opcion:hover,.asistente__guia-opcion[aria-pressed="true"]{background:var(--menta)}
.asistente__guia-opcion span{font-size:13px;font-weight:400}
.asistente__guia-referencia select{width:100%;min-height:44px;padding:7px;border:1px solid var(--tinta);border-radius:8px;background:var(--crema);color:var(--tinta);font:inherit}
.asistente__guia-referencia button:disabled{opacity:.65;cursor:default}
.asistente__guia-form{display:grid;gap:10px}
.asistente__guia-form label{font-weight:700}
.asistente__guia-form textarea{width:100%;min-height:58px;resize:vertical;padding:8px 10px;border:1px solid var(--tinta);border-radius:8px;background:var(--crema);color:var(--tinta);font:inherit;font-size:16px}
.asistente__guia-form .btn{justify-content:center;min-height:46px;white-space:normal}
.asistente__guia-form .btn:disabled{opacity:.6;cursor:default;transform:none;background:var(--azul-prof);box-shadow:4px 4px 0 var(--tinta)}
.asistente__guia-acciones{display:flex;flex-wrap:wrap;gap:6px}
#contenido-guias > .asistente__ficha,.asistente__estilo{padding:12px;border:1px solid var(--tinta);border-radius:10px;background:var(--crema)}
.asistente__estilo{display:grid;gap:8px}
.asistente__estilo h4{margin:0;font-size:19px}
.asistente__estilo h5{margin:0;font-size:15px}
.asistente__estilo a{width:fit-content;color:var(--azul-prof);font-size:13px;text-underline-offset:3px}
.asistente__estilo-vaso{font-weight:600}
.asistente__estilo summary{min-height:44px;padding-block:10px;font-weight:700;cursor:pointer}
.asistente__entrada{padding:10px 12px;border-top:1px solid var(--tinta);background:var(--crema)}
.asistente__form{display:flex;align-items:end;gap:8px}
.asistente__form textarea{min-width:0;min-height:44px;max-height:calc(4.2em + 20px);flex:1;padding:9px 10px;border:1px solid var(--tinta);border-radius:8px;background:white;color:var(--tinta);font:inherit;line-height:1.4;resize:none;overflow-y:auto;overflow-wrap:anywhere}
.asistente__form button{min-height:44px;padding:0 12px;font-size:14px;box-shadow:none}
.asistente__form button:hover{transform:none;box-shadow:none}
.asistente__form button:disabled{opacity:.65;cursor:wait}
.asistente__aviso,.asistente__modo{margin-top:7px;font-size:13px}
.asistente__estado:not(:empty){margin:8px 0;font-size:14px;font-weight:600}
.asistente__estado--escribiendo::after{content:"";display:inline-block;width:5px;height:5px;margin:0 15px 2px 8px;border-radius:50%;background:currentColor;box-shadow:7px 0 currentColor,14px 0 currentColor;animation:asistente-espera 1s ease-in-out infinite alternate}
@keyframes asistente-espera{from{opacity:.4}to{opacity:1}}
.asistente__pregunta,.asistente__respuesta{max-width:100%;margin-bottom:8px;padding:10px 12px;border-radius:12px;font-size:15px;overflow-wrap:anywhere}
.asistente__pregunta{width:fit-content;max-width:88%;margin-left:auto;border-bottom-right-radius:3px;background:var(--azul-prof);color:white}
.asistente__respuesta{border-bottom-left-radius:3px;background:var(--crema)}
.asistente__respuesta a{font-weight:700;text-underline-offset:4px}
.asistente__respuesta h3{font-weight:800}
.asistente__seguimiento{font-weight:700;color:var(--azul-prof)}
.asistente__respuesta > * + *{margin-top:10px}
.asistente__parte{animation:asistente-parte .22s cubic-bezier(.2,.8,.2,1) both}
@keyframes asistente-parte{from{opacity:0;transform:translateY(5px)}}
.asistente__ficha{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;padding-top:10px;border-top:1px solid var(--tinta)}
.asistente__ficha img{width:38px;height:38px;object-fit:contain;padding:3px;border-radius:6px}
.asistente__ficha img.oscuro{background:var(--tinta)}
.asistente__ficha p{margin:4px 0}
.recinto figcaption{margin-bottom:12px;font-size:14px}
.recinto h3{font-size:30px;margin-bottom:6px}
#detalle-recinto:not(:empty){margin-top:10px;padding:10px;background:var(--crema);border-radius:8px;font-size:14px}
.recinto__plano{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(48px,auto));gap:6px;padding:8px;border:2px solid var(--tinta);border-radius:10px;background:var(--crema)}
.recinto__plano::before{content:"";grid-column:2;grid-row:1/-1;background:var(--arena);border-inline:1px dashed var(--tinta)}
.recinto__zona{position:relative;min-width:0;padding:5px;border:1px solid var(--tinta);border-radius:6px;background:var(--menta);font-size:13px;font-weight:700;line-height:1.2}
.recinto__zona[aria-pressed="true"]{color:white;background:var(--azul-prof)}
@media (max-width:500px){
  .asistente{--chat-borde:max(8px,env(safe-area-inset-right),env(safe-area-inset-left));--chat-base:max(8px,var(--zona-segura-inferior));--chat-maximo:680px}
}
@media (max-width:360px){
  .asistente__cabecera{gap:6px}
  .asistente__cabecera h2{font-size:22px}
  .asistente__control{padding-inline:6px}
  .recinto__zona{font-size:12px;padding-inline:3px}
}

/* ============ cabeceras de sección ============ */
.cab{display:grid;gap:18px;margin-bottom:clamp(28px,4vw,56px)}
.cab h2{font-size:clamp(50px,9.4vw,170px)}
.filtros{display:flex;flex-wrap:wrap;gap:8px}
.filtros button{min-height:44px;padding:0 18px;border-radius:999px;border:2px solid var(--tinta);background:transparent;font-weight:600}
.filtros button:hover{background:var(--sol)}
.filtros button.on{background:var(--tinta);color:var(--arena)}

/* ============ CERVECERÍAS ============ */
.cerv{padding:clamp(64px,9vw,140px) var(--pad);background:var(--arena);position:relative;z-index:2}
.muro{display:grid;grid-template-columns:repeat(2,1fr);border-top:2px solid var(--tinta);border-left:2px solid var(--tinta)}
.muro li{border-right:2px solid var(--tinta);border-bottom:2px solid var(--tinta)}
.muro li[hidden]{display:none}
.tesela{position:relative;display:grid;grid-template-rows:1fr auto;width:100%;aspect-ratio:1/1;padding:0;border:0;background:var(--crema);text-align:left;overflow:hidden}
.tesela.oscuro{background:var(--tinta);color:var(--crema)}
.tesela__logo{display:block;min-height:0;padding:14% 16%;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.tesela__logo img{width:100%;height:100%;object-fit:contain}
.tesela__pie{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:13px;border-top:2px solid var(--tinta)}
.tesela.oscuro .tesela__pie{border-color:var(--crema)}
.tesela__pie b{font:900 17px/1 var(--display);font-stretch:62%;text-transform:uppercase}
.tesela:hover .tesela__logo{transform:scale(1.12) rotate(-3deg)}
.tesela::after{content:"Ver ficha →";position:absolute;right:10px;top:10px;font:600 12px/1 var(--texto);background:var(--naranja);color:var(--tinta);padding:6px 10px;border-radius:999px;border:2px solid var(--tinta);transform:translateY(-48px);transition:transform .25s}
.tesela:hover::after,.tesela:focus-visible::after{transform:none}

/* ficha */
.ficha{width:min(920px,calc(100vw - 24px));max-height:calc(100svh - 24px);padding:0;border:2px solid var(--tinta);border-radius:20px;background:var(--crema);color:var(--tinta);box-shadow:10px 10px 0 var(--tinta);overflow:auto}
.ficha[open]{display:grid;grid-template-columns:minmax(0,300px) 1fr}
.ficha::backdrop{background:rgba(13,27,46,.72)}
.ficha__logo{display:grid;place-items:center;padding:36px;background:var(--sol);border-right:2px solid var(--tinta);min-height:200px}
.ficha__logo.oscuro{background:var(--tinta)}
.ficha__logo img{max-height:220px;width:auto;object-fit:contain}
.ficha__cuerpo{padding:36px 32px 32px;display:grid;gap:12px;align-content:start}
.ficha__cuerpo h3{font-size:clamp(40px,5vw,72px)}
.ficha__sub{font-weight:700;margin-top:10px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ficha__chelas{border-top:2px solid var(--tinta)}
.ficha__chelas li{display:grid;grid-template-columns:1fr auto;gap:2px 14px;padding:10px 0;border-bottom:1.5px solid var(--tinta)}
.ficha__chelas b{font:900 22px/1 var(--display);font-stretch:62%;text-transform:uppercase}
.ficha__chelas span{font-size:14px;color:#47566A}
.ficha__chelas em{font:900 22px/1 var(--display);font-stretch:62%;font-style:normal;grid-row:span 2;align-self:center}
.ficha__cerrar{position:absolute;right:12px;top:12px;width:44px;height:44px;border-radius:50%;border:2px solid var(--tinta);background:var(--crema);font-size:26px;line-height:1;z-index:2}
.ficha__cerrar:hover{background:var(--coral)}
@media (max-width:700px){.ficha[open]{grid-template-columns:1fr}.ficha__logo{border-right:0;border-bottom:2px solid var(--tinta);padding:28px}.ficha__logo img{max-height:120px}.ficha__cuerpo{padding:24px 20px}}

/* ============ CATÁLOGO ============ */
.cat{padding:clamp(64px,9vw,140px) var(--pad);background:var(--crema);position:relative;z-index:2;border-top:2px solid var(--tinta)}
.lista{border-top:2px solid var(--tinta);counter-reset:n}
.lista li{counter-increment:n;display:grid;grid-template-columns:44px minmax(0,1.4fr) minmax(0,1fr) 72px 60px;align-items:center;gap:16px;padding:14px 8px;border-bottom:1.5px solid var(--tinta);position:relative;isolation:isolate}
.lista li[hidden]{display:none}
.lista li::before{content:counter(n,decimal-leading-zero);font:600 13px/1 var(--texto);opacity:.6}
.lista li::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--sol);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.7,0,.2,1)}
.lista li:hover::after{transform:scaleX(1)}
.lista h3{font:900 clamp(24px,3vw,44px)/.95 var(--display);font-stretch:62%;text-transform:uppercase}
.lista .quien{font-size:14px;color:#47566A;display:block;margin-top:2px}
.lista .estilo{font-size:15px}
.lista .premio{display:inline-block;margin-top:4px;font-size:12px;font-weight:600;background:var(--naranja);border-radius:999px;padding:3px 9px}
.lista .abv,.lista .ibu{font:900 clamp(20px,2vw,28px)/1 var(--display);font-stretch:62%;text-align:right}
.lista .abv small,.lista .ibu small{display:block;font:600 10px/1 var(--texto);letter-spacing:.1em;opacity:.6;margin-bottom:3px}
.cat__mas{margin:18px 0 6px;min-height:44px}
.cat .nota{margin-top:12px}
@media (max-width:700px){
  .lista li{grid-template-columns:28px 1fr 58px;gap:10px}
  .lista .estilo{grid-column:2;grid-row:2}
  .lista .ibu{display:none}
  .lista .abv{grid-row:1/3;grid-column:3}
}

/* ============ BOLETOS ============ */
.bol{padding:clamp(64px,9vw,140px) var(--pad);background:var(--coral);position:relative;z-index:2;border-top:2px solid var(--tinta)}
.bol .nota{color:var(--tinta);margin-top:24px}
.bol__lista{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:20px}
.boleto{position:relative;display:grid;align-content:start;gap:10px;padding:26px 24px 24px;background:var(--sol);border:2px solid var(--tinta);border-radius:18px;box-shadow:6px 6px 0 var(--tinta);transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.boleto:nth-child(odd){transform:rotate(-1.4deg)} .boleto:nth-child(even){transform:rotate(1.2deg)}
.boleto:hover{transform:rotate(0) translateY(-8px)}
.boleto--menta{background:var(--menta)} .boleto--rosa{background:var(--rosa)} .boleto--crema{background:var(--crema)}
.boleto h3::before,.boleto h3::after{content:"";position:absolute;bottom:-14px;width:26px;height:26px;border-radius:50%;background:var(--coral);border:2px solid var(--tinta)}
.boleto h3::before{left:-41px;clip-path:inset(0 0 0 50%)} .boleto h3::after{right:-41px;clip-path:inset(0 50% 0 0)}
.boleto__tipo{font:600 12px/1 var(--texto);letter-spacing:.12em;text-transform:uppercase}
.boleto h3{position:relative;display:flex;align-items:flex-end;font-size:clamp(38px,3.6vw,54px);min-height:calc(1.76em + 22px);padding-bottom:22px;border-bottom:2px dashed var(--tinta)}
.boleto__precio{font-size:clamp(72px,7vw,104px);margin-top:10px}
.boleto__cond{font-size:15px;min-height:4.5em}
.boleto .btn{justify-self:start;margin-top:6px}

/* ============ CÓMO LLEGAR ============ */
.llegar{display:grid;grid-template-columns:1.1fr 1fr;background:var(--menta);position:relative;z-index:2;border-top:2px solid var(--tinta)}
.llegar__dir{padding:clamp(64px,9vw,140px) var(--pad);display:grid;gap:22px;align-content:center;justify-items:start;border-right:2px solid var(--tinta);
  background:var(--menta) repeating-radial-gradient(circle at 0 100%,transparent 0 60px,rgba(255,255,255,.25) 60px 120px)}
.llegar__dir h2{font-size:clamp(84px,14vw,250px)}
.llegar address{font-style:normal;font-size:clamp(18px,1.8vw,26px);font-weight:500}
.llegar__info{display:grid;background:var(--crema)}
.llegar__info li{padding:26px var(--pad);border-bottom:2px solid var(--tinta);display:grid;gap:6px;align-content:center}
.llegar__info li:last-child{border-bottom:0;background:var(--sol)}
.llegar__info b{font-size:clamp(30px,3.4vw,54px)}
@media (max-width:820px){.llegar{grid-template-columns:1fr}.llegar__dir{border-right:0;border-bottom:2px solid var(--tinta)}}

/* ============ FAQ ============ */
.faq{padding:clamp(64px,9vw,140px) var(--pad);background:var(--arena);display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(24px,5vw,80px);position:relative;z-index:2;border-top:2px solid var(--tinta)}
.faq .cab h2{font-size:clamp(46px,6.4vw,112px)}
.faq__lista{border-top:2px solid var(--tinta)}
.faq details{border-bottom:2px solid var(--tinta)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:14px 4px;cursor:pointer;list-style:none;font-weight:600;font-size:clamp(17px,1.5vw,21px)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:36px;height:36px;display:grid;place-items:center;border:2px solid var(--tinta);border-radius:50%;font:500 24px/1 var(--texto);transition:transform .3s,background .3s}
.faq details[open] summary::after{transform:rotate(45deg);background:var(--naranja)}
.faq details p{padding:0 56px 20px 4px;max-width:60ch}
@media (max-width:820px){.faq{grid-template-columns:1fr}}

/* ============ CIERRE ============ */
.cierre{position:relative;min-height:100svh;display:grid;place-items:center;text-align:center;background:var(--noche);color:var(--crema);overflow:hidden;isolation:isolate;padding:120px var(--pad) 30svh;z-index:2}
.cierre__txt{display:grid;justify-items:center;gap:26px}
.cierre h2{font-size:clamp(76px,17vw,330px)}
.cierre .etiqueta{color:var(--sol)}
.cierre__sol{position:absolute;z-index:-2;left:50%;bottom:-12svh;width:min(70vw,70svh);aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:var(--naranja);overflow:hidden}
.cierre__sol::after{content:"";position:absolute;inset:30% 0 0 0;background:repeating-linear-gradient(to bottom,transparent 0 3.2%,var(--noche) 3.2% 5.6%)}
.cierre .olas{height:24svh}
.estrellas{position:absolute;inset:0;z-index:-3}
.estrellas i{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--crema);animation:titila 3s ease-in-out infinite}
@keyframes titila{50%{opacity:.2;transform:scale(.6)}}

/* ============ PIE ============ */
.pie{background:var(--tinta);color:var(--crema);padding:48px var(--pad) 90px;display:grid;grid-template-columns:1.2fr 1fr;gap:28px;position:relative;z-index:2}
.pie__org{display:flex;gap:18px;align-items:center}
.pie__org img{width:81px;height:88px;object-fit:contain}
.pie__ligas{display:flex;flex-wrap:wrap;gap:6px 22px;align-items:center;justify-content:flex-end}
.pie__ligas a,.pie__ligas button{min-height:44px;display:inline-flex;align-items:center;font-weight:600;color:var(--crema)}
.pie__ligas a:hover,.pie__ligas button:hover{color:var(--sol)}
.pie__legal{grid-column:1/-1;font-size:14px;opacity:.8;border-top:1.5px solid rgba(244,246,232,.3);padding-top:18px}
.replica-reel{position:relative;z-index:3;display:grid;align-content:center;background:var(--sol);opacity:0;visibility:hidden;transition:opacity .35s ease,visibility 0s .35s}
.replica-reel[hidden]{display:none}
.replica-reel :focus-visible{outline-color:var(--tinta)}
.replica-reel__pantalla{width:100%;height:min(calc(100svh - var(--alto-nav)),56.25vw);min-height:220px;overflow:hidden;contain:layout paint style;isolation:isolate}
.replica-reel__pantalla svg{width:100%;height:100%;max-width:none;font-family:var(--texto);fill:#161512}
.replica-reel__pantalla .reel-tipo{font-family:var(--display);font-stretch:62%;font-weight:900}
.replica-reel__pantalla [data-escena]{display:none}
.replica-reel__pantalla [data-escena].activa{display:inline}
.replica-reel__saltar{position:absolute;right:var(--pad);top:14px;min-height:40px;padding:0 14px;border:1px solid var(--tinta);border-radius:999px;background:rgba(244,246,232,.85);color:var(--tinta);font-size:14px;font-weight:600}
.replica-reel__saltar:hover{background:var(--crema)}
@media (max-width:820px){.pie{grid-template-columns:1fr}.pie__ligas{justify-content:flex-start}}

/* ============ movimiento reducido ============ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .manifiesto__txt .pal{opacity:1}
  .pab__pista{display:block;width:auto}.pab__panel{width:100%}
}

/* ============ utilidades de animación ============ */
.w{display:inline-block;white-space:nowrap}
.rev{opacity:0;translate:0 44px;transition:opacity .7s cubic-bezier(.2,.8,.2,1),translate .7s cubic-bezier(.2,.8,.2,1)}
.rev.en{opacity:1;translate:0 0}

@media (min-width:700px){.muro{grid-template-columns:repeat(4,1fr)}}
@media (min-width:1100px){.muro{grid-template-columns:repeat(5,1fr)}}
