/* ═══════════════════════════════════════════════════════════════════════
 * /guias · portada de las guías por ciudad (2026-10-25)
 * Prefijo .gx- · móvil primero · plano (sin blur, sin sombras difusas,
 * sin degradados; seo/diseno/guia-diseno.md). Paleta: navy + terracota +
 * melocotón, salvia, cielo, lila y arena. Animaciones solo con transform y
 * opacity, apagadas con prefers-reduced-motion; nada infinito en móvil.
 * Los enlaces llevan dos clases (.gx .gx-x) para ganar a «body.vs a».
 * ═════════════════════════════════════════════════════════════════════ */

.gx{
  --navy:#1A3151; --navy-2:#24406A; --navy-3:#2E4C7A; --navy-4:#122440;
  --cta:#B75A44; --cta-h:#9B4532; --acc:#C96A54;
  --cream:#F8F2E8; --cream-2:#F3EEE6;
  --melo:#F2CDB9; --salvia:#B5C9AE; --arena:#EBDDBE; --cielo:#C9D9EA; --lila:#DCD3EA;
  --line:#E3DDD4; --txt:#1A3151; --txt-2:#455976; --txt-3:#5B6F8B;
  --ease:cubic-bezier(.2,.7,.2,1); --spring:cubic-bezier(.34,1.56,.64,1);
  --disp:"Bricolage Grotesque","Bricolage Reserva",Arial,sans-serif;
  --serif:"Instrument Serif","Instrument Reserva","Times New Roman",serif;
  --sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --top:calc(var(--vs-hdr,64px) + 12px);
  background:var(--cream);
  color:var(--txt)!important;
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6;
  letter-spacing:-.5px;
  overflow-x:clip;
}
.gx *,.gx *::before,.gx *::after{box-sizing:border-box}
.gx :where(button,input){letter-spacing:inherit;font-family:inherit}
.gx :where(h1,h2,h3){margin:0;color:var(--navy)!important;letter-spacing:-.02em}
.gx :where(p,ul,ol){margin:0}
.gx :where(ul,ol){padding:0!important;list-style:none!important}
body.vs .gx :where(h1,h2,h3) em,.gx em{font-family:var(--serif)!important;font-style:italic;font-weight:400;letter-spacing:-.01em;padding-right:.04em}
.gx a{text-decoration-thickness:1px;text-underline-offset:3px}
.gx .gx-lnk{color:inherit!important;text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent)}
.gx .gx-lnk:hover{text-decoration-color:currentColor}
.gx :focus-visible{outline:3px solid var(--acc);outline-offset:3px;border-radius:8px}
.gx-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.gx-wrap{width:100%;max-width:1240px;margin-inline:auto;padding-inline:16px}
@media (min-width:640px){.gx-wrap{padding-inline:24px}}
.gx svg{overflow:visible}

/* ── Piezas ─────────────────────────────────────────────────────────── */
.gx .gx-kicker{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--melo)!important;margin-bottom:14px}
.gx .gx-kicker--cta{color:var(--cta-h)!important}
.gx .gx-kicker--light{color:var(--melo)!important}
.gx-dot{width:8px;height:8px;border-radius:50%;background:var(--acc)}
.gx-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;border:2px solid transparent;font:700 16px/1 var(--sans);letter-spacing:-.3px;text-decoration:none!important;cursor:pointer;transition:background-color .25s var(--ease),color .25s var(--ease),transform .25s var(--ease),border-color .25s var(--ease)}
.gx .gx-btn--pri{background:var(--cta);color:#fff!important}
.gx .gx-btn--pri:hover{background:var(--cta-h);color:#fff!important;transform:translateY(-2px)}
.gx .gx-btn--ghost{background:transparent;color:var(--navy)!important;border-color:color-mix(in srgb,var(--navy) 25%,transparent)}
.gx .gx-btn--ghost:hover{border-color:var(--navy);background:#fff}
.gx-ar{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s var(--ease)}
.gx-btn:hover .gx-ar,.gx-card:hover .gx-ar{transform:translateX(4px)}
.gx-h2{font-family:var(--disp);font-weight:750;font-size:clamp(2rem,1.4rem + 2.6vw,3.4rem);line-height:1.05!important;letter-spacing:-.03em!important}
.gx .gx-h2 em{color:var(--cta)!important}
.gx-p{font-size:clamp(1.02rem,.98rem + .25vw,1.15rem);color:var(--txt-2)!important;max-width:62ch}
.gx-head{display:grid;gap:14px;margin-bottom:32px}

/* Paleta de las comunidades (relleno del mapa y de las tarjetas). */
.gx-t-melo{--c:var(--melo);--c-d:#E9B79E}
.gx-t-salvia{--c:var(--salvia);--c-d:#9DB894}
.gx-t-cielo{--c:var(--cielo);--c-d:#ADC5DE}
.gx-t-lila{--c:var(--lila);--c-d:#C7BADF}
.gx-t-arena{--c:var(--arena);--c-d:#DFCB9F}
.gx-t-white{--c:#fff;--c-d:var(--cream)}

/* ═══ Hero ═══════════════════════════════════════════════════════════ */
.gx-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:#fff;padding:22px 0 30px;border-radius:0 0 36px 36px}
.gx-blob{position:absolute;z-index:-1;border-radius:50%;pointer-events:none}
.gx-blob--a{width:520px;height:520px;right:-180px;top:-220px;background:var(--navy-2)}
.gx-blob--b{width:240px;height:240px;left:-110px;bottom:-120px;background:color-mix(in srgb,var(--melo) 16%,var(--navy))}
.gx-hero__grid{display:grid;gap:26px;align-items:center}
@media (min-width:1024px){
  .gx-hero{padding:34px 0 46px}
  .gx-hero__grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px}
}
.gx-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13.5px;color:rgba(255,255,255,.72);margin-bottom:22px}
.gx .gx-crumbs a{color:rgba(255,255,255,.85)!important;text-decoration:none}
.gx .gx-crumbs a:hover{text-decoration:underline}
.gx .gx-h1{font-family:var(--disp);font-weight:750;font-size:clamp(2.2rem,1.3rem + 3.4vw,4rem);line-height:1.02!important;letter-spacing:-.032em!important;color:#fff!important;margin-bottom:18px;text-wrap:balance}
body.vs .gx .gx-h1 em{color:var(--melo)!important}
.gx .gx-lead{font-size:clamp(1.04rem,.98rem + .3vw,1.2rem);color:rgba(255,255,255,.82)!important;max-width:58ch;margin-bottom:24px}

/* Buscador tipo paleta de comandos */
.gx-search{position:relative;z-index:30;max-width:600px}
.gx-search__box{position:relative;display:flex;align-items:center;min-height:64px;border-radius:22px;background:#fff;border:2px solid #fff;transition:border-color .2s ease,transform .3s var(--ease)}
.gx-search.is-open .gx-search__box,.gx-search__box:focus-within{border-color:var(--acc)}
.gx-search__ico{position:absolute;left:20px;width:24px;height:24px;fill:none;stroke:var(--navy);stroke-width:2.2;stroke-linecap:round;pointer-events:none}
.gx .gx-search__in{width:100%;height:60px;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;padding:0 56px 0 56px!important;font:600 18px/1 var(--sans)!important;color:var(--navy)!important;border-radius:22px;-webkit-appearance:none;appearance:none}
.gx-search__in::placeholder{color:var(--txt-3);font-weight:500;opacity:1}
.gx-search__in::-webkit-search-cancel-button{display:none}
.gx-search__kbd{position:absolute;right:16px;display:none;place-items:center;width:28px;height:28px;border-radius:8px;border:1.5px solid var(--line);color:var(--txt-3);font:600 14px/1 var(--sans)}
@media (pointer:fine){.gx-search__kbd{display:grid}}
.gx-search.is-open .gx-search__kbd{display:none}
.gx .gx-search__hint{margin-top:10px;font-size:13.5px;color:rgba(255,255,255,.66)!important}
.gx-res{position:absolute;left:0;right:0;top:calc(100% + 8px);max-height:min(430px,60vh);overflow:auto;overscroll-behavior:contain;padding:8px!important;border-radius:22px;background:#fff;border:2px solid var(--line);color:var(--navy);transform-origin:top center;animation:gx-pop .22s var(--ease)}
@keyframes gx-pop{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}
.gx-res__h{padding:10px 12px 6px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--txt-3)}
.gx .gx-opt{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;min-height:56px;padding:8px 12px;border-radius:14px;color:var(--navy)!important;text-decoration:none!important;cursor:pointer;transition:background-color .15s ease}
.gx .gx-opt[aria-selected="true"],.gx .gx-opt:hover{background:color-mix(in srgb,var(--melo) 55%,#fff)}
.gx-opt__i{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--cream)}
.gx-opt__i svg{width:20px;height:20px;fill:none;stroke:var(--navy);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gx-opt--g .gx-opt__i{background:var(--cta)}
.gx-opt--g .gx-opt__i svg{stroke:#fff}
.gx-opt__t{display:block;font-weight:700;font-size:15.5px;line-height:1.25}
.gx-opt__t mark{background:none;color:var(--cta-h);padding:0}
.gx-opt__s{display:block;font-size:13.5px;color:var(--txt-2);line-height:1.35;margin-top:2px}
.gx-opt__k{font-size:12px;font-weight:700;color:var(--txt-3);white-space:nowrap}
.gx-res__empty{padding:14px 12px;font-size:14.5px;color:var(--txt-2)}

.gx-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:26px!important;max-width:600px}
.gx-stats li{padding:14px 14px 12px;border-radius:20px;background:var(--navy-2)}
.gx-stats b{display:block;font-family:var(--disp);font-weight:750;font-size:clamp(1.6rem,1.2rem + 1.4vw,2.3rem);line-height:1;letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums}
.gx-stats span{display:block;margin-top:6px;font-size:13px;line-height:1.3;color:rgba(255,255,255,.74)}

/* ── Mapa ──────────────────────────────────────────────────────────── */
.gx-map{position:relative}
.gx-map__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-bottom:6px}
.gx .gx-map__now{font-family:var(--disp);font-weight:700;font-size:20px;color:#fff!important;letter-spacing:-.02em}
.gx-map__back{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid rgba(255,255,255,.35);background:transparent;color:#fff;font:700 14px/1 var(--sans);cursor:pointer;transition:background-color .2s ease,border-color .2s ease}
.gx-map__back:hover{background:var(--navy-2);border-color:#fff}
.gx-map__back svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.gx .gx-svg{overflow:hidden;border-radius:20px}
.gx-svg{display:block;width:100%;height:auto;aspect-ratio:1000/961;touch-action:pan-y;user-select:none;-webkit-user-select:none;--k:1.6}
.gx-can{fill:none;stroke:rgba(255,255,255,.22);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:4 5}
.gx-can__t{fill:rgba(255,255,255,.6);font:600 15px var(--sans);letter-spacing:.02em}
.gx-cc{fill:var(--navy-3);transition:fill .25s ease,opacity .35s ease}
.gx-cc--on{fill:var(--c);cursor:pointer}
.gx-cc--on:hover,.gx-cc--on.is-hot{fill:var(--c-d)}
.gx-cc path{stroke:none}
.gx-prov{fill:none;stroke:rgba(26,49,81,.22);stroke-width:.8;vector-effect:non-scaling-stroke;pointer-events:none}
.gx-lim{fill:none;stroke:var(--navy);stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-linejoin:round;pointer-events:none}
.gx-svg.is-zoom .gx-cc:not(.is-sel){opacity:.45}

/* Entrada del mapa: comunidades en cascada y puntos que caen. */
.gx-js .gx-cc{opacity:0;transform:translateY(10px);transform-box:fill-box;transform-origin:center}
.gx-js .gx-map.is-in .gx-cc{opacity:1;transform:none;transition:opacity .6s var(--ease) calc(var(--i)*45ms),transform .7s var(--ease) calc(var(--i)*45ms),fill .25s ease}
.gx-js .gx-map.is-in .gx-svg.is-zoom .gx-cc:not(.is-sel){opacity:.45}

.gx-pin{cursor:pointer;outline:none}
.gx-pin__g{transform:translate(var(--x),var(--y)) scale(var(--k));transition:transform .2s var(--ease)}
.gx-pin__hit{fill:transparent}
.gx-pin__dot{fill:var(--cta);stroke:#fff;stroke-width:2.5;transition:fill .2s ease}
.gx-pin__ring{fill:none;stroke:var(--acc);stroke-width:2;opacity:0}
.gx-pin__t{fill:#fff;font:700 13px var(--sans);letter-spacing:-.2px;paint-order:stroke;stroke:var(--navy);stroke-width:4px;stroke-linejoin:round;pointer-events:none;opacity:0;transition:opacity .25s ease}
.gx-pin--l .gx-pin__t{text-anchor:end}
.gx-svg.is-labels .gx-pin__t,.gx-svg.is-zoom .gx-pin.is-cc .gx-pin__t,.gx-pin:hover .gx-pin__t,.gx-pin:focus-visible .gx-pin__t,.gx-pin.is-on .gx-pin__t{opacity:1}
.gx-svg.is-zoom .gx-pin:not(.is-cc){opacity:.35}
.gx-pin:hover .gx-pin__dot,.gx-pin:focus-visible .gx-pin__dot,.gx-pin.is-on .gx-pin__dot{fill:var(--navy)}
.gx-pin:focus-visible .gx-pin__dot{stroke:var(--acc);stroke-width:3.5}
.gx-pin.is-on .gx-pin__ring{opacity:1;animation:gx-ring 1.6s var(--ease) 3}
@keyframes gx-ring{from{transform:scale(1);opacity:.9}to{transform:scale(3.2);opacity:0}}
.gx-js .gx-pin__dot,.gx-js .gx-pin__t{opacity:0}
.gx-js .gx-map.is-in .gx-pin__dot{opacity:1;animation:gx-drop .6s var(--spring) calc(500ms + var(--d)*35ms) both}
@keyframes gx-drop{from{opacity:0;transform:translateY(-26px) scale(.4)}to{opacity:1;transform:none}}
.gx-js .gx-map.is-in .gx-svg.is-labels .gx-pin__t{opacity:1;transition:opacity .4s ease calc(900ms + var(--d)*25ms)}

/* Ruta del municipio buscado a su guía */
.gx-route{pointer-events:none;opacity:0;transition:opacity .25s ease}
.gx-route.is-on{opacity:1}
.gx-route path{fill:none;stroke:var(--melo);stroke-width:2.5;stroke-dasharray:6 6;vector-effect:non-scaling-stroke;stroke-linecap:round;animation:gx-dash 1s linear 2}
@keyframes gx-dash{to{stroke-dashoffset:-24}}
.gx-route circle{fill:var(--melo);stroke:var(--navy);stroke-width:2;vector-effect:non-scaling-stroke}

.gx-tip{position:absolute;z-index:20;left:0;top:0;padding:8px 12px;border-radius:12px;background:#fff;border:2px solid var(--line);color:var(--navy);font-size:13.5px;font-weight:600;line-height:1.3;white-space:nowrap;pointer-events:none;transform:translate(-50%,calc(-100% - 14px))}
.gx-tip b{font-family:var(--disp);font-weight:700;font-size:15px}
.gx-tip span{display:block;color:var(--txt-2);font-weight:500}

.gx .gx-map__src{margin-top:10px;font-size:12px;color:rgba(255,255,255,.55)!important}

/* Ficha de la ciudad: hoja inferior en móvil, tarjeta sobre el mapa en escritorio */
.gx-panel{position:fixed;z-index:1040;left:8px;right:8px;bottom:8px;max-height:78vh;overflow:auto;overscroll-behavior:contain;padding:22px 20px 20px;border-radius:28px;background:#fff;color:var(--navy);border:2px solid var(--line);animation:gx-sheet .38s var(--ease)}
@keyframes gx-sheet{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
@media (min-width:1024px){
  .gx-panel{position:absolute;z-index:25;left:auto;right:0;top:54px;bottom:auto;width:340px;max-height:calc(100% - 96px);padding:20px 18px 18px;animation-name:gx-card}
  .gx-pn__l li{padding:8px 12px;font-size:14px}
  @keyframes gx-card{from{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}
}
.gx-panel__x{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:0;background:var(--cream);cursor:pointer;transition:background-color .2s ease}
.gx-panel__x:hover{background:var(--melo)}
.gx-panel__x svg{width:20px;height:20px;fill:none;stroke:var(--navy);stroke-width:2.2;stroke-linecap:round}
.gx-pn__k{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cta-h)}
.gx .gx-pn__t{font-family:var(--disp);font-weight:750;font-size:28px;line-height:1.05;letter-spacing:-.03em;margin:6px 48px 4px 0}
.gx-pn__r{font-size:14px;color:var(--txt-2)}
.gx-pn__l{display:grid;gap:8px;margin:16px 0!important}
.gx-pn__l li{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;padding:10px 12px;border-radius:16px;background:var(--cream);font-size:14.5px;line-height:1.4}
.gx-pn__l svg{width:22px;height:22px;margin-top:1px;fill:none;stroke:var(--cta);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.gx-pn__l b{font-weight:700}
.gx-pn__l small{display:block;font-size:12.5px;color:var(--txt-3);margin-top:2px}
.gx .gx-pn__l a[href^="tel"]{white-space:nowrap}
.gx .gx-pn__l a{color:var(--navy)!important;font-weight:700;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--cta) 55%,transparent)}
.gx-pn__btns{display:grid;gap:8px}
.gx-pn__btns .gx-btn{width:100%}
.gx-pn__f{margin-top:12px;font-size:12.5px;color:var(--txt-3)}
.gx-pn__cl{display:grid;gap:8px;margin-top:14px!important}
.gx .gx-pn__cl a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:0 16px;border-radius:16px;background:var(--cream);color:var(--navy)!important;font-weight:700;text-decoration:none;transition:background-color .2s ease}
.gx .gx-pn__cl a:hover{background:var(--melo)}

/* ═══ Secciones ══════════════════════════════════════════════════════ */
.gx-sec{padding:64px 0}
.gx-sec--tight{padding:8px 0 40px}
@media (min-width:1024px){.gx-sec{padding:96px 0}}
.gx-sec--navy{background:var(--navy);color:#fff;border-radius:36px;margin-inline:8px}
@media (min-width:1024px){.gx-sec--navy{margin-inline:16px}}
.gx-sec--navy .gx-h2{color:#fff!important}
body.vs .gx .gx-sec--navy .gx-h2 em{color:var(--melo)!important}

/* Filtro por comunidad */
.gx-filt{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -16px 28px;padding:2px 16px 6px;scroll-snap-type:x proximity}
.gx-filt::-webkit-scrollbar{display:none}
@media (min-width:900px){.gx-filt{flex-wrap:wrap;overflow:visible;margin-inline:0;padding-inline:0}}
.gx-chip{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:2px solid var(--line);background:#fff;color:var(--navy);font:600 14.5px/1 var(--sans);cursor:pointer;scroll-snap-align:start;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.gx-chip span{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--cream);font-size:12.5px;font-weight:700}
.gx-chip:hover{border-color:var(--navy)}
.gx-chip.is-on{background:var(--navy);border-color:var(--navy);color:#fff}
.gx-chip.is-on span{background:var(--cta);color:#fff}

.gx-groups{display:grid;gap:40px}
.gx-group[hidden]{display:none}
.gx-group.is-enter{animation:gx-up .45s var(--ease) both}
@keyframes gx-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.gx .gx-group__t{display:flex;align-items:baseline;gap:12px;font-family:var(--disp);font-weight:700;font-size:clamp(1.35rem,1.2rem + .6vw,1.7rem);margin-bottom:14px;padding-bottom:12px;border-bottom:2px solid var(--line)}
.gx-group__t span{font-family:var(--sans);font-size:14px;font-weight:600;color:var(--txt-3);letter-spacing:-.3px}
.gx-cards{display:grid;gap:12px;grid-template-columns:1fr}
/* Las comunidades con 1 o 2 guías se encajan juntas en la misma fila. */
@media (min-width:640px){
  .gx-groups{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row dense;column-gap:12px}
  .gx-groups .gx-group--n2,.gx-groups .gx-group--n3{grid-column:1/-1}
  .gx-groups .gx-group--n2 .gx-cards,.gx-groups .gx-group--n3 .gx-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1024px){
  .gx-groups{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gx-groups .gx-group--n2{grid-column:span 2}
  .gx-groups .gx-group--n3 .gx-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.gx .gx-card{position:relative;display:grid;grid-template-columns:72px 1fr 22px;align-items:center;gap:16px;min-height:112px;padding:16px 18px 16px 16px;border-radius:28px;background:#fff;border:2px solid var(--line);color:var(--navy)!important;text-decoration:none!important;transition:transform .3s var(--ease),border-color .25s ease,background-color .25s ease}
.gx .gx-card:hover{transform:translateY(-3px);border-color:var(--navy)}
.gx-card__map{width:72px;height:72px;padding:6px;border-radius:20px;background:var(--cream);fill:var(--c);transition:background-color .25s ease}
.gx-card:hover .gx-card__map{background:color-mix(in srgb,var(--c) 35%,#fff)}
.gx-card__map use{fill:var(--c-d)}
.gx-card__map circle{fill:var(--cta);stroke:#fff;stroke-width:0;transform-box:fill-box;transform-origin:center;transition:transform .35s var(--spring)}
.gx-card:hover .gx-card__map circle{transform:scale(1.5)}
.gx-card__b{display:grid;gap:3px;min-width:0}
.gx-card__n{font-size:14px;color:var(--txt-2);line-height:1.2}
.gx-card__n strong{display:block;font-family:var(--disp);font-weight:750;font-size:22px;color:var(--navy);letter-spacing:-.03em;line-height:1.1}
.gx-card__r{font-size:13px;color:var(--txt-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gx-card__m{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.gx-card__m span{padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--c) 45%,#fff);font-size:12px;font-weight:600;color:var(--navy);letter-spacing:-.2px}
.gx-card .gx-ar{color:var(--cta)}

/* Bento: qué hay en cada guía */
.gx-bento{display:grid;gap:12px;grid-template-columns:1fr}
@media (min-width:720px){.gx-bento{grid-template-columns:repeat(2,minmax(0,1fr))}.gx-tile--xl,.gx-tile--w{grid-column:1/-1}}
@media (min-width:1024px){
  .gx-bento{grid-template-columns:repeat(4,minmax(0,1fr))}
  .gx-tile--xl{grid-column:span 2;grid-row:span 2}
  .gx-tile--w{grid-column:1/-1;grid-template-columns:64px 1fr auto;align-items:center;column-gap:24px}
  .gx-tile--w h3,.gx-tile--w p{grid-column:2}
  .gx-tile--w .gx-ico{grid-row:1/3}
  .gx-tile--w .gx-btn{grid-column:3;grid-row:1/3;margin:0}
}
.gx-tile{display:grid;align-content:start;gap:10px;padding:26px 24px;border-radius:28px;background:var(--c);color:var(--navy)}
.gx .gx-tile h3{font-family:var(--disp);font-weight:700;font-size:21px;line-height:1.15;letter-spacing:-.025em}
.gx-tile p{font-size:15.5px;line-height:1.5;color:var(--navy);opacity:.86}
.gx-tile--xl{align-content:start}
.gx-tile--xl h3{font-size:clamp(1.6rem,1.3rem + 1.2vw,2.3rem)}
.gx-tile--xl p{font-size:17px;max-width:44ch}
.gx-tile .gx-btn{justify-self:start;margin-top:6px}
.gx-route-steps{display:grid;gap:8px;margin:8px 0 4px!important}
.gx-route-steps li{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:16px;background:rgba(255,255,255,.55);font-weight:600;font-size:15.5px;line-height:1.3;color:var(--navy)}
.gx-route-steps li:nth-child(2){margin-left:22px}
.gx-route-steps li:nth-child(3){margin-left:44px;background:#fff}
.gx-route-steps b{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--disp);font-size:14px}
.gx-js .gx-tile .gx-route-steps li{opacity:0;transform:translateX(-12px)}
.gx-js .gx-tile.is-in .gx-route-steps li{opacity:1;transform:none;transition:opacity .5s var(--ease),transform .5s var(--ease)}
.gx-js .gx-tile.is-in .gx-route-steps li:nth-child(2){transition-delay:.25s}
.gx-js .gx-tile.is-in .gx-route-steps li:nth-child(3){transition-delay:.5s}
.gx-ico{width:64px;height:64px;fill:none;stroke:var(--navy);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.gx-tile--xl .gx-ico{width:96px;height:96px}
.gx-js .gx-ico *{stroke-dasharray:1;stroke-dashoffset:1}
.gx-js .gx-tile.is-in .gx-ico *{stroke-dashoffset:0;transition:stroke-dashoffset 1.2s var(--ease) .15s}

/* Cómo las hacemos */
.gx-steps{display:grid;gap:12px}
@media (min-width:900px){.gx-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
.gx-steps li{display:grid;grid-template-columns:52px 1fr;grid-template-rows:auto 1fr;column-gap:16px;row-gap:6px;padding:22px;border-radius:28px;background:#fff;border:2px solid var(--line)}
.gx-steps b{grid-row:span 2;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--melo);font-family:var(--disp);font-weight:750;font-size:22px;color:var(--navy)}
.gx .gx-steps h3{font-family:var(--disp);font-weight:700;font-size:19px;line-height:1.2}
.gx-steps p{font-size:15px;color:var(--txt-2)}

/* ¿Tu ciudad no está? */
.gx-cta{display:grid;gap:24px;align-items:center;padding:32px 24px;border-radius:32px;background:var(--cielo)}
@media (min-width:900px){.gx-cta{grid-template-columns:1.3fr 1fr;padding:48px}}
.gx-cta .gx-p{margin-top:12px;color:var(--navy)!important}
.gx-cta__btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.gx-faces{display:flex;flex-wrap:wrap;justify-content:center;gap:0}
.gx-faces li{width:72px;height:72px;margin-left:-14px;border-radius:50%;border:4px solid var(--cielo);overflow:hidden;background:var(--cream)}
.gx-faces li:first-child{margin-left:0}
.gx-faces img{display:block;width:100%;height:100%;object-fit:cover}
@media (min-width:900px){.gx-faces li{width:96px;height:96px;margin-left:-20px}}
.gx-js .gx-cta.is-in .gx-faces li{animation:gx-face .6s var(--spring) calc(var(--i)*80ms) both}
@keyframes gx-face{from{opacity:0;transform:translateY(16px) scale(.8)}to{opacity:1;transform:none}}

/* Preguntas */
.gx-faqw{max-width:880px}
.gx-faq{display:grid;gap:10px}
.gx-faq__i{border-radius:22px;background:#fff;border:2px solid var(--line);transition:border-color .2s ease}
.gx-faq__i[open]{border-color:var(--navy)}
.gx-faq__i summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:16px 20px;font-family:var(--disp);font-weight:700;font-size:18px;line-height:1.3;letter-spacing:-.02em;cursor:pointer;list-style:none}
.gx-faq__i summary::-webkit-details-marker{display:none}
.gx-faq__pm{position:relative;flex:none;width:32px;height:32px;border-radius:50%;background:var(--cream)}
.gx-faq__pm::before,.gx-faq__pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;border-radius:2px;background:var(--navy);transition:transform .3s var(--ease)}
.gx-faq__pm::after{transform:rotate(90deg)}
.gx-faq__i[open] .gx-faq__pm{background:var(--melo)}
.gx-faq__i[open] .gx-faq__pm::after{transform:rotate(0)}
.gx-faq__i p{padding:0 20px 20px;color:var(--txt-2)!important;font-size:16px}
.gx-crisis{margin-top:24px!important;padding:16px 20px;border-radius:20px;background:color-mix(in srgb,var(--melo) 55%,#fff);font-size:15.5px}

/* Aparición al bajar */
.gx-js .gx-rv{opacity:0;transform:translateY(18px)}
.gx-js .gx-rv.is-in{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease)}

@media (prefers-reduced-motion:reduce){
  .gx *,.gx *::before,.gx *::after{animation:none!important;transition:none!important}
  .gx-js .gx-rv,.gx-js .gx-cc,.gx-js .gx-pin__dot{opacity:1!important;transform:none!important}
  .gx-js .gx-ico *{stroke-dashoffset:0}
  .gx-js .gx-tile .gx-route-steps li{opacity:1;transform:none}
}
