/* ── tokens/fuentes.css ── */
@font-face{
  font-family:"Inter";
  src:url("/static/fonts/inter-latin.woff2") format("woff2");
  font-weight:400 700; font-style:normal; font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,
                U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,
                U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Inter";
  src:url("/static/fonts/inter-latin-ext.woff2") format("woff2");
  font-weight:400 700; font-style:normal; font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,
                U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,
                U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:"Playfair Display";
  src:url("/static/fonts/playfair-latin.woff2") format("woff2"),
      url("/static/fonts/playfair-600.woff2") format("woff2");
  font-weight:400 700; font-style:normal; font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,
                U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,
                U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Playfair Display";
  src:url("/static/fonts/playfair-latin-italic.woff2") format("woff2"),
      url("/static/fonts/playfair-500i.woff2") format("woff2");
  font-weight:400 700; font-style:italic; font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,
                U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,
                U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
:root{
  --fuente-interfaz:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --fuente-lectura:"Inter",system-ui,sans-serif;
  --fuente-ceremonial:"Playfair Display",Georgia,"Times New Roman",serif;
  --sintesis-fuente:none;
  --fuente-datos:"Inter",ui-monospace,SFMono-Regular,Menlo,monospace;
  --f-serif:var(--fuente-ceremonial);
  --f-palacio:var(--fuente-ceremonial);
  --f-sans:var(--fuente-interfaz);
  --sans:var(--fuente-interfaz);
}

/* ── tokens/colores.css ── */
:root{
  --negro:#0b0b0c;
  --oro:#d5b589;
  --plata:#96a1ad;
  --brisa:#bac7d4;
  --marino:#1c2d4a;
  --navy:var(--marino);
  --navy-2:#26395e;
  --navy-deep:#131f38;
  --navy-ink:#0d1626;
  --mostaza:#d39c00;
  --purpura:#a293b8;
  --nube:#e4eaee;
  --marfil:#efece3;
  --marfil-carnet:#efecd9;
  --oro-brillante:#f4d662;
  --dorado-texto-claro:#7a5c34;
  --dorado-texto-oscuro:#c9a56b;
  --dorado-ornamento:#8a6a3e;
  --oro-texto:#b8955e;
  --oro-linea:#8a6a3e;
  --degradado-plata:linear-gradient(135deg,var(--nube) 0%,var(--brisa) 45%,var(--plata) 100%);
  --degradado-oro:linear-gradient(135deg,var(--marfil) 0%,var(--oro) 100%);
  --degradado-plata-texto:linear-gradient(100deg,#ffffff 0%,var(--nube) 35%,var(--plata) 100%);
  --negro-000:#000000;
  --negro-050:#07080a;
  --negro-100:#0c0e11;
  --negro-200:#131619;
  --negro-300:#1b1f24;
  --negro-400:#24292f;
  --gris-500:#3a4048;
  --gris-600:#5b636c;
  --gris-700:#818b95;
  --gris-800:#aab4bf;
  --gris-900:#d7dde3;
  --gris-950:#eef1f4;
  --blanco:#ffffff;
  --verde-exito:#3f7d63;
  --ambar-aviso:#8a6600;
  --rojo-error:#a4423a;
  --azul-info:#4a6c99;
  --cardenillo:#6fa092;
  --cardenillo-profundo:#16302c;
  --granate:#d4787a;
  --terciopelo:#3a1519;
  --ambar:#d59a4a;
  --niebla:#9fb4bb;
  --oro-a06:color-mix(in srgb, var(--oro) 6%, transparent);
  --oro-a12:color-mix(in srgb, var(--oro) 12%, transparent);
  --oro-a18:color-mix(in srgb, var(--oro) 18%, transparent);
  --oro-a30:color-mix(in srgb, var(--oro) 30%, transparent);
  --oro-a55:color-mix(in srgb, var(--oro) 55%, transparent);
}

/* ── tokens/formas.css ── */
:root{
  --radio-0:0px;
  --radio-xs:0px;
  --radio-sm:0px;
  --radio-md:0px;
  --radio-lg:0px;
  --radio-xl:0px;
  --radio-pastilla:999px;
  --borde-fino:1px;
  --borde-medio-grosor:1.5px;
  --sombra-1:0 1px 2px rgba(0,0,0,.24);
  --sombra-2:0 8px 24px rgba(0,0,0,.32);
  --sombra-3:0 24px 64px rgba(0,0,0,.48);
  --sombra-clara-1:0 1px 2px rgba(28,45,74,.06);
  --sombra-clara-2:0 8px 24px rgba(28,45,74,.10);
  --brillo-interno:inset 0 1px 0 rgba(255,255,255,.08);
  --velo-inferior:linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.65) 35%,rgba(0,0,0,0) 100%);
  --velo-lateral:linear-gradient(to right,rgba(0,0,0,.94) 0%,rgba(0,0,0,.55) 45%,rgba(0,0,0,0) 100%);
  --desenfoque-panel:blur(18px) saturate(1.1);
}

/* ── tokens/tipografia.css ── */
:root{
  --tipo-micro:11px;
  --tipo-xs:12px;
  --tipo-sm:14px;
  --tipo-base:17px;
  --tipo-md:18px;
  --tipo-lg:21px;
  --tipo-xl:26px;
  --tipo-2xl:32px;
  --tipo-3xl:clamp(34px, 2.4vw + 18px, 42px);
  --tipo-4xl:clamp(40px, 3.4vw + 16px, 56px);
  --tipo-5xl:clamp(46px, 5vw + 12px, 72px);
  --peso-ligero:300;
  --peso-normal:400;
  --peso-medio:500;
  --peso-semi:600;
  --peso-fuerte:700;
  --interlinea-ajustada:1.05;
  --interlinea-titulo:1.18;
  --interlinea-normal:1.55;
  --interlinea-amplia:1.75;
  --tracking-titulo:-0.02em;
  --tracking-titulo-grande:-0.025em;
  --tracking-nav:0.14em;
  --tracking-normal:0em;
  --tracking-ancho:0.06em;
  --tracking-etiqueta:0.18em;
  --t-billboard:var(--tipo-5xl);
  --t-display:var(--tipo-3xl);
  --t-h1:var(--tipo-2xl);
  --t-h2:var(--tipo-xl);
  --t-body:var(--tipo-base);
  --t-label:var(--tipo-xs);
}

/* ── tokens/espaciado.css ── */
:root{
  --esp-0:0px;
  --esp-1:4px;
  --esp-2:8px;
  --esp-3:12px;
  --esp-4:16px;
  --esp-5:20px;
  --esp-6:24px;
  --esp-8:32px;
  --esp-10:40px;
  --esp-12:48px;
  --esp-16:64px;
  --esp-20:80px;
  --esp-24:96px;
  --esp-32:128px;
  --ancho-contenido:1240px;
  --ancho-lectura:68ch;
  --margen-seguridad-logo:1em;
}

/* ── tokens/movimiento.css ── */
:root{
  --dur-rapida:120ms;
  --dur-media:220ms;
  --dur-lenta:420ms;
  --dur-cine:900ms;
  --curva-salida:cubic-bezier(.2,.8,.2,1);
  --curva-entrada:cubic-bezier(.4,0,1,1);
  --curva-suave:cubic-bezier(.25,.1,.25,1);
  --curva-lux:cubic-bezier(.16,1,.3,1);
  --escala-presion:.985;
  --escala-realce:1.04;
  --paso-coreo:60ms;
  --revelado-distancia:12px;
  --m-fast:var(--dur-rapida);
  --m-card:var(--dur-lenta);
  --m-nav:var(--dur-lenta);
  --m-billboard:var(--dur-cine);
  --e-out:var(--curva-salida);
  --e-in:var(--curva-entrada);
  --ease-lux:var(--curva-lux);
}
@media (prefers-reduced-motion: reduce){
  :root{
    --dur-rapida:0ms;
    --dur-media:0ms;
    --dur-lenta:0ms;
    --dur-cine:0ms;
    --escala-presion:1;
    --escala-realce:1;
  }
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}

/* ── tokens/semantica.css ── */
:root,.tema-oscuro,body.tema-club{
  --fondo-base:var(--negro);
  --fondo-hundido:var(--negro-050);
  --fondo-superficie:var(--negro-200);
  --fondo-elevado:var(--negro-300);
  --fondo-velo:rgba(8,9,11,.72);
  --fondo-sutil:rgba(255,255,255,.04);
  --fondo-sutil-fuerte:rgba(255,255,255,.08);
  --texto-primario:var(--marfil);
  --texto-secundario:var(--gris-800);
  --texto-tenue:var(--gris-600);
  --texto-invertido:var(--negro-000);
  --texto-enlace:var(--brisa);
  --texto-enlace-hover:var(--blanco);
  --texto-oro:var(--dorado-texto-oscuro);
  --ornamento-oro:var(--oro);
  --borde-tenue:rgba(255,255,255,.10);
  --borde-medio:rgba(255,255,255,.18);
  --borde-dorado:var(--oro-a55);
  --borde-plata:rgba(186,199,212,.45);
  --acento-primario:var(--oro);
  --acento-mostaza:var(--mostaza);
  --acento-marca:var(--degradado-plata-texto);
  --marca-agua-dorada:var(--oro-a12);
  --estado-exito:var(--cardenillo);
  --estado-aviso:var(--ambar);
  --estado-error:var(--granate);
  --estado-info:var(--niebla);
  --fondo-exito:var(--cardenillo-profundo);
  --fondo-error:var(--terciopelo);
  --sombra-carta:none;
  --anillo-foco:0 0 0 2px rgba(186,199,212,.65);
}
.tema-claro,body.tema-papel{
  --fondo-base:var(--blanco);
  --fondo-hundido:var(--gris-950);
  --fondo-superficie:var(--blanco);
  --fondo-elevado:var(--blanco);
  --fondo-velo:rgba(255,255,255,.85);
  --fondo-sutil:rgba(28,45,74,.04);
  --fondo-sutil-fuerte:rgba(28,45,74,.08);
  --texto-primario:var(--marino);
  --texto-secundario:var(--gris-600);
  --texto-tenue:var(--gris-700);
  --texto-invertido:var(--blanco);
  --texto-enlace:var(--marino);
  --texto-enlace-hover:var(--dorado-texto-claro);
  --texto-oro:var(--dorado-texto-claro);
  --ornamento-oro:var(--dorado-ornamento);
  --borde-tenue:rgba(28,45,74,.10);
  --borde-medio:rgba(28,45,74,.18);
  --borde-dorado:rgba(138,106,62,.55);
  --borde-plata:rgba(150,161,173,.55);
  --acento-primario:var(--oro-texto);
  --acento-mostaza:#a87e00;
  --acento-marca:linear-gradient(100deg,var(--plata) 0%,var(--marino) 100%);
  --marca-agua-dorada:transparent;
  --estado-exito:var(--verde-exito);
  --estado-aviso:var(--ambar-aviso);
  --estado-error:var(--rojo-error);
  --estado-info:var(--azul-info);
  --sombra-carta:var(--sombra-clara-2);
  --anillo-foco:0 0 0 2px rgba(28,45,74,.35);
}
:root{
  --cine-fondo:var(--negro-000);
  --cine-superficie:var(--negro-200);
  --papel-fondo:var(--blanco);
  --papel-hundido:var(--gris-950);
  --papel-tinta:var(--marino);
}
:root, .tema-oscuro, body.tema-club{
  --muted:var(--texto-secundario);
  --line:var(--oro-a18);
  --gold:var(--texto-oro);
  --gold-2:var(--texto-oro);
  --navy:var(--marino);
  --serif:var(--fuente-ceremonial);
}
.tema-claro, body.tema-papel{
  --muted:var(--texto-secundario);
  --line:var(--borde-tenue);
  --gold:var(--texto-oro);
  --gold-2:var(--dorado-ornamento);
  --navy:var(--marino);
  --serif:var(--fuente-ceremonial);
}

/* ── tokens/carnet.css ── */
:root{
  --carnet-ratio:1.585;
  --carnet-radio:6px;
  --carnet-fondo:linear-gradient(150deg,#15181c 0%,#000000 46%,#0b0d10 100%);
  --carnet-filete:rgba(213,181,137,.62);
  --carnet-filete-tenue:rgba(213,181,137,.22);
  --carnet-guilloche:rgba(213,181,137,.10);
  --carnet-marca-agua:rgba(213,181,137,.12);
  --carnet-codigo-fondo:#ffffff;
  --carnet-codigo-barra:#000000;
  --nivel-silver-lamina:linear-gradient(135deg,#e4eaee 0%,#bac7d4 45%,#96a1ad 100%);
  --nivel-silver-tinta:#1c2d4a;
  --nivel-silver-filete:rgba(150,161,173,.70);
  --nivel-purple-lamina:linear-gradient(135deg,#ded5e8 0%,#a293b8 48%,#6f5f88 100%);
  --nivel-purple-tinta:#241a33;
  --nivel-purple-filete:rgba(162,147,184,.70);
  --nivel-gold-lamina:linear-gradient(135deg,color-mix(in srgb,#efecd9 70%,#f4d662) 0%,#d5b589 46%,#8a6a3e 100%);
  --nivel-gold-tinta:#3c2c14;
  --nivel-gold-filete:rgba(213,181,137,.75);
  --nivel-expert-lamina:linear-gradient(135deg,#24292f 0%,#000000 58%,#12151a 100%);
  --nivel-expert-tinta:#f4d662;
  --nivel-expert-filete:rgba(244,214,98,.72);
  --insignia-silver-fondo:rgba(186,199,212,.14);
  --insignia-silver-tinta:#d7dde3;
  --insignia-purple-fondo:rgba(162,147,184,.18);
  --insignia-purple-tinta:#cfc3de;
  --insignia-gold-fondo:rgba(213,181,137,.16);
  --insignia-gold-tinta:#e2c9a6;
  --insignia-expert-fondo:rgba(244,214,98,.14);
  --insignia-expert-tinta:#f4d662;
}
.tema-claro,body.tema-papel{
  --insignia-silver-fondo:rgba(28,45,74,.07);
  --insignia-silver-tinta:#41505f;
  --insignia-purple-fondo:rgba(111,95,136,.12);
  --insignia-purple-tinta:#54456b;
  --insignia-gold-fondo:rgba(213,181,137,.20);
  --insignia-gold-tinta:#8a6a3e;
  --insignia-expert-fondo:rgba(28,45,74,.92);
  --insignia-expert-tinta:#f4d662;
}

/* ── tokens/palacio.css ── */
:root{
  --laca:#141210; --laca-2:#1c1915;
  --marfil-2:#b9b5aa; --marfil-3:#8f8b82;
  --oro-luz:#f3e3bd; --oro-sombra:#5a4424;
  --negro-rgb:11 11 12;
  --placa-fondo:#262320;
  --placa-trama:rgb(213 181 137 / .30);
  --placa-filete:var(--oro-linea);
 --laton-tinta:#2a1f10; --brillo-laton:rgb(255 240 200 / .6); --sombra-objeto:rgb(0 0 0 / .7); --sombra-bisel:rgb(0 0 0 / .55);
  --laton:linear-gradient(160deg,#f0dcb0 0%,#d5b589 18%,#b8955e 42%,#d5b589 58%,#a07d4c 82%,#c9a86a 100%);
  --canal:4vw; --s-acto:clamp(64px,8vw,128px); --paso-riel:clamp(32px,2.5vw,40px);
}
.acto__carnet, body.pagina-carnet .mi-bloque:has(> .carnet){ --marfil:var(--marfil-carnet); --radio-xs:2px; --radio-sm:4px; --radio-md:8px; --radio-lg:12px; --radio-xl:20px; --radio-pastilla:999px; }
body{ background:var(--negro); color:var(--marfil); font:450 var(--t-body)/1.55 var(--f-sans); }
h2,.titulo{ font-family:var(--f-palacio); font-weight:400; letter-spacing:-.01em; }

/* ── tokens/heredado.css ── */
:root {
  --ink:          #262d3f;
  --paper:        #f6f3ec;
  --paper-2:      #efeadf;
  --card:         #fffdf8;
  --papel-marfil:    #f8f4ea;
  --papel-marfil-2:  #f3efe6;
  --papel-marfil-3:  #f6f2e8;
  --gold-deep:    #b3905e;
  --gold-line:    var(--oro-a55);
  --gold-text:    var(--oro-linea);
  --golden:       var(--mostaza);
  --gold-bright:  var(--oro-brillante);
  --amber:        #b97f24;
  --amber-bg:     #f7ead3;
  --danger:       #a13c3c;
  --danger-bg:    #f6e3e0;
  --radius:       0;
  --radius-sm:    0;
  --shadow:       none;
  --shadow-soft:  none;
  --perla:        #f7f5f0;
  --azul-mar:     var(--brisa);
  --negro-eleg:   #101216;
  --eleg-1:       #23262d;
  --eleg-2:       #16181d;
  --grad-silver:  linear-gradient(135deg, #e4eaee, #96a1ad);
  --grad-gold:    linear-gradient(135deg, #efecd9, #d5b589);
  --ease-exit:    var(--e-in);
  --dur-micro:    var(--m-fast);
  --dur-std:      var(--dur-media);
  --dur-hero:     var(--m-card);
}

/* ── ax.css ── */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(1200px 500px at 85% -8%, var(--oro-a12), transparent 60%),
    var(--paper);
  color: var(--ink);
  font: 16px/1.6 var(--sans);
  overflow-x: hidden;
}
img, svg { max-width: 100%; display: block; }
a { color: var(--navy); }
h2, h3, h4 { font-family: var(--serif); font-weight: 600; color: var(--navy); letter-spacing: .01em; margin: 0 0 .5rem; }
h2 { font-size: clamp(1.25rem, 3.6vw, 1.6rem); line-height: 1.2; }
h3 { font-size: var(--tipo-base); }
p  { margin: .35rem 0 1rem; }
.eyebrow {
  display: block;
  font: 600 .68rem/1 var(--sans);
  letter-spacing: .32em;
  text-transform: uppercase;
  margin-bottom: .65rem;
}
.hairline {
  border: 0;
  height: 1px;
  margin: 1.4rem 0;
  background: linear-gradient(90deg, transparent, var(--gold-line) 18%, var(--gold-line) 82%, transparent);
}
.ax-header {
  background: linear-gradient(180deg, var(--navy) 0%, var(--navy-deep) 100%);
  border-bottom: 1px solid var(--gold-line);
  padding: .85rem clamp(1rem, 4vw, 2.5rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem 1.5rem;
  flex-wrap: wrap;
}
.ax-wordmark {
  text-decoration: none;
  display: flex;
  align-items: baseline;
  gap: .55rem;
  white-space: nowrap;
}
.ax-wordmark .ax-sigla {
  font-family: var(--serif);
  font-size: 1.55rem;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: .04em;
}
.ax-wordmark .ax-resto {
  font: 600 .72rem/1 var(--sans);
  letter-spacing: .42em;
  text-transform: uppercase;
  color: var(--papel-marfil-2);
  padding-left: .55rem;
  border-left: 1px solid var(--gold-line);
}
.ax-nav {
  display: flex;
  align-items: center;
  gap: .25rem;
  overflow-x: auto;
  max-width: 100%;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.ax-nav::-webkit-scrollbar { display: none; }
.ax-nav a {
  color: #e8e4d9;
  text-decoration: none;
  font: 500 .82rem/1 var(--sans);
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: .55rem .7rem;
  border-radius: 999px;
  white-space: nowrap;
  transition: color .18s, background .18s;
}
.ax-nav a:hover { color: var(--gold-2); background: var(--oro-a06); }
.ax-nav a.nav-salir {
  color: var(--gold);
  border: 1px solid var(--gold-line);
  margin-left: .35rem;
}
.ax-nav a.nav-salir:hover { background: var(--oro-a12); }
.ax-main {
  flex: 1;
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding: clamp(1.4rem, 4vw, 2.8rem) clamp(1rem, 4vw, 2.5rem) 3.5rem;
}
.ax-main.ancho-completo { max-width: none; padding: 0; }
.ax-footer {
  border-top: 1px solid var(--line);
  padding: 1.3rem clamp(1rem, 4vw, 2.5rem);
  font: 500 .72rem/1.5 var(--sans);
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--muted);
  text-align: center;
}
body.pagina-navy {
  background:
    radial-gradient(900px 480px at 50% -10%, var(--oro-a12), transparent 62%),
    radial-gradient(700px 500px at 100% 110%, var(--negro-400), transparent 60%),
    var(--navy-deep);
}
body.pagina-navy .ax-header { background: transparent; border-bottom-color: var(--oro-a30); }
body.pagina-navy .ax-footer { border-top-color: var(--oro-a30); color: rgba(232, 228, 217, .55); }
body.pagina-navy .ax-main { display: flex; align-items: center; justify-content: center; }
.btn {
  display: inline-block;
  font: 600 .8rem/1 var(--sans);
  letter-spacing: .16em;
  text-transform: uppercase;
  padding: .85rem 1.6rem;
  border-radius: 999px;
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  transition: transform .15s, box-shadow .15s, background .15s, color .15s;
}
.btn:active { transform: translateY(1px); }
.btn-oro {
  background: linear-gradient(135deg, var(--gold-2) 0%, var(--gold) 45%, var(--gold-deep) 100%);
  color: var(--navy-ink);
  box-shadow: 0 10px 22px -12px rgba(179, 144, 94, .7);
}
.btn-oro:hover { box-shadow: 0 14px 28px -12px rgba(179, 144, 94, .85); }
.btn-linea {
  background: transparent;
  color: var(--navy);
  border-color: var(--navy);
}
.btn-linea:hover { background: var(--navy); color: var(--gold-2); }
.btn-linea-oro {
  background: transparent;
  color: var(--gold);
  border-color: var(--gold-line);
}
.btn-linea-oro:hover { background: var(--oro-a12); }
.btn-bloque { display: block; width: 100%; }
.tarjeta {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
  padding: clamp(1.15rem, 3vw, 1.7rem);
}
.tarjeta-navy {
  background: linear-gradient(150deg, var(--navy-2) 0%, var(--navy-deep) 70%);
  border: 1px solid var(--gold-line);
  color: var(--marfil);
  box-shadow: var(--shadow);
}
.tarjeta-navy h1, .tarjeta-navy h2, .tarjeta-navy h3 { color: var(--papel-marfil-3); }
.pagina-cabecera {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: .8rem 1.5rem;
  margin-bottom: 1.6rem;
}
.pagina-cabecera h1 { margin-bottom: 0; }
.campo { margin-bottom: 1.05rem; }
.campo label {
  display: block;
  font: 600 .68rem/1 var(--sans);
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: .45rem;
}
.campo input, .campo select, .campo textarea {
  width: 100%;
  font: 400 1rem/1.4 var(--sans);
  color: var(--ink);
  background: var(--blanco);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: .72rem .9rem;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
  -webkit-appearance: none;
  appearance: none;
}
.campo select {
  background-image: linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);
  background-position: calc(100% - 18px) 55%, calc(100% - 13px) 55%;
  background-size: 5px 5px;
  background-repeat: no-repeat;
  padding-right: 2.2rem;
}
.campo textarea { min-height: 9rem; resize: vertical; }
.campo input:focus, .campo select:focus, .campo textarea:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--oro) 25%, transparent);
}
.campos-2 { display: grid; grid-template-columns: 1fr; gap: 0 1.1rem; }
@media (min-width: 640px) { .campos-2 { grid-template-columns: 1fr 1fr; } }
.aviso {
  border-radius: var(--radius-sm);
  padding: .8rem 1rem;
  font-size: var(--tipo-sm);
  margin-bottom: 1.1rem;
  border: 1px solid;
}
.aviso-error { background: var(--danger-bg); color: var(--danger); border-color: rgba(161, 60, 60, .3); }
.aviso-ok { background: #ecf3e8; color: #3d6b34; border-color: rgba(61, 107, 52, .3); }
.aviso-info {
  background: linear-gradient(90deg, var(--oro-a18), var(--oro-a06));
  color: var(--navy);
  border-color: var(--gold-line);
  font-weight: 500;
}
.acceso-caja {
  width: 100%;
  max-width: 420px;
  background: linear-gradient(160deg, var(--negro-300), var(--negro-100));
  border: 1px solid var(--gold-line);
  border-radius: 0;
  padding: clamp(1.6rem, 6vw, 2.6rem);
  box-shadow: 0 30px 60px -30px color-mix(in srgb, var(--negro-000) 65%, transparent);
  color: var(--marfil);
  text-align: center;
}
.acceso-caja::before {
  content: "";
  display: block;
  height: 2px;
  margin: -1.6rem -1.6rem 1.6rem;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
.acceso-sello {
  width: 66px; height: 66px;
  margin: 0 auto 1rem;
  border-radius: 50%;
  border: 1px solid var(--gold);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--serif);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--gold);
  background: radial-gradient(circle at 30% 25%, var(--oro-a30), transparent 60%);
}
.acceso-caja .eyebrow { color: var(--gold); }
.acceso-caja .campo { text-align: left; }
.acceso-caja .campo label { color: rgba(232, 228, 217, .75); }
.acceso-caja .campo input {
  background: var(--negro-100);
  border-color: var(--oro-a30);
  color: var(--papel-marfil-3);
}
.acceso-caja .campo input:focus { border-color: var(--gold); }
.kpi-rejilla {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .85rem;
  margin-bottom: 1.8rem;
}
@media (min-width: 820px) { .kpi-rejilla { grid-template-columns: repeat(4, 1fr); gap: 1.1rem; } }
.kpi {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.1rem 1.2rem 1rem;
  box-shadow: var(--shadow-soft);
  position: relative;
  overflow: hidden;
}
.kpi::after {
  content: "";
  position: absolute; inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, var(--gold-2), var(--gold-deep));
}
.kpi-cifra {
  font-family: var(--serif);
  font-size: clamp(1.9rem, 6vw, 2.5rem);
  font-weight: 700;
  color: var(--navy);
  line-height: 1;
}
.kpi-nombre {
  font: 600 .66rem/1.3 var(--sans);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--muted);
  margin-top: .5rem;
}
.accesos-rejilla {
  display: grid;
  grid-template-columns: 1fr;
  gap: .85rem;
}
@media (min-width: 640px) { .accesos-rejilla { grid-template-columns: repeat(3, 1fr); } }
.acceso-item em {
  display: block;
  font-style: normal;
  color: var(--gold-deep);
  font: 600 .7rem/1 var(--sans);
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-top: .8rem;
}
.chip-pais {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font: 600 .7rem/1 var(--sans);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--navy);
  background: linear-gradient(90deg, var(--oro-a30), var(--oro-a12));
  border: 1px solid var(--gold-line);
  border-radius: 999px;
  padding: .5rem .95rem;
}
.pill {
  display: inline-block;
  font: 600 .66rem/1 var(--sans);
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: .42rem .8rem;
  border-radius: 999px;
  border: 1px solid transparent;
  white-space: nowrap;
}
.pill-activa {
  color: #6d5426;
  background: linear-gradient(135deg, rgba(233, 211, 174, .8), var(--oro-a55));
  border-color: var(--gold-line);
}
.pill-por_vencer { color: var(--amber); background: var(--amber-bg); border-color: rgba(185, 127, 36, .35); }
.pill-vencida, .pill-sin { color: var(--muted); background: var(--paper-2); border-color: var(--line); }
.filtros {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  align-items: flex-end;
  margin-bottom: 1.4rem;
}
.filtros .campo { margin-bottom: 0; flex: 1 1 150px; }
.filtros .btn { padding: .7rem 1.3rem; flex: 0 0 auto; }
@media (max-width: 480px) { .filtros .btn { flex: 1 1 100%; } }
.tabla-marco { overflow: hidden; border-radius: var(--radius); border: 1px solid var(--line); background: var(--card); box-shadow: var(--shadow-soft); }
.tabla { width: 100%; border-collapse: collapse; font-size: .92rem; }
.tabla th {
  text-align: left;
  font: 600 .66rem/1.3 var(--sans);
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold-2);
  background: var(--navy);
  padding: .85rem 1rem;
}
.tabla td { padding: .85rem 1rem; border-top: 1px solid var(--line); vertical-align: middle; }
.tabla tbody tr { transition: background .15s; }
.tabla tbody tr:hover { background: var(--oro-a06); }
.tabla a { color: var(--navy); font-weight: 600; text-decoration: none; }
.tabla a:hover { color: var(--gold-deep); }
.tabla .celda-sec { color: var(--muted); font-size: var(--tipo-sm); }
@media (max-width: 759.98px) {
  .tabla-marco { border: 0; background: transparent; box-shadow: none; border-radius: 0; overflow: visible; }
  .tabla thead { display: none; }
  .tabla, .tabla tbody, .tabla tr, .tabla td { display: block; width: 100%; }
  .tabla tr {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-soft);
    margin-bottom: .8rem;
    padding: .35rem 1rem;
  }
  .tabla td {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-top: 0;
    border-bottom: 1px dashed var(--line);
    padding: .6rem 0;
  }
  .tabla td:last-child { border-bottom: 0; }
  .tabla td::before {
    content: attr(data-etiqueta);
    font: 600 .64rem/1 var(--sans);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--muted);
    flex-shrink: 0;
  }
  .tabla td[data-etiqueta=""]::before { content: none; }
}
.insignia {
  border-radius: 0;
  padding: 1.35rem 1.5rem;
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow);
  border: 1px solid color-mix(in srgb, var(--blanco) 35%, transparent);
}
.insignia::after {
  content: "";
  position: absolute;
  inset: -60% -30%;
  background: linear-gradient(115deg, transparent 42%, color-mix(in srgb, var(--blanco) 38%, transparent) 50%, transparent 58%);
  pointer-events: none;
}
.insignia-etiqueta {
  font: 600 .62rem/1 var(--sans);
  letter-spacing: .3em;
  text-transform: uppercase;
  opacity: .75;
  margin-bottom: .4rem;
}
.insignia-nombre {
  font-family: var(--serif);
  font-size: clamp(1.5rem, 5vw, 1.9rem);
  font-weight: 700;
  letter-spacing: .05em;
}
.insignia-pie { font-size: var(--tipo-xs); opacity: .8; margin-top: .55rem; }
.cat-silver { background: linear-gradient(135deg, #eceef2 0%, #b7bdc8 42%, #f3f5f8 58%, #a3aab8 100%); color: #363d4c; }
.cat-gold { background: linear-gradient(135deg, #eed9b2 0%, #c8a267 42%, #f6e6c5 58%, #b18c53 100%); color: #453317; }
.cat-platinum { background: linear-gradient(135deg, #f6f4ef 0%, #d7d3c8 42%, #fcfbf8 58%, #c8c4b8 100%); color: #524e42; }
.cat-black { background: linear-gradient(135deg, #33363d 0%, var(--negro-eleg) 42%, #3d4048 58%, #0b0c10 100%); color: var(--gold-2); border-color: color-mix(in srgb, var(--oro) 40%, transparent); }
.cat-black .insignia-etiqueta { color: var(--gold); opacity: 1; }
.perfil-hero {
  background:
    radial-gradient(620px 300px at 88% 0%, var(--oro-a18), transparent 60%),
    linear-gradient(150deg, var(--navy-2) 0%, var(--navy-deep) 75%);
  border: 1px solid var(--gold-line);
  border-radius: 0;
  color: var(--marfil);
  padding: clamp(1.6rem, 5vw, 2.6rem);
  box-shadow: var(--shadow);
  margin-bottom: 1.6rem;
  position: relative;
  overflow: hidden;
}
.perfil-hero::before {
  content: "AX";
  position: absolute;
  right: -.1em; bottom: -.35em;
  font-family: var(--serif);
  font-weight: 700;
  font-size: clamp(7rem, 22vw, 12rem);
  line-height: 1;
  color: var(--oro-a06);
  pointer-events: none;
}
.perfil-hero h1 { color: var(--papel-marfil); margin-bottom: .3rem; }
.perfil-hero .perfil-sub { color: var(--gold-2); font-family: var(--serif); font-style: italic; font-size: var(--tipo-base); }
.perfil-hero .perfil-pais {
  font: 600 .7rem/1 var(--sans);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--marfil) 70%, transparent);
  margin-top: .6rem;
}
.perfil-rejilla { display: grid; grid-template-columns: 1fr; gap: 1.3rem; align-items: start; }
@media (min-width: 900px) { .perfil-rejilla { grid-template-columns: 1fr 1fr; } }
.carnet {
  width: 100%;
  max-width: 430px;
  aspect-ratio: 85.6 / 54;
  border-radius: 0;
  background:
    radial-gradient(400px 200px at 100% 0%, var(--oro-a18), transparent 55%),
    linear-gradient(135deg, var(--negro-400) 0%, var(--navy-deep) 60%, var(--navy-ink) 100%);
  border: 1px solid var(--gold-line);
  box-shadow: var(--sombra-carta);
  color: var(--marfil);
  padding: clamp(.9rem, 3.4vw, 1.35rem) clamp(1rem, 3.8vw, 1.5rem);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  overflow: hidden;
}
.carnet::after {
  content: "";
  position: absolute;
  left: 0; right: 0; top: 34%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--oro-a55), transparent);
}
.carnet-fila-sup { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.carnet-marca { font-family: var(--serif); font-weight: 700; font-size: clamp(.95rem, 3vw, 1.15rem); color: var(--gold); letter-spacing: .06em; white-space: nowrap; }
.carnet-marca small { font: 600 .5em/1 var(--sans); letter-spacing: .38em; text-transform: uppercase; color: color-mix(in srgb, var(--marfil) 80%, transparent); margin-left: .5em; }
.carnet-cat {
  font: 700 .58rem/1 var(--sans);
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--gold-2);
  border: 1px solid var(--gold-line);
  border-radius: 999px;
  padding: .34rem .7rem;
  white-space: nowrap;
}
.carnet-fila-inf { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; }
.carnet-nombre { font-family: var(--serif); font-size: clamp(.98rem, 3.4vw, 1.28rem); font-weight: 600; color: var(--papel-marfil); line-height: 1.2; }
.carnet-codigo { font: 600 .64rem/1 var(--sans); letter-spacing: .3em; color: var(--gold); margin-top: .35rem; }
.carnet-vigencia { font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; color: color-mix(in srgb, var(--marfil) 65%, transparent); margin-top: .45rem; }
.carnet-qr {
  flex-shrink: 0;
  width: clamp(56px, 17vw, 78px);
  height: clamp(56px, 17vw, 78px);
  background: var(--blanco);
  border-radius: 0;
  padding: 4px;
  box-shadow: 0 6px 16px -8px color-mix(in srgb, var(--negro-000) 60%, transparent);
}
.carnet-qr img { width: 100%; height: 100%; object-fit: contain; }
.estado-caja { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .9rem; }
.estado-caja .btn { flex-shrink: 0; }
@media (min-width: 560px) {
 }
@media (min-width: 960px) {
 }
  .r19-retirado-dir-inicial {
  width: 62px; height: 62px;
  margin: 0 auto .85rem;
  border-radius: 50%;
  border: 1px solid var(--gold);
  background: radial-gradient(circle at 32% 28%, var(--oro-a30), color-mix(in srgb, var(--negro-400) 6%, transparent) 65%);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--serif);
  font-size: 1.45rem;
  font-weight: 700;
  color: var(--navy);
}
.verif-caja {
  width: 100%;
  max-width: 440px;
  text-align: center;
  background: linear-gradient(160deg, var(--negro-300), var(--negro-100));
  border: 1px solid var(--gold-line);
  border-radius: 0;
  padding: clamp(2rem, 7vw, 3rem) clamp(1.4rem, 5vw, 2.4rem);
  color: var(--marfil);
  box-shadow: 0 30px 60px -30px color-mix(in srgb, var(--negro-000) 65%, transparent);
}
.verif-sello {
  width: 96px; height: 96px;
  margin: 0 auto 1.3rem;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 2.6rem;
  line-height: 1;
}
.verif-sello.ok {
  color: var(--navy-ink);
  background: linear-gradient(135deg, var(--gold-2), var(--gold) 55%, var(--gold-deep));
  box-shadow: 0 0 0 6px var(--oro-a18), 0 0 0 12px var(--oro-a06), 0 18px 36px -16px rgba(179, 144, 94, .8);
}
.verif-sello.no {
  color: color-mix(in srgb, var(--marfil) 80%, transparent);
  background: color-mix(in srgb, var(--marfil) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--marfil) 25%, transparent);
}
.verif-caja h1 { color: var(--papel-marfil); font-size: clamp(1.3rem, 5vw, 1.6rem); letter-spacing: .04em; }
.verif-caja .eyebrow { color: var(--gold); }
.verif-datos { margin: 1.4rem 0 0; padding: 0; list-style: none; text-align: left; }
.verif-datos li {
  display: flex; justify-content: space-between; gap: 1rem;
  padding: .7rem 0;
  border-bottom: 1px solid var(--oro-a18);
  font-size: .92rem;
}
.verif-datos li:last-child { border-bottom: 0; }
.verif-datos span { font: 600 .64rem/1.6 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: color-mix(in srgb, var(--marfil) 60%, transparent); }
.verif-datos strong { color: var(--papel-marfil); font-weight: 600; text-align: right; }
.formulas-rejilla { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 640px) { .formulas-rejilla { grid-template-columns: repeat(2, 1fr); } }
.formula-tarjeta {
  display: block;
  text-decoration: none;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
  padding: 1.4rem 1.4rem 1.25rem;
  transition: transform .18s, border-color .18s;
  position: relative;
  overflow: hidden;
}
.formula-tarjeta::after {
  content: "→";
  position: absolute;
  right: 1.2rem; bottom: 1rem;
  color: var(--gold-deep);
  font-size: var(--tipo-md);
  transition: transform .18s;
}
.formula-tarjeta:hover { border-color: var(--gold); }
.formula-tarjeta:hover::after { transform: translateX(4px); }
.formula-tarjeta h3 { margin-bottom: .3rem; }
.formula-tarjeta p { color: var(--muted); margin: 0 2rem .2rem 0; }
.resultado-caja {
  margin-top: 1.4rem;
  border-radius: var(--radius);
  border: 1px solid var(--gold-line);
  background: linear-gradient(150deg, var(--navy-2), var(--navy-deep));
  color: var(--papel-marfil);
  padding: 1.5rem 1.6rem;
  text-align: center;
  box-shadow: var(--shadow);
}
.resultado-caja .eyebrow { color: var(--gold); margin-bottom: .5rem; }
.resultado-valor { font-family: var(--serif); font-size: clamp(1.7rem, 6vw, 2.4rem); font-weight: 700; color: var(--gold-2); line-height: 1.15; }
.campanas-rejilla { display: grid; grid-template-columns: 1fr; gap: 1.4rem; }
@media (min-width: 960px) { .campanas-rejilla { grid-template-columns: 5fr 6fr; align-items: start; } }
.centro { text-align: center; }
.margen-sup { margin-top: 1.6rem; }
.sin-resultados {
  text-align: center;
  color: var(--muted);
  padding: 2.6rem 1rem;
  font-family: var(--serif);
  font-style: italic;
  font-size: var(--tipo-base);
}
.acciones-fila { display: flex; flex-wrap: wrap; gap: .7rem; align-items: center; }
.codigo-secreto {
  font-family: "SF Mono", "Menlo", "Consolas", monospace;
  font-size: .95rem;
  letter-spacing: .18em;
  background: var(--paper-2);
  border: 1px dashed var(--gold-deep);
  border-radius: var(--radius-sm);
  padding: .8rem 1rem;
  text-align: center;
  color: var(--navy);
  word-break: break-all;
}
.qr-2fa {
  width: 190px; height: 190px;
  margin: 0 auto 1.1rem;
  background: var(--blanco);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 10px;
  box-shadow: var(--shadow-soft);
}
.qr-2fa img { width: 100%; height: 100%; object-fit: contain; }
@media (prefers-reduced-motion: no-preference) {
  .ax-main > * { animation: ax-entrada .5s ease both; }
  .ax-main > *:nth-child(2) { animation-delay: .07s; }
  .ax-main > *:nth-child(3) { animation-delay: .14s; }
  .ax-main > *:nth-child(4) { animation-delay: .21s; }
  @keyframes ax-entrada {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: none; }
  }
}
@media print {
  .ax-header, .ax-footer, .btn, .ax-nav { display: none !important; }
  body { background: var(--blanco); }
}
.landing-hero {
  text-align: center;
  padding: clamp(2.4rem, 7vw, 4.2rem) 1rem clamp(1.6rem, 4vw, 2.4rem);
}
.landing-hero h1 { max-width: 34rem; margin-inline: auto; }
.landing-bajada {
  color: var(--muted);
  max-width: 40rem;
  margin: .6rem auto 1.4rem;
  font-size: 1.02rem;
}
.landing-ctas {
  display: flex;
  gap: .8rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 1rem;
}
.landing-cifras {
  display: flex;
  gap: clamp(1.6rem, 6vw, 3.4rem);
  justify-content: center;
  margin-top: clamp(1.6rem, 5vw, 2.6rem);
}
.landing-cifra-num {
  font-family: var(--serif);
  font-size: clamp(1.9rem, 6vw, 2.6rem);
  color: var(--navy);
  line-height: 1.1;
}
.landing-cifra-txt {
  font-size: var(--tipo-xs);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold-deep);
  margin-top: .2rem;
}
.landing-beneficios, .landing-pasos {
  padding: clamp(1.4rem, 4vw, 2.4rem) 0;
}
.landing-rejilla {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-top: 1.4rem;
}
@media (min-width: 560px) { .landing-rejilla { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) {
  .landing-beneficios .landing-rejilla { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
  .landing-pasos .landing-rejilla { grid-template-columns: repeat(3, 1fr); }
}
.landing-pasos { scroll-margin-top: 4.5rem; }
.landing-pasos .landing-ctas { margin-top: 1.8rem; }
.paso { position: relative; padding-top: 2.4rem; }
.paso-num {
  position: absolute;
  top: -0.9rem;
  left: 1.2rem;
  width: 2.2rem;
  height: 2.2rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(150deg, var(--gold-2), var(--gold-deep));
  color: var(--navy-ink);
  font: 700 1rem/1 var(--serif);
  box-shadow: var(--shadow-soft);
}
.video-wrap {
  position: relative;
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-sm);
  overflow: hidden;
  background: var(--navy-ink);
  margin: 1rem 0;
}
.video-wrap iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.landing-cifra-txt{ color: var(--gold-text); }
.ax-main :focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.btn:focus-visible { outline-offset: 3px; }
.ax-iso { height: 30px; width: auto; display: inline-block; }
.carnet {
  position: relative;
  background:
    repeating-radial-gradient(circle at 115% -15%, var(--oro-a06) 0 1px, transparent 1px 9px),
    repeating-radial-gradient(circle at -20% 125%, color-mix(in srgb, var(--blanco) 3%, transparent) 0 1px, transparent 1px 12px),
    radial-gradient(400px 200px at 100% 0%, var(--oro-a18), transparent 55%),
    linear-gradient(135deg, var(--negro-400) 0%, var(--navy-deep) 60%, var(--navy-ink) 100%);
  transition: transform .35s ease, box-shadow .35s ease;
}
.carnet::before {
  content: ""; position: absolute; inset: 7px; border-radius: 0;
  border: 1px solid var(--oro-a30); pointer-events: none;
}
.carnet:hover, .carnet:focus-within {
  transform: perspective(900px) rotate3d(1, -1, 0, 3deg) translateY(-3px);
  box-shadow: var(--sombra-carta);
}
.carnet-marca-agua {
  position: absolute; right: 4px; bottom: 2px; width: 38%; max-width: 150px;
  opacity: .07; pointer-events: none; user-select: none;
}
.carnet-qr img, .carnet-qr { border-radius: 0; }
.carnet-qr { box-shadow: 0 0 0 1px color-mix(in srgb, var(--oro) 45%, transparent), 0 6px 16px -8px color-mix(in srgb, var(--negro-000) 60%, transparent); }
.carnet.carnet-gold     { border-color: color-mix(in srgb, var(--oro) 80%, transparent); }
.carnet.carnet-platinum { border-color: rgba(186,199,212,.6); }
.carnet.carnet-platinum .carnet-marca { color: var(--perla); }
.carnet.carnet-black {
  background:
    repeating-radial-gradient(circle at 115% -15%, var(--oro-a06) 0 1px, transparent 1px 9px),
    radial-gradient(380px 190px at 100% 0%, var(--oro-a12), transparent 55%),
    linear-gradient(135deg, var(--eleg-1) 0%, var(--negro-eleg) 55%, #0b0c10 100%);
  border-color: var(--oro-a55);
}
.insignia { box-shadow: var(--shadow), inset 0 1px 0 color-mix(in srgb, var(--blanco) 55%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--negro-000) 18%, transparent); }
.insignia::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
  background: repeating-linear-gradient(105deg, color-mix(in srgb, var(--blanco) 7%, transparent) 0 1px, transparent 1px 3px);
}
.cat-silver   { background: linear-gradient(135deg, #e6eaee 0%, var(--plata) 45%, #eef1f5 60%, #87919d 100%); }
.cat-platinum { background: linear-gradient(135deg, var(--perla) 0%, var(--azul-mar) 48%, #fdfcf9 60%, #a8b6c4 100%); }
.cat-platinum::before { background: repeating-linear-gradient(105deg, color-mix(in srgb, var(--blanco) 16%, transparent) 0 1px, transparent 1px 2px); }
.cat-black {
  background:
    radial-gradient(360px 160px at 85% 10%, var(--oro-a12), transparent 60%),
    linear-gradient(135deg, #33363d 0%, var(--negro-eleg) 42%, #3d4048 58%, #0b0c10 100%);
  box-shadow: var(--shadow), inset 0 1px 0 color-mix(in srgb, var(--oro) 35%, transparent), 0 0 0 1px color-mix(in srgb, var(--oro) 25%, transparent);
}
.insignia-nivel { position: absolute; top: 1.1rem; right: 1.3rem; letter-spacing: .3em; font-size: var(--tipo-micro); opacity: .75; }
.cat-silver .insignia-nivel::after   { content: "◆"; }
.cat-gold .insignia-nivel::after     { content: "◆◆"; }
.cat-platinum .insignia-nivel::after { content: "◆◆◆"; }
.cat-black .insignia-nivel::after    { content: "◆◆◆◆"; color: var(--gold); }
  .r19-retirado-cat-escalera { list-style: none; display: flex; gap: .4rem; padding: 0; margin: 1rem 0 0; }
.verif-foto { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; margin: 0 auto 1rem;
  border: 2px solid var(--gold); box-shadow: 0 0 0 5px color-mix(in srgb, var(--oro) 15%, transparent), 0 14px 28px -14px color-mix(in srgb, var(--negro-000) 70%, transparent); }
.verif-sello { position: relative; }
@media (prefers-reduced-motion: no-preference) {
  .verif-sello.ok { animation: sello-pop var(--dur-lenta) var(--curva-lux) both; }
  .verif-sello.ok::after { content: ""; position: absolute; inset: -6px; border-radius: 50%;
    border: 1px solid var(--oro-a55);
    animation-name: sello-halo; animation-duration: var(--dur-cine);
    animation-timing-function: var(--curva-salida); animation-delay: var(--dur-media);
    animation-iteration-count: 2; animation-fill-mode: forwards; }
  @keyframes sello-pop  { from { transform: scale(.55); opacity: 0; } }
  @keyframes sello-halo { from { transform: scale(1); opacity: .7; } to { transform: scale(1.55); opacity: 0; } }
}
.landing-hero-navy {
  background:
    radial-gradient(700px 320px at 80% -10%, var(--oro-a18), transparent 60%),
    linear-gradient(160deg, var(--navy-2) 0%, var(--navy-deep) 55%, var(--navy-ink) 100%);
  border-radius: var(--radius); color: var(--marfil);
  padding: clamp(2.4rem, 7vw, 4rem) clamp(1rem, 4vw, 2.5rem);
  box-shadow: var(--shadow);
}
.landing-hero-navy h1 { color: var(--marfil); }
.landing-hero-navy .landing-bajada { color: color-mix(in srgb, var(--marfil) 78%, transparent); }
.landing-hero-navy .eyebrow { color: var(--gold); }
.landing-hero-navy .landing-cifra-num { color: var(--gold-2); }
.landing-hero-navy .landing-cifra-txt { color: color-mix(in srgb, var(--marfil) 72%, transparent); }
.landing-logo { width: min(300px, 62vw); margin: 0 auto 1.4rem; opacity: .96; }
.carnet-demo { max-width: 380px; margin: 2.2rem auto 0; transform: rotate(-2.5deg); }
.carnet-demo:hover { transform: rotate(0) translateY(-3px); }
.carnet-qr-demo { width: 64px; height: 64px; background:
  repeating-linear-gradient(0deg, var(--negro-300) 0 3px, var(--blanco) 3px 6px),
  repeating-linear-gradient(90deg, var(--negro-300) 0 3px, var(--blanco) 3px 6px);
  background-blend-mode: screen; }
.kpi-cifra, .tabla { font-variant-numeric: lining-nums tabular-nums; }
@media print {
  .ax-header, .ax-footer, .btn, .ax-nav, .acciones-fila { display: none !important; }
  body { background: var(--blanco); }
  body.pagina-carnet .ax-main > *:not(.perfil-rejilla) { display: none !important; }
  body.pagina-carnet .perfil-rejilla > section:not(:first-child) { display: none !important; }
  body.pagina-carnet .eyebrow { display: none !important; }
  body.pagina-carnet .carnet {
    width: 85.6mm; height: 54mm; max-width: none; margin: 20mm auto;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    box-shadow: none; page-break-inside: avoid; transform: none !important;
  }
}
body.pagina-cine {
  background:
    radial-gradient(1100px 500px at 80% -14%, var(--oro-a12), transparent 62%),
    radial-gradient(900px 640px at -12% 110%, color-mix(in srgb, var(--negro-400) 55%, transparent), transparent 62%),
    var(--negro-eleg);
  color: var(--marfil);
}
body.pagina-cine .ax-footer { border-top-color: var(--oro-a18); color: color-mix(in srgb, var(--perla) 45%, transparent); }
body.pagina-cine h1, body.pagina-cine h2, body.pagina-cine h3 { color: var(--marfil); }
body.pagina-cine .eyebrow { color: var(--gold); }
body.pagina-cine main a:not([class*="btn"]) { color: var(--gold-2); }
body.pagina-cine .ax-main :focus-visible { outline-color: var(--gold-2); }
body.pagina-cine .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; }
.sr-solo { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.cine-cabecera { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 1rem 1.6rem; margin-bottom: 1.4rem; }
.cine-progreso { display: flex; align-items: center; gap: .85rem; }
.cine-progreso-nota { margin: 0; font: 600 .68rem/1.5 var(--sans); letter-spacing: .18em;
  text-transform: uppercase; color: color-mix(in srgb, var(--perla) 68%, transparent); }
.cine-progreso-nota strong { display: block; color: var(--gold-2); font-size: .8rem; }
@property --p { syntax: "<number>"; inherits: true; initial-value: 0; }
.anillo { --p: 0; position: relative; width: 74px; height: 74px; flex-shrink: 0;
  display: grid; place-items: center; }
.anillo::before { content: ""; position: absolute; inset: 0; border-radius: 50%;
  background: conic-gradient(from -90deg, var(--gold-deep), var(--gold) calc(var(--p) * 1%),
              color-mix(in srgb, var(--perla) 13%, transparent) 0);
  -webkit-mask: radial-gradient(closest-side, transparent calc(100% - 7px), var(--negro-000) calc(100% - 6.5px));
          mask: radial-gradient(closest-side, transparent calc(100% - 7px), var(--negro-000) calc(100% - 6.5px)); }
.anillo-cifra { font: 700 1.12rem/1 var(--serif); color: var(--gold-2);
  font-variant-numeric: tabular-nums; }
.anillo-cifra small { font-size: .62em; opacity: .65; }
@media (prefers-reduced-motion: no-preference) {
  .anillo::before { animation: anillo-carga 1.1s ease-out both; }
  @keyframes anillo-carga { from { --p: 0; } }
}
.cine-hero { position: relative; display: flex; align-items: flex-end;
  min-height: clamp(360px, 68vw, 460px);
  border-radius: 0; overflow: hidden;
  border: 1px solid var(--oro-a30);
  box-shadow: 0 34px 70px -30px color-mix(in srgb, var(--negro-000) 85%, transparent); }
@media (min-width: 760px) { .cine-hero { min-height: 440px; } }
.cine-hero-poster { position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: 76% 38%; }
.cine-hero-velo { position: absolute; inset: 0;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--negro-eleg) 12%, transparent) 0%, color-mix(in srgb, var(--negro-eleg) 50%, transparent) 52%, color-mix(in srgb, var(--negro-eleg) 94%, transparent) 100%),
    linear-gradient(100deg, color-mix(in srgb, var(--negro-eleg) 78%, transparent) 0%, color-mix(in srgb, var(--negro-eleg) 25%, transparent) 45%, transparent 68%); }
.cine-hero-contenido { position: relative; max-width: 34rem;
  padding: clamp(1.3rem, 4.5vw, 2.6rem); }
.cine-hero-contenido .eyebrow { margin-bottom: .5rem; }
.cine-hero-titulo { font-size: clamp(1.55rem, 5.5vw, 2.5rem); line-height: 1.12;
  margin-bottom: .35rem; text-wrap: balance; }
.cine-hero-desc { color: color-mix(in srgb, var(--perla) 80%, transparent); font-size: .95rem; margin: 0 0 .5rem;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cine-hero-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .6rem; margin: 0;
  font: 600 .68rem/1.4 var(--sans); letter-spacing: .2em; text-transform: uppercase;
  color: color-mix(in srgb, var(--perla) 65%, transparent); }
.cine-hero-meta strong { color: var(--gold-2); }
.cine-hero-btn { margin-top: 1.05rem; }
.rail-titulo { display: flex; align-items: baseline; gap: .9rem; margin: 1.9rem 0 .9rem;
  font-size: var(--tipo-md); letter-spacing: .02em; }
.rail-titulo::after { content: ""; flex: 1; height: 1px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--oro) 35%, transparent), transparent); }
.rail { display: flex; gap: clamp(.8rem, 2.4vw, 1.15rem);
  overflow-x: auto; overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  margin-inline: calc(-1 * clamp(1rem, 4vw, 2.5rem));
  padding: .5rem clamp(1rem, 4vw, 2.5rem) 1.3rem;
  scroll-padding-inline: clamp(1rem, 4vw, 2.5rem);
  scrollbar-width: none; }
.rail::-webkit-scrollbar { display: none; }
.rail:focus-visible { outline: 2px solid var(--gold-2); outline-offset: -2px; border-radius: var(--radius-sm); }
.ep { position: relative; flex: 0 0 clamp(232px, 66vw, 300px);
  scroll-snap-align: start; text-decoration: none; color: inherit; }
.ep-poster { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: 0;
  overflow: hidden; background: var(--navy-ink);
  border: 1px solid var(--oro-a18);
  box-shadow: 0 16px 34px -20px color-mix(in srgb, var(--negro-000) 85%, transparent);
  transition: border-color .2s, box-shadow .2s, transform .25s ease; }
.ep-poster img { width: 100%; height: 100%; object-fit: cover; }
.ep-num { position: absolute; left: .55rem; bottom: -.14em; z-index: 2;
  font: 700 clamp(3rem, 11vw, 4rem)/0.9 var(--serif); letter-spacing: -.03em;
  color: var(--gold); text-shadow: 0 3px 16px color-mix(in srgb, var(--negro-000) 70%, transparent);
  font-variant-numeric: tabular-nums; pointer-events: none; }
.ep-estado { position: absolute; top: .55rem; right: .55rem; z-index: 2;
  width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center;
  font-size: .82rem; font-weight: 700; }
.ep-estado.hecho { background: linear-gradient(135deg, var(--gold-2), var(--gold-deep));
  color: var(--negro-eleg); box-shadow: 0 4px 12px -4px color-mix(in srgb, var(--negro-000) 65%, transparent); }
.ep-estado.play { background: color-mix(in srgb, var(--negro-eleg) 60%, transparent); color: var(--gold-2);
  border: 1px solid var(--oro-a55); padding-left: 2px; }
a.ep:hover .ep-poster, a.ep:focus-visible .ep-poster { border-color: var(--gold);
  box-shadow: 0 22px 44px -18px color-mix(in srgb, var(--negro-000) 90%, transparent), 0 0 0 1px var(--oro-a55),
              0 10px 34px -8px var(--oro-a30); }
a.ep:focus-visible { outline: none; }
.ep-actual .ep-poster { border-color: var(--gold);
  box-shadow: 0 0 0 1px var(--oro-a55), 0 16px 34px -18px color-mix(in srgb, var(--negro-000) 85%, transparent); }
.ep-cuerpo { display: block; padding: .65rem .2rem 0 .25rem; }
.ep-titulo { display: block; font: 600 .96rem/1.3 var(--serif); color: var(--marfil); }
.ep-desc { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; margin-top: .15rem; font-size: var(--tipo-xs); color: color-mix(in srgb, var(--perla) 62%, transparent); }
.ep-bloqueado .ep-poster img { filter: grayscale(.75) brightness(.55); }
.ep-bloqueado .ep-num { color: color-mix(in srgb, var(--plata) 50%, transparent); text-shadow: none; }
.ep-bloqueado .ep-titulo { color: color-mix(in srgb, var(--perla) 55%, transparent); }
.ep-candado { position: absolute; inset: 0; z-index: 2; display: grid; place-items: center; }
.ep-candado span { font: 600 .62rem/1 var(--sans); letter-spacing: .24em; text-transform: uppercase;
  color: var(--azul-mar); background: color-mix(in srgb, var(--negro-eleg) 72%, transparent);
  border: 1px solid color-mix(in srgb, var(--plata) 40%, transparent); border-radius: 999px; padding: .5rem .85rem; }
.cine-vacio { position: relative; display: grid; place-items: center; text-align: center;
  min-height: clamp(320px, 55vw, 420px); border-radius: 0; overflow: hidden;
  border: 1px solid var(--oro-a30); box-shadow: 0 34px 70px -30px color-mix(in srgb, var(--negro-000) 85%, transparent); }
.cine-vacio > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cine-vacio-velo { position: absolute; inset: 0;
  background: radial-gradient(70% 70% at 50% 55%, color-mix(in srgb, var(--negro-eleg) 55%, transparent), color-mix(in srgb, var(--negro-eleg) 88%, transparent)); }
.cine-vacio-cont { position: relative; max-width: 32rem; padding: 1.5rem; }
.cine-vacio-cont h2 { font-size: clamp(1.4rem, 4.5vw, 1.9rem); }
.cine-vacio-cont p { font-family: var(--serif); font-style: italic; color: color-mix(in srgb, var(--perla) 75%, transparent); }
.sala { max-width: 940px; margin-inline: auto; }
.sala-volver { display: inline-flex; align-items: center; gap: .45rem; min-height: 44px;
  font: 600 .8rem/1 var(--sans); letter-spacing: .1em; text-transform: uppercase;
  color: color-mix(in srgb, var(--perla) 65%, transparent); text-decoration: none; }
.sala-volver:hover, .sala-volver:focus-visible { color: var(--gold-2); }
.sala-pantalla { border-radius: 0; overflow: hidden; margin: .7rem 0 1.5rem;
  border: 1px solid color-mix(in srgb, var(--oro) 24%, transparent);
  box-shadow: 0 40px 80px -34px color-mix(in srgb, var(--negro-000) 95%, transparent), 0 0 90px -36px var(--oro-a30); }
.video-wrap.sala-pantalla { margin: .7rem 0 1.5rem; }
.sala-poster { position: relative; aspect-ratio: 16 / 9; background: var(--navy-ink); }
.sala-poster > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sala-poster-velo { position: absolute; inset: 0; display: grid; place-content: center;
  justify-items: center; gap: .3rem; text-align: center; padding: 1.2rem;
  background: radial-gradient(62% 62% at 50% 54%, color-mix(in srgb, var(--negro-eleg) 60%, transparent), color-mix(in srgb, var(--negro-eleg) 25%, transparent) 78%, transparent); }
.sala-poster-velo p { margin: 0; max-width: 26rem; font-family: var(--serif); font-style: italic;
  font-size: 1.02rem; color: color-mix(in srgb, var(--perla) 88%, transparent); }
.sala-ficha .eyebrow { margin-bottom: .4rem; }
.sala-desc { max-width: 62ch; font-size: .98rem; color: color-mix(in srgb, var(--perla) 78%, transparent); }
.sala-texto { margin-top: 1rem; padding: 1rem 1.2rem; border-left: 2px solid var(--gold-deep);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  background: color-mix(in srgb, var(--perla) 4%, transparent); color: color-mix(in srgb, var(--perla) 85%, transparent); }
.sala-acciones { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; margin-top: 1.5rem; }
@media (max-width: 520px) {
  .sala-acciones form, .sala-acciones .btn { width: 100%; }
}
.hairline-cine { border: 0; height: 1px; margin: 2.1rem 0 0;
  background: linear-gradient(90deg, transparent, var(--oro-a30) 18%,
              var(--oro-a30) 82%, transparent); }
.saludo-meta {
  font: 600 .68rem/1 var(--sans); letter-spacing: .28em; text-transform: uppercase;
  color: var(--gold-2); margin: 0 0 1.1rem;
}
.saludo-meta span { color: var(--oro-a55); margin: 0 .3em; }
.saludo-cine .saludo-titulo {
  font-size: clamp(2rem, 6.5vw, 3.1rem); line-height: 1.08; margin-bottom: .45rem;
}
.stats-fila {
  list-style: none; margin: 1.7rem 0 0; padding: 1.35rem 0 0;
  display: flex;
  border-top: 1px solid transparent;
  border-image: linear-gradient(90deg, transparent, var(--gold-line) 15%, var(--gold-line) 85%, transparent) 1;
  position: relative; z-index: 1;
}
.stat { flex: 1; min-width: 0; padding: 0 clamp(.6rem, 2.5vw, 1.6rem); }
.stat:first-child { padding-left: 0; }
.stat + .stat { border-left: 1px solid var(--oro-a30); }
.stat-num {
  display: block; font-family: var(--serif); font-weight: 700;
  font-size: clamp(1.9rem, 6vw, 2.7rem); line-height: 1; color: var(--gold-2);
  font-variant-numeric: lining-nums tabular-nums;
}
.stat-num small { font-size: .48em; font-weight: 600; color: color-mix(in srgb, var(--oro) 65%, transparent); letter-spacing: .04em; }
.stat-tl {
  display: block; margin-top: .55rem;
  font: 600 .62rem/1.35 var(--sans); letter-spacing: .2em; text-transform: uppercase;
  color: color-mix(in srgb, var(--marfil) 66%, transparent);
}
.rail-claro {
  display: flex; gap: .9rem; margin-top: 1.6rem;
  overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-left: .2rem;
  padding: .8rem .2rem 1rem;
  scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.rail-claro::-webkit-scrollbar { display: none; }
.rail-card {
  flex: 0 0 min(76%, 300px); scroll-snap-align: start;
  display: flex; flex-direction: column; gap: .15rem;
  text-decoration: none; background: var(--card);
  border: 1px solid var(--line); border-radius: var(--radius);
  box-shadow: var(--shadow-soft); padding: 1.15rem 1.25rem 1.1rem;
  transition: transform .18s, border-color .18s, box-shadow .18s;
}
.rail-card .eyebrow { margin-bottom: .35rem; }
.rail-card strong { font-family: var(--serif); font-size: var(--tipo-base); font-weight: 600; color: var(--navy); }
.rail-card em { font-style: normal; font-size: .8rem; color: var(--muted); margin-top: auto; padding-top: .6rem; }
.rail-card:hover, .rail-card:focus-visible {
  border-color: var(--gold);
  box-shadow: 0 16px 30px -18px rgba(179,144,94,.55);
}
.rail-progreso {
  display: block; height: 5px; margin-top: .7rem; border-radius: 999px;
  background: var(--paper-2); border: 1px solid var(--line); overflow: hidden;
}
.rail-progreso i { display: block; height: 100%;
  background: linear-gradient(90deg, var(--gold-deep), var(--gold-2)); border-radius: 999px; }
@media (min-width: 900px) {
  .rail-claro { display: grid; grid-template-columns: repeat(4, 1fr); overflow: visible; }
  .rail-card { flex: initial; }
}
@media (prefers-reduced-motion: no-preference) {
  .saludo-cine .saludo-titulo { animation: saludo-alza .75s cubic-bezier(.2,.75,.2,1) both .12s; }
  @keyframes saludo-alza {
    from { opacity: 0; transform: translateY(16px); }
  }
}
@media (max-width: 380px) {
  .stat-tl { letter-spacing: .12em; font-size: .58rem; }
}
.titulo-duo { font-weight: 500; }
.titulo-duo strong { font-weight: 700; display: block; }
.btn,
.ep-poster,
.rail-card,
.acceso-item,
.carnet,
.formula-tarjeta{
  transition-timing-function: var(--ease-lux);
}
h1, h2, h3, .landing-bajada { text-wrap: balance; }
p { text-wrap: pretty; }
.ax-wordmark { view-transition-name: ax-logo; }
.grano { position: relative; }
.grano::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
  opacity: .035; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.oro-metal {
  background: linear-gradient(105deg,
    #8a6d3f 0%, var(--gold) 25%, #f4e3c1 50%, var(--gold) 75%, #8a6d3f 100%);
  background-size: 200% auto;
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.btn-oro { background-size: 200% auto; }
@media (prefers-reduced-motion: no-preference) {
  .btn-oro:hover { animation: sheen-oro .9s var(--ease-lux) 1; }
  @keyframes sheen-oro { to { background-position: 200% center; } }
}
@media (prefers-reduced-motion: no-preference) {
  .rail > .ep, .rail-claro > .rail-card, .accesos-rejilla > .acceso-item {
    animation: sube-suave .55s var(--ease-lux) both;
  }
  .rail > *:nth-child(1), .rail-claro > *:nth-child(1), .accesos-rejilla > *:nth-child(1) { animation-delay: .05s; }
  .rail > *:nth-child(2), .rail-claro > *:nth-child(2), .accesos-rejilla > *:nth-child(2) { animation-delay: .10s; }
  .rail > *:nth-child(3), .rail-claro > *:nth-child(3), .accesos-rejilla > *:nth-child(3) { animation-delay: .15s; }
  .rail > *:nth-child(4), .rail-claro > *:nth-child(4), .accesos-rejilla > *:nth-child(4) { animation-delay: .20s; }
  .rail > *:nth-child(5), .accesos-rejilla > *:nth-child(5) { animation-delay: .25s; }
  .rail > *:nth-child(n+6) { animation-delay: .28s; }
  @keyframes sube-suave { from { opacity: 0; transform: translateY(18px); } }
  .ax-main > * { animation-timing-function: var(--ease-lux); }
}
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .landing-beneficios .tarjeta, .landing-pasos .paso, .dir-rejilla > * {
      animation: sube-rev linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 55%;
    }
    @keyframes sube-rev { from { opacity: 0; transform: translateY(22px); } }
  }
}
.carnet-glare {
  position: absolute; inset: 0; pointer-events: none; border-radius: inherit; z-index: 2;
  background: radial-gradient(420px at var(--gx, 50%) var(--gy, 40%),
              rgba(244, 227, 193, .16), transparent 65%);
  opacity: 0; transition: opacity .3s var(--ease-lux);
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .carnet.tilt {
    transform: perspective(900px) rotateX(var(--ry, 0deg)) rotateY(var(--rx, 0deg));
    transition: transform .25s var(--ease-lux), box-shadow .35s var(--ease-lux);
  }
  .carnet.tilt:hover { box-shadow: var(--sombra-carta);     }
  .carnet.tilt:hover .carnet-glare { opacity: 1; }
}
body.pagina-cine .btn-oro { color: var(--navy-ink); }
@media (max-width: 520px) {
  .ax-header { flex-wrap: wrap; row-gap: .25rem; }
  .ax-nav { flex-wrap: wrap; justify-content: flex-end; row-gap: .2rem; column-gap: .7rem; }
}
@media (max-width: 480px) {
  .carnet-demo .carnet-fila-inf { flex-direction: column; align-items: flex-start; gap: .7rem; }
  .carnet-demo .carnet-qr-demo { align-self: flex-end; }
}
@media (min-width: 960px) {
  .landing-beneficios .landing-rejilla { grid-template-columns: repeat(auto-fit, minmax(225px, 1fr)); }
}
@media (max-width: 420px) { .stat-tl { letter-spacing: .1em; } }
.landing-prueba { max-width: 380px; margin: 1.1rem auto 0; text-align: center; }
.landing-nombre label { color: var(--gold-2); font-size: var(--tipo-xs); letter-spacing: .18em;
  text-transform: uppercase; font-weight: 600; }
.landing-nombre input {
  text-align: center; font-family: var(--serif); font-size: var(--tipo-base);
  background: color-mix(in srgb, var(--perla) 7%, transparent); border: 1px solid color-mix(in srgb, var(--oro) 40%, transparent);
  color: var(--marfil); border-radius: var(--radius-sm); padding: .6rem .9rem; width: 100%;
}
.landing-nombre input::placeholder { color: color-mix(in srgb, var(--perla) 40%, transparent); }
.landing-nombre input:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.landing-escanea { margin: .55rem 0 0; font-size: .8rem; color: color-mix(in srgb, var(--marfil) 70%, transparent); }
.carnet-demo .carnet-qr img { width: 64px; height: 64px; display: block; background: var(--blanco);
  border-radius: 0; }
.landing-social { padding: clamp(1.6rem, 4vw, 2.6rem) 0; }
.landing-social .landing-rejilla { grid-template-columns: repeat(auto-fit, minmax(min(100%, 223px), 1fr)); }
@media (min-width: 760px) { .landing-social .landing-rejilla { grid-template-columns: repeat(3, 1fr); } }
.landing-cine {
  position: relative; display: grid; gap: 1.2rem; align-items: center;
  background:
    radial-gradient(700px 300px at 85% 0%, var(--oro-a12), transparent 60%),
    linear-gradient(150deg, var(--eleg-1) 0%, var(--negro-eleg) 60%, #0b0c10 100%);
  border-radius: var(--radius); border: 1px solid var(--oro-a30);
  box-shadow: var(--shadow); padding: clamp(1.4rem, 4vw, 2.4rem);
  margin: clamp(1.2rem, 3vw, 2rem) 0; color: var(--marfil); overflow: hidden;
}
.landing-cine h2 { color: var(--marfil); }
.landing-cine p { color: color-mix(in srgb, var(--perla) 78%, transparent); max-width: 44ch; }
.landing-cine-poster { border-radius: 0; border: 1px solid var(--oro-a30);
  box-shadow: 0 24px 48px -22px color-mix(in srgb, var(--negro-000) 90%, transparent); width: 100%; }
@media (min-width: 860px) { .landing-cine { grid-template-columns: 1fr 1fr; } }
.banda-final {
  position: relative; text-align: center; color: var(--marfil);
  background:
    radial-gradient(600px 280px at 50% 0%, var(--oro-a12), transparent 65%),
    linear-gradient(180deg, var(--eleg-2) 0%, var(--negro-eleg) 100%);
  border-radius: var(--radius); border: 1px solid var(--oro-a30);
  box-shadow: var(--shadow); padding: clamp(2rem, 6vw, 3.4rem) 1.2rem;
  margin: 0 0 1.6rem; overflow: hidden;
}
.banda-final .landing-logo { margin: 0 auto 1rem; opacity: .95; }
.banda-final h2 { color: var(--marfil); font-size: clamp(1.5rem, 4.5vw, 2.1rem); }
.btn-borde-oro {
  border: 1px solid var(--gold); color: var(--gold-2); background: transparent;
  border-radius: 999px;
}
.btn-borde-oro:hover, .btn-borde-oro:focus-visible {
  background: var(--oro-a12); color: var(--gold-2);
}
body.pagina-navy .aviso { background: var(--paper); color: var(--ink); border-color: var(--gold-line); }
body.pagina-navy .aviso a { color: var(--gold-deep); }
@media (min-width: 960px) {
  .landing-beneficios .landing-rejilla { display: flex; flex-wrap: wrap; justify-content: center; }
  .landing-beneficios .tarjeta { flex: 1 1 225px; max-width: 300px; }
}
.ax-header { background: linear-gradient(180deg, var(--eleg-1) 0%, var(--negro-eleg) 100%); }
body.pagina-navy {
  background:
    radial-gradient(900px 480px at 50% -10%, var(--oro-a12), transparent 62%),
    radial-gradient(700px 500px at 100% 110%, rgba(35, 38, 45, .9), transparent 60%),
    var(--negro-eleg);
}
.perfil-hero {
  background:
    radial-gradient(620px 300px at 88% 0%, var(--oro-a18), transparent 60%),
    linear-gradient(150deg, var(--eleg-1) 0%, var(--negro-eleg) 75%);
}
.landing-hero-navy {
  background:
    radial-gradient(700px 320px at 80% -10%, var(--oro-a18), transparent 60%),
    linear-gradient(160deg, var(--eleg-1) 0%, var(--eleg-2) 55%, var(--negro-eleg) 100%);
}
.carnet {
  background:
    repeating-radial-gradient(circle at 115% -15%, var(--oro-a06) 0 1px, transparent 1px 9px),
    repeating-radial-gradient(circle at -20% 125%, color-mix(in srgb, var(--blanco) 3%, transparent) 0 1px, transparent 1px 12px),
    radial-gradient(400px 200px at 100% 0%, var(--oro-a18), transparent 55%),
    linear-gradient(135deg, var(--eleg-1) 0%, var(--eleg-2) 60%, var(--negro-eleg) 100%);
}
.carnet.carnet-black {
  background:
    repeating-radial-gradient(circle at 115% -15%, var(--oro-a06) 0 1px, transparent 1px 9px),
    radial-gradient(380px 190px at 100% 0%, var(--oro-a12), transparent 55%),
    linear-gradient(135deg, #26282e 0%, #0e0f13 55%, #08090c 100%);
}
.video-wrap, .sala-poster { background: var(--negro-eleg); }
.resultado-caja { background: linear-gradient(150deg, var(--eleg-1), var(--negro-eleg)); }
.acceso-caja, .verif-caja {
  background: linear-gradient(160deg, rgba(35,38,45,.85), color-mix(in srgb, var(--negro-eleg) 95%, transparent));
}
body.pagina-navy .acceso-caja a { color: var(--gold-2); }
.cat-purple {
  background: linear-gradient(135deg, #8a6fae 0%, #5d4379 45%, #a58cc7 60%, #4a3462 100%);
  color: var(--perla);
}
.cat-purple::before { background: repeating-linear-gradient(105deg, color-mix(in srgb, var(--blanco) 10%, transparent) 0 1px, transparent 1px 3px); }
.cat-purple .insignia-etiqueta, .cat-purple .insignia-pie { color: color-mix(in srgb, var(--perla) 75%, transparent); }
.cat-expert {
  background:
    radial-gradient(360px 160px at 85% 10%, var(--oro-a30), transparent 60%),
    linear-gradient(135deg, #33363d 0%, var(--negro-eleg) 42%, #3d4048 58%, #0b0c10 100%);
  box-shadow: var(--shadow), inset 0 1px 0 color-mix(in srgb, var(--oro) 40%, transparent), 0 0 0 1px var(--oro-a30);
  color: var(--gold-2);
}
.cat-purple .insignia-nivel::after { content: "◆◆"; }
.cat-gold .insignia-nivel::after   { content: "◆◆◆"; }
.cat-expert .insignia-nivel::after { content: "◆◆◆◆"; color: var(--gold); }
.carnet.carnet-purple { border-color: rgba(165,140,199,.65); }
.carnet.carnet-expert {
  background:
    repeating-radial-gradient(circle at 115% -15%, var(--oro-a06) 0 1px, transparent 1px 9px),
    radial-gradient(380px 190px at 100% 0%, var(--oro-a18), transparent 55%),
    linear-gradient(135deg, #26282e 0%, #0e0f13 55%, #08090c 100%);
  border-color: color-mix(in srgb, var(--oro) 60%, transparent);
}
.foro-tabs { display: flex; gap: .4rem; flex-wrap: wrap; margin: 1.2rem 0 1rem; }
.foro-tabs a {
  padding: .45rem 1rem; border: 1px solid var(--line); border-radius: 999px;
  font-size: .84rem; color: var(--muted); text-decoration: none; transition: color var(--m-fast), background-color var(--m-fast), border-color var(--m-fast);
}
.foro-tabs a:hover { border-color: var(--gold); color: var(--navy); }
.foro-tabs a.activa { background: var(--navy); border-color: var(--navy); color: var(--perla); }
.foro-lista { display: grid; gap: .7rem; margin-top: 1rem; }
.foro-hilo-card {
  display: block; padding: 1rem 1.2rem; background: var(--panel, var(--blanco));
  border: 1px solid var(--line); border-radius: 0; text-decoration: none; color: inherit;
  transition: border-color .2s, box-shadow .2s;
}
.foro-hilo-card:hover { border-color: var(--gold); box-shadow: var(--shadow); }
.foro-hilo-card.fijado { border-color: var(--oro-a55); }
.foro-hilo-card h3 { margin: .35rem 0 .3rem; font-size: 1.02rem; color: var(--navy); }
.foro-hilo-meta { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.foro-pill {
  font-size: var(--tipo-micro); letter-spacing: .06em; text-transform: uppercase;
  padding: .18rem .6rem; border-radius: 999px; border: 1px solid var(--line); color: var(--muted);
}
.fp-casos      { border-color: color-mix(in srgb, var(--negro-400) 40%, transparent);   color: var(--navy); }
.fp-postop     { border-color: color-mix(in srgb, var(--plata) 60%, transparent); }
.fp-resultados { border-color: color-mix(in srgb, var(--oro) 60%, transparent); color: #8a6d43; }
.foro-tec { font-size: var(--tipo-xs); color: var(--muted); }
.foro-hilo-pie { font-size: var(--tipo-xs); color: var(--muted); }
.foro-hilo-head h1 { font-size: clamp(1.3rem, 3.4vw, 1.8rem); margin: .4rem 0; }
.foro-post {
  background: var(--panel, var(--blanco)); border: 1px solid var(--line); border-radius: 0;
  padding: 1rem 1.2rem; margin-top: .8rem;
}
.foro-post-op { border-left: 3px solid var(--gold); }
.foro-post-head { display: flex; justify-content: space-between; gap: .6rem; flex-wrap: wrap;
  font-size: .84rem; color: var(--muted); }
.foro-post-head strong { color: var(--navy); }
.foro-post-cuerpo { margin-top: .5rem; white-space: pre-line; line-height: 1.62; }
.foro-video { margin-top: .8rem; aspect-ratio: 16/9; border-radius: 0; overflow: hidden; }
.foro-video iframe { width: 100%; height: 100%; border: 0; }
.foro-adjuntos { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .8rem; }
.foro-adjuntos img {
  width: 132px; height: 132px; object-fit: cover; border-radius: 0;
  border: 1px solid var(--line); transition: transform .2s;
}
.foro-adjuntos a:hover img { transform: scale(1.03); }
.foro-post-pie { display: flex; gap: .8rem; margin-top: .7rem; }
.foro-accion {
  background: none; border: none; padding: 0; font-size: var(--tipo-xs); color: var(--muted);
  cursor: pointer; text-decoration: underline; text-underline-offset: 2px;
}
.foro-accion:hover { color: var(--navy); }
.foro-form .campo { margin-top: .8rem; }
.foro-nota { font-size: var(--tipo-xs); color: var(--muted); margin: .35rem 0 0; }
.foro-compuerta {
  margin-top: 1rem; padding: .9rem 1rem; border: 1px dashed color-mix(in srgb, var(--oro) 70%, transparent);
  border-radius: 0; display: grid; gap: .6rem; background: var(--oro-a06);
}
.check-linea { display: flex; gap: .55rem; align-items: flex-start; font-size: var(--tipo-sm); cursor: pointer; }
.check-linea input { margin-top: .2rem; flex: none; }
.foro-reglas ol { padding-left: 1.2rem; display: grid; gap: .5rem; font-size: var(--tipo-sm); }
.reco-card {
  margin: .8rem 0 0; padding: 1rem 1.2rem; background: var(--panel, var(--blanco));
  border: 1px solid var(--line); border-left: 3px solid var(--gold); border-radius: 0;
}
.reco-card p { margin: 0; font-style: italic; line-height: 1.6; }
.reco-card footer { margin-top: .55rem; font-size: .8rem; color: var(--muted); font-style: normal; }
.reco-card.reco-pendiente { border-left-color: var(--navy); }
.consent-texto ol { padding-left: 1.2rem; display: grid; gap: .55rem; font-size: var(--tipo-sm); line-height: 1.6; }
.carnet-barra {
  background: var(--blanco); border-radius: 0; padding: .5rem .6rem .3rem; text-align: center; flex: none;
}
.carnet-barra img { display: block; width: 128px; height: 44px; object-fit: fill; }
.carnet-barra span {
  font-size: .62rem; letter-spacing: .22em; color: var(--negro-eleg); font-variant-numeric: tabular-nums;
}
.pagina-navy input:-webkit-autofill,
.pagina-navy input:-webkit-autofill:hover,
.pagina-navy input:-webkit-autofill:focus {
  -webkit-text-fill-color: #f4f0e8;
  -webkit-box-shadow: 0 0 0 1000px var(--eleg-1) inset;
  caret-color: #f4f0e8;
  transition: background-color 9999s ease-out;
}
input[type="file"] { font: 500 .84rem/1.4 var(--sans); color: var(--muted); max-width: 100%; }
input[type="file"]::file-selector-button {
  font: 600 .82rem var(--sans); padding: .5rem 1rem; margin-right: .85rem;
  border: 1px solid var(--gold); border-radius: 0;
  background: var(--oro-a12); color: var(--navy); cursor: pointer;
  transition: background .2s, border-color .2s;
}
input[type="file"]::file-selector-button:hover { background: var(--oro-a30); }
.r19-dir-retirado{ border: 1px solid color-mix(in srgb, var(--negro-400) 18%, transparent); box-shadow: none; background: color-mix(in srgb, var(--negro-400) 5%, transparent); color: var(--navy-ink); }
.foro-mod-bar {
  display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap;
  padding: .7rem 1rem; margin: 1rem 0; border-radius: 0;
  background: linear-gradient(180deg, var(--oro-a12), var(--oro-a06));
  border: 1px solid color-mix(in srgb, var(--oro) 45%, transparent); font-size: var(--tipo-sm); color: var(--navy);
}
.foro-mod-bar .punto { display: inline-block; width: .55rem; height: .55rem; border-radius: 50%;
  background: #c0483f; margin-right: .5rem; vertical-align: middle; }
.foro-mod-bar .punto.ok { background: #4a8f5f; }
.btn-peligro { border: 1px solid rgba(176, 72, 63, .55) !important; color: #a5372f !important; background: transparent; }
.btn-peligro:hover { background: rgba(176, 72, 63, .10) !important; }

/* ── ds.css ── */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  background: var(--fondo-base);
  color: var(--texto-primario);
  font-family: var(--fuente-lectura);
  font-size: var(--tipo-base);
  line-height: var(--interlinea-normal);
  font-weight: var(--peso-normal);
  letter-spacing: var(--tracking-normal);
}
body.tema-club {
  background:
    radial-gradient(1100px 520px at 78% -12%, rgba(213,181,137,.055), transparent 62%),
    radial-gradient(760px 420px at 8% 104%, rgba(213,181,137,.035), transparent 60%),
    var(--fondo-base);
  background-attachment: fixed;
}
body.pagina-navy { background: var(--marino); }
body.pagina-carnet { background: var(--fondo-base); }
h2, h3, h4, h5 {
  font-family: var(--fuente-ceremonial);
  font-weight: var(--peso-semi);
  line-height: var(--interlinea-titulo);
  letter-spacing: var(--tracking-titulo);
  color: var(--texto-primario);
  margin: 0 0 var(--esp-4);
}
h2 { font-size: clamp(var(--tipo-xl), 3.6vw, var(--tipo-3xl)); }
h3 { font-size: var(--tipo-xl); }
h4 { font-size: var(--tipo-lg); }
p { max-width: var(--ancho-lectura); margin: 0 0 var(--esp-4); }
a { color: var(--texto-enlace); text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover { color: var(--texto-enlace-hover); }
small, .tipo-sm { font-size: var(--tipo-sm); }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: none;
  box-shadow: var(--anillo-foco);
  border-radius: var(--radio-sm);
}
.titulo-duo { font-family: var(--fuente-ceremonial); line-height: var(--interlinea-titulo); }
.titulo-duo > :first-child { font-weight: var(--peso-ligero); display: block; }
.titulo-duo > :last-child  { font-weight: var(--peso-fuerte); display: block; }
.eyebrow {
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-etiqueta);
  text-transform: uppercase;
  color: var(--texto-oro);
  display: block;
  margin-bottom: var(--esp-2);
}
.hairline, .hairline-cine {
  border: 0;
  border-top: var(--borde-fino) solid var(--borde-dorado);
  opacity: .6;
  margin: var(--esp-8) 0;
}
.grano { position: relative; }
.grano::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  border-radius: inherit;
  background-image: radial-gradient(rgba(255,255,255,.5) .5px, transparent .5px);
  background-size: 3px 3px;
  opacity: .035;
}
.oro-metal {
  background: var(--degradado-oro);
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
}
.ax-main { max-width: var(--ancho-contenido); margin: 0 auto; padding: var(--esp-8) var(--esp-5) var(--esp-16); }
.ax-header {
  display: flex; align-items: center; justify-content: space-between; gap: var(--esp-6);
  max-width: var(--ancho-contenido); margin: 0 auto;
  padding: var(--esp-4) var(--esp-5);
  border-bottom: var(--borde-fino) solid var(--borde-tenue);
  background: transparent;
}
.ax-wordmark { display: inline-flex; align-items: center; gap: var(--esp-2); text-decoration: none; }
.ax-iso { height: 26px; width: auto; display: block; }
.ax-resto {
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-etiqueta);
  text-transform: uppercase;
  color: var(--texto-secundario);
}
.ax-nav { display: flex; flex-wrap: wrap; gap: var(--esp-5); align-items: center; }
.ax-nav a {
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  font-weight: var(--peso-medio);
  letter-spacing: var(--tracking-nav);
  text-transform: uppercase;
  text-decoration: none;
  color: var(--texto-secundario);
  padding-bottom: var(--esp-1);
  border-bottom: var(--borde-fino) solid transparent;
  transition: color var(--dur-rapida) var(--curva-salida),
              border-color var(--dur-rapida) var(--curva-salida);
}
.ax-nav a:hover { color: var(--texto-primario); border-bottom-color: var(--borde-dorado); }
.ax-footer {
  max-width: var(--ancho-contenido); margin: 0 auto;
  padding: var(--esp-10) var(--esp-5);
  border-top: var(--borde-fino) solid var(--borde-tenue);
  color: var(--texto-tenue);
  font-size: var(--tipo-sm);
}
.pagina-cabecera { margin-bottom: var(--esp-8); }
.margen-sup { margin-top: var(--esp-12); }
.centro { text-align: center; }
.sr-solo {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--esp-2);
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-sm);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-ancho);
  line-height: 1;
  padding: var(--esp-3) var(--esp-6);
  min-height: 44px;
  border-radius: var(--radio-pastilla);
  border: var(--borde-fino) solid var(--borde-dorado);
  background: transparent;
  color: var(--texto-primario);
  text-decoration: none;
  cursor: pointer;
  transition: background var(--dur-rapida) var(--curva-salida),
              border-color var(--dur-rapida) var(--curva-salida),
              transform var(--dur-rapida) var(--curva-salida);
}
.btn:hover { background: var(--fondo-sutil); border-color: var(--ornamento-oro); }
.btn:active { transform: scale(var(--escala-presion)); }
.btn[disabled], .btn:disabled { opacity: .45; cursor: not-allowed; }
.btn-oro {
  background: var(--degradado-oro);
  border-color: transparent;
  color: var(--nivel-gold-tinta);
}
.btn-oro:hover { background: var(--degradado-oro); filter: brightness(1.06); border-color: transparent; }
.btn-linea, .btn-linea-oro, .btn-borde-oro { background: transparent; }
.btn-linea { border-color: var(--borde-medio); color: var(--texto-secundario); }
.btn-linea:hover { color: var(--texto-primario); border-color: var(--borde-plata); }
.btn-peligro { border-color: var(--estado-error); color: var(--estado-error); }
.btn-peligro:hover { background: var(--fondo-sutil); }
.btn-bloque { display: flex; width: 100%; }
.acciones-fila { display: flex; flex-wrap: wrap; gap: var(--esp-3); align-items: center; }
.tarjeta {
  background: var(--fondo-superficie);
  border: var(--borde-fino) solid var(--borde-tenue);
  border-radius: var(--radio-md);
  padding: var(--esp-6);
  box-shadow: var(--sombra-carta);
}
body.tema-club .tarjeta { background: var(--fondo-sutil); }
.tarjeta-navy { background: var(--marino); border-color: var(--borde-plata); color: var(--blanco); }
.campo { display: block; margin-bottom: var(--esp-5); }
.campo label, label {
  display: block;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-ancho);
  text-transform: uppercase;
  color: var(--texto-secundario);
  margin-bottom: var(--esp-2);
}
input[type=text], input[type=email], input[type=password], input[type=number],
input[type=date], input[type=search], input[type=tel], input[type=url],
select, textarea {
  width: 100%;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-base);
  color: var(--texto-primario);
  background: var(--fondo-hundido);
  border: var(--borde-fino) solid var(--borde-medio);
  border-radius: var(--radio-sm);
  padding: var(--esp-3) var(--esp-4);
  min-height: 44px;
  transition: border-color var(--dur-rapida) var(--curva-salida);
}
input::placeholder, textarea::placeholder { color: var(--texto-tenue); }
input:hover, select:hover, textarea:hover { border-color: var(--borde-plata); }
input:focus, select:focus, textarea:focus { border-color: var(--ornamento-oro); }
textarea { min-height: 8rem; line-height: var(--interlinea-normal); resize: vertical; }
.campos-2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--esp-5); }
.check-linea { display: flex; align-items: flex-start; gap: var(--esp-3); margin-bottom: var(--esp-4); }
.check-linea label { text-transform: none; letter-spacing: var(--tracking-normal);
  font-weight: var(--peso-normal); font-size: var(--tipo-sm); color: var(--texto-secundario); margin: 0; }
input[type=checkbox], input[type=radio] { width: 20px; height: 20px; min-height: 0; accent-color: var(--ornamento-oro); flex-shrink: 0; }
.aviso {
  border-radius: var(--radio-md);
  border: var(--borde-fino) solid var(--borde-tenue);
  border-left-width: var(--esp-1);
  padding: var(--esp-4) var(--esp-5);
  margin: var(--esp-4) 0;
  font-size: var(--tipo-sm);
  background: var(--fondo-sutil);
  color: var(--texto-secundario);
}
.aviso-ok    { border-left-color: var(--estado-exito); }
.aviso-error { border-left-color: var(--estado-error); }
.aviso-info  { border-left-color: var(--estado-info); }
.sin-resultados {
  text-align: center;
  padding: var(--esp-16) var(--esp-6);
  color: var(--texto-tenue);
  border: var(--borde-fino) dashed var(--borde-tenue);
  border-radius: var(--radio-md);
  background: transparent;
  font-size: var(--tipo-sm);
}
.tabla-marco {
  border: var(--borde-fino) solid var(--borde-tenue);
  border-radius: var(--radio-md);
  overflow: auto;
}
.tabla { width: 100%; border-collapse: collapse; font-family: var(--fuente-interfaz); font-size: var(--tipo-sm); }
.tabla th {
  text-align: left;
  font-size: var(--tipo-xs);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-ancho);
  text-transform: uppercase;
  color: var(--texto-tenue);
  padding: var(--esp-3) var(--esp-4);
  border-bottom: var(--borde-fino) solid var(--borde-medio);
  white-space: nowrap;
}
.tabla td { padding: var(--esp-3) var(--esp-4); border-bottom: var(--borde-fino) solid var(--borde-tenue); color: var(--texto-secundario); }
.tabla tbody tr:last-child td { border-bottom: 0; }
.tabla tbody tr:hover td { background: var(--fondo-sutil); }
.celda-sec { color: var(--texto-tenue); }
.kpi-rejilla { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--esp-4); }
.kpi {
  border: var(--borde-fino) solid var(--borde-tenue);
  border-radius: var(--radio-md);
  padding: var(--esp-5);
  background: var(--fondo-sutil);
}
.kpi-cifra { display: block; font-family: var(--fuente-ceremonial); font-size: var(--tipo-3xl);
  line-height: var(--interlinea-ajustada); color: var(--texto-primario); }
.kpi-nombre { display: block; font-family: var(--fuente-interfaz); font-size: var(--tipo-xs);
  letter-spacing: var(--tracking-etiqueta); text-transform: uppercase; color: var(--texto-tenue); margin-top: var(--esp-2); }
.stats-fila { display: flex; flex-wrap: wrap; gap: var(--esp-6); list-style: none; padding: 0; margin: var(--esp-6) 0; }
.stat { display: flex; flex-direction: column; gap: var(--esp-1); }
.stat-num { font-family: var(--fuente-ceremonial); font-size: var(--tipo-xl); color: var(--texto-oro); }
.stat-tl { font-family: var(--fuente-interfaz); font-size: var(--tipo-xs);
  letter-spacing: var(--tracking-ancho); text-transform: uppercase; color: var(--texto-tenue); }
.pill {
  display: inline-flex; align-items: center; gap: var(--esp-1);
  font-family: var(--fuente-interfaz); font-size: var(--tipo-micro);
  font-weight: var(--peso-semi); letter-spacing: var(--tracking-ancho); text-transform: uppercase;
  padding: var(--esp-1) var(--esp-3);
  border-radius: var(--radio-pastilla);
  border: var(--borde-fino) solid currentColor;
  background: var(--fondo-sutil);
}
.pill-activa     { color: var(--estado-exito); }
.pill-por_vencer { color: var(--estado-aviso); }
.pill-vencida    { color: var(--estado-error); }
.carnet {
  position: relative;
  aspect-ratio: var(--carnet-ratio);
  width: 100%;
  max-width: 460px;
  border-radius: var(--carnet-radio);
  background: var(--carnet-fondo);
  border: var(--borde-fino) solid var(--carnet-filete);
  padding: var(--esp-5);
  display: flex; flex-direction: column; justify-content: space-between;
  overflow: hidden;
  color: var(--blanco);
  box-shadow: none;
}
.carnet::before {
  content: ""; position: absolute; inset: var(--esp-2);
  border: var(--borde-fino) solid var(--carnet-filete-tenue);
  border-radius: calc(var(--carnet-radio) - 2px);
  pointer-events: none;
}
.carnet::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
  background-image:
    repeating-linear-gradient(58deg,  var(--carnet-guilloche) 0 .5px, transparent .5px 7px),
    repeating-linear-gradient(-58deg, var(--carnet-guilloche) 0 .5px, transparent .5px 7px),
    repeating-radial-gradient(circle at 82% 12%, var(--carnet-guilloche) 0 .5px, transparent .5px 9px);
  opacity: .85;
}
.carnet-glare {
  position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
  background: linear-gradient(118deg, rgba(255,255,255,.10) 0%, transparent 34%, transparent 66%, rgba(255,255,255,.05) 100%);
}
.carnet-marca-agua {
  position: absolute; right: -6%; bottom: -14%;
  width: 62%; height: auto; pointer-events: none;
  opacity: .12;
  filter: grayscale(1) brightness(1.6);
}
.carnet-fila-sup, .carnet-fila-inf { position: relative; z-index: 1; display: flex; align-items: flex-end; justify-content: space-between; gap: var(--esp-4); }
.carnet-fila-sup { align-items: flex-start; }
.carnet-marca {
  font-family: var(--fuente-ceremonial);
  font-size: var(--tipo-lg);
  font-weight: var(--peso-fuerte);
  letter-spacing: var(--tracking-titulo);
  color: var(--blanco);
}
.carnet-marca small {
  display: block;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-micro);
  font-weight: var(--peso-medio);
  letter-spacing: var(--tracking-etiqueta);
  text-transform: uppercase;
  color: var(--ornamento-oro);
}
.carnet-cat {
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-micro);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-etiqueta);
  text-transform: uppercase;
  padding: var(--esp-1) var(--esp-3);
  border-radius: var(--radio-pastilla);
  border: var(--borde-fino) solid var(--carnet-filete);
  color: var(--ornamento-oro);
  white-space: nowrap;
}
.carnet-nombre {
  font-family: var(--fuente-ceremonial);
  font-size: var(--tipo-lg);
  font-weight: var(--peso-semi);
  line-height: var(--interlinea-titulo);
  color: var(--blanco);
}
.carnet-codigo {
  font-family: var(--fuente-datos);
  font-size: var(--tipo-sm);
  letter-spacing: var(--tracking-ancho);
  color: var(--gris-800);
  margin-top: var(--esp-1);
}
.carnet-vigencia {
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-micro);
  letter-spacing: var(--tracking-ancho);
  text-transform: uppercase;
  color: var(--gris-700);
  margin-top: var(--esp-2);
}
.carnet-barra {
  background: var(--carnet-codigo-fondo);
  border-radius: var(--radio-xs);
  padding: var(--esp-2) var(--esp-3);
  display: flex; flex-direction: column; align-items: center; gap: 2px;
  flex-shrink: 0;
  max-width: 46%;
}
.carnet-barra img { display: block; width: 100%; height: auto; max-height: 46px; }
.carnet-barra span {
  font-family: var(--fuente-datos);
  font-size: var(--tipo-micro);
  letter-spacing: var(--tracking-ancho);
  color: var(--carnet-codigo-barra);
}
.carnet-qr {
  flex-shrink: 0;
  width: clamp(56px, 17vw, 78px); height: clamp(56px, 17vw, 78px);
  background: var(--carnet-codigo-fondo);
  border-radius: var(--radio-xs);
  padding: var(--esp-1);
}
.carnet-qr img { width: 100%; height: 100%; object-fit: contain; display: block; }
.carnet.carnet-silver, .carnet.cat-silver, .carnet.carnet-platinum { color: var(--nivel-silver-tinta);
  border-color: var(--nivel-silver-filete);
}
.carnet.carnet-purple, .carnet.cat-purple { color: var(--nivel-purple-tinta);
  border-color: var(--nivel-purple-filete);
}
.carnet.carnet-gold, .carnet.cat-gold { color: var(--nivel-gold-tinta);
  border-color: var(--nivel-gold-filete);
}
.carnet.carnet-expert, .carnet.cat-expert, .carnet.carnet-black, .carnet.cat-black { color: var(--nivel-expert-tinta);
  border-color: var(--nivel-expert-filete);
}
.carnet.carnet-silver .carnet-marca, .carnet.cat-silver .carnet-marca,
.carnet.carnet-silver .carnet-nombre, .carnet.cat-silver .carnet-nombre,
.carnet.carnet-purple .carnet-marca, .carnet.cat-purple .carnet-marca,
.carnet.carnet-purple .carnet-nombre, .carnet.cat-purple .carnet-nombre,
.carnet.carnet-gold .carnet-marca, .carnet.cat-gold .carnet-marca,
.carnet.carnet-gold .carnet-nombre, .carnet.cat-gold .carnet-nombre { color: inherit; }
.carnet.carnet-silver .carnet-codigo, .carnet.cat-silver .carnet-codigo,
.carnet.carnet-purple .carnet-codigo, .carnet.cat-purple .carnet-codigo,
.carnet.carnet-gold .carnet-codigo,   .carnet.cat-gold .carnet-codigo,
.carnet.carnet-silver .carnet-vigencia, .carnet.cat-silver .carnet-vigencia,
.carnet.carnet-purple .carnet-vigencia, .carnet.cat-purple .carnet-vigencia,
.carnet.carnet-gold .carnet-vigencia,   .carnet.cat-gold .carnet-vigencia { color: inherit; opacity: .78; }
.carnet.carnet-silver .carnet-cat, .carnet.cat-silver .carnet-cat,
.carnet.carnet-purple .carnet-cat, .carnet.cat-purple .carnet-cat,
.carnet.carnet-gold .carnet-cat,   .carnet.cat-gold .carnet-cat { color: inherit; border-color: currentColor; }
.carnet.carnet-silver .carnet-marca small, .carnet.cat-silver .carnet-marca small,
.carnet.carnet-purple .carnet-marca small, .carnet.cat-purple .carnet-marca small,
.carnet.carnet-gold .carnet-marca small,   .carnet.cat-gold .carnet-marca small { color: inherit; opacity: .72; }
.insignia {
  position: relative;
  border: var(--borde-fino) solid var(--borde-dorado);
  border-radius: var(--radio-md);
  padding: var(--esp-6);
  text-align: center;
  background: var(--fondo-sutil);
}
.insignia-nivel {
  display: block; width: 56px; height: 56px; margin: 0 auto var(--esp-4);
  border-radius: 50%;
  background: var(--degradado-oro);
  box-shadow: inset 0 0 0 var(--borde-fino) var(--carnet-filete);
}
.insignia-etiqueta {
  font-family: var(--fuente-interfaz); font-size: var(--tipo-micro);
  letter-spacing: var(--tracking-etiqueta); text-transform: uppercase; color: var(--texto-tenue);
}
.insignia-nombre {
  font-family: var(--fuente-ceremonial); font-size: var(--tipo-2xl);
  color: var(--texto-primario); margin: var(--esp-2) 0;
}
.insignia-pie { font-size: var(--tipo-xs); color: var(--texto-tenue); }
.mini-cat, .insignia-chip {
  display: inline-flex; align-items: center;
  font-family: var(--fuente-interfaz); font-size: var(--tipo-micro);
  font-weight: var(--peso-semi); letter-spacing: var(--tracking-ancho); text-transform: uppercase;
  padding: var(--esp-1) var(--esp-3); border-radius: var(--radio-pastilla);
  background: var(--insignia-silver-fondo); color: var(--insignia-silver-tinta);
}
.cat-silver .mini-cat{ background: var(--insignia-silver-fondo); color: var(--insignia-silver-tinta); }
.cat-purple .mini-cat{ background: var(--insignia-purple-fondo); color: var(--insignia-purple-tinta); }
.cat-gold .mini-cat{ background: var(--insignia-gold-fondo);   color: var(--insignia-gold-tinta); }
.cat-expert .mini-cat,
.cat-black .mini-cat{ background: var(--insignia-expert-fondo); color: var(--insignia-expert-tinta); }
  .r19-retirado-cat-escalera { list-style: none; padding: 0; margin: var(--esp-6) 0 0; display: flex; flex-direction: column; gap: var(--esp-1); counter-reset: nivel; }
.cine-hero {
  position: relative; overflow: hidden;
  border-radius: var(--radio-md);
  border: var(--borde-fino) solid var(--borde-tenue);
  min-height: clamp(280px, 42vw, 420px);
  display: flex; align-items: flex-end;
  background: var(--fondo-superficie);
}
.cine-hero-poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) brightness(.42); }
.cine-hero-velo { position: absolute; inset: 0; background: var(--velo-inferior); }
.cine-hero-contenido { position: relative; z-index: 1; padding: var(--esp-8); max-width: 46rem; }
.cine-hero-titulo {
  font-family: var(--fuente-ceremonial);
  font-size: clamp(var(--tipo-xl), 4.2vw, var(--tipo-3xl));
  line-height: var(--interlinea-titulo);
  letter-spacing: var(--tracking-titulo);
  color: var(--blanco);
  margin: 0 0 var(--esp-3);
}
.cine-hero-desc { color: var(--gris-800); font-size: var(--tipo-sm); max-width: 42ch; }
.cine-hero-meta {
  font-family: var(--fuente-interfaz); font-size: var(--tipo-micro);
  letter-spacing: var(--tracking-etiqueta); text-transform: uppercase;
  color: var(--ornamento-oro); margin-bottom: var(--esp-2);
}
.cine-hero-btn { margin-top: var(--esp-5); }
.cine-cabecera { display: flex; align-items: baseline; justify-content: space-between; gap: var(--esp-4); margin: var(--esp-12) 0 var(--esp-4); }
.cine-progreso { height: 2px; background: var(--fondo-sutil-fuerte); border-radius: var(--radio-pastilla); overflow: hidden; }
.cine-progreso > * { display: block; height: 100%; background: var(--degradado-oro); }
.cine-progreso-nota { font-size: var(--tipo-micro); color: var(--texto-tenue); margin-top: var(--esp-1); }
.rail {
  display: grid; grid-auto-flow: column;
  grid-auto-columns: minmax(220px, 26%);
  gap: var(--esp-4);
  overflow-x: auto; overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  padding-bottom: var(--esp-3);
  scrollbar-width: thin;
}
.rail > * { scroll-snap-align: start; }
.rail-titulo {
  font-family: var(--fuente-interfaz); font-size: var(--tipo-xs);
  letter-spacing: var(--tracking-etiqueta); text-transform: uppercase;
  color: var(--texto-secundario); margin-bottom: var(--esp-3);
}
.rail-card {
  border: var(--borde-fino) solid var(--borde-tenue);
  border-radius: var(--radio-md);
  overflow: hidden; background: var(--fondo-superficie);
  transition: border-color var(--dur-media) var(--curva-salida), transform var(--dur-media) var(--curva-salida);
}
.rail-card:hover { border-color: var(--borde-dorado); }
.rail-progreso { height: 2px; background: var(--degradado-oro); }
.ep { position: relative; display: flex; gap: var(--esp-4); padding: var(--esp-4) 0; border-bottom: var(--borde-fino) solid var(--borde-tenue); }
.ep-num {
  font-family: var(--fuente-ceremonial);
  font-size: var(--tipo-3xl);
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px var(--carnet-filete-tenue);
  flex-shrink: 0; width: 2.2ch; text-align: center;
}
.ep-actual .ep-num { -webkit-text-stroke-color: var(--ornamento-oro); }
.ep-titulo { font-family: var(--fuente-interfaz); font-weight: var(--peso-semi); color: var(--texto-primario); }
.ep-desc { font-size: var(--tipo-sm); color: var(--texto-tenue); }
.ep-estado { font-size: var(--tipo-micro); letter-spacing: var(--tracking-ancho); text-transform: uppercase; color: var(--texto-oro); }
.ep-actual { background: var(--fondo-sutil); border-radius: var(--radio-sm); }
.ep-bloqueado { opacity: .5; }
.ep-poster { border-radius: var(--radio-sm); overflow: hidden; }
.sala-pantalla { aspect-ratio: 21/9; background: var(--negro-000); border-radius: var(--radio-md); overflow: hidden; border: var(--borde-fino) solid var(--borde-tenue); }
.video-wrap { aspect-ratio: 16/9; border-radius: var(--radio-md); overflow: hidden; }
.sala-volver { font-size: var(--tipo-sm); color: var(--texto-tenue); }
  .r19-retirado-dir-inicial {
  width: 52px; height: 52px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--fuente-ceremonial); font-size: var(--tipo-lg);
  color: var(--texto-invertido); background: var(--degradado-plata);
  margin-bottom: var(--esp-4);
}
.dir-pais, .dir-esp { font-family: var(--fuente-interfaz); font-size: var(--tipo-xs);
  letter-spacing: var(--tracking-ancho); text-transform: uppercase; color: var(--texto-tenue); }
.chip-pais {
  display: inline-flex; font-size: var(--tipo-micro); letter-spacing: var(--tracking-ancho);
  text-transform: uppercase; padding: var(--esp-1) var(--esp-3);
  border-radius: var(--radio-pastilla); border: var(--borde-fino) solid var(--borde-tenue); color: var(--texto-tenue);
}
.filtros { display: flex; flex-wrap: wrap; gap: var(--esp-3); margin-bottom: var(--esp-6); }
.perfil-hero { display: grid; gap: var(--esp-6); margin-bottom: var(--esp-10); }
.perfil-rejilla { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: var(--esp-8); align-items: start; }
.verif-caja { border: var(--borde-fino) solid var(--borde-dorado); border-radius: var(--radio-md); padding: var(--esp-8); text-align: center; }
.verif-sello {
  display: inline-flex; align-items: center; gap: var(--esp-2);
  font-family: var(--fuente-interfaz); font-size: var(--tipo-xs);
  letter-spacing: var(--tracking-etiqueta); text-transform: uppercase;
  color: var(--estado-exito);
  border: var(--borde-fino) solid currentColor; border-radius: var(--radio-pastilla);
  padding: var(--esp-2) var(--esp-4);
}
.verif-datos { margin-top: var(--esp-6); }
.verif-foto { border-radius: var(--radio-md); overflow: hidden; }
.foro-lista { display: flex; flex-direction: column; gap: var(--esp-3); }
.foro-hilo-card {
  border: var(--borde-fino) solid var(--borde-tenue);
  border-radius: var(--radio-md);
  padding: var(--esp-5);
  background: var(--fondo-superficie);
  transition: border-color var(--dur-media) var(--curva-salida);
}
.foro-hilo-card:hover { border-color: var(--borde-dorado); }
.foro-hilo-head { display: flex; justify-content: space-between; gap: var(--esp-4); align-items: baseline; }
.foro-hilo-meta, .foro-post-pie, .foro-hilo-pie { font-size: var(--tipo-xs); color: var(--texto-tenue); }
.foro-post { border-bottom: var(--borde-fino) solid var(--borde-tenue); padding: var(--esp-5) 0; }
.foro-post-op { border-left: var(--esp-1) solid var(--borde-dorado); padding-left: var(--esp-5); }
.foro-post-head { display: flex; gap: var(--esp-3); align-items: center; margin-bottom: var(--esp-3); }
.foro-post-cuerpo { color: var(--texto-secundario); }
.foro-pill, .foro-tec {
  display: inline-flex; font-size: var(--tipo-micro); letter-spacing: var(--tracking-ancho);
  text-transform: uppercase; padding: var(--esp-1) var(--esp-3);
  border-radius: var(--radio-pastilla); border: var(--borde-fino) solid var(--borde-tenue); color: var(--texto-tenue);
}
.foro-tabs { display: flex; gap: var(--esp-5); border-bottom: var(--borde-fino) solid var(--borde-tenue); margin-bottom: var(--esp-6); }
.foro-tabs a {
  font-family: var(--fuente-interfaz); font-size: var(--tipo-xs);
  letter-spacing: var(--tracking-nav); text-transform: uppercase; text-decoration: none;
  color: var(--texto-tenue); padding-bottom: var(--esp-3);
  border-bottom: 2px solid transparent;
}
.foro-tabs a:hover { color: var(--texto-primario); border-bottom-color: var(--borde-dorado); }
.foro-reglas, .foro-nota, .foro-compuerta { font-size: var(--tipo-sm); color: var(--texto-tenue); }
.reco-card { border: var(--borde-fino) solid var(--borde-tenue); border-radius: var(--radio-md); padding: var(--esp-5); }
.formulas-rejilla { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--esp-5); }
.formula-tarjeta {
  border: var(--borde-fino) solid var(--borde-tenue); border-radius: var(--radio-md);
  padding: var(--esp-6); background: var(--fondo-superficie);
  transition: border-color var(--dur-media) var(--curva-salida);
}
.formula-tarjeta:hover { border-color: var(--borde-dorado); }
.resultado-caja {
  border: var(--borde-fino) solid var(--borde-dorado);
  border-radius: var(--radio-md); padding: var(--esp-6);
  text-align: center; background: var(--fondo-sutil);
}
.resultado-valor {
  font-family: var(--fuente-ceremonial); font-size: var(--tipo-4xl);
  line-height: var(--interlinea-ajustada); color: var(--texto-primario); display: block;
}
.landing-hero { padding: var(--esp-24) 0 var(--esp-16); }
.landing-hero-navy { background: var(--marino); color: var(--blanco); border-radius: var(--radio-md); }
.landing-bajada { font-size: var(--tipo-md); color: var(--texto-secundario); max-width: var(--ancho-lectura); }
.landing-ctas { display: flex; flex-wrap: wrap; gap: var(--esp-4); margin-top: var(--esp-8); }
.landing-cifras { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--esp-6); margin: var(--esp-16) 0; }
.landing-cifra-num { font-family: var(--fuente-ceremonial); font-size: var(--tipo-3xl); color: var(--texto-oro); display: block; }
.landing-cifra-txt { font-family: var(--fuente-interfaz); font-size: var(--tipo-xs);
  letter-spacing: var(--tracking-etiqueta); text-transform: uppercase; color: var(--texto-tenue); }
.landing-rejilla { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--esp-6); }
.paso { border: var(--borde-fino) solid var(--borde-tenue); border-radius: var(--radio-md); padding: var(--esp-6); }
.paso-num {
  font-family: var(--fuente-ceremonial); font-size: var(--tipo-2xl);
  color: transparent; -webkit-text-stroke: 1px var(--borde-dorado); display: block; margin-bottom: var(--esp-3);
}
.landing-escanea { font-size: var(--tipo-sm); color: var(--texto-tenue); }
.banda-final { border-top: var(--borde-fino) solid var(--borde-dorado); padding: var(--esp-16) 0; text-align: center; }
.landing-logo { max-width: 180px; height: auto; }
.acceso-caja { border: var(--borde-fino) solid var(--borde-tenue); border-radius: var(--radio-md); padding: var(--esp-6); }
.accesos-rejilla { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--esp-4); }
.acceso-sello { color: var(--ornamento-oro); flex-shrink: 0; }
.anillo { display: inline-grid; place-items: center; }
.anillo-cifra { font-family: var(--fuente-ceremonial); font-size: var(--tipo-xl); color: var(--texto-oro); }
.codigo-secreto { font-family: var(--fuente-datos); letter-spacing: var(--tracking-ancho);
  background: var(--fondo-hundido); border: var(--borde-fino) solid var(--borde-tenue);
  border-radius: var(--radio-sm); padding: var(--esp-3) var(--esp-4); word-break: break-all; }
.qr-2fa { background: var(--blanco); padding: var(--esp-3); border-radius: var(--radio-sm); display: inline-block; }
.campanas-rejilla { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--esp-5); }
.foro-mod-bar { display: flex; flex-wrap: wrap; gap: var(--esp-3); align-items: center; margin-bottom: var(--esp-5); }
.consent-texto { max-width: var(--ancho-lectura); color: var(--texto-secundario); font-size: var(--tipo-sm); }
.fp-casos, .fp-postop, .fp-resultados { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--esp-4); }
@media (max-width: 899.98px) {
  .perfil-rejilla { grid-template-columns: 1fr; }
  .campos-2 { grid-template-columns: 1fr; }
}
@media (max-width: 639.98px) {
  .ax-main { padding: var(--esp-6) var(--esp-4) var(--esp-12); }
  .ax-header { padding: var(--esp-3) var(--esp-4); flex-wrap: wrap; gap: var(--esp-3); }
  .ax-nav { gap: var(--esp-4); }
  .ax-nav a { font-size: var(--tipo-micro); }
  .carnet { max-width: 100%; padding: var(--esp-4); }
  .rail { grid-auto-columns: 74%; }
  .cine-hero-contenido { padding: var(--esp-5); }
  .landing-hero { padding: var(--esp-16) 0 var(--esp-10); }
  .btn { width: auto; }
  .acciones-fila .btn { flex: 1 1 auto; }
}
@media print {
  .ax-header, .ax-footer, .ax-nav, .acciones-fila, .btn { display: none !important; }
  body { background: var(--blanco); }
  .carnet { break-inside: avoid; max-width: 86mm; }
}

/* ── ds/10-fundamentos.css ── */
:root{
  --ritmo-bloque:  clamp(var(--esp-8),  4.5vw, var(--esp-12));
  --ritmo-seccion: clamp(var(--esp-12), 7vw,   var(--esp-20));
  --interlinea-cuerpo: 1.62;
  --interlinea-hero: 1.10;
  --medida-lectura: 64ch;
  --textura-grano: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23g)'/%3E%3C/svg%3E");
}
body.tema-club, .tema-oscuro{
  color-scheme: dark;
  --tinta-cuerpo: var(--texto-primario);
  --texto-secundario: color-mix(in srgb, var(--gris-800) 88%, var(--oro));
  --texto-tenue: color-mix(in srgb, var(--gris-700) 88%, var(--oro));
  --texto-enlace: var(--texto-primario);
  --texto-enlace-hover: var(--texto-primario);
  --subrayado-enlace: color-mix(in srgb, var(--oro) 45%, transparent);
  --subrayado-enlace-activo: var(--oro);
  --anillo-foco: 0 0 0 2px color-mix(in srgb, var(--oro) 90%, transparent);
  --muted: var(--texto-secundario);
  --line: var(--oro-a18);
  --gold-text: var(--texto-oro);
}
body.tema-club [style*="--navy"]{ --navy: var(--texto-primario); }
body.tema-papel, .tema-claro{
  color-scheme: light;
  --tinta-cuerpo: var(--texto-primario);
  --texto-tenue: color-mix(in srgb, var(--marino) 66%, var(--blanco));
  --subrayado-enlace: color-mix(in srgb, var(--dorado-ornamento) 55%, transparent);
  --subrayado-enlace-activo: var(--dorado-ornamento);
  --anillo-foco: 0 0 0 2px color-mix(in srgb, var(--dorado-ornamento) 90%, transparent);
  --muted: var(--texto-secundario);
  --line: var(--borde-tenue);
}
body.tema-papel :is(.landing-hero-navy, .tarjeta-navy, .pagina-navy){
  color-scheme: dark;
  --fondo-base: var(--marino);
  --texto-primario: var(--marfil);
  --tinta-cuerpo: var(--texto-primario);
  --texto-secundario: var(--brisa);
  --texto-tenue: var(--gris-800);
  --texto-oro: var(--dorado-texto-oscuro);
  --ornamento-oro: var(--oro);
  --texto-enlace: var(--blanco);
  --texto-enlace-hover: var(--blanco);
  --subrayado-enlace: color-mix(in srgb, var(--oro) 55%, transparent);
  --subrayado-enlace-activo: var(--oro);
  --borde-tenue: color-mix(in srgb, var(--blanco) 16%, transparent);
  --muted: var(--brisa);
  --line: color-mix(in srgb, var(--blanco) 16%, transparent);
  color: var(--tinta-cuerpo);
}
@supports (overflow: clip) {
  html,
  body { overflow-x: clip; }
}
body{
  font-family: var(--fuente-lectura);
  font-size: clamp(var(--tipo-base), 1rem + 0.22vw, var(--tipo-md));
  line-height: var(--interlinea-cuerpo);
  color: var(--tinta-cuerpo);
  font-synthesis: none;
  font-kerning: normal;
  font-variant-ligatures: common-ligatures contextual;
  font-variant-numeric: lining-nums;
}
body.tema-club{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6{
  font-family: var(--fuente-ceremonial);
  font-weight: var(--peso-normal);
  color: var(--texto-primario);
  line-height: var(--interlinea-titulo);
  letter-spacing: var(--tracking-titulo);
  text-wrap: balance;
  margin: 0 0 var(--esp-3);
}
h1{
  font-family: var(--fuente-ceremonial);
  font-weight: var(--peso-normal);
  font-size: var(--tipo-4xl);
  line-height: 1.05;
  letter-spacing: -0.01em;
  color: var(--marfil);
  margin-bottom: var(--esp-4);
}
body.tema-papel h1, .tema-claro h1{ color: var(--texto-primario); }
h2{ font-size: clamp(var(--tipo-xl), 1.25rem + 1.4vw, var(--tipo-3xl)); }
h3{ font-size: clamp(var(--tipo-lg), 1.15rem + 0.5vw, var(--tipo-xl)); }
h4{ font-size: var(--tipo-lg); font-weight: var(--peso-fuerte); letter-spacing: var(--tracking-normal); }
h5, h6{
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  font-weight: var(--peso-semi);
  letter-spacing: var(--tracking-etiqueta);
  text-transform: uppercase;
  color: var(--texto-secundario);
  line-height: var(--interlinea-normal);
}
p{
  max-width: var(--medida-lectura);
  margin: 0 0 var(--esp-4);
  text-wrap: pretty;
}
p:last-child{ margin-bottom: 0; }
.ax-main p :is(strong, b){
  color: var(--texto-primario);
  font-weight: var(--peso-semi);
}
small, .tipo-sm{ font-size: var(--tipo-sm); }
.ax-main :is(ul, ol):not([class]){
  max-width: var(--medida-lectura);
  margin: 0 0 var(--esp-4);
  padding-left: 1.15em;
}
.ax-main :is(ul, ol):not([class]) li + li{ margin-top: var(--esp-2); }
.ax-main :is(ul, ol):not([class]) li::marker{ color: var(--ornamento-oro); }
a{
  color: var(--texto-enlace);
  text-decoration-color: var(--subrayado-enlace);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
  text-decoration-skip-ink: auto;
  transition: color var(--dur-rapida) var(--curva-salida),
              text-decoration-color var(--dur-rapida) var(--curva-salida),
              text-decoration-thickness var(--dur-rapida) var(--curva-salida);
}
a:hover{
  color: var(--texto-enlace-hover);
  text-decoration-color: var(--subrayado-enlace-activo);
  text-decoration-thickness: 2px;
}
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible{
  box-shadow: none;
}
:focus-visible,
.ax-main :focus-visible,
.ax-header :focus-visible,
.ax-footer :focus-visible,
body.tema-club .ax-main :focus-visible,
body.tema-papel .ax-main :focus-visible{
  outline: 2px solid var(--acento-primario);
  outline-offset: 3px;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--fondo-base) 85%, transparent);
}
:focus:not(:focus-visible){ outline: none; }
.ax-main > * + *{ margin-top: var(--ritmo-bloque); }
.ax-main > .aviso + *,
.ax-main > * + .aviso{ margin-top: var(--esp-6); }
:is(.tarjeta, section, article) > :is(h2, h3, h4){ margin-top: var(--esp-8); }
:is(.tarjeta, section, article) > :is(h2, h3, h4):first-child{ margin-top: 0; }
.tarjeta{
  border-radius: var(--radio-sm);
  padding: clamp(var(--esp-5), 3.2vw, var(--esp-8));
  border: var(--borde-fino) solid var(--borde-tenue);
}
.tarjeta > :first-child{ margin-top: 0; }
.tarjeta > :last-child{ margin-bottom: 0; }
body.tema-club .tarjeta:not(.tarjeta-navy){
  position: relative;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--blanco) 7%,   transparent) 0%,
      color-mix(in srgb, var(--blanco) 3.5%, transparent) 46%,
      color-mix(in srgb, var(--blanco) 2%,   transparent) 100%);
  border-color: var(--oro-a30);
  box-shadow: var(--brillo-interno);
}
body.tema-club .tarjeta:not(.tarjeta-navy)::before{
  content: "";
  position: absolute;
  top: 0; left: var(--esp-5); right: var(--esp-5);
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg,
    transparent,
    color-mix(in srgb, var(--oro) 50%, transparent),
    transparent);
}
body.tema-papel .tarjeta{
  border-color: color-mix(in srgb, var(--dorado-ornamento) 20%, var(--borde-tenue));
}
.hairline, .hairline-cine, .ax-main > .hairline, hr{
  border: 0;
  width: 100%;
  height: 1px;
  opacity: 1;
  margin: var(--ritmo-seccion) 0;
  background: linear-gradient(90deg,
    transparent 0%,
    color-mix(in srgb, var(--ornamento-oro) 52%, transparent) 18%,
    color-mix(in srgb, var(--ornamento-oro) 52%, transparent) 82%,
    transparent 100%);
}
.eyebrow{
  display: block;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  font-weight: var(--peso-medio);
  letter-spacing: var(--tracking-etiqueta);
  line-height: var(--interlinea-normal);
  text-transform: uppercase;
  color: var(--texto-oro);
  margin: 0 0 var(--esp-3);
}
.eyebrow::before{
  content: "";
  display: inline-block;
  vertical-align: middle;
  position: relative;
  top: -0.06em;
  width: var(--esp-6);
  height: 1px;
  margin-right: var(--esp-3);
  background: currentColor;
  opacity: 0.85;
}
.titulo-duo{
  display: block;
  font-family: var(--fuente-ceremonial);
  font-weight: 500;
  font-style: italic;
  line-height: var(--interlinea-hero);
  letter-spacing: var(--tracking-titulo);
  color: color-mix(in srgb, var(--texto-primario) 74%, var(--fondo-base));
  text-wrap: balance;
}
.titulo-duo > :first-child:not(:last-child){
  display: block;
  font-weight: 500;
  font-style: italic;
  color: color-mix(in srgb, var(--texto-primario) 74%, var(--fondo-base));
}
.titulo-duo > :last-child{
  display: block;
  font-weight: var(--peso-fuerte);
  font-style: normal;
  letter-spacing: var(--tracking-titulo-grande);
  color: var(--texto-primario);
}
button, input, select, textarea, optgroup { font: inherit; }
.mini-cat.cat-silver,  .insignia-chip.cat-silver  { background: var(--insignia-silver-fondo);  color: var(--insignia-silver-tinta); }
.mini-cat.cat-purple,  .insignia-chip.cat-purple  { background: var(--insignia-purple-fondo);  color: var(--insignia-purple-tinta); }
.mini-cat.cat-gold,    .insignia-chip.cat-gold    { background: var(--insignia-gold-fondo);    color: var(--insignia-gold-tinta); }
.mini-cat.cat-expert,  .insignia-chip.cat-expert  { background: var(--insignia-expert-fondo);  color: var(--insignia-expert-tinta); }
.mini-cat.cat-platinum, .insignia-chip.cat-platinum { background: var(--insignia-silver-fondo); color: var(--insignia-silver-tinta); }
.oro-metal{
  display: inline-block;
  padding-bottom: 0.06em;
  background-image: linear-gradient(100deg,
    var(--marfil)         0%,
    var(--oro-brillante) 20%,
    var(--oro)           44%,
    var(--marfil)        60%,
    var(--oro)           84%,
    var(--marfil)       100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
body.tema-papel .oro-metal{
  background-image: linear-gradient(100deg,
    var(--dorado-ornamento)   0%,
    var(--dorado-texto-claro) 45%,
    var(--dorado-ornamento) 100%);
}
body.tema-papel :is(.landing-hero-navy, .tarjeta-navy, .pagina-navy) .oro-metal{
  background-image: linear-gradient(100deg,
    var(--marfil)         0%,
    var(--oro-brillante) 20%,
    var(--oro)           44%,
    var(--marfil)        60%,
    var(--oro)           84%,
    var(--marfil)       100%);
}
@supports not ((background-clip: text) or (-webkit-background-clip: text)){
  .oro-metal{ color: var(--texto-oro); -webkit-text-fill-color: currentColor; }
}
.grano{ position: relative; }
.grano:not(.carnet)::after{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background-image: var(--textura-grano);
  background-size: 160px 160px;
  opacity: 0.055;
}
html:has(body.tema-club)::after{
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9000;
  pointer-events: none;
  background-image: var(--textura-grano);
  background-size: 180px 180px;
  opacity: 0.04;
}
::selection{
  background: color-mix(in srgb, var(--oro) 32%, transparent);
  color: var(--texto-primario);
  text-shadow: none;
}
body.tema-papel ::selection{
  background: color-mix(in srgb, var(--oro) 48%, transparent);
  color: var(--marino);
}
html{
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--ornamento-oro) 38%, transparent)
                   color-mix(in srgb, var(--ornamento-oro) 6%, transparent);
}
::-webkit-scrollbar{ width: 10px; height: 10px; }
::-webkit-scrollbar-track{ background: transparent; }
::-webkit-scrollbar-thumb{
  background: color-mix(in srgb, var(--ornamento-oro) 34%, transparent);
  background-clip: padding-box;
  border: 3px solid transparent;
  border-radius: var(--radio-pastilla);
}
::-webkit-scrollbar-thumb:hover{
  background: color-mix(in srgb, var(--ornamento-oro) 60%, transparent);
  background-clip: padding-box;
}
::-webkit-scrollbar-corner{ background: transparent; }
@media (max-width: 639.98px){
  :root{
    --tipo-micro: 12px;
    --ritmo-bloque: var(--esp-8);
    --ritmo-seccion: var(--esp-12);
  }
  .tarjeta{ padding: var(--esp-5); }
  .eyebrow::before{ width: var(--esp-5); margin-right: var(--esp-2); }
  p, .ax-main :is(ul, ol):not([class]){ max-width: none; }
}
@media print{
  html:has(body.tema-club)::after{ display: none; }
  .grano:not(.carnet)::after{ display: none; }
  body{ background: var(--blanco); color: var(--negro); }
  a{ text-decoration-color: currentColor; }
  .hairline, .hairline-cine, hr{ background: var(--negro); opacity: 0.25; }
}

/* ── ds/20-chrome.css ── */
:root{
  --alto-cabecera: var(--esp-16);
  --alto-cabecera-movil: calc(var(--esp-12) + var(--esp-3));
  --toque-min: calc(var(--esp-10) + var(--esp-1));
  --sangria-chrome: max(var(--esp-5), calc((100% - var(--ancho-contenido)) / 2));
  --recorrido-densidad: var(--esp-32);
}
html{ scroll-padding-top: calc(var(--alto-cabecera) + var(--esp-4)); }
.ax-header{
  position: sticky;
  top: 0;
  z-index: 50;
  --cabecera-tinta: var(--fondo-base);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: var(--esp-4) var(--esp-8);
  width: 100%;
  max-width: none;
  margin: 0;
  min-height: var(--alto-cabecera);
  padding: 0 var(--sangria-chrome);
  border-bottom: 0;
  background-color: color-mix(in srgb, var(--cabecera-tinta) 88%, transparent);
  background-image: linear-gradient(to bottom,
      color-mix(in srgb, var(--cabecera-tinta) 40%, transparent) 0%,
      color-mix(in srgb, var(--cabecera-tinta) 0%, transparent) 100%);
  backdrop-filter: var(--desenfoque-panel);
  -webkit-backdrop-filter: var(--desenfoque-panel);
}
.ax-header::after{
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: var(--borde-fino);
  pointer-events: none;
  background: linear-gradient(90deg,
      color-mix(in srgb, var(--ornamento-oro) 0%, transparent) 0%,
      color-mix(in srgb, var(--ornamento-oro) 38%, transparent) 18%,
      color-mix(in srgb, var(--ornamento-oro) 38%, transparent) 82%,
      color-mix(in srgb, var(--ornamento-oro) 0%, transparent) 100%);
}
@keyframes ax-cabecera-densidad{
  from{
    background-color: color-mix(in srgb, var(--cabecera-tinta) 0%, transparent);
    backdrop-filter: blur(0px) saturate(1);
    -webkit-backdrop-filter: blur(0px) saturate(1);
  }
  to{
    background-color: color-mix(in srgb, var(--cabecera-tinta) 90%, transparent);
    backdrop-filter: var(--desenfoque-panel);
    -webkit-backdrop-filter: var(--desenfoque-panel);
  }
}
@keyframes ax-filete-densidad{
  from{ opacity: 0; }
  to{ opacity: 1; }
}
@supports (animation-timeline: scroll(root block)){
  @media (prefers-reduced-motion: no-preference){
    .ax-header{
      animation: ax-cabecera-densidad linear both;
      animation-timeline: scroll(root block);
      animation-range: 0px var(--recorrido-densidad);
    }
    .ax-header::after{
      animation: ax-filete-densidad linear both;
      animation-timeline: scroll(root block);
      animation-range: 0px var(--recorrido-densidad);
    }
  }
}
.ax-wordmark{
  display: inline-flex;
  align-items: center;
  gap: var(--esp-3);
  flex: 0 0 auto;
  text-decoration: none;
  white-space: nowrap;
  padding: var(--esp-2) 0;
  border-radius: var(--radio-sm);
}
.ax-iso{
  height: var(--esp-8);
  width: auto;
  display: block;
  transition: opacity var(--dur-media) var(--curva-salida);
}
.ax-wordmark:hover .ax-iso{ opacity: .88; }
.ax-wordmark .ax-resto{
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: var(--tipo-xs);
}
.ax-resto{
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-micro);
  font-weight: var(--peso-semi);
  line-height: 1;
  letter-spacing: var(--tracking-etiqueta);
  margin-right: calc(var(--tracking-etiqueta) * -1);
  text-transform: uppercase;
  color: var(--texto-secundario);
  padding: var(--esp-1) 0 var(--esp-1) var(--esp-3);
  border-left: var(--borde-fino) solid
               color-mix(in srgb, var(--ornamento-oro) 30%, transparent);
  transition: color var(--dur-media) var(--curva-salida);
}
.ax-wordmark:hover .ax-resto{ color: var(--texto-primario); }
.ax-nav{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
  flex: 1 1 auto;
  min-width: 0;
  gap: var(--esp-1);
  overflow: visible;
}
.ax-nav::-webkit-scrollbar{ display: none; }
.ax-nav-grupo{
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  flex: 0 0 auto;
  min-width: 0;
  gap: var(--esp-1);
}
.ax-nav a{
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: var(--toque-min);
  padding: 0 var(--esp-3);
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  font-weight: var(--peso-medio);
  letter-spacing: var(--tracking-nav);
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  color: var(--texto-secundario);
  border: 0;
  border-radius: var(--radio-sm);
  transition: color var(--dur-media) var(--curva-salida);
}
.ax-nav a::after{
  content: "";
  position: absolute;
  left: var(--esp-3);
  right: calc(var(--esp-3) + var(--tracking-nav));
  bottom: var(--esp-3);
  height: var(--borde-medio-grosor);
  border-radius: var(--radio-xs);
  background: color-mix(in srgb, var(--ornamento-oro) 72%, transparent);
  opacity: 0;
  transform: scaleX(.4);
  transform-origin: 50% 50%;
  transition: opacity var(--dur-media) var(--curva-salida),
              transform var(--dur-media) var(--curva-salida);
}
.ax-nav a:hover{ color: var(--texto-primario); }
.ax-nav a:hover::after{ opacity: .5; transform: scaleX(1); }
.ax-nav a[aria-current],
.ax-nav a.activo,
body.pagina-carnet .ax-nav a[href="/mi"],
body.pagina-cine .ax-nav a[href="/curso"]{
  color: var(--texto-primario);
  font-weight: var(--peso-semi);
}
.ax-nav a[aria-current]::after,
.ax-nav a.activo::after,
body.pagina-carnet .ax-nav a[href="/mi"]::after,
body.pagina-cine .ax-nav a[href="/curso"]::after{
  opacity: 1;
  transform: scaleX(1);
}
.ax-nav a[href="/cuenta"]{ margin-left: var(--esp-4); }
.ax-nav a[href="/cuenta"]::before{
  content: "";
  position: absolute;
  left: calc(var(--esp-2) * -1);
  top: 50%;
  transform: translateY(-50%);
  width: var(--borde-fino);
  height: var(--esp-5);
  background: color-mix(in srgb, var(--ornamento-oro) 24%, transparent);
}
.ax-nav a.nav-salir{
  margin-left: var(--esp-3);
  padding: 0 var(--esp-4);
  min-height: calc(var(--esp-8) + var(--esp-2));
  color: var(--texto-oro);
  border: var(--borde-fino) solid
          color-mix(in srgb, var(--ornamento-oro) 45%, transparent);
  border-radius: var(--radio-sm);
  background-color: color-mix(in srgb, var(--ornamento-oro) 0%, transparent);
  transition: color var(--dur-media) var(--curva-salida),
              border-color var(--dur-media) var(--curva-salida),
              background-color var(--dur-media) var(--curva-salida);
}
.ax-nav a.nav-salir:hover{
  color: var(--texto-primario);
  border-color: color-mix(in srgb, var(--ornamento-oro) 75%, transparent);
  background-color: color-mix(in srgb, var(--ornamento-oro) 12%, transparent);
}
.ax-nav a.nav-salir::after{ content: none; }
.ax-header a:focus-visible,
.ax-footer a:focus-visible{
  outline: none;
  box-shadow: var(--anillo-foco);
  border-radius: var(--radio-sm);
}
.ax-saltar{
  position: absolute;
  left: var(--esp-4);
  top: calc(var(--esp-16) * -1);
  z-index: 60;
  padding: var(--esp-3) var(--esp-5);
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  letter-spacing: var(--tracking-nav);
  text-transform: uppercase;
  text-decoration: none;
  color: var(--texto-primario);
  background-color: var(--fondo-elevado);
  border: var(--borde-fino) solid var(--borde-dorado);
  border-radius: var(--radio-sm);
}
.ax-saltar:focus{ top: var(--esp-3); }
.ax-main{
  flex: 1 1 auto;
  width: 100%;
  max-width: var(--ancho-contenido);
  margin: 0 auto;
  padding: var(--esp-12) var(--esp-5) var(--esp-20);
}
.ax-main.ancho-completo{ max-width: none; padding: 0; }
.pagina-cabecera{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--esp-3) var(--esp-6);
  margin: 0 0 var(--esp-8);
  padding-bottom: var(--esp-5);
  border-bottom: var(--borde-fino) solid
                 color-mix(in srgb, var(--ornamento-oro) 18%, transparent);
}
.pagina-cabecera h1{ margin-bottom: 0; }
.margen-sup{ margin-top: var(--esp-12); }
.ax-footer{
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: var(--esp-16) var(--sangria-chrome) var(--esp-12);
  border-top: 0;
  text-align: center;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  font-weight: var(--peso-medio);
  line-height: var(--interlinea-amplia);
  letter-spacing: var(--tracking-ancho);
  text-transform: uppercase;
  color: var(--texto-secundario);
}
.ax-footer::before{
  content: "";
  position: absolute;
  top: 0;
  left: var(--sangria-chrome);
  right: var(--sangria-chrome);
  height: var(--borde-fino);
  background: linear-gradient(90deg,
      color-mix(in srgb, var(--ornamento-oro) 0%, transparent) 0%,
      color-mix(in srgb, var(--ornamento-oro) 40%, transparent) 50%,
      color-mix(in srgb, var(--ornamento-oro) 0%, transparent) 100%);
}
.ax-footer a{
  text-decoration: underline;
  text-decoration-thickness: var(--borde-fino);
  text-decoration-color: color-mix(in srgb, var(--ornamento-oro) 55%, transparent);
  text-underline-offset: .35em;
  transition: text-decoration-color var(--dur-media) var(--curva-salida);
}
.ax-footer a:hover{ text-decoration-color: var(--ornamento-oro); }
body.pagina-navy .ax-main{
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 639.98px){
  :root{
    --sangria-chrome: var(--esp-4);
    --alto-cabecera: var(--alto-cabecera-movil);
  }
  .ax-header{
    flex-wrap: nowrap;
    gap: var(--esp-3);
    min-height: var(--alto-cabecera-movil);
    padding-right: 0;
  }
  .ax-iso{ height: calc(var(--esp-6) + var(--esp-1)); }
  .ax-nav a{ min-height: var(--toque-min); padding: 0 var(--esp-3); }
  .ax-nav a.nav-salir{ min-height: calc(var(--toque-min) - var(--esp-1)); }
  .ax-main{ padding-top: var(--esp-8); padding-inline: var(--esp-4); }
  .pagina-cabecera{ margin-bottom: var(--esp-6); }
}
@media (prefers-reduced-motion: reduce){
  .ax-header{
    background-color: color-mix(in srgb, var(--cabecera-tinta) 92%, transparent);
  }
  .ax-header::after{ opacity: 1; }
  .ax-nav a::after{ transform: scaleX(1); }
}
@media print{
  .ax-header{
    position: static;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}
.ax-header{ position:absolute; inset:0 0 auto; z-index:50; min-height:var(--alto-cabecera); display:flex; align-items:center; gap:var(--esp-6); padding-inline:var(--canal); background:none; backdrop-filter:none; -webkit-backdrop-filter:none; border-bottom:0; animation:none; transition:background var(--m-nav) var(--e-out); }
.ax-header::before{ content:""; position:absolute; inset:0 0 auto; height:var(--esp-32); z-index:-1; pointer-events:none; background:linear-gradient(180deg,rgb(var(--negro-rgb) / .92) 0%,rgb(var(--negro-rgb) / .86) 45%,rgb(var(--negro-rgb) / .42) 72%,transparent 100%); }
.ax-header::after{ display:none; }
.ax-wordmark{ margin-inline-end:auto; }
.ax-nav a{ font-family:var(--fuente-interfaz); font-size:var(--t-label); font-weight:var(--peso-semi); line-height:var(--interlinea-ajustada); letter-spacing:var(--tracking-nav); text-transform:uppercase; color:var(--marfil-2); text-decoration:none; border-radius:0; }
.ax-nav a::after{ content:none; }
.ax-nav a:hover{ color:var(--marfil); }
.ax-nav a[aria-current], .ax-nav a.activo{ color:var(--oro-texto); font-weight:var(--peso-semi); text-decoration:none; }
body.pagina-carnet .ax-nav a[href="/mi"], body.pagina-cine .ax-nav a[href="/curso"]{ color:var(--oro-texto); font-weight:600; }
.ax-nav a[href="/cuenta"]{ margin-left:0; }
.ax-nav a[href="/cuenta"]::before{ content:none; }
.ax-nav a.nav-salir{ margin-left:0; border:0; background:none; padding:0 var(--esp-2); min-height:var(--toque-min); border-radius:0; font-family:var(--fuente-interfaz); font-size:var(--t-label); font-weight:var(--peso-semi); line-height:var(--interlinea-ajustada); letter-spacing:var(--tracking-nav); text-transform:uppercase; color:var(--marfil-2); }
.ax-nav a.nav-salir:hover{ color:var(--marfil); border-color:transparent; background:none; }
.ax-nav a.ax-campana{ color:var(--marfil-2); }
.ax-campana-icono{ display:inline-block; inline-size:20px; block-size:20px; aspect-ratio:1; background:currentColor; -webkit-mask:url("/static/ds/ornamentos/campana.svg") center/contain no-repeat; mask:url("/static/ds/ornamentos/campana.svg") center/contain no-repeat; }
.ax-header.fija{ position:fixed; background:rgb(var(--negro-rgb) / .85); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.ax-header.fija::before{ display:none; }
.ax-centinela{ position:absolute; top:0; left:0; width:var(--borde-fino); height:var(--alto-cabecera); pointer-events:none; visibility:hidden; }
.ax-header a:focus-visible, .ax-footer a:focus-visible{ border-radius:0; }
.ax-footer{ margin-top:clamp(var(--esp-8), 4vw, var(--esp-12)); padding:var(--esp-8) var(--canal) var(--esp-6); border-top:var(--borde-fino) solid color-mix(in srgb,var(--oro-linea) 25%,transparent); font-family:var(--fuente-interfaz); font-size:var(--t-label); font-weight:var(--peso-normal); line-height:var(--interlinea-normal); letter-spacing:var(--tracking-normal); text-transform:none; color:var(--marfil-3); }
.ax-footer::before{ display:none; }
.ax-footer a, .ax-footer-enlace{ color:var(--marfil-3); text-decoration:underline; text-decoration-thickness:var(--borde-fino); text-underline-offset:.35em; text-decoration-color:color-mix(in srgb,var(--oro-linea) 55%,transparent); transition:color var(--dur-media) var(--curva-salida), text-decoration-color var(--dur-media) var(--curva-salida); }
.ax-footer a:hover, .ax-footer-enlace:hover{ color:var(--marfil-2); text-decoration-color:var(--oro); }
body:not(.pagina-acceso):not(:has(.escena--heroe, .perfil-hero.saludo-cine)) .ax-main{ padding-top:calc(var(--alto-cabecera) + var(--esp-8)); }
body:has(.escena--heroe, .perfil-hero.saludo-cine) .ax-main{ padding-top:0; }
body .ax-main > .perfil-hero.saludo-cine:first-child{ margin-top:0; padding-top:calc(var(--alto-cabecera) + var(--esp-8)); }
@media (max-width: 639.98px){
  .ax-header{ gap:var(--esp-4); padding-right:var(--canal); }
  .ax-main{ padding-top:calc(var(--alto-cabecera) + var(--esp-6)); }
}
@media (prefers-reduced-motion:reduce){ .ax-header{ background:none; } .ax-header.fija{ background:rgb(var(--negro-rgb) / .92); } }
.ax-footer-red {
  display: inline-flex;
  align-items: center;
  gap: .38em;
  white-space: nowrap;
}
.ax-red-icono {
  width: 1.05em;
  height: 1.05em;
  flex: 0 0 auto;
  opacity: .92;
  transition: opacity .18s ease;
}
.ax-footer-red:hover .ax-red-icono,
.ax-footer-red:focus-visible .ax-red-icono { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .ax-red-icono { transition: none; }
}
.ax-nav{ --nav-hueco: clamp(var(--esp-3), calc(var(--esp-3) + (100vw - 1280px) / 20), var(--esp-5)); }
@media (min-width: 1280px){
  .ax-nav:has(.ax-nav-recorrido > a:nth-of-type(7)){
    --nav-hueco: clamp(var(--esp-1), calc(var(--esp-1) + (100vw - 1280px) / 20), var(--esp-3));
  }
}
@media (min-width: 1280px){
  .ax-header .ax-nav a,
  .ax-header .ax-nav .ax-nav-menu-boton{ word-spacing: calc(var(--tracking-nav) * -1); }
}
.ax-nav,
.ax-nav .ax-nav-grupo{ gap: var(--nav-hueco); }
@media (min-width: 1280px){
  .ax-nav .ax-nav-cuenta{ margin-inline-start: max(var(--esp-4), calc(var(--nav-hueco) * 2)); }
}
@media (min-width: 1280px){
  .ax-nav a{ padding: 0 var(--esp-2); }
  .ax-nav a.ax-campana{ padding: 0; min-width: var(--toque-min); justify-content: center; }
  .ax-nav{ --nav-relleno-largo: clamp(var(--esp-1), calc(var(--esp-1) + (100vw - 1280px) / 40), var(--esp-2)); }
  .ax-nav:has(.ax-nav-recorrido > a:nth-of-type(7)) a{ padding: 0 var(--nav-relleno-largo); }
  .ax-nav:has(.ax-nav-recorrido > a:nth-of-type(7)) a.ax-campana{
    padding: 0; min-width: var(--toque-min); justify-content: center;
  }
  .ax-nav:has(.ax-nav-recorrido > a:nth-of-type(9)){
    --nav-hueco: clamp(var(--esp-1), calc((100vw - 1440px) / 8), var(--esp-3));
  }
  .ax-nav:has(.ax-nav-recorrido > a:nth-of-type(9)) a{ padding: 0 var(--esp-1); }
  .ax-nav:has(.ax-nav-recorrido > a:nth-of-type(9)) a.ax-campana{
    padding: 0; min-width: var(--toque-min); justify-content: center;
  }
  .ax-nav:has(.ax-nav-recorrido > a:nth-of-type(9)) a[aria-current]::after{
    left: var(--esp-1);
    right: calc(var(--esp-1) + var(--tracking-nav));
  }
}
@media (min-width: 1280px){
  .ax-nav a[aria-current]::after,
  .ax-nav a.activo::after,
  body.pagina-carnet .ax-nav a[href="/mi"]::after,
  body.pagina-cine .ax-nav a[href="/curso"]::after{
    content: "";
    position: absolute;
    left: var(--esp-2);
    right: calc(var(--esp-2) + var(--tracking-nav));
    bottom: var(--esp-3);
    height: var(--borde-fino);
    background: var(--oro-texto);
    opacity: 1;
    transform: none;
  }
  .ax-nav:has(.ax-nav-recorrido > a:nth-of-type(7)) a[aria-current]::after{
    left: var(--nav-relleno-largo);
    right: calc(var(--nav-relleno-largo) + var(--tracking-nav));
  }
}
.ax-nav-menu{ position: relative; flex: 0 0 auto; min-width: 0; }
.ax-header .ax-nav .ax-nav-menu:not([open]) > .ax-nav-menu-panel{ display: none; }
.ax-nav-menu-boton{
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: var(--esp-2);
  min-height: var(--toque-min);
  padding: 0 var(--esp-2);
  font-family: var(--fuente-interfaz);
  font-size: var(--t-label);
  font-weight: var(--peso-semi);
  line-height: var(--interlinea-ajustada);
  letter-spacing: var(--tracking-nav);
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--marfil-2);
  cursor: pointer;
  border-radius: 0;
  -webkit-user-select: none; user-select: none;
  transition: color var(--dur-media) var(--curva-salida);
}
.ax-nav-menu-boton{ list-style: none; }
.ax-nav-menu-boton::-webkit-details-marker{ display: none; }
.ax-nav-menu-boton::marker{ content: ""; }
.ax-nav-menu-boton:hover{ color: var(--marfil); }
.ax-nav-menu-boton:focus-visible{ outline: none; box-shadow: var(--anillo-foco); }
.ax-nav-menu-boton[aria-current]{ color: var(--oro-texto); }
.ax-nav-menu-boton::after{
  content: "";
  width: var(--esp-2);
  height: var(--esp-2);
  flex: 0 0 auto;
  border-right: var(--borde-fino) solid currentColor;
  border-bottom: var(--borde-fino) solid currentColor;
  transform: translateY(calc(var(--esp-1) / -2)) rotate(45deg);
  transition: transform var(--dur-media) var(--curva-salida);
}
.ax-nav-menu[open] > .ax-nav-menu-boton::after{
  transform: translateY(calc(var(--esp-1) / 2)) rotate(-135deg);
}
@media (prefers-reduced-motion: reduce){
  .ax-nav-menu-boton::after{ transition: none; }
}
@media (min-width: 1280px){
  .ax-nav-menu-panel{
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 70;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-width: max-content;
    padding: var(--esp-2) 0;
    background: var(--negro-200);
    border: var(--borde-fino) solid var(--oro-a30);
    border-radius: 0;
  }
  .ax-nav-menu-panel a{
    width: 100%;
    min-height: var(--toque-min);
    padding: 0 var(--esp-5);
    letter-spacing: var(--tracking-nav);
    font-size: var(--t-label);
  }
  .ax-nav-menu-panel a:hover{ background-color: var(--oro-a06); }
  .ax-nav-menu-panel a[aria-current]::after{
    left: var(--esp-5);
    right: calc(var(--esp-5) + var(--tracking-nav));
    bottom: var(--esp-2);
  }
}
@media (min-width: 1280px){
  .ax-nav-menu-cuenta > .ax-nav-menu-panel{ right: 0; }
  .ax-nav .ax-nav-menu-panel a.nav-salir{
    width: 100%;
    min-height: var(--toque-min);
    padding: 0 var(--esp-5);
  }
}
.ax-nav a.nav-salir[href="/login"]{
  border: var(--borde-fino) solid var(--oro-linea);
  color: var(--oro);
  background: none;
  border-radius: 0;
  padding: 0 var(--esp-4);
  transition: border-color var(--dur-rapida) var(--curva-salida),
              color var(--dur-rapida) var(--curva-salida);
}
.ax-nav a.nav-salir[href="/login"]:hover{
  border-color: var(--oro);
  color: var(--marfil);
  background: none;
}
@media (max-width: 1279.98px){
  .ax-header .ax-nav a.nav-salir[href="/login"]{ border: 0; color: var(--marfil-2); padding: 0; }
}
.ax-footer{
  position: relative;
  text-align: start;
  border-top: 0;
  color: var(--marfil-2);
  padding-inline: 0;
}
.ax-footer-cuerpo,
.ax-footer-banda{
  width: 100%;
  max-width: var(--ancho-contenido);
  margin-inline: auto;
  padding-inline: var(--esp-5);
}
@media (max-width: 639.98px){
  .ax-footer-cuerpo,
  .ax-footer-banda{ padding-inline: var(--esp-4); }
}
.ax-footer::before{
  content: "";
  display: block;
  position: absolute;
  inset: 0 0 auto;
  height: var(--borde-fino);
  background: color-mix(in srgb, var(--oro-linea) 25%, transparent);
  pointer-events: none;
}
.ax-footer-cuerpo{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--esp-8) var(--esp-6);
}
@media (min-width: 900px){
  .ax-footer-cuerpo{ grid-template-columns: 1fr auto auto auto; column-gap: var(--esp-8); }
}
.ax-footer-grupo{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--esp-2);
  min-width: 0;
}
.ax-footer-rotulo,
.ax-footer-marca{
  margin: 0 0 var(--esp-1);
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  font-weight: var(--peso-semi);
  line-height: var(--interlinea-ajustada);
  letter-spacing: var(--tracking-nav);
  text-transform: uppercase;
  color: var(--oro-texto);
}
.ax-footer-lema{
  margin: 0;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-sm);
  font-weight: var(--peso-normal);
  line-height: var(--interlinea-normal);
  letter-spacing: var(--tracking-normal);
  text-transform: none;
  color: var(--marfil-3);
}
.ax-footer a,
.ax-footer .ax-footer-enlace{
  display: inline-flex;
  align-items: center;
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-sm);
  font-weight: var(--peso-normal);
  line-height: var(--interlinea-normal);
  letter-spacing: var(--tracking-normal);
  text-transform: none;
  color: var(--marfil-2);
  text-decoration: underline;
  text-decoration-thickness: var(--borde-fino);
  text-underline-offset: .32em;
  text-decoration-color: color-mix(in srgb, var(--oro-linea) 55%, transparent);
}
.ax-footer a:hover,
.ax-footer .ax-footer-enlace:hover{
  color: var(--marfil);
  text-decoration-color: var(--oro);
}
.ax-footer-banda{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: var(--esp-2) var(--esp-6);
  margin-top: var(--esp-8);
  padding-top: var(--esp-5);
  border-top: var(--borde-fino) solid var(--oro-a12);
  font-family: var(--fuente-interfaz);
  font-size: var(--tipo-xs);
  font-weight: var(--peso-normal);
  line-height: var(--interlinea-normal);
  letter-spacing: var(--tracking-normal);
  color: var(--plata);
}
.ax-footer-nota{ color: var(--plata); }
.ax-header::before{
  background:
    radial-gradient(150px 56px at calc(var(--canal) + 72px) 0%,
      var(--oro-a06) 0%, transparent 72%),
    linear-gradient(180deg,
      rgb(var(--negro-rgb) / .92) 0%,
      rgb(var(--negro-rgb) / .86) 45%,
      rgb(var(--negro-rgb) / .42) 72%,
      transparent 100%);
}
.ax-header.fija{
  box-shadow: inset 0 calc(var(--borde-fino) * -1) 0
              color-mix(in srgb, var(--oro-linea) 22%, transparent);
}
.ax-footer{
  background:
    radial-gradient(70% 26px at 50% 0%, var(--oro-a06) 0%, transparent 70%);
}
.ax-footer::before{
  height: var(--esp-1);
  background: linear-gradient(180deg,
      color-mix(in srgb, var(--oro-linea) 25%, transparent) 0 1px,
      transparent 1px 3px,
      color-mix(in srgb, var(--oro-linea) 10%, transparent) 3px 4px);
}
.ax-footer::after{
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: var(--esp-2);
  height: var(--esp-2);
  transform: translate(-50%, -50%) rotate(45deg);
  background: var(--negro);
  border: var(--borde-fino) solid color-mix(in srgb, var(--oro-linea) 55%, transparent);
  pointer-events: none;
}
.ax-header::before{ height:var(--alto-cabecera); }
body.pagina-acceso .ax-header::before,
body:has(.escena--heroe, .cine-hero, .perfil-hero.saludo-cine) .ax-header::before{ height:var(--esp-32); }

/* ── ds/25-nav-movil.css ── */
.ax-menu-check {
  position: absolute;
  width: 1px; height: 1px;
  opacity: 0;
  pointer-events: none;
}
.ax-menu-btn { display: none; }
@media (min-width: 1280px) {
  .ax-header input.ax-menu-check { display: none; }
}
@media (max-width: 1279.98px) {
  .ax-header { top: 0; flex-wrap: nowrap; }
  .ax-menu-btn {
    display: inline-flex;
    align-items: center; justify-content: center;
    width: 44px; height: 44px;
    flex-shrink: 0;
    margin-inline-start: auto;
    border: var(--borde-fino) solid var(--borde-dorado);
    border-radius: var(--radio-sm);
    background: transparent;
    cursor: pointer;
    transition: border-color var(--dur-rapida) var(--curva-salida),
                background var(--dur-rapida) var(--curva-salida);
  }
  .ax-menu-btn:hover { background: var(--fondo-sutil); border-color: var(--ornamento-oro); }
  .ax-menu-barras,
  .ax-menu-barras::before,
  .ax-menu-barras::after {
    display: block;
    width: 18px; height: var(--borde-fino);
    background: var(--ornamento-oro);
    transition: transform var(--dur-media) var(--curva-salida),
                opacity var(--dur-rapida) var(--curva-salida);
  }
  .ax-menu-barras { position: relative; }
  .ax-menu-barras::before,
  .ax-menu-barras::after { content: ""; position: absolute; left: 0; }
  .ax-menu-barras::before { top: -6px; }
  .ax-menu-barras::after  { top:  6px; }
  .ax-menu-check:checked ~ .ax-menu-btn .ax-menu-barras { background: transparent; }
  .ax-menu-check:checked ~ .ax-menu-btn .ax-menu-barras::before { transform: translateY(6px) rotate(45deg); opacity: 1; }
  .ax-menu-check:checked ~ .ax-menu-btn .ax-menu-barras::after  { transform: translateY(-6px) rotate(-45deg); opacity: 1; }
  .ax-menu-check:focus-visible ~ .ax-menu-btn {
    outline: none;
    box-shadow: var(--anillo-foco);
    border-color: var(--ornamento-oro);
  }
  .ax-header .ax-nav {
    position: fixed;
    inset: var(--alto-cabecera) 0 auto 0;
    height: calc(100vh - var(--alto-cabecera));
    height: calc(100dvh - var(--alto-cabecera));
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    padding: var(--esp-6) var(--esp-5) var(--esp-10);
    overflow-y: auto;
    overscroll-behavior: contain;
    background: var(--fondo-base);
    border-top: var(--borde-fino) solid var(--borde-dorado);
    transform: translateY(-100%);
    opacity: 0;
    visibility: hidden;
    transition: transform var(--dur-media) var(--curva-salida),
                opacity var(--dur-rapida) var(--curva-salida),
                visibility 0s linear var(--dur-media);
    z-index: 60;
  }
  .ax-menu-check:checked ~ .ax-nav {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    transition: transform var(--dur-media) var(--curva-salida),
                opacity var(--dur-media) var(--curva-salida),
                visibility 0s;
  }
  .ax-header .ax-nav .ax-nav-grupo {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .ax-header .ax-nav .ax-nav-cuenta {
    margin-top: var(--esp-6);
    padding-top: var(--esp-5);
    border-top: var(--borde-fino) solid var(--borde-tenue);
  }
  .ax-header .ax-nav a {
    display: flex;
    align-items: center;
    min-height: 56px;
    padding: var(--esp-3) 0;
    border-bottom: var(--borde-fino) solid var(--borde-tenue);
    font-family: var(--fuente-ceremonial);
    font-size: var(--tipo-xl);
    font-weight: var(--peso-normal);
    letter-spacing: var(--tracking-normal);
    text-transform: none;
    color: var(--texto-primario);
    word-spacing: normal;
  }
  .ax-header .ax-nav .ax-nav-cuenta a:last-child { border-bottom: 0; }
  .ax-header .ax-nav a[aria-current="page"] {
    color: var(--texto-oro);
    border-bottom-color: var(--borde-dorado);
  }
  .ax-header .ax-nav a.nav-salir {
    margin-top: var(--esp-5);
    justify-content: center;
    min-height: 48px;
    border: var(--borde-fino) solid var(--borde-dorado);
    border-radius: var(--radio-pastilla);
    font-family: var(--fuente-interfaz);
    font-size: var(--tipo-sm);
    font-weight: var(--peso-semi);
    letter-spacing: var(--tracking-nav);
    text-transform: uppercase;
    color: var(--texto-primario);
  }
}
@media (max-width: 639.98px) {
  .ax-header .ax-nav a { font-size: var(--tipo-lg); min-height: 52px; }
}
@media (prefers-reduced-motion: reduce) {
  .ax-header .ax-nav { transition: none; transform: none; }
  .ax-menu-check:checked ~ .ax-nav { transition: none; }
}
@media (max-width: 1279.98px) {
  .ax-header{ position:absolute; gap:var(--esp-4); }
  .ax-header.fija{ position:fixed; }
  .ax-menu-btn{ border:0; border-radius:0; }
  .ax-menu-btn{ margin-block:0; }
  .ax-menu-btn:hover{ background:none; }
  .ax-menu-check:focus-visible ~ .ax-menu-btn{ border-radius:0; }
  .ax-menu-barras, .ax-menu-barras::before, .ax-menu-barras::after{ background:var(--marfil-2); }
  .ax-header .ax-nav{ background:var(--negro); border-top:1px solid color-mix(in srgb,var(--oro-linea) 25%,transparent); }
  .ax-header .ax-nav a{ color:var(--marfil-2); border-bottom-color:color-mix(in srgb,var(--oro-linea) 25%,transparent); }
  .ax-header .ax-nav .ax-nav-cuenta{ border-top-color:color-mix(in srgb,var(--oro-linea) 25%,transparent); }
  .ax-header .ax-nav a[aria-current="page"]{ color:var(--oro-texto); border-bottom-color:var(--oro-linea); }
  .ax-header .ax-nav a.nav-salir{ border:0; border-radius:0; justify-content:flex-start; font-family:var(--f-sans); font-size:var(--t-label); font-weight:600; letter-spacing:var(--tracking-nav); text-transform:uppercase; color:var(--marfil-2); }
  .ax-header .ax-nav .ax-nav-cerrar{ border-radius:0; }
}
@media (max-width: 1279.98px){
  html:has(.ax-menu-check:checked){ overflow: hidden; }
  html:has(.ax-menu-check:checked) .ax-saltar,
  html:has(.ax-menu-check:checked) .ax-main,
  html:has(.ax-menu-check:checked) .ax-footer{ visibility: hidden; }
  .ax-header .ax-nav .ax-nav-cerrar{
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(var(--esp-10) + var(--esp-2));
    margin-top: var(--esp-6);
    padding: var(--esp-2) var(--esp-4);
    border: 0;
    border-top: var(--borde-fino) solid color-mix(in srgb, var(--oro-linea) 25%, transparent);
    border-radius: 0;
    font-family: var(--fuente-interfaz);
    font-size: var(--t-label);
    font-weight: var(--peso-semi);
    line-height: var(--interlinea-ajustada);
    letter-spacing: var(--tracking-nav);
    text-transform: uppercase;
    color: var(--marfil-2);
    cursor: pointer;
    -webkit-user-select: none; user-select: none;
  }
  .ax-header .ax-nav .ax-nav-cerrar:focus-visible{
    outline: none;
    box-shadow: var(--anillo-foco);
    color: var(--marfil);
  }
  .ax-header .ax-nav .ax-nav-menu{ position: static; display: block; }
  .ax-header .ax-nav .ax-nav-menu-boton{
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 56px;
    padding: var(--esp-3) 0;
    border-bottom: var(--borde-fino) solid color-mix(in srgb, var(--oro-linea) 25%, transparent);
    font-family: var(--fuente-ceremonial);
    font-size: var(--tipo-xl);
    font-weight: var(--peso-normal);
    letter-spacing: var(--tracking-normal);
    text-transform: none;
    color: var(--marfil-2);
  }
  .ax-header .ax-nav .ax-nav-menu-panel{
    position: static;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 0;
    background: none;
    border: 0;
  }
  .ax-header .ax-nav .ax-nav-menu-panel a{
    padding-inline-start: var(--esp-5);
    font-size: var(--tipo-lg);
    color: var(--marfil-3);
  }
  .ax-header .ax-nav .ax-nav-menu-panel a.nav-salir{
    font-family: inherit;
    font-weight: var(--peso-normal);
    letter-spacing: var(--tracking-normal);
    text-transform: none;
  }
}
@media (max-width: 639.98px){
  .ax-header .ax-nav .ax-nav-menu-boton{ font-size: var(--tipo-lg); min-height: 52px; }
  .ax-header .ax-nav .ax-nav-menu-panel a{ font-size: var(--tipo-md); }
}
