/* =====================================================================================================================
   Event Master · GUÍAS y PÁGINAS DE TEXTO del directorio (4 guías, ciudad, banda de aforo, créditos, privacidad)
   Se carga DESPUÉS de em-nav.css y salas.css (render.pagina(guias=True)). Prefijo único .gx- : no choca con salas.css (.wrap, .bloque,
   .tarj…) ni con la navegación (.emn-). Reutiliza de salas.css: .btn, .btn-p, .btn-link, .campo, .marca, .busca, .pleg, .solo-lector, .aviso.
   CSP: sin estilos en línea; las barras reciben left/width desde guias.js (CSSOM, permitido por style-src 'self').
   REGLAS: cero animaciones infinitas · todo movimiento se apaga con prefers-reduced-motion · objetivos táctiles ≥ 44 px · contraste AA.

   ── SISTEMA DE DISEÑO (Daniela: cambia los TOKENS de :root; los componentes solo usan variables) ───────────────────────────────
   COLOR (noche por defecto)
     --gx-bg #0D0615 fondo · --gx-sup #170A23 superficie · --gx-sup2 #221033 superficie elevada · --gx-sup3 #2E1545 pistas y rellenos
     --gx-tx #F7F0FB texto · --gx-tx2 #EDE3F5 texto largo · --gx-mut #C9B4E0 secundario (acento lila de marca)
     --gx-pri #FF7A3D primario naranja · --gx-pri-f #F05613 naranja intenso · --gx-pri-cl #FFC2A3 naranja claro (etiquetas sobre oscuro)
     --gx-pri-tx #1B0628 texto sobre naranja · --gx-morado #552189 / --gx-morado-f #2F1049 degradados de marca
     --gx-ok #3DDC84 «Consejo» · --gx-err #FF8A8A «Error típico» · --gx-ojo #F2C46B «A vigilar»
   TIPOGRAFÍA  Montserrat local (la carga salas.css). Escala fluida:
     --gx-f-h1 2.05→3.5rem · --gx-f-h2 1.5→2.15rem · --gx-f-h3 1.12rem · --gx-f-lead 1.06→1.22rem · --gx-f-txt 1.0625rem · --gx-f-peq .875rem
     Pesos: 800 titulares y cifras · 700 etiquetas · 400/500 texto. Interlineado 1.75 en texto largo. Cifras con tabular-nums.
   ESPACIADO (escala de 4 px): --gx-s1 4 · s2 8 · s3 12 · s4 16 · s5 24 · s6 32 · s7 48 · s8 72
   REJILLA   --gx-max 1180 (igual que cabecera y migas) · --gx-art 760 artículo · --gx-lat 300 lateral (artículo a la izquierda y lateral a la derecha,
             alineados con los bordes del héroe) · --gx-col 64 separación mínima · margen lateral 16
   FORMA     --gx-r 20 tarjetas · --gx-r-s 14 bloques · --gx-r-xs 10 controles · píldoras 999
   SOMBRA    --gx-sombra reposo · --gx-sombra-alta hover
   MOVIMIENTO --gx-dur 380ms · --gx-curva cubic-bezier(.2,.7,.2,1). Solo opacity/transform, una vez (IntersectionObserver), ≤ 400 ms.
   ICONOS    SVG en línea, viewBox 24, trazo 1.8 redondeado: .gx-i 22 px · .gx-i--s 18 px (mismo lenguaje que navegacion.IC).
   PUNTOS DE CORTE  640 (rejillas de 2) · 960 (héroe a dos columnas) · 1100 (artículo + índice lateral fijo)

   ── COMPONENTES (en este orden) ────────────────────────────────────────────────────────────────────────────────────────
     1 tokens y base .gx-c, .gx-i            2 progreso de lectura .gx-progreso      3 héroe .gx-heroe (--listado, --solo)
     4 badge, botones .gx-btn-g, cifras .gx-datos                                    5 collage de fotos oficiales .gx-collage, créditos .gx-cred
     6 cuerpo a 2 columnas .gx-cuerpo + lateral .gx-lateral (.gx-toc índice, .gx-cta-lat)
     7 sección .gx-sec (--ancha, --texto), cabecera .gx-sec-cab, .gx-kicker, texto largo
     8 pasos .gx-pasos y línea de tiempo compacta .gx-flujo                          9 notas .gx-nota (--consejo, --error, --info) y cita .gx-cita
     10 barras .gx-rangos, .gx-pista, .gx-barra, .gx-eje                             11 checklist .gx-check
     12 calculadora .gx-calc        13 tarjetas .gx-tarjetas, tipos .gx-tipos, planos .gx-dinamicas, escalera .gx-escalera, ecuación .gx-ecuacion
     14 ciudades .gx-ciudades, aforos .gx-bandas/.gx-pills/.gx-aforos             15 salas reales .gx-salas      16 más guías .gx-guias
     17 FAQ .gx-faq                 18 banda final .gx-banda                        19 texto + lateral .gx-texto-g, .gx-prosa, .gx-cifras, .gx-form
     20 movimiento (entradas, hover)                                                21 reduced-motion e impresión
   ===================================================================================================================== */

/* ---------- 1 · tokens y base ---------- */
:root{
  --gx-bg:#0D0615;--gx-sup:#170A23;--gx-sup2:#221033;--gx-sup3:#2E1545;
  --gx-tx:#F7F0FB;--gx-tx2:#EDE3F5;--gx-mut:#C9B4E0;
  --gx-pri:#FF7A3D;--gx-pri-f:#F05613;--gx-pri-cl:#FFC2A3;--gx-pri-tx:#1B0628;--gx-morado:#552189;--gx-morado-f:#2F1049;
  --gx-ok:#3DDC84;--gx-err:#FF8A8A;--gx-ojo:#F2C46B;
  --gx-linea:rgba(247,240,251,.12);--gx-linea-f:rgba(247,240,251,.24);--gx-linea-pri:rgba(255,122,61,.38);
  --gx-f-h1:clamp(2.05rem,2.6vw + 1.2rem,3.5rem);--gx-f-h2:clamp(1.5rem,1.3vw + 1.1rem,2.15rem);--gx-f-h3:1.12rem;
  --gx-f-lead:clamp(1.06rem,.4vw + .95rem,1.22rem);--gx-f-txt:1.0625rem;--gx-f-peq:.875rem;
  --gx-s1:4px;--gx-s2:8px;--gx-s3:12px;--gx-s4:16px;--gx-s5:24px;--gx-s6:32px;--gx-s7:48px;--gx-s8:72px;
  --gx-max:1180px;--gx-art:760px;--gx-lat:300px;--gx-col:64px;
  --gx-r:20px;--gx-r-s:14px;--gx-r-xs:10px;
  --gx-sombra:0 1px 0 rgba(255,255,255,.03) inset,0 10px 30px rgba(0,0,0,.25);--gx-sombra-alta:0 18px 44px rgba(0,0,0,.45),0 0 0 1px rgba(255,122,61,.25);
  --gx-dur:380ms;--gx-curva:cubic-bezier(.2,.7,.2,1);
  --gx-cab:var(--emn-alto-cab,80px);
  --gx-deg-marca:linear-gradient(150deg,#3a1460,#1d0a2e);
}
html{scroll-padding-top:calc(var(--gx-cab) + 20px)}
.gx-c{width:100%;max-width:var(--gx-max);margin:0 auto;padding:0 16px}
.gx-i{width:22px;height:22px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gx-i--s{width:18px;height:18px}

/* ---------- 2 · progreso de lectura ---------- */
.gx-progreso{position:fixed;top:0;left:0;right:0;height:3px;z-index:1100;pointer-events:none}
.gx-progreso span{display:block;height:100%;background:linear-gradient(90deg,var(--gx-pri),#FFB088);transform:scaleX(0);transform-origin:0 50%}
html:not(.gx-js) .gx-progreso{display:none}

/* ---------- 3 · héroe ---------- */
.gx-heroe{position:relative;isolation:isolate;padding:var(--gx-s4) 0 var(--gx-s7)}
.gx-heroe::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(55% 65% at 82% 40%,rgba(85,33,137,.55),transparent 72%),radial-gradient(35% 45% at 8% 10%,rgba(255,122,61,.12),transparent 72%)}
.gx-heroe-g{display:grid;gap:var(--gx-s6);align-items:center}
@media(min-width:960px){.gx-heroe-g{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px}.gx-heroe{padding:var(--gx-s5) 0 var(--gx-s8)}}
.gx-heroe h1{margin:var(--gx-s4) 0 0;font-size:var(--gx-f-h1);line-height:1.08;letter-spacing:-.025em;font-weight:800;text-wrap:balance}
.gx-lead{margin-top:18px;font-size:var(--gx-f-lead);line-height:1.6;color:var(--gx-mut);max-width:58ch}
.gx-heroe .sello{margin-top:var(--gx-s5)}
.gx-heroe--listado h1{font-size:clamp(1.9rem,2.2vw + 1.1rem,3rem)}
.gx-heroe--solo .gx-heroe-g{grid-template-columns:minmax(0,820px);justify-content:center;text-align:center}
.gx-heroe--solo .gx-lead{margin-inline:auto}
.gx-heroe--solo .gx-acc{justify-content:center}

/* ---------- 4 · badge, botones y cifras ---------- */
.gx-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 10px;border-radius:999px;border:1px solid var(--gx-linea-pri);background:rgba(255,122,61,.1);color:var(--gx-pri-cl);font-weight:700;font-size:.82rem;letter-spacing:.02em;line-height:1.3}
.gx-badge .gx-i{color:var(--gx-pri)}
.gx-acc{display:flex;flex-wrap:wrap;gap:var(--gx-s3);align-items:center;margin-top:28px}
.gx-btn-g{min-height:52px;padding:0 22px;border-radius:14px;font-size:1rem;gap:10px}
.btn .gx-i,.btn-link .gx-i{flex:none}
.gx-datos{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gx-s3);margin-top:var(--gx-s6);padding-top:var(--gx-s5);border-top:1px solid var(--gx-linea)}
.gx-datos strong{display:block;font-size:clamp(1.35rem,1.6vw + .9rem,2.2rem);font-weight:800;line-height:1.1;color:var(--gx-pri);font-variant-numeric:tabular-nums;white-space:nowrap}
.gx-datos span{display:block;margin-top:6px;font-size:.84rem;line-height:1.4;color:var(--gx-mut)}

/* ---------- 5 · collage de fotos oficiales y créditos ---------- */
.gx-collage{margin:0;position:relative}
.gx-collage::before{content:"";position:absolute;inset:10% -6% -4% 18%;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,rgba(255,122,61,.28),transparent);pointer-events:none}
.gx-collage-g{display:grid;gap:12px;grid-template-columns:1.55fr 1fr;grid-template-rows:1fr 1fr;aspect-ratio:5/4}
.gx-collage-g--1{grid-template-columns:1fr;grid-template-rows:1fr;aspect-ratio:4/3}
.gx-collage-g--2 .gx-tesela{grid-row:1/3}
.gx-tesela{position:relative;display:block;min-height:0;overflow:hidden;border-radius:var(--gx-r);background:var(--gx-sup2);border:1px solid var(--gx-linea);box-shadow:var(--gx-sombra)}
.gx-tesela--g{grid-row:1/3}
.gx-tesela img{width:100%;height:100%;object-fit:cover}
.gx-tesela-et{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);padding:5px 10px;border-radius:999px;background:rgba(13,6,21,.8);color:var(--gx-tx);font-size:.74rem;font-weight:700;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:639px){.gx-collage-g{gap:8px;aspect-ratio:4/3}.gx-tesela{border-radius:14px}.gx-tesela:not(.gx-tesela--g) .gx-tesela-et{display:none}}
.gx-cred{display:flex;gap:8px;align-items:flex-start;margin-top:var(--gx-s3);font-size:.76rem;line-height:1.5;color:var(--gx-mut)}
.gx-cred .gx-i{margin-top:1px;color:var(--gx-pri)}
.gx-cred a{color:var(--gx-mut);text-underline-offset:2px}
.gx-cred a:hover{color:var(--gx-tx)}
.gx-cred--mini{display:block;margin-top:var(--gx-s2);padding:0 4px;font-size:.72rem}

/* ---------- 6 · cuerpo a dos columnas y lateral (índice + CTA) ---------- */
.gx-cuerpo{display:grid;gap:var(--gx-s2);padding-top:var(--gx-s2)}
.gx-lateral{min-width:0}
.gx-lateral-in{display:grid;gap:var(--gx-s4)}
.gx-toc{border-radius:var(--gx-r-s);background:var(--gx-sup);border:1px solid var(--gx-linea)}
.gx-toc summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:0 16px;font-weight:800;cursor:pointer;border-radius:var(--gx-r-s)}
.gx-toc summary::-webkit-details-marker{display:none}
.gx-toc summary>span:first-child{display:inline-flex;align-items:center;gap:8px}
.gx-toc summary .gx-i{color:var(--gx-pri)}
.gx-toc summary::after{content:"";width:9px;height:9px;margin-left:4px;border-right:2px solid var(--gx-mut);border-bottom:2px solid var(--gx-mut);transform:rotate(45deg) translateY(-2px);flex:none}
.gx-toc[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.gx-toc-cnt{margin-left:auto;font-weight:600;font-size:.8rem;color:var(--gx-mut)}
.gx-toc ol{list-style:none;margin:0;padding:0 8px 10px;display:grid;gap:2px}
.gx-toc a{display:grid;grid-template-columns:26px minmax(0,1fr);gap:6px;align-items:center;min-height:44px;padding:5px 10px;border-radius:10px;border-left:3px solid transparent;color:var(--gx-mut);text-decoration:none;font-size:.88rem;font-weight:600;line-height:1.3}
.gx-toc a:hover{color:var(--gx-tx);background:var(--gx-sup2)}
.gx-toc a[aria-current="true"]{color:var(--gx-tx);background:rgba(255,122,61,.12);border-left-color:var(--gx-pri)}
.gx-toc-n{font-size:.72rem;font-weight:800;color:var(--gx-pri);font-variant-numeric:tabular-nums}
.gx-cta-lat{display:none;position:relative;overflow:hidden;padding:18px;border-radius:var(--gx-r-s);background:var(--gx-deg-marca);border:1px solid var(--gx-linea-pri)}
.gx-cta-lat::after{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,122,61,.35),transparent);pointer-events:none}
.gx-cta-lat-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(255,122,61,.18);color:var(--gx-pri)}
.gx-cta-lat-t{margin-top:10px;font-weight:800;font-size:1.05rem;line-height:1.25}
.gx-cta-lat p:not(.gx-cta-lat-t){margin-top:4px;font-size:.84rem;line-height:1.5;color:var(--gx-mut)}
.gx-cta-lat .btn{position:relative;z-index:1;width:100%;margin-top:12px;gap:8px}
@media(min-width:1100px){
  .gx-cuerpo{grid-template-columns:minmax(0,var(--gx-art)) var(--gx-lat);column-gap:var(--gx-col);justify-content:space-between;align-items:start}
  .gx-art{grid-column:1;grid-row:1}
  .gx-lateral{grid-column:2;grid-row:1;align-self:stretch}
  .gx-lateral-in{position:sticky;top:calc(var(--gx-cab) + 20px);max-height:calc(100vh - var(--gx-cab) - 36px);overflow:auto;padding-bottom:4px}
  .gx-toc summary{cursor:default}
  .gx-toc summary::after{display:none}
  .gx-cta-lat{display:block}
}
.gx-cuerpo--uno{grid-template-columns:minmax(0,860px)!important;justify-content:center}

/* ---------- 7 · secciones y texto largo ---------- */
.gx-sec{padding:44px 0;scroll-margin-top:calc(var(--gx-cab) + 16px)}
.gx-art>.gx-sec+.gx-sec{border-top:1px solid var(--gx-linea)}
.gx-art>.gx-sec:first-child{padding-top:var(--gx-s5)}
.gx-sec--ancha{padding:64px 0;background:linear-gradient(180deg,rgba(23,10,35,0),rgba(23,10,35,.92) 14%,rgba(23,10,35,.92) 86%,rgba(23,10,35,0))}
.gx-sec--guias{background:none;padding-top:var(--gx-s7)}
.gx-sec>*+*,.gx-c>.gx-sec-cab+*{margin-top:20px}
.gx-sec-cab{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:var(--gx-s5)}
.gx-sec-ico{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:14px;color:var(--gx-pri);background:linear-gradient(145deg,rgba(255,122,61,.2),rgba(85,33,137,.38));border:1px solid rgba(255,122,61,.3)}
.gx-sec-tit{flex:1 1 0;min-width:0}
.gx-sec-cab h2{margin:0;font-size:var(--gx-f-h2);line-height:1.15;letter-spacing:-.015em;text-wrap:balance}
.gx-sec-sub{margin-top:8px;max-width:70ch;color:var(--gx-mut);line-height:1.6}
.gx-kicker{font-size:.76rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gx-pri);line-height:1.2;margin-bottom:4px;font-variant-numeric:tabular-nums}
.gx-kicker--claro{color:var(--gx-pri-cl)}
.gx-sec>p,.gx-prosa>p,.gx-prosa li,.gx-prosa--legal p{font-size:var(--gx-f-txt);line-height:1.75;color:var(--gx-tx2)}
.gx-sec>p+p,.gx-prosa>p+p{margin-top:14px}
.gx-sec>p a,.gx-prosa a,.gx-paso-c a{color:var(--gx-pri);text-underline-offset:3px}
.gx-sec>p strong,.gx-paso-c strong{color:var(--gx-tx)}

/* ---------- 8 · pasos (línea de tiempo) y flujo compacto ---------- */
.gx-pasos{list-style:none;position:relative;margin:var(--gx-s2) 0 0;padding:0}
.gx-pasos::before{content:"";position:absolute;left:27px;top:28px;bottom:40px;width:2px;border-radius:2px;background:linear-gradient(180deg,var(--gx-pri),rgba(85,33,137,.9) 55%,rgba(85,33,137,.15))}
.gx-paso{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);gap:18px;padding-bottom:18px}
.gx-paso-marca{position:relative;z-index:1;display:grid;place-items:center;width:56px;height:56px;border-radius:18px;color:var(--gx-pri);background:var(--gx-sup2);border:1px solid var(--gx-linea-pri);box-shadow:0 0 0 6px var(--gx-bg)}
.gx-paso-c{padding:16px 20px 18px;border-radius:var(--gx-r-s);background:var(--gx-sup);border:1px solid var(--gx-linea)}
.gx-paso-c .gx-paso-n{font-size:2.5rem;font-weight:800;line-height:1;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1.5px rgba(255,122,61,.9);font-variant-numeric:tabular-nums;margin-bottom:6px}
.gx-paso h3{font-size:1.2rem;line-height:1.3;margin:0 0 6px}
.gx-paso-c p:not(.gx-paso-n){font-size:1rem;line-height:1.7;color:var(--gx-tx2)}
@media(max-width:639px){.gx-pasos::before{left:21px}.gx-paso{grid-template-columns:44px minmax(0,1fr);gap:12px}.gx-paso-marca{width:44px;height:44px;border-radius:14px}.gx-paso-c{padding:14px 16px 16px}.gx-paso-c .gx-paso-n{font-size:2rem}}
.gx-flujo{list-style:none;position:relative;margin:var(--gx-s2) 0 0;padding:0;display:grid;gap:14px}
.gx-flujo::before{content:"";position:absolute;left:21px;top:22px;bottom:22px;width:2px;background:linear-gradient(180deg,var(--gx-pri),rgba(85,33,137,.3))}
.gx-flujo-i{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:center}
.gx-flujo-m{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--gx-pri);color:var(--gx-pri-tx);box-shadow:0 0 0 5px var(--gx-bg)}
.gx-flujo-i>div{padding:12px 16px;border-radius:var(--gx-r-xs);background:var(--gx-sup);border:1px solid var(--gx-linea)}
.gx-flujo h3{font-size:1rem;margin:0;line-height:1.35}
.gx-flujo p{margin-top:2px;font-size:.92rem;line-height:1.5;color:var(--gx-mut)}

/* ---------- 9 · notas y cita destacada ---------- */
.gx-nota{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;align-items:start;padding:16px 18px;border-radius:var(--gx-r-s);border:1px solid var(--gx-linea)}
.gx-paso-c .gx-nota{margin-top:14px;padding:12px 14px}
.gx-nota-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:12px}
.gx-nota-t{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;line-height:1.2;margin-bottom:4px}
.gx-nota p:not(.gx-nota-t){font-size:.98rem;line-height:1.6;color:var(--gx-tx2)}
.gx-nota--consejo{background:rgba(61,220,132,.07);border-color:rgba(61,220,132,.35)}
.gx-nota--consejo .gx-nota-ico{background:rgba(61,220,132,.15);color:var(--gx-ok)}
.gx-nota--consejo .gx-nota-t{color:var(--gx-ok)}
.gx-nota--error{background:rgba(255,138,138,.07);border-color:rgba(255,138,138,.38)}
.gx-nota--error .gx-nota-ico{background:rgba(255,138,138,.15);color:var(--gx-err)}
.gx-nota--error .gx-nota-t{color:var(--gx-err)}
.gx-nota--info{background:rgba(201,180,224,.07);border-color:rgba(201,180,224,.3)}
.gx-nota--info .gx-nota-ico{background:rgba(201,180,224,.14);color:var(--gx-mut)}
.gx-nota--info .gx-nota-t{color:var(--gx-mut)}
.gx-cita{position:relative;margin:28px 0 4px;padding:4px 0 4px 26px;border-left:4px solid var(--gx-pri)}
.gx-cita::before{content:"\201C";position:absolute;right:0;top:-28px;font-size:6rem;font-weight:800;line-height:1;color:rgba(255,122,61,.16);pointer-events:none}
.gx-cita p{font-size:clamp(1.22rem,1vw + .95rem,1.55rem);font-weight:700;line-height:1.38;letter-spacing:-.01em;color:var(--gx-tx);text-wrap:balance}

/* ---------- 10 · barras de rango (formatos, presupuesto, montajes) ---------- */
.gx-rangos{margin:var(--gx-s2) 0 0;padding:20px;border-radius:var(--gx-r);background:var(--gx-sup);border:1px solid var(--gx-linea)}
.gx-rangos-t{font-weight:800;font-size:.95rem;margin-bottom:16px}
.gx-rangos-l{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.gx-rango-cab{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px}
.gx-rango-et{font-weight:700;line-height:1.35}
.gx-rango-v{color:var(--gx-pri);font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.gx-rango-det{margin-top:6px;font-size:.85rem;line-height:1.45;color:var(--gx-mut)}
.gx-pista{display:block;position:relative;height:10px;margin-top:8px;overflow:hidden;border-radius:999px;background:var(--gx-sup3)}
.gx-barra{position:absolute;top:0;bottom:0;left:0;width:0;border-radius:999px;background:linear-gradient(90deg,var(--gx-pri),#FFB088);transform-origin:0 50%}
.gx-pista--abierta .gx-barra{background:linear-gradient(90deg,var(--gx-pri) 40%,rgba(255,122,61,.15))}
.gx-pista--sin{background:repeating-linear-gradient(135deg,var(--gx-sup3) 0 6px,rgba(46,21,69,.25) 6px 12px);box-shadow:inset 0 0 0 1px rgba(201,180,224,.25)}
html:not(.gx-js) .gx-pista{display:none}
.gx-eje{display:flex;justify-content:space-between;margin-top:12px;padding-top:8px;border-top:1px dashed var(--gx-linea-f);font-size:.74rem;color:var(--gx-mut);font-variant-numeric:tabular-nums}

/* ---------- 11 · checklist interactiva ---------- */
.gx-check{margin-top:var(--gx-s2);padding:20px;border-radius:var(--gx-r);background:linear-gradient(180deg,var(--gx-sup2),var(--gx-sup));border:1px solid var(--gx-linea)}
.gx-check-cab{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px}
.gx-check-t{display:flex;align-items:center;gap:8px;font-weight:800;font-size:1.05rem}
.gx-check-t .gx-i{color:var(--gx-pri)}
.gx-check-n{font-size:.85rem;color:var(--gx-mut);font-variant-numeric:tabular-nums}
.gx-check-n span{color:var(--gx-pri);font-weight:800}
.gx-pista--check{margin:12px 0 4px}
.gx-check-l{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}
.gx-check-i{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;align-items:start;min-height:48px;padding:12px;border-radius:12px;border:1px solid transparent;cursor:pointer}
.gx-check-i:hover{background:rgba(247,240,251,.04);border-color:var(--gx-linea)}
.gx-check-i input{-webkit-appearance:none;appearance:none;width:24px;height:24px;margin:1px 0 0;border-radius:7px;border:2px solid rgba(255,122,61,.8);background:var(--gx-bg);cursor:pointer}
.gx-check-i input:checked{border-color:var(--gx-pri);background:var(--gx-pri) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B0628' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/16px no-repeat}
.gx-check-i input:focus-visible{outline:3px solid var(--gx-pri);outline-offset:2px}
.gx-check-i>span{font-size:1rem;line-height:1.55;color:var(--gx-tx2)}
.gx-check-i strong{color:var(--gx-tx)}
.gx-check-i input:checked+span{color:var(--gx-mut)}
.gx-check-i input:checked+span strong{color:var(--gx-mut);text-decoration:line-through;text-decoration-color:rgba(255,122,61,.8)}
.gx-check-acc{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--gx-linea)}
.gx-check-acc .btn{gap:8px}
.gx-check-acc .btn-link{display:inline-flex;align-items:center;gap:6px;color:var(--gx-mut)}
.gx-check-acc .btn-link:hover{color:var(--gx-tx)}
.gx-check-msg{flex-basis:100%;min-height:1.3em;font-size:.86rem;font-weight:600;color:var(--gx-ok)}
.gx-check-pie{margin-top:8px;font-size:.76rem;color:var(--gx-mut)}

/* ---------- 12 · calculadora de punto de equilibrio ---------- */
.gx-calc{margin-top:var(--gx-s2);display:grid;gap:var(--gx-s4);padding:20px;border-radius:var(--gx-r);background:var(--gx-sup);border:1px solid var(--gx-linea)}
@media(min-width:640px){.gx-calc{grid-template-columns:minmax(0,1fr) minmax(0,.95fr);align-items:stretch}.gx-calc-nota{grid-column:1/-1}}
.gx-calc-campos{display:grid;gap:12px;align-content:start}
.gx-calc .campo input{font-variant-numeric:tabular-nums}
.gx-calc-res{display:flex;flex-direction:column;justify-content:center;padding:20px;border-radius:var(--gx-r-s);border:1px solid var(--gx-linea-pri);
  background:radial-gradient(120% 100% at 100% 0%,rgba(255,122,61,.24),transparent 60%),var(--gx-deg-marca)}
.gx-calc-et{font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gx-pri-cl)}
.gx-calc-n{margin-top:4px;font-size:clamp(2.6rem,4.5vw,3.6rem);font-weight:800;line-height:1.05;color:var(--gx-tx);font-variant-numeric:tabular-nums}
.gx-calc-sub{margin-top:6px;font-size:.95rem;line-height:1.5;color:var(--gx-mut)}
.gx-pista--calc{margin-top:12px}
.gx-calc-aviso{margin-top:12px;padding:10px 12px;border-radius:10px;font-size:.9rem;line-height:1.5;color:#FFD9D9;background:rgba(255,138,138,.12);border:1px solid rgba(255,138,138,.4)}
.gx-calc-aviso.gx-bien{color:#CFF7DF;background:rgba(61,220,132,.1);border-color:rgba(61,220,132,.4)}
.gx-calc-nota{font-size:.82rem;line-height:1.5;color:var(--gx-mut)}

/* ---------- 13 · tarjetas, tipos de espacio, planos de montaje, escalera y ecuación ---------- */
.gx-tarjetas{list-style:none;margin:var(--gx-s2) 0 0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.gx-tarjetas--4{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.gx-tarjeta{padding:18px;border-radius:var(--gx-r-s);background:var(--gx-sup);border:1px solid var(--gx-linea)}
.gx-tarjeta-ico{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:12px;color:var(--gx-pri);background:rgba(255,122,61,.12);border:1px solid rgba(255,122,61,.28)}
.gx-tarjeta h3{margin:14px 0 4px;font-size:1.05rem;line-height:1.3}
.gx-tarjeta p{font-size:.94rem;line-height:1.55;color:var(--gx-mut)}
.gx-tipos{list-style:none;margin:var(--gx-s2) 0 0;padding:0;display:grid;gap:14px}
@media(min-width:640px){.gx-tipos{grid-template-columns:repeat(2,minmax(0,1fr))}}
.gx-tipo{display:flex;flex-direction:column;gap:10px;padding:18px;border-radius:var(--gx-r-s);background:var(--gx-sup);border:1px solid var(--gx-linea)}
.gx-tipo-cab{display:flex;align-items:center;gap:12px}
.gx-tipo-cab h3{margin:0;font-size:1.08rem;line-height:1.3}
.gx-tipo-f{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;font-size:.93rem;line-height:1.5;color:var(--gx-tx2)}
.gx-tipo-f .gx-i{margin-top:2px}
.gx-tipo-f--ok .gx-i{color:var(--gx-ok)}
.gx-tipo-f--ojo .gx-i{color:var(--gx-ojo)}
.gx-tipo-enl{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:auto;font-weight:700;color:var(--gx-pri);text-decoration:none}
.gx-tipo-enl:hover{text-decoration:underline}
.gx-dinamicas{list-style:none;margin:var(--gx-s2) 0 0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:900px){.gx-dinamicas{grid-template-columns:repeat(4,minmax(0,1fr))}}
.gx-dinamica{padding:14px;border-radius:var(--gx-r-s);background:var(--gx-sup);border:1px solid var(--gx-linea);text-align:center}
.gx-plano{width:100%;height:auto;aspect-ratio:120/92;margin-bottom:10px;border-radius:10px;background:radial-gradient(circle at 50% 50%,rgba(85,33,137,.4),rgba(13,6,21,.4) 75%)}
.gx-pl-s{fill:var(--gx-pri)}
.gx-pl-m{fill:var(--gx-mut)}
.gx-pl-mesa{fill:rgba(201,180,224,.12);stroke:var(--gx-mut);stroke-width:1.5}
.gx-dinamica h3{font-size:1rem;margin:0}
.gx-dinamica p{margin-top:4px;font-size:.86rem;line-height:1.45;color:var(--gx-mut)}
.gx-escalera{list-style:none;margin:var(--gx-s2) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}
.gx-escalon{display:flex;flex-direction:column;justify-content:flex-end;padding:16px 14px;border-radius:var(--gx-r-s) var(--gx-r-s) 6px 6px;border:1px solid rgba(255,122,61,.3);background:linear-gradient(180deg,rgba(255,122,61,.14),rgba(85,33,137,.22))}
.gx-escalon--1{min-height:150px}
.gx-escalon--2{min-height:195px;background:linear-gradient(180deg,rgba(255,122,61,.24),rgba(85,33,137,.22))}
.gx-escalon--3{min-height:240px;background:linear-gradient(180deg,rgba(255,122,61,.42),rgba(240,86,19,.16));border-color:rgba(255,122,61,.6)}
.gx-escalon-n{font-size:2.1rem;font-weight:800;line-height:1;color:var(--gx-pri)}
.gx-escalon--3 .gx-escalon-n{color:var(--gx-pri-cl)}
.gx-escalon h3{margin:10px 0 4px;font-size:1rem;line-height:1.3}
.gx-escalon p{font-size:.86rem;line-height:1.45;color:var(--gx-tx2)}
.gx-ecuacion{margin:var(--gx-s2) 0 0;padding:22px;border-radius:var(--gx-r);background:linear-gradient(135deg,#2F1049,#1a0a29);border:1px solid var(--gx-linea)}
.gx-ec-f{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 14px}
.gx-ec-p{display:flex;flex-direction:column;align-items:center;min-width:96px;padding:10px 16px;border-radius:14px;background:rgba(13,6,21,.55)}
.gx-ec-p strong{font-size:clamp(1.5rem,2.4vw,2.1rem);font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums}
.gx-ec-p small{font-size:.78rem;color:var(--gx-mut)}
.gx-ec-p--r{background:var(--gx-pri)}
.gx-ec-p--r strong,.gx-ec-p--r small{color:var(--gx-pri-tx)}
.gx-ec-op{font-size:1.8rem;font-weight:800;color:var(--gx-pri)}
.gx-ecuacion figcaption{margin-top:12px;text-align:center;font-size:.8rem;color:var(--gx-mut)}

/* ---------- 14 · ciudades con foto, aforos por ciudad ---------- */
.gx-ciudades{list-style:none;margin:var(--gx-s2) 0 0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:760px){.gx-ciudades{grid-template-columns:repeat(3,minmax(0,1fr))}}
.gx-ciudad>a{display:flex;flex-direction:column;flex:1;overflow:hidden;border-radius:var(--gx-r-s);background:var(--gx-sup);border:1px solid var(--gx-linea);color:var(--gx-tx);text-decoration:none}
.gx-ciudad-img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--gx-sup2)}
.gx-ciudad-img img{width:100%;height:100%;object-fit:cover}
.gx-ciudad-n{padding:12px 14px 0;font-weight:800;font-size:1rem;line-height:1.25}
.gx-ciudad-c{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 14px 14px;font-size:.86rem;color:var(--gx-mut)}
.gx-ciudad-c .gx-i{color:var(--gx-pri)}
.gx-bandas{list-style:none;margin:var(--gx-s2) 0 0;padding:0;display:grid;gap:10px}
.gx-banda-fila{display:grid;gap:10px;padding:14px 16px;border-radius:var(--gx-r-s);background:var(--gx-sup);border:1px solid var(--gx-linea)}
@media(min-width:640px){.gx-banda-fila{grid-template-columns:168px minmax(0,1fr);align-items:center}}
.gx-banda-c{display:grid;grid-template-columns:18px minmax(0,1fr);column-gap:8px;align-items:center;font-weight:800;line-height:1.3}
.gx-banda-c .gx-i{color:var(--gx-pri)}
.gx-banda-c small{grid-column:2;font-weight:500;font-size:.76rem;color:var(--gx-mut)}
.gx-pills{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.gx-pills a{display:inline-flex;align-items:center;justify-content:center;min-width:52px;min-height:44px;padding:0 12px;border-radius:999px;border:1px solid var(--gx-linea-f);background:var(--gx-bg);color:var(--gx-tx);font-weight:700;font-size:.9rem;text-decoration:none;font-variant-numeric:tabular-nums}
.gx-pills a:hover{border-color:var(--gx-pri);background:rgba(255,122,61,.12);color:#fff}
.gx-aforos{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.gx-aforo>a{display:flex;flex-direction:column;gap:6px;height:100%;min-height:104px;padding:16px;border-radius:var(--gx-r-s);background:var(--gx-sup);border:1px solid var(--gx-linea);color:var(--gx-tx);text-decoration:none}
.gx-aforo-t{font-weight:800;font-size:1.05rem;line-height:1.3}
.gx-aforo-n{display:flex;align-items:center;gap:6px;font-size:.88rem;color:var(--gx-mut)}
.gx-aforo .gx-pista{margin-top:auto}
.gx-aforo--todas a{background:var(--gx-deg-marca);border-color:var(--gx-linea-pri)}
.gx-aforo--todas .gx-i{color:var(--gx-pri)}

/* ---------- 15 · salas que encajan (tarjetas reales) ---------- */
.gx-salas{list-style:none;margin:0;padding:0;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.gx-sala,.gx-ciudad{display:flex;flex-direction:column}
.gx-sala-a{display:flex;flex-direction:column;flex:1;overflow:hidden;border-radius:var(--gx-r);background:var(--gx-sup);border:1px solid var(--gx-linea);color:var(--gx-tx);text-decoration:none;box-shadow:var(--gx-sombra)}
.gx-sala-img{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--gx-sup2)}
.gx-sala-img img{width:100%;height:100%;object-fit:cover}
.gx-sala-c{display:flex;flex-direction:column;gap:8px;flex:1;padding:16px 18px 18px}
.gx-sala-meta{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--gx-mut)}
.gx-sala-meta .gx-i,.gx-sala-d .gx-i{color:var(--gx-pri)}
.gx-sala-t{font-size:1.12rem;font-weight:800;line-height:1.3}
.gx-sala-d{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.88rem;color:var(--gx-tx2)}
.gx-sala-d>span{display:inline-flex;align-items:center;gap:6px}
.gx-sala-ver{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:6px;font-weight:800;color:var(--gx-pri)}
.gx-mas{margin-top:28px;text-align:center}
.gx-mas .btn{gap:8px}

/* ---------- 16 · más guías ---------- */
.gx-guias{list-style:none;margin:0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.gx-guia>a{display:flex;flex-direction:column;gap:10px;height:100%;padding:20px;border-radius:var(--gx-r);background:var(--gx-sup);border:1px solid var(--gx-linea);color:var(--gx-tx);text-decoration:none}
.gx-guia-b{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gx-pri)}
.gx-guia-t{font-size:1.05rem;font-weight:800;line-height:1.35}
.gx-guia--sala a{background:var(--gx-deg-marca);border-color:var(--gx-linea-pri)}

/* ---------- 17 · preguntas frecuentes (acordeón nativo details/summary) ---------- */
.gx-faq{display:grid;gap:10px}
.gx-faq-i{border-radius:var(--gx-r-s);background:var(--gx-sup);border:1px solid var(--gx-linea)}
.gx-faq-i[open]{background:var(--gx-sup2);border-color:var(--gx-linea-pri)}
.gx-faq-i summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:14px 18px;border-radius:var(--gx-r-s);cursor:pointer;font-weight:700;font-size:1.02rem;line-height:1.4}
.gx-faq-i summary::-webkit-details-marker{display:none}
.gx-faq-i summary:hover{color:#fff}
.gx-faq-ch{color:var(--gx-pri);transform:rotate(90deg)}
.gx-faq-i[open] .gx-faq-ch{transform:rotate(-90deg)}
.gx-faq-i>div{padding:0 18px 18px}
.gx-faq-i p{line-height:1.7;color:var(--gx-tx2)}

/* ---------- 18 · banda final «Hablemos» ---------- */
.gx-banda{padding:var(--gx-s7) 0 var(--gx-s5)}
.gx-banda-g{position:relative;overflow:hidden;display:grid;gap:var(--gx-s5);align-items:center;padding:32px 22px;border-radius:28px;border:1px solid var(--gx-linea-pri);
  background:radial-gradient(70% 120% at 100% 0%,rgba(255,122,61,.34),transparent 60%),linear-gradient(135deg,#2F1049,#552189)}
.gx-banda h2{margin:6px 0 10px;font-size:var(--gx-f-h2);line-height:1.15;letter-spacing:-.015em}
.gx-banda p:not(.gx-kicker){max-width:56ch;line-height:1.65;color:#EADCF6}
.gx-banda .gx-acc{margin-top:22px}
.gx-banda .btn:not(.btn-p){background:rgba(13,6,21,.35);border-color:rgba(247,240,251,.3)}
.gx-banda .btn-link{color:#fff}
.gx-banda-ilus{display:none;width:100%;max-width:280px;height:auto;justify-self:center}
.gx-il-luz{fill:rgba(255,194,163,.14)}
.gx-il-esc{fill:var(--gx-pri)}
.gx-il-p{fill:rgba(247,240,251,.45)}
.gx-il-p--a{fill:var(--gx-pri)}
.gx-il-foco{fill:#FFD9C4}
/* Estas páginas llevan su propia banda final (texto según la guía): se oculta la banda genérica del pie para no repetir dos llamadas
   seguidas. Solo con body.gx-banda-propia (lo pone build.py en guías, ciudad, banda y créditos). El resto del pie no se toca. */
.gx-banda-propia .emn-pie .emn-banda{display:none}
@media(min-width:860px){.gx-banda-g{grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);padding:48px 56px}.gx-banda-ilus{display:block}}

/* ---------- 19 · texto con lateral (ciudad, banda, créditos, privacidad) y formularios ---------- */
.gx-sec--texto{padding:52px 0}
.gx-texto-g{display:grid;gap:28px}
@media(min-width:1000px){
  .gx-texto-g--lat{grid-template-columns:minmax(0,var(--gx-art)) 340px;column-gap:56px;justify-content:center;align-items:start}
  .gx-texto-g--form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:48px;align-items:start}
}
.gx-prosa{min-width:0}
.gx-prosa--centro{max-width:var(--gx-art);margin-inline:auto;width:100%}
.gx-prosa ul{margin:12px 0 0 20px}
.gx-prosa--legal h2{margin:36px 0 10px;font-size:1.35rem}
.gx-prosa--legal h2:first-of-type{margin-top:24px}
.gx-cifras{padding:20px;border-radius:var(--gx-r);background:linear-gradient(160deg,#2a1042,var(--gx-sup));border:1px solid var(--gx-linea-pri)}
.gx-cifras-t{font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gx-pri)}
.gx-cifras-l{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:14px}
.gx-cifras-l li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center;font-size:.9rem;line-height:1.4;color:var(--gx-mut)}
.gx-cifras-l strong{display:block;font-size:1.4rem;font-weight:800;line-height:1.15;color:var(--gx-tx);font-variant-numeric:tabular-nums}
.gx-cifras-st{margin-top:18px;font-size:.8rem;font-weight:700;color:var(--gx-mut)}
.gx-chips{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.gx-chips li{padding:5px 10px;border-radius:999px;background:var(--gx-sup2);border:1px solid var(--gx-linea);font-size:.8rem;font-weight:600}
.gx-chips span{margin-left:4px;font-weight:800;color:var(--gx-pri)}
.gx-vias,.gx-prosa .gx-vias{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
.gx-vias li{display:flex;align-items:center;gap:10px}
.gx-vias .gx-i{color:var(--gx-pri)}
.gx-form .busca{border-radius:var(--gx-r);padding:20px;background:linear-gradient(180deg,var(--gx-sup2),var(--gx-sup))}
.gx-listado details+details{margin-top:10px}

/* ---------- 20 · movimiento (solo si el sistema lo permite; guias.js añade .gx-anim) ---------- */
@media(prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
  .gx-anim .gx-rev{transition:opacity var(--gx-dur) var(--gx-curva),transform var(--gx-dur) var(--gx-curva)}
  .gx-anim .gx-rev:not(.gx-vis){opacity:0;transform:translateY(18px)}
  .gx-anim .gx-barra{transition:transform var(--gx-dur) var(--gx-curva) 120ms}
  .gx-anim .gx-rev:not(.gx-vis) .gx-barra{transform:scaleX(0)}
  .gx-badge,.gx-heroe .gx-acc,.gx-datos{animation:gx-entra var(--gx-dur) var(--gx-curva) both}
  .gx-heroe .gx-acc{animation-delay:80ms}
  .gx-datos{animation-delay:160ms}
  @keyframes gx-entra{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
  .gx-paso-c,.gx-tarjeta,.gx-tipo,.gx-dinamica,.gx-sala-a,.gx-guia>a,.gx-ciudad>a,.gx-aforo>a,.gx-escalon,.gx-flujo-i>div,.gx-tesela,.btn{transition:transform .25s var(--gx-curva),box-shadow .25s ease,border-color .25s ease,background-color .25s ease}
  .gx-sala-img img,.gx-ciudad-img img,.gx-tesela img{transition:transform var(--gx-dur) var(--gx-curva)}
  .gx-faq-ch,.gx-toc summary::after{transition:transform .2s ease}
  @media(hover:hover){
    .gx-paso-c:hover,.gx-tarjeta:hover,.gx-tipo:hover,.gx-dinamica:hover,.gx-sala-a:hover,.gx-guia>a:hover,.gx-ciudad>a:hover,.gx-aforo>a:hover,.gx-flujo-i>div:hover{transform:translateY(-4px);box-shadow:var(--gx-sombra-alta);border-color:var(--gx-linea-pri)}
    .gx-sala-a:hover img,.gx-ciudad>a:hover img,.gx-tesela:hover img{transform:scale(1.04)}
    .gx-btn-g:hover,.gx-cta-lat .btn:hover,.gx-mas .btn:hover{transform:translateY(-2px)}
  }
}

/* ---------- 21 · sin movimiento e impresión ---------- */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  [class*="gx-"],[class*="gx-"]::before,[class*="gx-"]::after,[class*="gx-"] *{transition:none!important;animation:none!important}
}
@media print{
  .gx-progreso,.gx-lateral,.gx-banda,.gx-calc,.gx-check-acc,.gx-heroe-vis{display:none!important}
  .gx-cuerpo{display:block}
  .gx-sec--ancha,.gx-heroe::before{background:none}
}

/* Daniela 16/10: el brillo del collage no debe ensanchar la pagina en movil; y el fondo del heroe se difumina arriba y abajo (sin borde duro) */
.gx-heroe{overflow-x:clip}
.gx-heroe::before{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 26%,#000 68%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 26%,#000 68%,transparent 100%)}

/* «Empieza por aquí: salas que encajan» (Daniela 17/10): la acción justo tras el héroe. En móvil, las 3 salas se deslizan (una por pantalla) en vez de apilarse: la guía empieza ~1.500 px antes. */
.gx-sec--empieza{padding-top:clamp(20px,3vw,36px);padding-bottom:clamp(12px,2vw,24px)}
.gx-sec--empieza .gx-salas{grid-template-columns:repeat(3,minmax(0,1fr))}
.gx-sec--empieza .gx-mas{margin-top:14px}
@media (max-width:760px){
  .gx-sec--empieza .gx-salas{position:relative;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:10px;max-width:100%}
  .gx-sec--empieza .gx-sala{flex:0 0 86%;min-width:0;scroll-snap-align:start}
}

/* Páginas de ciudad y banda en móvil: el héroe es corto (título, frase y «Filtrar salas»); las fotos ya están en cada tarjeta. La primera sala entra en la primera pantalla. */
@media (max-width:760px){
  .gx-heroe--listado .gx-heroe-vis{display:none}
  .gx-heroe--listado{padding-top:12px;padding-bottom:0}
  .gx-heroe--listado+.bloque{padding-top:10px}
  .gx-heroe--listado .gx-lead{font-size:1rem;margin-bottom:12px}
  .gx-heroe--listado .gx-acc{display:none}
  .gx-heroe--listado .sello{display:none}
}
