/* Terms & Conditions 2026: paleta sacada del póster del alebrije */
:root{
  --bg:#0a0607;
  --bg-2:#120b0b;
  --card:#17100f;
  --line:rgba(255,255,255,.12);
  --text:#f6efe9;
  --muted:#b9aaa2;
  --red:#cd223b;        /* «DICIEMBRE 29» del póster */
  --gold:#d9a441;       /* «MAYAN MONKEY» */
  --orange:#e8642a;     /* dunas */
  --amber:#f29a2e;
  --magenta:#d42a7c;    /* cuerpo del alebrije */
  --purple:#6a2fa0;
  --grad:linear-gradient(110deg,var(--amber),var(--orange) 30%,var(--magenta) 65%,var(--purple));
  --display:"Oswald","Arial Narrow",sans-serif;
  --body:"Poppins",system-ui,sans-serif;
  --nav-h:72px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.65 var(--body);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,p{text-wrap:pretty}
.wrap{width:min(1200px,100% - 32px);margin-inline:auto}
.narrow{width:min(820px,100% - 32px)}
.center{text-align:center}
.eyebrow{font:500 14px/1 var(--display);letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin:0 0 18px}
.h-display{font:600 clamp(32px,4.4vw,56px)/1.04 var(--display);text-transform:uppercase;letter-spacing:.01em;margin:0 0 22px;text-wrap:balance}
.lead{max-width:720px;margin:0 auto;color:var(--muted);font-size:16px}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 26px;border-radius:999px;font:500 15px/1 var(--body);text-decoration:none;transition:transform .25s,box-shadow .25s,background .25s}
.btn-ghost{position:relative;color:#fff;background:rgba(255,255,255,.03)}
.btn-ghost::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--grad);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.btn-ghost:hover{background:rgba(232,100,42,.12);transform:translateY(-1px)}
.btn-solid{background:var(--grad);color:#fff;font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:14px}
.btn-solid:hover{transform:translateY(-2px);box-shadow:0 12px 30px -10px rgba(212,42,124,.7)}



/* Hero 100 % */
.hero{--r:28px;--gap:12px;height:100svh;min-height:520px;padding:var(--gap);background:var(--bg)}
.hero-frame{position:relative;height:100%;border-radius:var(--r);overflow:hidden;background:#000}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
/* El hueco: bloque del color de la página en la esquina de arriba, con las dos curvas invertidas.
   Su tamaño lo pone main.js midiendo el boleto del header (--notch-w / --notch-h). */
.hero-notch{position:absolute;z-index:2;top:0;right:0;width:var(--notch-w,210px);height:var(--notch-h,70px);background:var(--bg);border-bottom-left-radius:var(--r)}
.hero-notch::before,.hero-notch::after{content:"";position:absolute;width:var(--r);height:var(--r);background:radial-gradient(circle at 0 100%,transparent calc(var(--r) - .5px),var(--bg) var(--r))}
.hero-notch::before{right:100%;top:0}
.hero-notch::after{right:0;top:100%}
@media (max-width:900px){
  .hero-notch{display:none}   /* en móvil el boleto vive en la barra de abajo: el marco va cerrado */
}
@media (max-width:640px){
  .wrap{width:min(1200px,100% - 64px)}     /* 32 px de margen a cada lado en móvil (antes 22) */
  .narrow{width:min(820px,100% - 64px)}
  .hero{--r:22px;--gap:8px}
  .hero-video{object-position:43% 40%}   /* en vertical el video se corre a la derecha para que el alebrije no quede cortado */
}

/* ---------- El evento: texto y animación, 50/50 sin card ---------- */
.event{position:relative;padding:110px 0 120px;background:
  radial-gradient(60% 50% at 10% 30%,rgba(106,47,160,.24),transparent 70%),
  radial-gradient(50% 50% at 95% 80%,rgba(232,100,42,.16),transparent 70%),var(--bg)}
.event-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);align-items:center}
.event-text{max-width:540px}
.event-title{font:500 clamp(34px,3.4vw,46px)/1 var(--display);text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px}
/* fecha y lugar: card de borde liso y esquinas suaves, con una raya fina entre los dos datos */
.event-sub{position:relative;display:inline-flex;align-items:center;gap:18px;margin:4px 0 30px!important;padding:13px 20px;border-radius:12px;border:1px solid rgba(176,120,236,.3);background:linear-gradient(110deg,rgba(106,47,160,.32),rgba(212,42,124,.14));
  font:500 17px/1 var(--display)!important;letter-spacing:.16em;text-transform:uppercase;color:#fff!important;text-align:left!important}
.event-sub span{display:inline-flex;align-items:center;gap:9px}
.event-sub svg{width:18px;height:18px;fill:none;stroke:var(--orange);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.event-sub i{align-self:stretch;width:1px;margin:-2px 0;background:rgba(255,255,255,.22)}
/* botón de entradas: el mismo boleto del header, más grande */
.event-text .event-ticket{display:inline-flex;height:60px;margin-top:18px;font-size:14.5px}
.event-text .event-ticket .cta-stub{padding:0 16px 0 18px;font-size:24px}
.event-text .event-ticket .cta-text{padding:0 26px 0 22px}
.event-text p{margin:0 0 14px;color:#d5c8c0;font-size:15.5px;text-align:justify}
.event-text strong{color:#fff}
.event-text .btn{margin-top:14px}
/* la foto de 2025 ocupa todo el alto del bloque, del medio al borde derecho, y se funde hacia el texto por la izquierda;
   se acerca muy despacio (efecto Ken Burns) y un velo morado la casa con el fondo */
.event{overflow:hidden}
.event-grid{position:relative;z-index:1}
.event-media{position:absolute;z-index:0;top:0;right:0;bottom:0;width:62%;overflow:hidden;
  -webkit-mask:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 18%,#000 48%),linear-gradient(180deg,transparent 0,#000 12%,#000 88%,transparent);-webkit-mask-composite:source-in;
  mask:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 18%,#000 48%) intersect,linear-gradient(180deg,transparent 0,#000 12%,#000 88%,transparent)}
.event-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:60% 50%;animation:ev-kb 22s ease-in-out infinite alternate}
.event-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,8,40,.55),transparent 55%),radial-gradient(80% 70% at 70% 50%,transparent 50%,rgba(10,6,7,.45))}
@keyframes ev-kb{from{transform:scale(1.02) translateX(0)}to{transform:scale(1.12) translateX(-2%)}}
@media (prefers-reduced-motion:reduce){.event-media img{animation:none}}
/* etiqueta tipo boleto */
.tag{display:inline-flex;align-items:stretch;height:28px;font:500 13px/1 var(--body)}
.tag-text{display:flex;align-items:center;padding:0 14px;border-radius:6px 0 0 6px;background:linear-gradient(90deg,var(--amber),var(--orange));color:#1a0b05;
  -webkit-mask:radial-gradient(circle 5px at 100% 50%,transparent 98%,#000);mask:radial-gradient(circle 5px at 100% 50%,transparent 98%,#000)}
.tag-cap{display:flex;align-items:center;padding:0 8px;margin-left:2px;border-radius:0 6px 6px 0;background:#2a1d1a;color:var(--amber);font-size:14px;border:1px solid rgba(242,154,46,.5)}

/* ---------- Line up: acordeón de PRAYER ---------- */
.lineup{position:relative;padding:100px 0 0;background:linear-gradient(var(--bg),#000 40%)}
.lineup{padding-bottom:110px}   /* sin las dunas ni el «December 29 · Isla Mujeres» del pie */
.lineup-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}
/* «LINE UP» es el título principal de la sección */
.lu-title{margin:0;font:600 clamp(48px,6vw,92px)/.9 var(--display);text-transform:uppercase;letter-spacing:.01em;background:linear-gradient(180deg,#fff 30%,#f3c9a8);-webkit-background-clip:text;background-clip:text;color:transparent}
/* fecha y lugar: la misma card con iconos del bloque del evento */
.lineup-head .lu-when{margin:0 0 4px!important}
/* horario y papel del artista, con iconos */
.hoja .detalle,.lu-star-meta{gap:18px;flex-wrap:wrap}
.hoja .detalle span,.lu-star-meta span,.lu-list small{display:inline-flex;align-items:center;gap:7px}
.hoja .detalle svg,.lu-star-meta svg,.lu-list small svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hoja .badge,.lu-star .badge{align-self:flex-start;margin-bottom:14px;padding:7px 12px;border-radius:8px;background:var(--orange);color:#1a0b05;font:600 12px/1 var(--body);letter-spacing:.2em;text-transform:uppercase}
.hoja .badge{display:none}
.hoja[data-abierta] .badge{display:inline-block}
.lu-spot{display:none}
.acordeon{display:flex;gap:10px;height:clamp(420px,64vh,660px)}
.hoja{position:relative;margin:0;flex:1 1 0;min-width:0;overflow:hidden;border-radius:20px;background:#120b0b;cursor:pointer;
  transition:flex-grow .8s cubic-bezier(.22,1,.36,1)}
.hoja[data-abierta]{flex-grow:3.2}
.hoja:first-child{flex-grow:1.4}
.hoja:first-child[data-abierta]{flex-grow:3.6}
.hoja img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.5) brightness(.6);transition:filter .75s ease,transform .9s cubic-bezier(.22,1,.36,1)}
.hoja[data-abierta] img{filter:none;transform:scale(1.03)}
.hoja figcaption{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(18px,2vw,30px);
  background:linear-gradient(transparent 45%,rgba(8,4,5,.85))}
.hoja .nombre{writing-mode:vertical-rl;transform:rotate(180deg);font:600 20px/1 var(--display);letter-spacing:.24em;text-transform:uppercase;color:#fff;white-space:nowrap}
.hoja[data-abierta] .nombre{writing-mode:horizontal-tb;transform:none;font-size:clamp(36px,4.4vw,72px);letter-spacing:.005em;line-height:.92;white-space:normal}
.hoja .detalle{display:none;margin-top:12px;font:500 13px/1.4 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--amber)}
.hoja[data-abierta] .detalle{display:flex}
.hoja-pronto img{filter:grayscale(.2) brightness(.45)}
.hoja-pronto[data-abierta] .nombre{font-size:clamp(34px,4.2vw,64px)}

/* ---------- Tiers en arco ---------- */
.tickets{position:relative;overflow:hidden;padding:110px 0 100px;background:
  radial-gradient(70% 50% at 50% 0%,rgba(106,47,160,.24),transparent 70%),var(--bg)}
.arc{position:relative;height:540px;margin-top:10px}
.arc-track{position:absolute;left:50%;top:40px;width:0;height:100%}
.tcard{--w:270px;position:absolute;left:calc(var(--w) / -2);top:0;width:var(--w);transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .45s}
.tcard-main{position:relative;z-index:2;display:block;padding:12px 12px 16px;border-radius:24px;text-decoration:none;
  background:linear-gradient(170deg,#4a1a72,#1f0c30);border:1px solid rgba(176,120,236,.28);box-shadow:0 30px 60px -28px rgba(0,0,0,.95)}
.tcard-img{position:relative;display:block;aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:#000}
.tcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
@media (hover:hover){.tcard:hover .tcard-img img{transform:scale(1.05)}}
.tcard-status{position:absolute;top:10px;left:10px;padding:6px 10px;border-radius:99px;font:600 11px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;background:rgba(10,6,7,.7);color:#e8dcd4;backdrop-filter:blur(6px)}
.tcard-status.is-live{background:#2ec46b;color:#06210f}
.tcard-title{display:block;margin:14px 6px 0;font:600 20px/1.1 var(--display);text-transform:uppercase;letter-spacing:.05em}
/* el talón: más estrecho, metido por detrás y colgando con su propio giro */
.tcard-stub{position:relative;z-index:1;display:flex;align-items:center;gap:12px;width:88%;margin:-16px auto 0;padding:28px 16px 14px;border-radius:0 0 18px 18px;
  background:linear-gradient(170deg,#6a2a9c,#4a1a72);   /* derecho y centrado bajo la tarjeta (antes iba girado 1,4°) */
  box-shadow:0 18px 30px -18px rgba(0,0,0,.9)}
.stub-ico{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:10px;background:rgba(0,0,0,.22)}
.stub-ico svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* las fases que aún no están a la venta van «deseleccionadas»: apagadas y sin color */
.tcard.is-off{filter:grayscale(.85) brightness(.62)}
@media (hover:hover){.tcard.is-off:hover{filter:grayscale(.5) brightness(.8)}}
.tcard.is-live .tcard-main{box-shadow:0 30px 60px -28px rgba(0,0,0,.95),0 0 40px -12px rgba(164,108,240,.5)}
.stub-text{display:grid;gap:3px;min-width:0;font-size:12.5px;line-height:1.2;color:rgba(255,255,255,.78);white-space:nowrap}
.stub-text b{font:600 22px/1 var(--display);letter-spacing:.02em;color:#fff}
@media (hover:hover){.tcard.is-live:hover{filter:brightness(1.08)}}
.tickets-foot{margin-top:10px}

/* ---------- Rueda de fotos 2025 ---------- */
.memories{padding:110px 0 40px;overflow:hidden}
.wheel{position:relative;height:500px;margin-top:40px}
.wcard{position:absolute;left:50%;top:20px;width:260px;margin-left:-130px;aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:#111;
  border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 50px -25px rgba(0,0,0,.95);will-change:transform}
.wcard img{width:100%;height:100%;object-fit:cover}

/* ---------- Stay ---------- */
.stay{padding:100px 0;background:linear-gradient(180deg,var(--bg),#1a0d18 60%,var(--bg))}
.stay-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.stay-text .h-display{margin-bottom:6px}
.stay-lead{margin:0 0 22px!important;font:500 clamp(18px,1.8vw,24px)/1.2 var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--orange)!important}
.stay-text p{color:#ddd0c8;margin:0 0 30px;text-align:justify}
.stay-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px}
/* el mismo boleto del header y del evento */
.stay-text .stay-cta{display:inline-flex;height:60px;font-size:14.5px}
.stay-text .stay-cta .cta-stub{padding:0 16px 0 18px;font-size:24px}
.stay-text .stay-cta .cta-text{padding:0 26px 0 22px}
.stay-map{border-radius:24px;overflow:hidden;border:1px solid rgba(121,181,166,.35);aspect-ratio:4/3;background:#111;box-shadow:0 40px 80px -40px rgba(0,0,0,.95)}
.stay-map iframe{display:block;width:100%;height:100%;border:0}
/* botón con el verde de Mayan Monkey */
.btn-mayan{min-height:52px;padding:0 30px;background:#79b5a6;color:#12261f;font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:14px}
.btn-mayan:hover{background:#8cc5b6;transform:translateY(-2px);box-shadow:0 12px 28px -10px rgba(121,181,166,.6)}
.stay-map-link{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:14px;text-decoration:none}
.stay-map-link svg{width:18px;height:18px;fill:none;stroke:var(--orange);stroke-width:1.8}
.stay-map-link:hover{color:#fff}
/* foto del hotel en vez del mapa: invita a ir */
.stay-photo{position:relative;margin:0;aspect-ratio:4/3;border-radius:24px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(0,0,0,.95)}
.stay-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.stay-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(200deg,transparent 55%,rgba(31,12,48,.45))}
@media (hover:hover){.stay-photo:hover img{transform:scale(1.04)}}

/* ---------- Mesas ---------- */
.tables{padding:40px 0 110px}
.tables-title{margin-bottom:20px}
/* toda la sección va dentro de una card morada para separarla de los tiers */
.tables-grid{display:grid;grid-template-columns:.8fr 1.35fr;gap:48px;align-items:center;padding:clamp(28px,4vw,56px);border-radius:28px;
  border:1px solid rgba(176,120,236,.26);background:radial-gradient(70% 90% at 0% 0%,rgba(212,42,124,.16),transparent 60%),linear-gradient(150deg,#2c1145,#170a24 60%,#120818);
  box-shadow:0 40px 90px -40px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.06)}
.tables-text p{color:#ddd0c8;margin:0 0 26px;text-align:justify}
/* zonas: botones sencillos sin cifras; al tocarlos se ilumina su parte del plano */
.tables-legend{list-style:none;margin:0 0 30px;padding:0;display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:10px}
.tables-legend li{display:inline-flex;align-items:center;gap:10px;padding:11px 18px 11px 14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--z) 45%,transparent);
  background:color-mix(in srgb,var(--z) 10%,transparent);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .25s,border-color .25s,box-shadow .25s,color .25s}
.tables-legend li:hover,.tables-legend li.is-on{border-color:var(--z);background:var(--z);color:#14080f;box-shadow:0 8px 22px -8px var(--z)}
.tables-legend i{width:9px;height:9px;flex:none;border-radius:50%;background:var(--z);box-shadow:0 0 0 3px color-mix(in srgb,var(--z) 30%,transparent);transition:background .25s}
.tables-legend li:hover i,.tables-legend li.is-on i{background:#14080f;box-shadow:none}
.tables-legend b{font:600 15px/1 var(--display);letter-spacing:.1em;text-transform:uppercase}
[data-zone="gold"]{--z:#e5b046}[data-zone="teal"]{--z:#2fb5b8}[data-zone="lilac"]{--z:#a98ce0}[data-zone="vip"]{--z:#d4253f}
.btn-wa{gap:10px;background:#25d366;color:#06240f;font-weight:600;letter-spacing:.02em}
.btn-wa svg{width:22px;height:22px}
.btn-wa:hover{background:#1ebe5b;transform:translateY(-2px);box-shadow:0 12px 28px -10px rgba(37,211,102,.6)}
.plan{margin:0;border-radius:24px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(0,0,0,.9);border:1px solid rgba(176,120,236,.2)}
.plan{position:relative}
.plan img{display:block;width:100%;height:auto}
.plan-inner{position:relative}
.plan-zoom,.plan-close{display:none}
@media (max-width:900px){.plan-zoom{display:block}}
.plan-hl{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.plan-hl .hl{opacity:0;transition:opacity .35s}
.plan-hl .dim{fill:rgba(8,4,12,.62)}
.plan-hl .ring{fill:none;stroke:var(--z);stroke-width:3;filter:drop-shadow(0 0 8px var(--z))}
.plan[data-focus="gold"] .hl[data-zone="gold"],.plan[data-focus="teal"] .hl[data-zone="teal"],.plan[data-focus="lilac"] .hl[data-zone="lilac"],.plan[data-focus="vip"] .hl[data-zone="vip"]{opacity:1}

/* ---------- Tráiler 2025 ---------- */
.trailer{margin:30px auto 0;max-width:960px}
.trailer video{display:block;width:100%;aspect-ratio:16/9;border-radius:22px;background:#000;border:1px solid var(--line)}
.trailer figcaption{margin-top:12px;text-align:center;font-size:14px;color:var(--muted);letter-spacing:.06em}

/* ---------- Prensa ---------- */
.press{padding:90px 0}
.press-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:10px}
.press-card{display:flex;flex-direction:column;gap:16px;padding:24px 22px;border-radius:20px;background:var(--bg-2);border:1px solid var(--line);text-decoration:none;transition:border-color .25s,transform .25s}
.press-card:hover{border-color:rgba(242,154,46,.45);transform:translateY(-3px)}
.press-logo{height:46px;display:flex;align-items:center}
.press-logo img{max-height:100%;max-width:170px;width:auto;object-fit:contain;filter:brightness(0) invert(1);opacity:.9}
.press-title{font:500 16px/1.4 var(--body);text-wrap:balance;flex:1}
.press-more{font-size:13px;color:var(--amber)}
.press-card:first-child{grid-column:span 2}

/* ---------- FAQ ---------- */
.faq{padding:90px 0 110px}
details{border-radius:16px;background:var(--bg-2);border:1px solid var(--line);margin-bottom:12px;overflow:hidden}
details[open]{border-color:rgba(242,154,46,.35)}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:20px 24px;font:500 16px/1.4 var(--body)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font:300 24px/1 var(--body);color:var(--amber);transition:transform .3s}
details[open] summary::after{transform:rotate(45deg)}
details p,details ul{margin:0;padding:0 24px 20px;color:#d5c8c0}
details ul{padding-left:44px}
details a{color:var(--amber)}

/* ---------- Pie ---------- */
.foot{padding:34px 0;border-top:1px solid var(--line);background:#000}
.foot-grid{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:14px}
.foot-grid img{height:24px;width:auto}
.foot a{text-decoration:none;color:var(--muted)}
.foot a:hover{color:#fff}
.foot-social{display:flex;gap:22px}

/* ---------- Móvil ---------- */
@media (max-width:900px){

  .event{padding:70px 0 28px}
  .event-grid{grid-template-columns:1fr;gap:30px}
  .event-media{display:none}   /* en móvil sólo el texto */
  .event-text{text-align:center}
  .event-text p:not(.event-sub){text-align:center}
  .event-title{font-size:clamp(22px,7.4vw,34px);letter-spacing:.05em;white-space:nowrap}   /* en una sola línea */
  .event-sub{font-size:15px!important;letter-spacing:.12em;gap:14px;padding:11px 16px}
  .event-sub svg{width:16px;height:16px}
  .event-text .event-ticket{display:none}
  .event-text .btn{display:none}   /* en móvil sobra: Tickets ya está en la barra de abajo */
  .tables{padding:20px 0 70px}
  .tables-title{order:0;margin:0;text-align:center}
  .tables-grid{grid-template-columns:1fr;gap:22px;padding:26px 18px;border-radius:22px;margin:0 -14px}
  .tables-text{display:contents}
  .tables-text p{order:1;margin:0;text-align:center}
  .plan{order:2}
  .tables-legend{order:3;margin:0;gap:10px}
  .tables-legend{grid-template-columns:repeat(4,auto);justify-content:center;gap:8px}
  .tables-legend li{padding:9px 12px 9px 10px;gap:7px}
  .tables-legend b{font-size:12.5px;letter-spacing:.06em}
  .tables .btn{order:4;width:100%}
  /* mapa ampliable: al tocarlo ocupa la pantalla y se recorre de lado (y admite pellizcar) */
  .plan{cursor:zoom-in}
  .plan-zoom{position:absolute;inset:0;z-index:2;display:block;padding:0;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .plan-zoom-pill{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:rgba(14,9,10,.72);color:#fff;font:500 11.5px/1 var(--body);backdrop-filter:blur(8px)}
  .plan-zoom svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
  .plan.is-open{position:fixed;inset:0;z-index:60;border-radius:0;border:0;background:rgba(8,4,12,.96);overflow:auto;cursor:auto;display:flex;align-items:center;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}
  .plan.is-open .plan-inner{flex:none;height:min(82vh,100vw * 1.2);aspect-ratio:1800/930;margin:auto 0}
  .plan.is-open img{width:100%;height:100%;object-fit:contain}
  .plan.is-open .plan-zoom{display:none}
  .plan.is-open .plan-close{display:grid;place-items:center;position:fixed;top:calc(14px + env(safe-area-inset-top));right:14px;z-index:61;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font:300 30px/1 var(--body);backdrop-filter:blur(8px)}
  body.plan-lock{overflow:hidden}
  body.plan-lock .tabbar,body.plan-lock .nav{opacity:0;pointer-events:none}

  .lineup{padding-top:36px;padding-bottom:64px}
  .lineup-head{display:block;margin-bottom:22px}
  .lu-title{font-size:clamp(48px,15vw,66px)}
  .lineup-head .lu-when{margin:14px 0 0!important}
  /* en móvil la card de fecha/lugar/hora va en tres columnas: icono arriba, dato abajo */
  .event-sub.lu-when{display:grid;grid-template-columns:repeat(3,1fr);gap:0;width:100%;padding:12px 4px;font-size:13px!important;letter-spacing:.08em}
  .event-sub.lu-when > span{flex-direction:column;gap:7px;text-align:center;white-space:nowrap}
  .event-sub.lu-when > span + i + span{border-left:1px solid rgba(255,255,255,.18)}
  .event-sub.lu-when > i{display:none}
  /* Spotify: headliner grande + lista */
  .acordeon{display:none!important}
  .lu-spot{display:block}
  .lu-star{position:relative;aspect-ratio:1/1;border-radius:20px;overflow:hidden;background:#120b0b}
  .lu-star img{width:100%;height:100%;object-fit:cover;object-position:50% 15%;display:block}
  .lu-star::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(10,6,7,.65) 76%,rgba(10,6,7,.95))}
  .lu-star-txt{position:absolute;z-index:1;left:18px;right:18px;bottom:15px;display:flex;flex-direction:column}
  .lu-star .badge{margin-bottom:8px;padding:5px 9px;font-size:10px;border-radius:6px}
  .lu-star-name{margin:0;font:600 clamp(30px,10.4vw,42px)/.95 var(--display);text-transform:uppercase;color:#fff;white-space:nowrap}   /* en una línea, abajo: no tapa las caras */
  .lu-star-meta{display:flex;margin:7px 0 0;font:500 12px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--amber)}
  .lu-list{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:6px}
  .lu-list li{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:14px;padding:8px;border-radius:14px}
  .lu-list li:nth-child(odd){background:rgba(255,255,255,.035)}
  .lu-list img{width:64px;height:64px;border-radius:10px;object-fit:cover}
  .lu-list p{margin:0;display:grid;gap:5px}
  .lu-list b{font:600 22px/1 var(--display);text-transform:uppercase;color:#fff}
  .lu-list small{font:400 13px/1.2 var(--body);color:var(--muted)}
  .lu-soon img{filter:grayscale(.2) brightness(.6)}
  .lu-soon b{color:#d9cdd0}
  .acordeon::-webkit-scrollbar{display:none}
  .hoja{flex:0 0 80%;aspect-ratio:3/4;scroll-snap-align:center}
  .hoja img{filter:none}
  .hoja .nombre,.hoja[data-abierta] .nombre{writing-mode:horizontal-tb;transform:none;font-size:40px;letter-spacing:.01em;white-space:normal}

  /* tiers: slider con imán y la vecina asomando */
  .tickets{padding:80px 0 24px}
  .arc{height:auto;margin-top:6px}
  /* ruleta como TicketFairy: la del centro derecha y arriba, las vecinas giran y caen siguiendo un arco (lo mueve main.js) */
  .arc-track{position:relative;left:auto;top:auto;width:auto;height:auto;display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;padding:20px calc(50% - var(--w,220px) / 2) 40px;scrollbar-width:none;--w:min(60vw,220px)}
  .arc-track::-webkit-scrollbar{display:none}
  .tcard{--w:min(60vw,220px);position:relative;left:auto;flex:none;scroll-snap-align:center;transition:none;will-change:transform;-webkit-tap-highlight-color:transparent}
  .tcard-title{font-size:18px;margin-top:12px}
  .stub-text{font-size:11.5px}
  .stub-text b{font-size:19px}
  .stub-ico{width:38px;height:38px}

  .memories{padding:80px 0 20px}
  .wheel{height:380px}
  .wcard{width:190px;margin-left:-95px}

  .stay{padding:70px 0}
  .stay-grid{grid-template-columns:1fr;gap:32px}
  .stay-text{text-align:center}
  .stay-text p{text-align:center}
  .stay-actions{flex-direction:column;gap:14px}
  /* móvil: título, texto, mapa y botón */
  .stay-grid{gap:22px}
  .stay-text{display:contents}
  .stay-text > *{order:1;margin-bottom:0!important}
  .stay-text .h-display{margin-bottom:-16px!important}
  .stay-rooms{order:2}
  .stay-actions{order:3}
  .stay-text .btn-mayan{width:100%}

  .press-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 -16px;padding:4px 16px 12px;scrollbar-width:none}
  .press-grid::-webkit-scrollbar{display:none}
  .press-card{flex:none;width:74vw;max-width:300px;scroll-snap-align:center}

  .faq{padding:60px 0 80px}
  summary{padding:18px}
  details p,details ul{padding:0 18px 18px}
  details ul{padding-left:36px}
  .foot-grid{flex-direction:column;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}

@media (max-width:640px){
  .acordeon{margin:0 -32px;padding:0 32px 8px;scroll-padding-inline:32px}   /* el slider del line up sigue llegando al borde con el margen nuevo */
}

/* ---------- Blog ---------- */
.blog{padding:100px 0}
.blog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:10px}
.bcard{display:flex;flex-direction:column;gap:10px;padding:10px 10px 18px;border-radius:20px;text-decoration:none;color:#fff;background:linear-gradient(170deg,#2a1042,#160a22);border:1px solid rgba(176,120,236,.2);transition:transform .3s,border-color .3s}
.bcard-img{display:block;aspect-ratio:4/3;border-radius:14px;overflow:hidden}
.bcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.bcard-date{margin:6px 8px 0;font:500 12px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.bcard-title{flex:1;display:flex;align-items:center;justify-content:center;min-height:5.6em;margin:4px 10px 0;font:500 15px/1.25 var(--display);letter-spacing:.04em;text-transform:uppercase;text-align:center;text-wrap:balance}
@media (hover:hover){.bcard:hover{transform:translateY(-4px);border-color:rgba(176,120,236,.5)}.bcard:hover .bcard-img img{transform:scale(1.05)}}

/* ---------- Ritmo de fondos: las secciones alternan negro y morado para que se note dónde empieza cada una ---------- */
.lineup,.memories,.blog,.faq{position:relative;background:linear-gradient(180deg,#1a0b28,#120819 55%,#0e0613)!important;border-top:1px solid rgba(176,120,236,.16)}
.lineup::before,.memories::before,.blog::before,.faq::before{content:"";position:absolute;left:50%;top:0;width:min(900px,90%);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(212,42,124,.7),rgba(242,154,46,.6),transparent)}
.tickets,.stay,.press{background:var(--bg)!important}
.stay{border-top:1px solid rgba(255,255,255,.04)}

@media (max-width:900px){
  .blog{padding:70px 0}
  /* slider con imán y la vecina asomando */
  .blog-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -32px;padding:4px 32px 10px;scroll-padding-inline:32px;scrollbar-width:none}
  .blog-grid::-webkit-scrollbar{display:none}
  .bcard{flex:none;width:76vw;max-width:300px;scroll-snap-align:start}
  /* todos los textos centrados en móvil */
  .wrap,.event-text,.lineup-head,.stay-text,.tables-text p,.event-text p,.lu-star-txt,.lu-list p,.bcard,.press-card,.faq summary,details p,.foot-grid{text-align:center}
  .event-text p:not(.event-sub){text-align:center!important}
  .lu-list li{grid-template-columns:64px 1fr 64px}
  .lu-list p{justify-items:center}
  .lu-list small{justify-content:center}
  .lineup-head .lu-when,.event-sub{margin-inline:auto!important}
  .lu-star-txt{align-items:center}
  .lu-star .badge{align-self:center}
  .lu-star-meta{justify-content:center}
  .press-card{align-items:center}
  .faq summary{justify-content:center}
  .foot-grid{justify-content:center;flex-direction:column}
}

/* ---------- Espaciado parejo en escritorio y secciones con más vida ---------- */
@media (min-width:901px){
  .lineup,.tickets,.memories,.stay,.blog,.press,.faq{padding-top:84px!important;padding-bottom:84px!important}
  .tickets{padding-bottom:40px!important}
  .tables{padding:24px 0 84px!important}
  .memories{padding-bottom:30px!important}
}
/* Stay: el mar turquesa de Isla Mujeres (paddle board, foto de Mayan Monkey) de fondo, oscurecida, y un brillo verde Mayan */
.stay{position:relative;overflow:hidden;isolation:isolate}
.stay::before{content:"";position:absolute;inset:0;z-index:-2;background:url(assets/img/stay-fondo.jpg) 50% 50%/cover no-repeat;opacity:.55;filter:saturate(1.1)}
.stay::after{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(50% 70% at 85% 50%,rgba(121,181,166,.22),transparent 70%),
  linear-gradient(90deg,var(--bg) 0%,rgba(10,6,7,.85) 40%,rgba(10,6,7,.35) 100%),
  linear-gradient(180deg,var(--bg),transparent 18%,transparent 82%,var(--bg))}
/* Blog: brillos magenta y naranja y las dunas del póster asomando abajo */
.blog{overflow:hidden;isolation:isolate}
.blog > .wrap{position:relative;z-index:1}
.blog::after{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;z-index:0;background:url(assets/img/dunas.jpg) 50% 0/cover no-repeat;opacity:.35;
  -webkit-mask:linear-gradient(transparent,#000 70%);mask:linear-gradient(transparent,#000 70%)}
.blog{background:radial-gradient(45% 60% at 15% 20%,rgba(212,42,124,.22),transparent 70%),radial-gradient(40% 55% at 90% 30%,rgba(242,154,46,.14),transparent 70%),linear-gradient(180deg,#1a0b28,#120819 60%,#0e0613)!important}
.bcard{box-shadow:0 30px 60px -30px rgba(0,0,0,.95)}
@media (max-width:900px){.stay::after{background:radial-gradient(70% 50% at 50% 20%,rgba(121,181,166,.2),transparent 70%),linear-gradient(180deg,var(--bg),rgba(10,6,7,.75) 30%,rgba(10,6,7,.85) 70%,var(--bg))}}
/* línea que separa los tiers de Book a table (la misma del borde de las secciones moradas) */
.tables{position:relative}
.tables::before{content:"";position:absolute;left:50%;top:0;width:min(900px,90%);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(212,42,124,.7),rgba(242,154,46,.6),transparent)}
@media (min-width:901px){.tables{padding-top:56px!important}}
@media (max-width:900px){.tables{padding-top:40px}}
.blog-more{margin:36px 0 0;text-align:center}
/* botón sólido del blog: se lee sobre las dunas */
.btn-blog{min-height:52px;padding:0 32px;background:#fff;color:#1a0b28;font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:14px;box-shadow:0 14px 30px -12px rgba(0,0,0,.8)}
.btn-blog:hover{background:#f3e9ff;transform:translateY(-2px)}
/* prensa en móvil: sólo los logos, en slider; las notas completas están en /press/ */
@media (max-width:900px){
  .press .press-grid:not(.press-grid-all) .press-card{width:42vw;max-width:180px;padding:22px 14px;justify-content:center;min-height:96px}
  .press .press-grid:not(.press-grid-all) .press-title,.press .press-grid:not(.press-grid-all) .press-more{display:none}
  .press .press-grid:not(.press-grid-all) .press-card:first-child{grid-column:auto}
  .press-logo{justify-content:center}
  .press-grid{margin:0 -32px!important;padding:4px 32px 12px!important;scroll-padding-inline:32px}
  .press-grid-all{display:grid!important;grid-template-columns:1fr;margin:24px 0 0!important;padding:0!important;overflow:visible}
  .press-grid-all .press-card{width:auto;max-width:none}
}
.press-grid-all{margin-top:30px}
@media (max-width:900px){
  .press-grid-all .press-card:first-child{grid-column:auto}
  .press .press-grid:not(.press-grid-all) .press-logo img{max-width:100%}
}
/* prensa en móvil: sin cards, un logo por pantalla, grande, y puntos debajo */
@media (max-width:900px){
  .press .press-grid:not(.press-grid-all){gap:0}
  .press .press-grid:not(.press-grid-all) .press-card{width:calc(100vw - 64px);max-width:none;min-height:120px;padding:10px 0;background:none;border:0;border-radius:0;scroll-snap-align:center;transform:none}
  .press .press-grid:not(.press-grid-all) .press-logo{height:64px}
  .press .press-grid:not(.press-grid-all) .press-logo img{max-width:220px;max-height:64px}
  .press-dots{display:flex;justify-content:center;gap:8px;margin:6px 0 0}
  .press-dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.25);transition:background .3s,width .3s}
  .press-dots i.is-on{width:20px;border-radius:4px;background:var(--orange)}
}
@media (min-width:901px){.press-dots{display:none}}

/* ---------- Páginas interiores (blog, nota, prensa): banner al 100 % con el texto centrado en alto y en ancho ---------- */
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:scale(1.06);animation:hero-in 1.8s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes hero-in{to{transform:scale(1)}}
.hero-page .hero-frame::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:
  radial-gradient(58% 52% at 50% 52%,rgba(10,6,7,.7),rgba(10,6,7,.32) 100%),
  linear-gradient(180deg,rgba(10,6,7,.5),transparent 28%,transparent 72%,rgba(10,6,7,.65))}
.hero-page .hero-notch{z-index:3}
.hero-copy{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:110px max(40px,8vw) 70px;text-align:center}
.hero-title{margin:0;max-width:1100px;font:600 clamp(36px,4.6vw,68px)/1 var(--display);text-transform:uppercase;letter-spacing:.01em;text-wrap:balance;text-shadow:0 6px 40px rgba(0,0,0,.55)}
.hero-title.is-long{max-width:960px;font-size:clamp(26px,3vw,44px);line-height:1.08}
@media (prefers-reduced-motion:reduce){.hero-img{animation:none;transform:none}}

/* la nota */
.post{width:min(760px,100% - 64px);margin:0 auto;padding:84px 0}
.post-body p{color:#ddd0c8;font-size:17px;line-height:1.8;margin:0 0 22px;text-align:justify;hyphens:manual}
.post-body p:first-child{font-size:19px;color:#fff}
.post-actions{display:flex;flex-wrap:wrap;gap:12px;margin:40px 0 0!important}
.blog-grid-3{grid-template-columns:repeat(3,1fr)}
.page-list .press-grid-all{margin-top:0}

@media (max-width:900px){
  .hero-copy{gap:14px;padding:130px 32px 120px}   /* arriba el logo grande del header; abajo la barra de app */
  .hero-title{font-size:clamp(30px,8.6vw,40px)}
  .hero-title.is-long{font-size:clamp(22px,6.2vw,28px);line-height:1.12}
  .post{padding:56px 0 64px}
  .post-body p,.post-body p:first-child{font-size:16px;text-align:center}
  .post-body p:first-child{font-size:17px}
  .post-actions{justify-content:center}
  .post-actions .btn{width:100%}
  /* prensa completa: slider con imán y la vecina asomando, nunca apiladas */
  .page-list .press-grid-all{display:flex!important;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -32px!important;padding:4px 32px 12px!important;scroll-padding-inline:32px;scrollbar-width:none}
  .page-list .press-grid-all::-webkit-scrollbar{display:none}
  .page-list .press-grid-all .press-card{flex:none;width:76vw;max-width:300px;scroll-snap-align:start}
}

/* ---------- Índice del blog: la crónica destacada en horizontal y las otras tres debajo, con extracto ---------- */
.pcard{display:flex;flex-direction:column;border-radius:22px;overflow:hidden;text-decoration:none;color:#fff;background:linear-gradient(170deg,#2a1042,#160a22);border:1px solid rgba(176,120,236,.2);box-shadow:0 30px 60px -30px rgba(0,0,0,.95);transition:transform .3s,border-color .3s}
.pcard-img{display:block;aspect-ratio:16/10;overflow:hidden}
.pcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.pcard-txt{flex:1;display:flex;flex-direction:column;gap:12px;padding:22px 24px 26px}
.pcard-title{font:500 18px/1.2 var(--display);letter-spacing:.03em;text-transform:uppercase;text-wrap:balance}
.pcard-ex{flex:1;color:#cbbfc7;font-size:14.5px;line-height:1.6}
.pcard-more{display:inline-flex;align-items:center;gap:8px;font:600 13px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--orange)}
@media (hover:hover){.pcard:hover{transform:translateY(-4px);border-color:rgba(176,120,236,.5)}.pcard:hover .pcard-img img{transform:scale(1.05)}}
.pcard-big{display:grid;grid-template-columns:1.25fr 1fr;margin:0 0 22px}
.pcard-big .pcard-img{aspect-ratio:auto;min-height:380px}
.pcard-big .pcard-txt{justify-content:center;gap:18px;padding:44px 48px}
.pcard-big .pcard-title{font-size:clamp(26px,2.5vw,36px);line-height:1.08}
.pcard-big .pcard-ex{flex:none;font-size:16px;line-height:1.7}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:900px){
  .pcard-big{display:flex;margin:0 0 14px}
  .pcard-big .pcard-img{min-height:0;aspect-ratio:4/3}
  .pcard-big .pcard-txt,.pcard-txt{padding:20px 20px 24px;align-items:center;text-align:center}
  .pcard-big .pcard-title{font-size:24px}
  .pcard-ex,.pcard-big .pcard-ex{display:none}   /* en móvil sólo foto, título y Read more */
  /* las otras tres: slider con imán y la vecina asomando, nunca apiladas */
  .pgrid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -32px;padding:4px 32px 10px;scroll-padding-inline:32px;scrollbar-width:none}
  .pgrid::-webkit-scrollbar{display:none}
  .pgrid .pcard{flex:none;width:78vw;max-width:310px;scroll-snap-align:start}
}

/* footer: redes con icono (los mismos del menú), en círculo; el nombre queda para lectores de pantalla */
.foot-social{gap:10px}
.foot-social a{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.04);color:#fff;transition:background .25s,border-color .25s,transform .25s}
.foot-social a:hover{background:rgba(232,100,42,.16);border-color:rgba(242,154,46,.5);transform:translateY(-2px)}
.foot-social span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.foot-social svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.foot-social a:nth-child(2) svg{fill:currentColor;stroke:none}

/* las tres de abajo: título centrado (tres líneas como máximo), sin extracto y Read more en el centro */
.pgrid .pcard-txt{align-items:center;justify-content:space-between;text-align:center;gap:16px;padding:22px 16px 24px}
.pgrid .pcard-title{font-size:16px;line-height:1.24;letter-spacing:.02em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.pgrid .pcard-ex{display:none}

/* ---------- Logos de prensa con el mismo peso visual ----------
   Los PNG van recortados a su contorno. Cada logo tiene una altura propia (--lh) calculada para que todos ocupen
   más o menos la misma área: los alargados (El Heraldo) van bajos y los casi cuadrados (CC, Descubre México) altos.
   --ls escala el conjunto según dónde se vea. */
.press-logo img{height:calc(var(--lh,30px) * var(--ls,1))!important;width:auto!important;max-width:100%!important;max-height:none!important}
.press-logo img[src$="heraldo.png"]{--lh:25px}
.press-logo img[src$="el-conocedor.png"]{--lh:26px}
.press-logo img[src$="milenio.png"]{--lh:31px}
.press-logo img[src$="estilodf.png"]{--lh:30px}
.press-logo img[src$="chic.png"]{--lh:41px}
.press-logo img[src$="cultura-colectiva.png"]{--lh:52px}
.press-logo img[src$="descubre-mexico.png"]{--lh:52px}
.press-logo{height:58px!important;--ls:.85}
@media (max-width:900px){
  /* home: un logo por pantalla, más grande */
  .press .press-grid:not(.press-grid-all) .press-logo{height:84px!important;--ls:1.3}
  .press .press-grid:not(.press-grid-all) .press-card{min-height:120px}
  /* /press/: el logo en su propia franja arriba de la tarjeta */
  .press-grid-all .press-card{padding:0 0 24px;overflow:hidden;gap:14px}
  .press-grid-all .press-logo{align-self:stretch;height:112px!important;--ls:1;margin:0 0 4px;padding:0 24px;background:radial-gradient(70% 90% at 50% 50%,rgba(255,255,255,.07),rgba(255,255,255,.015));border-bottom:1px solid var(--line)}
  .press-grid-all .press-title,.press-grid-all .press-more{padding:0 22px}
}

/* puntos de los sliders del móvil (los crea main.js): los mismos de la prensa de la portada */
.slider-dots{display:none}
@media (max-width:900px){
  .slider-dots{display:flex;justify-content:center;gap:8px;margin:14px 0 0}
  .slider-dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.25);cursor:pointer;transition:background .3s,width .3s}
  .slider-dots i.is-on{width:20px;border-radius:4px;background:var(--orange)}
}

/* ---------- Stay: el ticket gratis como un boleto grande y las habitaciones en abanico ---------- */
@media (min-width:901px){.stay-grid{grid-template-columns:1fr 1fr}}
.stay-text .h-display{margin-bottom:22px}
/* el boleto: mismo dibujo que el «Get tickets» del header (talón dorado, mordidas y perforación), más grande */
.stay-ticket{display:inline-flex;height:96px;margin:0 0 28px;filter:drop-shadow(0 18px 28px rgba(205,34,59,.35)) drop-shadow(0 2px 4px rgba(0,0,0,.6));transform:rotate(-2deg);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.stay-ticket:hover{transform:rotate(0)}
.st-stub,.st-main{height:100%;-webkit-mask:var(--bite-t) top/100% 51% no-repeat,var(--bite-b) bottom/100% 51% no-repeat;mask:var(--bite-t) top/100% 51% no-repeat,var(--bite-b) bottom/100% 51% no-repeat}
.st-stub{--bite-t:radial-gradient(circle 10px at 100% 0,#0000 96%,#000);--bite-b:radial-gradient(circle 10px at 100% 100%,#0000 96%,#000);
  display:grid;place-items:center;align-content:center;padding:0 22px 0 26px;border-radius:14px 4px 4px 14px;color:#2b1206;
  background:linear-gradient(180deg,rgba(255,255,255,.35),transparent 50%),linear-gradient(150deg,#f6c25a,var(--gold) 55%,#b57b25);font:600 40px/.9 var(--display);text-transform:uppercase}
.st-stub small{font:700 11px/1 var(--body);letter-spacing:.24em;margin:0 0 6px .2em;opacity:.75}
.st-main{--bite-t:radial-gradient(circle 10px at 0 0,#0000 96%,#000);--bite-b:radial-gradient(circle 10px at 0 100%,#0000 96%,#000);
  position:relative;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:0 30px 0 28px;border-radius:4px 14px 14px 4px;overflow:hidden;color:#fff;
  background:linear-gradient(180deg,rgba(255,255,255,.16),transparent 50%),linear-gradient(100deg,var(--red),var(--magenta) 75%,#b0308f)}
.st-main::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;background:radial-gradient(circle,rgba(255,255,255,.75) 1px,transparent 1.5px) 0 0/2px 7px repeat-y}
.st-main b{font:600 26px/1 var(--display);letter-spacing:.06em;text-transform:uppercase}
.st-main small{font:500 13px/1 var(--body);letter-spacing:.06em;opacity:.9}
/* habitaciones: tres fotos verticales en abanico; al pasar el ratón se abren */
.stay-rooms{position:relative;height:540px}
.room{position:absolute;top:50%;left:50%;width:250px;aspect-ratio:2/3;margin:0;border-radius:20px;overflow:hidden;border:4px solid #fff;box-shadow:0 30px 60px -20px rgba(0,0,0,.9);transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.room img{width:100%;height:100%;object-fit:cover;display:block}
.room figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 12px 12px;background:linear-gradient(transparent,rgba(10,6,7,.82));font:500 13px/1.2 var(--display);letter-spacing:.14em;text-transform:uppercase;text-align:center;color:#fff}
.room-l{transform:translate(-50%,-50%) translate(-150px,18px) rotate(-9deg)}
.room-r{transform:translate(-50%,-50%) translate(150px,18px) rotate(9deg)}
.room-c{z-index:2;width:280px;transform:translate(-50%,-50%)}
.room-l figcaption{text-align:left;padding-left:16px}
.room-r figcaption{text-align:right;padding-right:16px}
/* los rótulos de las laterales quedan tapados por la central: sólo salen cuando el abanico se abre */
.room-l figcaption,.room-r figcaption{opacity:0;transition:opacity .4s}
.stay-rooms:hover .room figcaption{opacity:1}
@media (hover:hover){
  .stay-rooms:hover .room-l{transform:translate(-50%,-50%) translate(-190px,12px) rotate(-12deg)}
  .stay-rooms:hover .room-r{transform:translate(-50%,-50%) translate(190px,12px) rotate(12deg)}
  .stay-rooms:hover .room-c{transform:translate(-50%,-50%) translateY(-8px)}
}
@media (max-width:1100px) and (min-width:901px){.room{width:200px}.room-c{width:230px}.stay-rooms{height:460px}}
@media (max-width:900px){
  .stay-ticket{height:82px;margin:0 auto}
  .st-stub{font-size:32px;padding:0 16px 0 20px}
  .st-main{padding:0 20px 0 20px;align-items:center;text-align:center}
  .st-main b{font-size:21px}
  .st-main small{font-size:11.5px}
  .stay-rooms{height:330px;margin:6px -32px 0}
  .room{width:150px;border-width:3px;border-radius:16px}
  .room-c{width:172px}
  .room-l{transform:translate(-50%,-50%) translate(-96px,14px) rotate(-9deg)}
  .room-r{transform:translate(-50%,-50%) translate(96px,14px) rotate(9deg)}
  .room figcaption{font-size:10.5px;padding:26px 8px 9px}
  .room-l figcaption,.room-r figcaption,.st-date{display:none}   /* en móvil sólo se lee el de la foto central */
  .st-main small{white-space:nowrap}
}

/* el boleto de Stay a la par del título (mismo ancho), recto y con los colores de Mayan Monkey:
   talón durazno #FEDDAA y cuerpo verde agua #79B5A6 → verde oscuro #4B6F61, como el botón «Book your stay» */
.stay-head{display:inline-grid;margin:0 0 28px}
.stay-head .h-display{margin:0 0 14px!important}
.stay-ticket{display:flex;height:66px;margin:0;transform:none;filter:drop-shadow(0 14px 22px rgba(75,111,97,.45)) drop-shadow(0 2px 3px rgba(0,0,0,.55))}
.stay-ticket:hover{transform:none}
.st-stub{--bite-t:radial-gradient(circle 8px at 100% 0,#0000 96%,#000);--bite-b:radial-gradient(circle 8px at 100% 100%,#0000 96%,#000);
  padding:0 16px 0 18px;border-radius:12px 4px 4px 12px;color:#4b6f61;font-size:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.45),transparent 55%),linear-gradient(150deg,#fff1d6,#feddaa 55%,#f2c47f)}
.st-stub small{font-size:9px;margin-bottom:4px;color:#926c5b;opacity:1}
.st-main{--bite-t:radial-gradient(circle 8px at 0 0,#0000 96%,#000);--bite-b:radial-gradient(circle 8px at 0 100%,#0000 96%,#000);
  flex:1;gap:6px;padding:0 18px;border-radius:4px 12px 12px 4px;color:#fdfef5;
  background:linear-gradient(180deg,rgba(255,255,255,.18),transparent 55%),linear-gradient(100deg,#79b5a6,#5f9586 55%,#4b6f61)}
.st-main::before{top:10px;bottom:10px;background:radial-gradient(circle,rgba(253,254,245,.8) 1px,transparent 1.5px) 0 0/2px 6px repeat-y}
.st-main b{font-size:19px;letter-spacing:.07em}
.st-main small{font-size:11.5px;letter-spacing:.04em;white-space:nowrap}
@media (max-width:900px){
  .stay-head{justify-self:center;margin:0}
  .stay-head .h-display{margin:0 0 12px!important}
  .stay-ticket{height:60px}
  .st-stub{font-size:24px;padding:0 13px 0 15px}
  .st-main{padding:0 14px}
  .st-main b{font-size:16px}
  .st-main small{font-size:10px}
}

/* Stay: logo de Mayan Monkey encima del título, del mismo ancho que el título y el boleto */
.stay-logo{display:block;width:100%;height:auto;margin:0 0 18px}
/* foto del dúo Tom & Collins (cuadrada, ampliada con Magnific desde la de la web 2025): en el acordeón apaisado se sube el encuadre */
.hoja img[src$="tom-collins-duo.jpg"]{object-position:50% 22%}
/* el logo de Mayan no decide el ancho del bloque: mide lo mismo que el título (y el boleto, debajo, también) */
.stay-logo{width:0;min-width:100%}
/* «More artists TBA» en una sola línea en la lista del móvil (si no, «TBA» se queda sola) */
@media (max-width:900px){.lu-soon b{font-size:18px;white-space:nowrap}}
/* «Hospédate con nosotros» en una sola línea (Carlos, 2026-10-12): en español el título baja de tamaño hasta caber
   en la columna; el logo de Mayan, que mide lo mismo que el título, se ajusta con él */
.stay-text{container-type:inline-size}
html[lang="es"] .stay-head .h-display{white-space:nowrap;text-wrap:nowrap;font-size:calc(.77 * min(clamp(32px,4.4vw,56px),8.5cqi,calc((100vw - 64px) / 11.6)))}   /* −30 % y luego +10 % (Carlos, 2026-10-12) */   /* en móvil .stay-text no es caja (no hay cqi): manda el ancho de pantalla */
/* el logo de Mayan mide en español lo mismo que en inglés (el ancho de «Stay with us» = 5,62 veces su cuerpo),
   aunque el título español sea más largo (Carlos, 2026-10-12) */
html[lang="es"] .stay-head{--w-en:max(calc(clamp(32px,4.4vw,56px) * 5.62), 278px)}
html[lang="es"] .stay-logo,html[lang="es"] .stay-ticket{min-width:0;width:var(--w-en);justify-self:start}   /* el ticket, igual: no se estira con el título */
@media (max-width:900px){html[lang="es"] .stay-head{--w-en:236px}html[lang="es"] .stay-logo,html[lang="es"] .stay-ticket{justify-self:center}}

/* =====================================================================
   Plano de mesas en 3D (2026-10-13): mismo sistema que RESET, en la paleta de la noche de Terms.
   Escritorio: assets/js/plano3d.js · Teléfono: fotos + assets/js/plano-movil.js (sin WebGL)
   ===================================================================== */
.tables-legend{grid-template-columns:repeat(2,auto)}
.tables-legend li{flex-wrap:wrap;column-gap:10px;row-gap:4px}
.tables-legend small{font:500 13px/1 var(--body);opacity:.8;white-space:nowrap}
[data-zone="yellow"]{--z:#e2e429}[data-zone="teal"]{--z:#2cb6c0}[data-zone="lilac"]{--z:#9f8eae}[data-zone="vip"]{--z:#014f5c}
/* el petróleo de las VIP casi no se ve sobre la card morada: borde y punto con un aro claro, y texto blanco al encender */
.tables-legend [data-zone="vip"]{border-color:rgba(120,200,210,.45);background:rgba(1,79,92,.35)}
.tables-legend [data-zone="vip"] i{box-shadow:0 0 0 2px rgba(150,220,230,.65)}
.tables-legend [data-zone="vip"]:hover,.tables-legend [data-zone="vip"].is-on{color:#fff;border-color:#4fb3c0}
.tables-legend [data-zone="vip"]:hover i,.tables-legend [data-zone="vip"].is-on i{background:#fff}
.tables-nota{margin:-14px 0 26px!important;font-size:13px;color:var(--muted)!important;text-align:left!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.zona-select,.wa-movil{display:none}

.plan3d{position:relative;margin:0;aspect-ratio:3/2;border-radius:24px;overflow:hidden;isolation:isolate;
  background:radial-gradient(110% 80% at 50% 0%,#3a1a52,#1d0d2b 60%,#120818);box-shadow:0 40px 80px -40px rgba(0,0,0,.9);border:1px solid rgba(176,120,236,.2)}
.plan3d canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab}
.plan3d canvas:active{cursor:grabbing}
.plan3d-fallback{display:block;width:100%;height:100%;object-fit:cover}
.plan3d.is-3d .plan3d-fallback{visibility:hidden}
.plan3d-labels{position:absolute;inset:0;pointer-events:none}
.plan3d-labels span,.plan-movil-rotulo{position:absolute;left:0;top:0;padding:6px 11px;border-radius:999px;background:rgba(18,8,24,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.14);font:500 11px/1 var(--display);letter-spacing:.2em;text-transform:uppercase;color:#f6efe9;white-space:nowrap}
.plan3d:not(.is-3d) .plan3d-labels,.plan3d:not(.is-3d) .plan3d-hint{display:none}
.plan3d-tip{position:absolute;left:16px;top:16px;z-index:2;display:flex;align-items:center;gap:10px;padding:11px 15px;border-radius:14px;background:rgba(18,8,24,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.14);color:#f6efe9;font-size:13px}
.plan3d-tip[hidden]{display:none}
.plan3d-tip i{width:12px;height:12px;border-radius:4px;box-shadow:0 0 0 2px rgba(255,255,255,.25)}
.plan3d-tip b{font:600 13px/1 var(--display);letter-spacing:.14em;text-transform:uppercase}
.plan3d-tip span{color:#cdbfd6}
.plan3d-hint{position:absolute;right:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;gap:6px;margin:0;padding:8px 12px;border-radius:999px;background:rgba(18,8,24,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.14);font:500 11px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:#f6efe9;transition:opacity .5s;pointer-events:none}
.plan3d-hint svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.plan3d.is-tocado .plan3d-hint{opacity:0}
.plan-movil{display:none}

@media (max-width:900px){
  .plan3d{order:2;border-radius:20px}
  .solo-pc-txt{display:none}
  .tables-legend,.tables-nota,.tables-text>.btn-wa{display:none}
  .zona-select{order:1;position:relative;display:block;width:100%;max-width:380px;margin:0 auto}
  .zona-select select{width:100%;height:54px;padding:0 48px 0 20px;border:1px solid rgba(176,120,236,.35);border-radius:16px;background:rgba(18,8,24,.6);color:#f6efe9;
    font:500 15px/1 var(--body);-webkit-appearance:none;appearance:none}
  .zona-select select:focus{outline:0;border-color:var(--magenta);box-shadow:0 0 0 3px rgba(212,42,124,.25)}
  .zona-select svg{position:absolute;right:18px;top:50%;width:18px;height:18px;transform:translateY(-50%);fill:none;stroke:var(--amber);stroke-width:2;stroke-linecap:round;pointer-events:none}
  .wa-movil{order:3;display:block;margin:0}
  .wa-movil .btn{width:100%}
  .plan3d.is-movil .plan-movil{display:block;position:absolute;inset:0;pointer-events:none}
  .plan-movil-zona{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s ease}
  .plan-movil-zona.is-on{opacity:1}
  .plan-movil-rotulo{left:auto;top:auto;transform:translate(-50%,-50%);font-size:9.5px;padding:5px 9px;backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(18,8,24,.82)}
  .plan3d.is-movil .plan3d-hint{display:inline-flex}
  .plan3d-hint,.plan3d-tip{backdrop-filter:none;-webkit-backdrop-filter:none}
  .plan3d-tip{left:10px;top:10px;padding:9px 12px;font-size:12px}
}
@media (max-width:900px){.wa-movil .btn{white-space:nowrap;padding-left:18px;padding-right:18px}}
/* móvil: el desplegable ya dice zona, precio y pax; la ficha tapaba la barra en el plano horizontal */
@media (max-width:900px){.plan3d .plan3d-tip{display:none}}
/* plano horizontal: la ficha de zona abajo a la izquierda (arriba tapaba el rótulo de la barra) */
.plan3d-tip{top:auto;bottom:14px;left:14px}

/* Leyenda de mesas SIN nombres (Carlos, 2026-10-13): como el plano del cliente, círculo de color + precio + pax, en una fila */
.tables-legend{grid-template-columns:repeat(4,1fr);gap:8px;justify-content:stretch;max-width:440px}
.tables-legend li,.tables-legend [data-zone="vip"]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 4px 10px;border:0;border-radius:16px;background:transparent;box-shadow:none;color:inherit}
.tables-legend i,.tables-legend [data-zone="vip"] i{width:44px;height:44px;border-radius:50%;background:var(--z);box-shadow:0 0 0 0 transparent;transition:box-shadow .25s,transform .25s}
.tables-legend [data-zone="vip"] i{box-shadow:inset 0 0 0 1px rgba(150,220,230,.35)}
.tables-legend b{font:600 18px/1 var(--display);letter-spacing:.03em}
.tables-legend small{font:500 11px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.tables-legend li:hover,.tables-legend li.is-on,.tables-legend [data-zone="vip"]:hover,.tables-legend [data-zone="vip"].is-on{background:rgba(255,255,255,.06);color:inherit;box-shadow:none;border:0}
.tables-legend li:hover i,.tables-legend li.is-on i,.tables-legend [data-zone="vip"]:hover i,.tables-legend [data-zone="vip"].is-on i{background:var(--z);transform:scale(1.08);box-shadow:0 0 0 3px #1a0b26,0 0 0 5px var(--z),0 8px 22px -6px var(--z)}
.tables-legend [data-zone="vip"]:hover i,.tables-legend [data-zone="vip"].is-on i{box-shadow:0 0 0 3px #1a0b26,0 0 0 5px #4fb3c0,0 8px 22px -6px #4fb3c0}
/* móvil: la fila de precios va visible bajo el plano (como en el del cliente) y sustituye al desplegable */
@media (max-width:900px){
  .tables-text .zona-select{display:none}
  .tables .tables-legend{display:grid;order:3;max-width:none;width:100%;margin:0;gap:4px}
  .tables .tables-legend li{padding:10px 2px 8px;gap:7px}
  .tables .tables-legend i{width:38px;height:38px}
  .tables .tables-legend b{font-size:16px}
  .tables .tables-legend small{font-size:10px}
  .tables .tables-text .tables-nota{display:block;order:3;margin:-12px 0 0!important;text-align:center!important;font-size:12px}
  .tables .wa-movil{order:4}
}

/* Plano SIN marco (como RESET, 2026-10-14): fuera fondo, borde, sombra y esquinas; el plano flota sobre la página.
   Las orillas del lienzo se funden para que la base no se corte en seco al girar.
   Para volver al marco basta quitar la clase plan3d--libre del <figure> en index.html y es/index.html. */
.plan3d--libre{background:none;box-shadow:none;border:0;border-radius:0;overflow:visible}
.plan3d--libre canvas,.plan3d--libre .plan3d-fallback,.plan3d--libre .plan-movil-zona{
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent),linear-gradient(180deg,transparent,#000 6%,#000 94%,transparent);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent),linear-gradient(180deg,transparent,#000 6%,#000 94%,transparent);
  mask-composite:intersect}
@media (max-width:900px){.plan3d--libre{border-radius:0}}
.plan3d--libre .plan3d-hint{left:50%;right:auto;bottom:2%;transform:translateX(-50%);white-space:nowrap}
.plan3d--libre .plan3d-tip{top:2%;bottom:auto;left:0}   /* sin marco, abajo chocaba con la píldora centrada */

/* El vídeo de ambiente del cliente en la foto del evento (como RESET, 2026-10-14): entra fundido sobre la foto cuando
   ya se reproduce; el degradado de .event-media::after queda encima para que el texto se siga leyendo. */
.event-media .event-video{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;object-position:50% 50%;
  opacity:0;transition:opacity 1.2s ease;pointer-events:none}
.event-media .event-video.is-on{opacity:1}
.event-media::after{z-index:2}
.event-media:has(.event-video.is-on)>img{opacity:0;transition:opacity 1.2s}

/* Hero 2026-10-15: «Tom & Collins presents» + el logo original, en el centro y con la tipografía del póster
   (Akzidenz Grotesk BQ Medium Condensed Alt, del Drive del cliente: ARTES QUE NOS ENVIARON/FONTS) */
@font-face{font-family:"Akzidenz TC";src:url(assets/fonts/akzidenz-mdcndalt.woff2) format("woff2");font-weight:500;font-display:swap}
.hero-lockup{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(10px,1.6vw,22px);padding:0 24px;text-align:center;pointer-events:none;
  background:radial-gradient(ellipse 46% 30% at 50% 50%,rgba(0,0,0,.55),transparent 75%)}
.hero-presents{margin:0;font:500 clamp(30px,4.4vw,72px)/.95 "Akzidenz TC","Oswald",sans-serif;text-transform:uppercase;letter-spacing:.01em;color:#fff;
  text-shadow:0 0 18px rgba(255,120,60,.75),0 0 46px rgba(212,42,124,.45),0 4px 24px rgba(0,0,0,.6)}
.hero-presents span{display:block;margin-top:.18em;font-size:.48em;letter-spacing:.32em;margin-right:-.32em;color:#f6d7a8}
.hero-logo{display:block;width:clamp(280px,44vw,780px);height:auto;filter:drop-shadow(0 6px 26px rgba(0,0,0,.6))}
@media (max-width:900px){.hero-lockup{gap:12px;background:radial-gradient(ellipse 70% 26% at 50% 50%,rgba(0,0,0,.55),transparent 75%)}.hero-logo{width:min(84vw,420px)}}

/* Tickets 2026-10-15, como RESET: arte del alebrije en cada tier (assets/img/tier-arte-N.jpg) con nombre y precio
   encima, y el talón convertido en botón «Coming soon». Las fases cerradas conservan su color, sólo más oscuras. */
.tcard.is-off{filter:brightness(.7) saturate(.9)}
@media (hover:hover){.tcard.is-off:hover{filter:brightness(.85)}}
.tcard-over{position:absolute;left:0;right:0;bottom:0;display:grid;justify-items:center;gap:6px;padding:40% 10px 9%;text-align:center;color:#fff;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(10,4,8,.55) 55%,rgba(10,4,8,.78))}
.tcard-over b{font:600 clamp(22px,2vw,28px)/1 var(--display);letter-spacing:.14em;margin-right:-.14em;text-transform:uppercase}
.tcard-over small{font:600 12px/1 var(--display);letter-spacing:.3em;margin-right:-.3em;text-transform:uppercase;color:#f6d7a8}
.tcard-over em{font:500 clamp(20px,1.8vw,25px)/1 var(--display);font-style:normal;letter-spacing:.06em;color:#f2b23a}
.tcard-over b,.tcard-over em{text-shadow:0 2px 14px rgba(0,0,0,.7)}
.tcard-stub--btn{justify-content:space-between}
.tcard-stub--btn .stub-text b{font-size:16px;letter-spacing:.14em;text-transform:uppercase}
.stub-go{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:50%;background:#f2b23a;color:#1a0b14}
.stub-go svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.stub-lock{background:rgba(255,255,255,.14);color:#fff}
@media (max-width:900px){.tcard-over b{font-size:20px}.tcard-over em{font-size:19px}.tcard-stub--btn .stub-text b{font-size:13.5px}.stub-go{width:30px;height:30px}.stub-go svg{width:15px;height:15px}}

/* Stay 2026-10-15: la foto lateral con el ratón encima pasa al frente (se endereza y crece) y la central se aparta un poco */
@media (hover:hover) and (min-width:901px){
  .room{transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
  .stay-rooms .room-l:hover{z-index:3;transform:translate(-50%,-50%) translate(-150px,0) rotate(-2deg) scale(1.14);box-shadow:0 40px 80px -24px rgba(0,0,0,.95)}
  .stay-rooms .room-r:hover{z-index:3;transform:translate(-50%,-50%) translate(150px,0) rotate(2deg) scale(1.14);box-shadow:0 40px 80px -24px rgba(0,0,0,.95)}
  .stay-rooms:has(.room-l:hover) .room-c{transform:translate(-50%,-50%) translate(40px,10px) scale(.94)}
  .stay-rooms:has(.room-r:hover) .room-c{transform:translate(-50%,-50%) translate(-40px,10px) scale(.94)}
  .stay-rooms .room-c:hover{transform:translate(-50%,-50%) translateY(-8px) scale(1.04)}
}

/* Hero 2026-10-15 (2): el bloque al centro mucho más contenido: firma pequeña, «presents» con filetes y logo a ~1/4 del ancho */
.hero-lockup{gap:clamp(8px,.9vw,14px);background:radial-gradient(ellipse 26% 18% at 50% 50%,rgba(0,0,0,.45),transparent 75%)}
.hero-presents{font-size:clamp(17px,1.55vw,24px);letter-spacing:.12em;margin-right:-.12em;text-shadow:0 0 14px rgba(255,120,60,.45),0 2px 14px rgba(0,0,0,.7)}
.hero-presents span{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:.55em;font-size:.5em;letter-spacing:.42em;margin-right:-.42em}
.hero-presents span::before,.hero-presents span::after{content:"";width:22px;height:1px;background:currentColor;opacity:.7}
.hero-logo{width:clamp(190px,22vw,360px);filter:drop-shadow(0 4px 18px rgba(0,0,0,.55))}
@media (max-width:900px){.hero-lockup{gap:8px;background:radial-gradient(ellipse 50% 16% at 50% 50%,rgba(0,0,0,.45),transparent 75%)}.hero-presents{font-size:17px}.hero-logo{width:min(58vw,250px)}}
.hero-presents span{font-size:.6em}
/* Hero (3): Tom & Collins más grande que antes, logo algo más pequeño, para que se lean como un solo bloque */
.hero-presents{font-size:clamp(26px,2.7vw,42px)}
.hero-presents span{font-size:.5em}
.hero-logo{width:clamp(170px,18vw,300px)}
@media (max-width:900px){.hero-presents{font-size:26px}.hero-logo{width:min(50vw,215px)}}
