/* Andes SolarHash — hoja única.
   Marca: azul #1E2142, amarillo #F7AD1F, Maven Pro (títulos), Archivo SemiExpanded (texto).
   Lenguaje: sala de control. Fondo azul noche, el amarillo marca el dato y la acción,
   las fotos de los equipos van sobre placa clara. Todo lo que se mueve se apaga con
   «prefers-reduced-motion», y sin JavaScript el contenido se ve completo. */

@font-face { font-family: "Archivo"; src: url("fuentes/archivo-latin.woff2") format("woff2"); font-weight: 400 700; font-stretch: 112.5%; 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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Archivo"; src: url("fuentes/archivo-latin-ext.woff2") format("woff2"); font-weight: 400 700; font-stretch: 112.5%; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, 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: "Maven Pro"; src: url("fuentes/maven-pro-latin.woff2") format("woff2"); font-weight: 500 700; 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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Maven Pro"; src: url("fuentes/maven-pro-latin-ext.woff2") format("woff2"); font-weight: 500 700; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, 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; }

:root {
  --fondo: #0A0C1D;
  --fondo-2: #0F1228;
  --sup: #151937;
  --sup-2: #1D2248;
  --marca: #1E2142;
  --tinta: #F4F2EC;
  --tinta-2: #B9BCD3;
  --tinta-3: #8589A8;
  --linea: rgba(255, 255, 255, .09);
  --linea-2: rgba(255, 255, 255, .17);
  --sol: #F7AD1F;
  --sol-2: #FFC85A;
  --sol-tenue: rgba(247, 173, 31, .13);
  --placa: #F3F3F3;
  --baja: #FF8A73;
  --sube: #5FD6A0;
  --wa: #25D366;
  --titulo: "Maven Pro", "Archivo", system-ui, sans-serif;
  --texto: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
  --canal: 16px;
  --ancho: 1200px;
  --radio: 14px;
  --suave: cubic-bezier(.2, .7, .2, 1);
}
@media (min-width: 760px) { :root { --canal: 32px; } }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 84px; background: var(--fondo); }
body { margin: 0; background: var(--fondo); color: var(--tinta); font-family: var(--texto); font-stretch: 112.5%;
  font-size: 1rem; line-height: 1.6; font-variant-numeric: tabular-nums; text-rendering: optimizeLegibility; overflow-x: hidden; }
img, svg { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { text-decoration-color: var(--sol); }
:focus-visible { outline: 2px solid var(--sol); outline-offset: 3px; border-radius: 4px; }
h1, h2, h3, h4 { font-family: var(--titulo); font-stretch: normal; font-weight: 600; line-height: 1.1; margin: 0; letter-spacing: -0.015em; text-wrap: balance; }
p { margin: 0 0 1em; text-wrap: pretty; }
ul, ol { margin: 0; padding: 0; }
table { border-collapse: collapse; width: 100%; }
button, input, select, textarea { font: inherit; color: inherit; }
::selection { background: var(--sol); color: var(--fondo); }

.contenedor { max-width: var(--ancho); margin: 0 auto; padding: 0 var(--canal); }
.oculto-visual { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.saltar { position: absolute; left: var(--canal); top: -60px; background: var(--sol); color: var(--fondo); padding: 10px 14px; z-index: 50; }
.saltar:focus { top: 8px; }
.tenue { color: var(--tinta-2); }
.centro { justify-content: center; text-align: center; margin-left: auto; margin-right: auto; }
.ico { width: 26px; height: 26px; flex: none; color: var(--sol); }
.ico-wa { width: 20px; height: 20px; flex: none; }

/* ——— Aparecer al entrar en pantalla ——— */
.js [data-rev] { opacity: 0; transform: translateY(22px); transition: opacity .7s var(--suave), transform .7s var(--suave); }
.js [data-rev].visto { opacity: 1; transform: none; }
.js [data-rev] > li, .js [data-rev] > dl > div { opacity: 0; transform: translateY(18px); transition: opacity .6s var(--suave), transform .6s var(--suave); transition-delay: calc(var(--i, 0) * 80ms); }
.js [data-rev].visto > li, .js [data-rev].visto > dl > div { opacity: 1; transform: none; }
.js .grafico .medido { transform: scaleY(0); transform-box: fill-box; transform-origin: 50% 100%; transition: transform .8s var(--suave); transition-delay: calc(var(--i, 0) * 22ms + 150ms); }
.js .visto .grafico .medido { transform: none; }
.js .grafico .teorico { stroke-dashoffset: 0; opacity: 0; transition: opacity .6s ease .9s; }
.js .visto .grafico .teorico { opacity: 1; }

/* ——— Cabecera ——— */
.cabecera { position: sticky; top: 0; z-index: 30; background: rgba(10, 12, 29, .72); backdrop-filter: blur(14px) saturate(140%); -webkit-backdrop-filter: blur(14px) saturate(140%);
  border-bottom: 1px solid var(--linea); transition: background .3s, border-color .3s; }
.cabecera.bajo { background: rgba(10, 12, 29, .93); border-bottom-color: var(--linea-2); }
.cabecera .contenedor { display: flex; align-items: center; gap: 20px; min-height: 66px; }
.marca img { height: 38px; width: auto; }
.nav { display: none; margin-left: auto; }
.nav ul { list-style: none; display: flex; gap: 22px; align-items: center; }
.nav a { text-decoration: none; font-size: .9rem; padding: 6px 0; color: var(--tinta-2); position: relative; transition: color .2s; }
.nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: var(--sol); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--suave); }
.nav a:hover, .nav a[aria-current="page"] { color: var(--tinta); }
.nav a:hover::after, .nav a[aria-current="page"]::after { transform: scaleX(1); }
.nav a.boton { padding: 9px 16px; color: var(--fondo); font-size: .9rem; }
.nav a.boton::after { display: none; }
.idiomas { display: flex; gap: 2px; font-size: .78rem; letter-spacing: .06em; margin-left: auto; }
.idiomas a { text-decoration: none; padding: 5px 8px; border-radius: 6px; color: var(--tinta-3); }
.idiomas a[aria-current="true"] { background: var(--sup-2); color: var(--tinta); font-weight: 600; }
.abrir-menu { background: none; border: 1px solid var(--linea-2); border-radius: 8px; padding: 7px 12px; font-size: .85rem; cursor: pointer; }
@media (min-width: 1060px) {
  .nav { display: block; }
  .idiomas { margin-left: 8px; }
  .abrir-menu { display: none; }
}
.nav.abierta { display: block; position: absolute; left: 0; right: 0; top: 100%; background: var(--fondo-2); border-bottom: 1px solid var(--linea-2); padding: 8px var(--canal) 22px; animation: bajar .3s var(--suave); }
.nav.abierta ul { flex-direction: column; align-items: stretch; gap: 0; }
.nav.abierta a { display: block; padding: 14px 0; border-bottom: 1px solid var(--linea); font-size: 1.05rem; color: var(--tinta); }
.nav.abierta a::after { display: none; }
.nav.abierta a.boton { display: inline-block; margin-top: 18px; padding: 13px 20px; border-bottom: 0; color: var(--fondo); }
@keyframes bajar { from { opacity: 0; transform: translateY(-8px); } }

/* ——— Piezas ——— */
.rotulo { font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; color: var(--sol); font-weight: 500; margin: 0 0 14px; }
.rotulo b { font-weight: 600; color: var(--tinta); }
.boton { position: relative; overflow: hidden; display: inline-flex; align-items: center; gap: 9px; background: var(--tinta); color: var(--fondo); text-decoration: none; padding: 14px 22px; font-weight: 600; font-size: .95rem;
  border: 1px solid transparent; border-radius: 999px; cursor: pointer; line-height: 1.2; transition: transform .25s var(--suave), box-shadow .25s, background .2s, border-color .2s; }
.boton:hover { transform: translateY(-2px); }
.boton:active { transform: translateY(0); }
.boton.sol { background: var(--sol); color: #14162B; box-shadow: 0 6px 26px -8px rgba(247, 173, 31, .7); }
.boton.sol:hover { background: var(--sol-2); box-shadow: 0 10px 34px -8px rgba(247, 173, 31, .85); }
.boton.sol::before { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .55) 50%, transparent 70%); transform: translateX(-120%); }
.boton.sol:hover::before { transform: translateX(120%); transition: transform .7s ease; }
.boton.claro { background: transparent; color: var(--tinta); border-color: var(--linea-2); }
.boton.claro:hover { border-color: var(--tinta); background: rgba(255, 255, 255, .05); }
.boton.wa { background: var(--wa); color: #06230F; }
.boton.wa:hover { background: #3BE37B; box-shadow: 0 10px 30px -10px rgba(37, 211, 102, .8); }
.enlace { font-weight: 500; text-decoration: none; border-bottom: 1px solid var(--linea-2); padding-bottom: 2px; transition: border-color .2s, color .2s; }
.enlace::after { content: "\00a0→"; display: inline-block; transition: transform .25s var(--suave); color: var(--sol); }
.enlace:hover { border-bottom-color: var(--sol); }
.enlace:hover::after { transform: translateX(4px); }
.acciones { display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; margin-top: 28px; }

.seccion { padding: 64px 0; position: relative; }
@media (min-width: 760px) { .seccion { padding: 96px 0; } }
.seccion.primera { padding-top: 48px; }
.seccion.ajustada { padding: 0 0 8px; }
.seccion.oscura { background: var(--fondo-2); border-top: 1px solid var(--linea); border-bottom: 1px solid var(--linea); }
.seccion h2 { font-size: clamp(1.6rem, 1.1rem + 2.1vw, 2.5rem); max-width: 22em; }
.encabezado { display: grid; gap: 14px; margin-bottom: 38px; }
.encabezado p:not(.rotulo) { color: var(--tinta-2); max-width: 62ch; margin: 0; }
.encabezado.uno { max-width: 820px; }
.encabezado .rotulo { margin: 0; }
.texto-seccion { color: var(--tinta-2); margin: 18px 0 0; max-width: 56ch; }
.texto-grande { font-family: var(--titulo); font-stretch: normal; font-size: clamp(1.25rem, 1rem + 1.1vw, 1.7rem); line-height: 1.35; font-weight: 500; letter-spacing: -.01em; }
.prosa { max-width: 70ch; color: var(--tinta-2); }
.prosa b, .prosa strong, .prosa h2, .prosa h3 { color: var(--tinta); }
.prosa h2 { font-size: 1.5rem; margin: 2em 0 .6em; }
.prosa h3 { font-size: 1.15rem; margin: 1.8em 0 .5em; }
.prosa ul, .prosa ol { padding-left: 1.2em; margin: 0 0 1.1em; }
.prosa li { margin: .4em 0; }
.prosa li::marker { color: var(--sol); }
.prosa blockquote { margin: 1.4em 0; padding: 4px 0 4px 18px; border-left: 3px solid var(--sol); color: var(--tinta); }
.prosa blockquote p { margin: 0 0 .4em; }
.prosa blockquote cite { font-style: normal; font-size: .82rem; color: var(--tinta-3); }
.prosa table { margin: 1.2em 0; }

.nota { font-size: .8rem; color: var(--tinta-3); line-height: 1.5; max-width: 78ch; margin: 14px 0 0; }
.nota.centro { margin-left: auto; margin-right: auto; }
.nota b { color: var(--tinta-2); font-weight: 600; }
.fuente { font-size: .78rem; color: var(--tinta-3); display: block; margin-top: 6px; }
.referencial { font-size: .72rem; color: rgba(255, 255, 255, .55); margin: 22px 0 0; letter-spacing: .02em; }
.aviso { border: 1px solid var(--linea-2); border-left: 3px solid var(--sol); border-radius: 10px; padding: 16px 18px; font-size: .92rem; background: var(--sup); max-width: 78ch; color: var(--tinta-2); }
.aviso b { color: var(--tinta); }
.aviso p:last-child { margin: 0; }
.aviso .acciones { margin-top: 16px; }
.marca-pendiente { display: inline-block; font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; border: 1px dashed var(--sol); color: var(--sol); padding: 1px 6px; border-radius: 4px; vertical-align: middle; margin-left: 6px; white-space: nowrap; }

.plegable { border: 1px solid var(--linea); border-radius: 12px; background: var(--sup); margin-top: 16px; max-width: 900px; transition: border-color .2s; }
.plegable:hover, .plegable[open] { border-color: var(--linea-2); }
.plegable > summary { list-style: none; cursor: pointer; padding: 14px 44px 14px 18px; font-weight: 500; font-size: .93rem; position: relative; }
.plegable > summary::-webkit-details-marker { display: none; }
.plegable > summary::after { content: ""; position: absolute; right: 18px; top: 50%; width: 9px; height: 9px; border-right: 2px solid var(--sol); border-bottom: 2px solid var(--sol); transform: translateY(-70%) rotate(45deg); transition: transform .3s var(--suave); }
.plegable[open] > summary::after { transform: translateY(-30%) rotate(-135deg); }
.plegable > div { padding: 0 18px 16px; font-size: .92rem; color: var(--tinta-2); animation: abrir .35s var(--suave); }
.plegable > div p:last-child { margin-bottom: 0; }
.plegable q { quotes: "«" "»"; color: var(--tinta); }
@keyframes abrir { from { opacity: 0; transform: translateY(-6px); } }

/* ——— Portada ——— */
.heroe { position: relative; overflow: hidden; background:
  radial-gradient(900px 520px at 78% 38%, rgba(247, 173, 31, .16), transparent 62%),
  radial-gradient(700px 600px at 8% -10%, rgba(74, 86, 190, .35), transparent 60%),
  var(--fondo); }
.heroe-red { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .55; pointer-events: none; }
.heroe-grilla { position: relative; display: grid; gap: 12px; padding-top: 44px; padding-bottom: 36px; align-items: center; }
.heroe h1 { font-size: clamp(2.05rem, 1.2rem + 3.6vw, 3.7rem); letter-spacing: -0.03em; line-height: 1.04; }
.heroe .bajada { font-size: 1.1rem; color: var(--tinta-2); max-width: 44ch; margin: 22px 0 0; }
.heroe .rotulo { color: var(--tinta-3); }
.heroe .rotulo b { color: var(--sol); }
.sub-accion { margin: 22px 0 0; font-size: .92rem; }
.heroe-imagen { position: relative; display: grid; place-items: center; min-height: 260px; }
.heroe-imagen img { position: relative; width: min(100%, 560px); filter: drop-shadow(0 40px 50px rgba(0, 0, 0, .6)); animation: flotar 7s ease-in-out infinite; }
.heroe-imagen.chica img { width: min(100%, 420px); }
.halo { position: absolute; width: 78%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(247, 173, 31, .42), rgba(247, 173, 31, .08) 45%, transparent 68%); filter: blur(10px); animation: latir 5s ease-in-out infinite; }
.anillo { position: absolute; width: 88%; aspect-ratio: 1; border-radius: 50%; border: 1px dashed rgba(247, 173, 31, .35); animation: girar 60s linear infinite; }
.anillo::before { content: ""; position: absolute; top: -5px; left: 50%; width: 10px; height: 10px; border-radius: 50%; background: var(--sol); box-shadow: 0 0 18px 4px rgba(247, 173, 31, .8); }
@keyframes flotar { 0%, 100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-16px) rotate(1deg); } }
@keyframes latir { 0%, 100% { opacity: .75; transform: scale(1); } 50% { opacity: 1; transform: scale(1.08); } }
@keyframes girar { to { transform: rotate(360deg); } }
@media (min-width: 980px) {
  .heroe-grilla { grid-template-columns: 11fr 10fr; gap: 40px; padding-top: 84px; padding-bottom: 72px; }
  .heroe-imagen { min-height: 480px; }
}

.cinta { position: relative; border-top: 1px solid var(--linea); background: rgba(8, 10, 24, .6); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.cinta .contenedor { display: grid; gap: 12px 28px; padding-top: 16px; padding-bottom: 16px; align-items: center; }
.cinta .vivo { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--tinta-3); display: flex; align-items: center; gap: 8px; }
.cinta dl { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px 20px; }
.cinta dt { font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--tinta-3); }
.cinta dd { margin: 2px 0 0; font-family: var(--titulo); font-stretch: normal; font-size: 1.12rem; font-weight: 600; }
.cinta dd b { font-weight: 600; transition: color .6s; }
.cinta dd b.cambio { color: var(--sol); }
@media (min-width: 900px) { .cinta .contenedor { grid-template-columns: auto 1fr; } .cinta dl { grid-template-columns: repeat(4, auto); justify-content: space-between; } }
.punto { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--tinta-3); flex: none; }
.punto.vivo { background: var(--sube); box-shadow: 0 0 0 0 rgba(95, 214, 160, .7); animation: pulso 2s infinite; }
.punto.guardado { background: var(--sol); }
@keyframes pulso { 70% { box-shadow: 0 0 0 9px rgba(95, 214, 160, 0); } 100% { box-shadow: 0 0 0 0 rgba(95, 214, 160, 0); } }

.ficha-oferta { margin-top: 40px; }
.ficha-oferta dl { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ficha-oferta dl > div { min-width: 0; padding: 20px 18px; background: linear-gradient(180deg, var(--sup), rgba(21, 25, 55, .4)); border: 1px solid var(--linea); border-radius: var(--radio); position: relative; overflow: hidden; transition: border-color .3s, transform .3s var(--suave); }
.ficha-oferta dl > div::before { content: ""; position: absolute; left: 0; top: 0; width: 42px; height: 3px; background: var(--sol); border-radius: 0 0 3px 0; }
.ficha-oferta dl > div:hover { border-color: rgba(247, 173, 31, .45); }
.ficha-oferta dt { font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--tinta-3); margin-bottom: 8px; overflow-wrap: anywhere; }
.ficha-oferta dd { margin: 0; font-family: var(--titulo); font-stretch: normal; font-weight: 600; font-size: clamp(1.3rem, 1rem + 1.4vw, 1.9rem); line-height: 1.1; overflow-wrap: anywhere; }
.ficha-oferta dd small { display: block; font-family: var(--texto); font-stretch: 112.5%; font-weight: 400; font-size: .8rem; color: var(--tinta-2); margin-top: 8px; line-height: 1.4; }
@media (min-width: 900px) { .ficha-oferta dl { grid-template-columns: repeat(4, 1fr); gap: 16px; } .ficha-oferta dl > div { padding: 26px 24px; } }

/* ——— Pasos ——— */
.pasos { list-style: none; display: grid; gap: 14px; position: relative; }
.pasos li { position: relative; padding: 24px 22px; background: var(--sup); border: 1px solid var(--linea); border-radius: var(--radio); transition: transform .3s var(--suave), border-color .3s; }
.pasos li:hover { transform: translateY(-4px); border-color: rgba(247, 173, 31, .45); }
.circulo { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: var(--sol-tenue); border: 1px solid rgba(247, 173, 31, .35); margin-bottom: 18px; flex: none; }
.pasos h3 { font-size: 1.15rem; margin-bottom: 8px; }
.pasos p { margin: 0; color: var(--tinta-2); font-size: .93rem; }
@media (min-width: 900px) {
  .pasos { grid-template-columns: repeat(4, 1fr); gap: 18px; counter-reset: paso; }
  .pasos.tres { grid-template-columns: repeat(3, 1fr); }
  .pasos li { counter-increment: paso; }
  .pasos:not(.tres) li::after { content: counter(paso, decimal-leading-zero); position: absolute; right: 20px; top: 22px; font-family: var(--titulo); font-stretch: normal; font-size: 2.2rem; font-weight: 600; color: rgba(255, 255, 255, .07); line-height: 1; }
}

/* ——— Fichas con ícono ——— */
.fichas { list-style: none; display: grid; gap: 14px; }
.fichas li { display: grid; gap: 6px; align-content: start; padding: 22px 20px; background: var(--sup); border: 1px solid var(--linea); border-radius: var(--radio); transition: transform .3s var(--suave), border-color .3s, background .3s; }
.fichas li:hover { transform: translateY(-4px); border-color: rgba(247, 173, 31, .45); background: var(--sup-2); }
.fichas .ico { margin-bottom: 8px; }
.fichas b { font-family: var(--titulo); font-stretch: normal; font-weight: 600; font-size: 1.08rem; line-height: 1.2; }
.fichas span { color: var(--tinta-2); font-size: .92rem; }
.fichas q { quotes: "«" "»"; }
.fichas.plana li { grid-template-columns: auto 1fr; gap: 14px; align-items: start; }
.fichas.plana .ico { margin: 2px 0 0; }
.fichas.plana span { color: var(--tinta); font-size: 1rem; }
@media (min-width: 640px) { .fichas.cuatro, .fichas.dos-col { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .fichas.cuatro { grid-template-columns: repeat(4, 1fr); } }

.excluye { margin-top: 34px; padding: 24px 22px; border: 1px dashed var(--linea-2); border-radius: var(--radio); }
.excluye h3 { font-size: 1.2rem; margin-bottom: 16px; }
.excluye ul { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; }
.excluye li { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px 8px 10px; border-radius: 999px; background: rgba(255, 138, 115, .1); border: 1px solid rgba(255, 138, 115, .3); font-size: .9rem; }
.excluye .ico { width: 18px; height: 18px; color: var(--baja); }

.alertas { list-style: none; display: grid; gap: 12px; }
.alertas li { display: flex; gap: 12px; align-items: flex-start; padding: 16px 18px; border-radius: 12px; background: rgba(255, 138, 115, .07); border: 1px solid rgba(255, 138, 115, .25); font-size: .95rem; }
.alertas .ico { width: 22px; height: 22px; color: var(--baja); margin-top: 1px; }
@media (min-width: 760px) { .alertas { grid-template-columns: 1fr 1fr; } }

.cita-grande { margin: 0 auto; max-width: 900px; text-align: center; }
.cita-grande p { font-family: var(--titulo); font-stretch: normal; font-size: clamp(1.35rem, 1rem + 1.7vw, 2.1rem); line-height: 1.3; font-weight: 500; letter-spacing: -.01em; margin: 0 0 16px; }
.cita-grande cite { font-style: normal; font-size: .82rem; color: var(--tinta-3); }

.comparar { display: grid; gap: 16px; margin: 28px 0 8px; }
.comparar > div { display: grid; grid-template-columns: 84px 1fr 72px; gap: 14px; align-items: center; font-size: .85rem; color: var(--tinta-2); }
.comparar b { font-family: var(--titulo); font-stretch: normal; font-size: 1.25rem; color: var(--tinta); text-align: right; }
.pista { height: 12px; border-radius: 999px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.pista i { display: block; height: 100%; width: var(--v); border-radius: 999px; background: var(--tinta-2); }
.pista i.sol { background: linear-gradient(90deg, #E08E00, var(--sol)); }
.js [data-rev] .pista i { width: 0; transition: width 1.4s var(--suave) .3s; }
.js [data-rev].visto .pista i { width: var(--v); }

/* ——— Cifra grande ——— */
.cifra-grande { font-family: var(--titulo); font-stretch: normal; font-weight: 600; font-size: clamp(3.6rem, 2rem + 8vw, 7rem); line-height: .95; letter-spacing: -.04em; margin: 0;
  background: linear-gradient(180deg, #FFD37A, var(--sol) 60%, #D98A00); -webkit-background-clip: text; background-clip: text; color: transparent; }
.cifra-nota { color: var(--tinta-2); margin: 14px 0 0; max-width: 30ch; }

/* ——— Tarjetas de equipo ——— */
.tarjetas-equipo, .equipos { list-style: none; display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr)); }
.tarjeta-equipo, .equipo { position: relative; display: flex; flex-direction: column; height: 100%; background: var(--sup); border: 1px solid var(--linea); border-radius: var(--radio); overflow: hidden; text-decoration: none;
  transition: transform .35s var(--suave), border-color .3s, box-shadow .35s; }
.tarjeta-equipo:hover, .equipo:hover { transform: translateY(-6px); border-color: rgba(247, 173, 31, .55); box-shadow: 0 24px 50px -24px rgba(0, 0, 0, .9), 0 0 0 1px rgba(247, 173, 31, .15); }
.equipo[hidden] { display: none; }
.foto { background: var(--placa); aspect-ratio: 4 / 3; overflow: hidden; display: grid; place-items: center; }
.foto img { width: 100%; height: 100%; object-fit: contain; transition: transform .6s var(--suave); mix-blend-mode: multiply; }
.tarjeta-equipo:hover .foto img, .equipo:hover .foto img { transform: scale(1.07); }
.foto.sin-foto { background: linear-gradient(135deg, var(--sup-2), var(--marca)); gap: 10px; align-content: center; }
.foto.sin-foto img { width: 64px; height: 64px; object-fit: contain; opacity: .55; mix-blend-mode: normal; }
.foto.sin-foto span { font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--tinta-3); }
.cuerpo { padding: 18px 18px 20px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.cuerpo small { font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--tinta-3); }
.cuerpo h3, .cuerpo h2 { font-size: 1.22rem; line-height: 1.15; }
.claves { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; }
.claves li { font-size: .78rem; padding: 4px 10px; border-radius: 999px; background: rgba(255, 255, 255, .06); color: var(--tinta-2); white-space: nowrap; }
.claves li b { color: var(--sol); font-weight: 600; }
.precios { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--linea); }
.precios b { display: block; font-family: var(--titulo); font-stretch: normal; font-size: 1.2rem; font-weight: 600; margin-top: 2px; }
.precios div:first-child b { color: var(--sol); }
.estado { font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; padding: 4px 9px; border-radius: 999px; white-space: nowrap; font-weight: 600; align-self: flex-start; }
.tarjeta-equipo > .estado, .equipo > .estado { position: absolute; top: 12px; left: 12px; z-index: 2; }
.estado.stock { background: #0E3B28; color: #7CF0B8; }
.estado.llegada { background: #4A3505; color: var(--sol-2); }
.estado.sin_stock { background: #2A2D45; color: var(--tinta-3); }
.estado.medido { background: var(--sol); color: #14162B; }
.equipo .acciones { margin-top: 6px; gap: 8px; }
.equipo .acciones .boton { padding: 10px 14px; font-size: .82rem; flex: 1; justify-content: center; text-align: center; }
.equipo details { margin-top: 4px; }
.equipo summary { list-style: none; cursor: pointer; font-size: .85rem; color: var(--tinta-2); padding: 6px 0; display: flex; align-items: center; gap: 8px; }
.equipo summary::-webkit-details-marker { display: none; }
.equipo summary::before { content: "+"; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; border: 1px solid var(--linea-2); color: var(--sol); font-size: .9rem; line-height: 1; transition: transform .3s var(--suave); }
.equipo details[open] summary::before { transform: rotate(45deg); }
.equipo .detalle { animation: abrir .35s var(--suave); }
.equipo .detalle dl { margin: 6px 0 0; font-size: .84rem; }
.equipo .detalle dl div { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--linea); }
.equipo .detalle dt { color: var(--tinta-3); }
.equipo .detalle dd { margin: 0; font-weight: 600; text-align: right; }
.equipo:target { border-color: var(--sol); box-shadow: 0 0 0 2px rgba(247, 173, 31, .4); }

.filtros { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; margin-bottom: 18px; align-items: end; padding: 18px; background: var(--sup); border: 1px solid var(--linea); border-radius: var(--radio); }
.filtros label { display: grid; gap: 6px; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--tinta-3); min-width: 0; }
.filtros select { padding: 10px 12px; border: 1px solid var(--linea-2); background: var(--fondo); border-radius: 10px; font-size: .9rem; text-transform: none; letter-spacing: 0; min-height: 44px; width: 100%; color: var(--tinta); }
.filtros .marcar { display: flex; align-items: center; gap: 8px; text-transform: none; letter-spacing: 0; font-size: .9rem; color: var(--tinta); min-height: 44px; }
.filtros .marcar input { width: 18px; height: 18px; accent-color: var(--sol); }
@media (min-width: 1000px) { .filtros { grid-template-columns: repeat(5, 1fr) auto; } }
.conteo { font-size: .85rem; color: var(--tinta-3); margin: 0 0 14px; }

/* ——— Tablas de datos ——— */
.tabla-marco { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--linea); border-radius: var(--radio); background: var(--sup); }
.tabla { font-size: .88rem; min-width: 640px; }
.tabla th, .tabla td { padding: 13px 14px; text-align: right; border-bottom: 1px solid var(--linea); white-space: nowrap; vertical-align: baseline; }
.tabla th:first-child, .tabla td:first-child, .tabla .izq { text-align: left; }
.tabla thead th { font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; color: var(--tinta-3); border-bottom: 1px solid var(--linea-2); background: rgba(255, 255, 255, .03); vertical-align: bottom; white-space: normal; line-height: 1.3; }
.tabla tbody tr { transition: background .2s; }
.tabla tbody tr:hover { background: rgba(255, 255, 255, .04); }
.tabla tbody tr:last-child td, .tabla tbody tr:last-child th { border-bottom: 0; }
.tabla tbody th { font-weight: 600; }
.tabla tfoot td, .tabla tfoot th { border-top: 1px solid var(--linea-2); border-bottom: 0; font-weight: 600; color: var(--sol); }
.tabla .u { color: var(--tinta-3); font-size: .85em; margin-left: .25em; }
.tabla .tenue { color: var(--tinta-3); }
.tabla a { text-decoration-color: var(--linea-2); }
.barrita { display: inline-block; height: 8px; border-radius: 4px; background: var(--sol); vertical-align: middle; margin-right: 8px; }
.tabla.libre { min-width: 0; table-layout: fixed; }
.tabla.libre th, .tabla.libre td { white-space: normal; overflow-wrap: anywhere; vertical-align: top; }
.tabla.libre th { width: 38%; color: var(--tinta-3); font-weight: 500; }
.prosa .tabla-marco { width: max-content; max-width: calc(100vw - 2 * var(--canal)); }
.prosa .tabla th, .prosa .tabla td { padding: 10px 12px; }

/* ——— Gráficos ——— */
.registro { background: var(--sup); border: 1px solid var(--linea); border-radius: var(--radio); overflow: hidden; }
.registro header { display: flex; flex-wrap: wrap; gap: 4px 16px; justify-content: space-between; padding: 14px 18px; border-bottom: 1px solid var(--linea); font-size: .78rem; letter-spacing: .06em; }
.registro header b { font-family: var(--titulo); font-stretch: normal; font-size: 1.05rem; letter-spacing: 0; }
.registro header span:last-child { color: var(--sol); font-weight: 600; }
.registro figure { margin: 0; padding: 12px 10px 0; }
.registro .nota { padding: 0 18px 16px; margin-top: 10px; }
.leyenda { display: flex; flex-wrap: wrap; gap: 6px 20px; font-size: .78rem; color: var(--tinta-2); padding: 6px 18px 0; list-style: none; }
.leyenda li { display: flex; align-items: center; gap: 7px; }
.leyenda i { display: inline-block; width: 14px; height: 10px; border-radius: 2px; background: var(--sol); }
.leyenda i.linea { height: 0; border-top: 2px dashed var(--tinta); background: none; border-radius: 0; }
.g-escritorio { display: none; }
@media (min-width: 640px) { .g-escritorio { display: block; } .g-movil { display: none; } }
.grafico text { font-family: var(--texto); font-stretch: 112.5%; font-size: 11px; fill: var(--tinta-3); font-variant-numeric: tabular-nums; }
.grafico .fuerte { fill: var(--tinta); font-weight: 600; }
.grafico .eje { stroke: var(--linea-2); stroke-width: 1; }
.grafico .guia { stroke: var(--linea); stroke-width: 1; }
.grafico .medido { fill: var(--sol); }
.grafico .medido:hover { fill: var(--sol-2); }
.grafico .teorico { stroke: var(--tinta); stroke-width: 1.5; stroke-dasharray: 4 3; fill: none; }
.meses-grilla { display: grid; gap: 20px; }
@media (min-width: 900px) { .meses-grilla { grid-template-columns: 1fr 1fr; } }
.meses-grilla figure { margin: 0; background: var(--sup); border: 1px solid var(--linea); border-radius: var(--radio); padding: 16px 12px 10px; }
.meses-grilla figcaption { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 0 6px 10px; border-bottom: 1px solid var(--linea); margin-bottom: 8px; }
.meses-grilla figcaption b { font-family: var(--titulo); font-stretch: normal; font-size: 1.08rem; font-weight: 600; }
.meses-grilla figcaption span { font-size: .82rem; color: var(--sol); }

/* ——— Dos columnas ——— */
.dos { display: grid; gap: 34px; }
.dos > * { min-width: 0; }
@media (min-width: 900px) { .dos { grid-template-columns: 1fr 1fr; gap: 60px; } .dos.ancha-izq { grid-template-columns: 7fr 5fr; } .dos.ancha-der { grid-template-columns: 5fr 7fr; } .dos.medio { align-items: center; } }

.comprobaciones { list-style: none; display: grid; gap: 14px; counter-reset: c; }
.comprobaciones > li { counter-increment: c; display: grid; grid-template-columns: auto 1fr; gap: 0 18px; padding: 22px 20px; background: var(--sup); border: 1px solid var(--linea); border-radius: var(--radio); transition: border-color .3s; }
.comprobaciones > li:hover { border-color: rgba(247, 173, 31, .4); }
.comprobaciones > li > div { min-width: 0; }
.comprobaciones .circulo { width: 48px; height: 48px; margin: 0; }
.comprobaciones h2 { font-size: 1.22rem; max-width: none; }
.comprobaciones h2::before { content: counter(c, decimal-leading-zero) " "; color: var(--sol); font-size: .8em; margin-right: 6px; }
.comprobaciones .pide { color: var(--tinta-2); font-size: .95rem; margin: 8px 0 0; }
.comprobaciones .plegable { background: var(--fondo-2); margin-top: 14px; }
.comprobaciones .declara p { margin: 0 0 .7em; }
@media (min-width: 900px) { .comprobaciones { grid-template-columns: 1fr 1fr; align-items: start; } }

.riesgos { list-style: none; display: grid; gap: 16px; margin-top: 44px; }
.riesgos > li { padding: 26px 24px; background: var(--sup); border: 1px solid var(--linea); border-radius: var(--radio); }
.riesgos h2 { font-size: 1.3rem; margin-bottom: 14px; }
.riesgos ul { list-style: none; display: grid; gap: 10px; }
.riesgos ul li { position: relative; padding-left: 18px; color: var(--tinta-2); font-size: .94rem; }
.riesgos ul li::before { content: ""; position: absolute; left: 0; top: .6em; width: 7px; height: 7px; border-radius: 50%; background: var(--sol); }
@media (min-width: 900px) { .riesgos { grid-template-columns: 1fr 1fr; } }

.lista-simple { list-style: none; border-top: 1px solid var(--linea); margin-top: 12px; }
.lista-simple li { padding: 12px 0; border-bottom: 1px solid var(--linea); display: grid; gap: 2px; }
.lista-simple span { color: var(--tinta-3); font-size: .85rem; }

/* ——— Bandas ——— */
.banda { position: relative; overflow: hidden; padding: 72px 0; background: linear-gradient(120deg, #191C3E, var(--marca) 50%, #2A1F0A 130%); border-top: 1px solid var(--linea); }
.banda::before { content: ""; position: absolute; right: -120px; top: -160px; width: 520px; height: 520px; border-radius: 50%; background: radial-gradient(circle, rgba(247, 173, 31, .28), transparent 65%); animation: latir 7s ease-in-out infinite; }
.banda .contenedor { position: relative; }
.banda h2, .foto-banda h2 { font-size: clamp(1.7rem, 1.1rem + 2.4vw, 2.7rem); max-width: 18em; }
.banda p:not(.referencial), .foto-banda p:not(.referencial) { color: var(--tinta-2); max-width: 58ch; margin: 18px 0 0; font-size: 1.05rem; }
.foto-banda { position: relative; overflow: hidden; padding: 110px 0 90px; isolation: isolate; }
.foto-banda picture, .cab-fondo { position: absolute; inset: 0; z-index: -2; }
.foto-banda picture img, .cab-fondo img { width: 100%; height: 100%; object-fit: cover; animation: acercar 26s ease-in-out infinite alternate; }
.foto-banda::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(10, 12, 29, .96) 8%, rgba(10, 12, 29, .72) 55%, rgba(10, 12, 29, .45)), linear-gradient(0deg, var(--fondo), transparent 40%); }
@keyframes acercar { from { transform: scale(1); } to { transform: scale(1.12); } }

/* ——— Página interior ——— */
.cab-pagina { position: relative; overflow: hidden; isolation: isolate; padding: 56px 0 44px; border-bottom: 1px solid var(--linea); background:
  radial-gradient(700px 360px at 88% 0%, rgba(247, 173, 31, .16), transparent 65%),
  radial-gradient(600px 400px at 0% 0%, rgba(74, 86, 190, .28), transparent 60%), var(--fondo); }
.cab-pagina::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(var(--linea) 1px, transparent 1px), linear-gradient(90deg, var(--linea) 1px, transparent 1px); background-size: 56px 56px; mask-image: linear-gradient(180deg, #000, transparent 85%); -webkit-mask-image: linear-gradient(180deg, #000, transparent 85%); opacity: .6; }
@media (min-width: 760px) { .cab-pagina { padding: 88px 0 64px; } }
.cab-pagina h1 { font-size: clamp(2.1rem, 1.2rem + 3.6vw, 3.6rem); max-width: 16em; letter-spacing: -0.03em; }
.cab-pagina .bajada { font-size: 1.1rem; color: var(--tinta-2); max-width: 56ch; margin: 20px 0 0; }
.cab-pagina.con-imagen { padding-bottom: 72px; }
.cab-pagina.con-imagen::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(10, 12, 29, .95) 10%, rgba(10, 12, 29, .6) 60%, rgba(10, 12, 29, .35)), linear-gradient(0deg, var(--fondo), transparent 45%); }
.cab-pagina.con-imagen::before { display: none; }

/* ——— Calculadora ——— */
.calc { display: grid; gap: 28px; }
.calc > * { min-width: 0; }
@media (min-width: 980px) { .calc { grid-template-columns: 5fr 7fr; gap: 48px; align-items: start; } }
.calc form { display: grid; gap: 16px; background: var(--sup); border: 1px solid var(--linea); border-radius: var(--radio); padding: 22px 18px; }
.campo { display: grid; gap: 6px; min-width: 0; }
.campo label, .campo .etq { font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--tinta-3); font-weight: 500; }
.campo input, .campo select, .campo textarea { padding: 11px 12px; border: 1px solid var(--linea-2); background: var(--fondo); border-radius: 10px; min-height: 46px; width: 100%; font-size: 1rem; color: var(--tinta); transition: border-color .2s, box-shadow .2s; }
.campo input:focus, .campo select:focus, .campo textarea:focus, .filtros select:focus { outline: none; border-color: var(--sol); box-shadow: 0 0 0 3px rgba(247, 173, 31, .2); }
.campo .ayuda, .ayuda { font-size: .78rem; color: var(--tinta-3); line-height: 1.45; margin: 0; }
.campo .ayuda b { color: var(--tinta); }
.par { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.estado-red { font-size: .8rem; color: var(--tinta-2); border-top: 1px solid var(--linea); padding-top: 12px; margin: 0; line-height: 1.5; }
.estado-red b { color: var(--tinta); }
.estado-red .punto { margin-right: 7px; vertical-align: 1px; }
.resultado { border-top: 1px solid var(--linea-2); }
.resultado .fila { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--linea); align-items: baseline; }
.resultado .fila span { color: var(--tinta-2); font-size: .93rem; }
.resultado .fila b { font-weight: 600; font-size: 1.05rem; text-align: right; }
.resultado .fila.total { padding: 20px 0; }
.resultado .fila.total span { color: var(--tinta); font-weight: 500; }
.resultado .fila.total b { font-family: var(--titulo); font-stretch: normal; font-size: clamp(2rem, 1.3rem + 2.6vw, 3rem); line-height: 1; color: var(--sol); }
.resultado .neg { color: var(--baja) !important; }
.escenarios { display: grid; gap: 16px; margin-top: 30px; }
@media (min-width: 640px) { .escenarios { grid-template-columns: 1fr 1fr; } }
.escenarios > div { padding: 18px 18px 6px; background: var(--sup); border: 1px solid var(--linea); border-radius: var(--radio); }
.escenarios h3 { font-size: 1rem; margin-bottom: 4px; }
.escenarios .sub { font-size: .8rem; color: var(--tinta-3); margin: 0 0 10px; }
.escenarios .resultado .fila:last-child { border-bottom: 0; }

/* ——— Formulario de contacto ——— */
.formulario { background: var(--sup); border: 1px solid var(--linea); border-radius: var(--radio); overflow: hidden; }
.formulario .progreso { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--linea); list-style: none; }
.formulario .progreso li { padding: 14px 16px; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-3); border-bottom: 3px solid transparent; transition: color .3s, border-color .3s; }
.formulario .progreso li.activo { color: var(--tinta); font-weight: 600; border-bottom-color: var(--sol); }
.formulario .progreso li.hecho { color: var(--sube); border-bottom-color: rgba(95, 214, 160, .5); }
.formulario .progreso b { display: none; }
@media (min-width: 640px) { .formulario .progreso b { display: inline; font-weight: inherit; } }
.formulario fieldset { border: 0; margin: 0; padding: 22px 16px; display: grid; gap: 18px; min-width: 0; animation: abrir .4s var(--suave); }
.formulario fieldset[hidden] { display: none; }
.formulario legend { font-family: var(--titulo); font-stretch: normal; font-weight: 600; font-size: 1.4rem; padding: 0; margin-bottom: 4px; float: left; width: 100%; }
.formulario legend + * { clear: both; }
.opciones { display: grid; gap: 8px; }
@media (min-width: 640px) { .opciones.dos-col { grid-template-columns: 1fr 1fr; } .formulario fieldset { padding: 30px 30px; } }
.opcion { display: flex; gap: 10px; align-items: flex-start; border: 1px solid var(--linea-2); border-radius: 10px; padding: 12px 12px; cursor: pointer; min-height: 46px; font-size: .95rem; line-height: 1.35; transition: border-color .2s, background .2s; }
.campo label.opcion { text-transform: none; letter-spacing: 0; color: var(--tinta); font-size: .95rem; font-weight: 400; }
.opcion:hover { border-color: var(--tinta-2); }
.opcion input { margin: 2px 0 0; width: 17px; height: 17px; min-height: 0; accent-color: var(--sol); flex: none; padding: 0; }
.opcion:has(input:checked) { border-color: var(--sol); background: var(--sol-tenue); }
.formulario .pie-paso { display: flex; justify-content: space-between; gap: 12px; align-items: center; border-top: 1px solid var(--linea); padding-top: 18px; flex-wrap: wrap; }
.formulario .error { color: var(--baja); font-size: .85rem; margin: 0; }
.formulario .volver { background: none; border: 0; text-decoration: underline; cursor: pointer; padding: 10px 0; color: var(--tinta-2); }
.vista-mensaje { white-space: pre-wrap; font-size: .86rem; background: var(--fondo); border: 1px solid var(--linea); border-radius: 10px; padding: 14px; margin: 0; font-family: var(--texto); max-height: 300px; overflow: auto; color: var(--tinta-2); }
.directo { padding: 26px 24px; background: linear-gradient(160deg, rgba(37, 211, 102, .1), var(--sup) 55%); border: 1px solid var(--linea); border-radius: var(--radio); align-self: start; }
.directo h2 { font-size: 1.4rem; margin-bottom: 10px; }
.directo p { font-size: .93rem; }
.directo .boton { margin: 6px 0 18px; }
.directo .telefono { font-family: var(--titulo); font-stretch: normal; font-size: 1.35rem; font-weight: 600; }
.directo .telefono small { display: block; font-family: var(--texto); font-stretch: 112.5%; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--tinta-3); font-weight: 400; }

/* ——— Guía ——— */
.articulos { list-style: none; display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); }
.articulos a { display: flex; flex-direction: column; gap: 10px; height: 100%; padding: 26px 24px; text-decoration: none; background: var(--sup); border: 1px solid var(--linea); border-radius: var(--radio); transition: transform .35s var(--suave), border-color .3s, background .3s; }
.articulos a:hover { transform: translateY(-6px); border-color: rgba(247, 173, 31, .5); background: var(--sup-2); }
.articulos .numero { font-family: var(--titulo); font-stretch: normal; font-size: 2.2rem; font-weight: 600; line-height: 1; color: var(--sol); opacity: .8; }
.articulos h2 { font-size: 1.22rem; }
.articulos p { margin: 0; color: var(--tinta-2); font-size: .92rem; }
.articulos .meta { font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-3); margin-top: auto; padding-top: 10px; }
.articulo-cab { padding: 56px 0 34px; border-bottom: 1px solid var(--linea); background: radial-gradient(700px 360px at 88% 0%, rgba(247, 173, 31, .14), transparent 65%), var(--fondo); }
.articulo-cab h1 { font-size: clamp(1.9rem, 1.2rem + 2.8vw, 3rem); max-width: 20em; }
.articulo-cab .bajada { font-size: 1.1rem; color: var(--tinta-2); max-width: 60ch; margin: 18px 0 0; }
.articulo-cab .meta { font-size: .78rem; color: var(--tinta-3); margin-top: 18px; }
.articulo-cuerpo { padding: 40px 0 72px; }
.articulo-cuerpo .prosa { font-size: 1.04rem; }
.migas { font-size: .8rem; color: var(--tinta-3); margin-bottom: 18px; }

/* ——— Términos ——— */
.legal { display: grid; gap: 30px; }
.legal > * { min-width: 0; }
.indice ol { list-style: none; counter-reset: i; display: grid; gap: 2px; font-size: .86rem; }
.indice li { counter-increment: i; }
.indice a { display: block; padding: 5px 0; color: var(--tinta-2); text-decoration: none; }
.indice a::before { content: counter(i, decimal-leading-zero); color: var(--tinta-3); margin-right: 10px; font-size: .8em; }
.indice a:hover { color: var(--sol); }
@media (max-width: 979px) { .indice { display: none; } }
@media (min-width: 980px) { .legal { grid-template-columns: 300px 1fr; gap: 56px; } .indice { position: sticky; top: 96px; align-self: start; max-height: calc(100vh - 120px); overflow: auto; } }
.clausula { max-width: none; margin-top: 10px; }
.clausula > summary { font-family: var(--titulo); font-stretch: normal; font-size: 1.08rem; font-weight: 600; padding-top: 17px; padding-bottom: 17px; }
.clausula > summary span { color: var(--sol); margin-right: 12px; font-size: .85em; }
.clausula .prosa { max-width: none; }

/* ——— Pie ——— */
.pie-sitio { background: #070814; color: var(--tinta-2); padding: 60px 0 96px; font-size: .88rem; border-top: 1px solid var(--linea); }
.pie-sitio a { color: var(--tinta); }
.pie-sitio .grilla { display: grid; gap: 32px; }
@media (min-width: 900px) { .pie-sitio .grilla { grid-template-columns: 4fr 2fr 2fr 4fr; gap: 40px; } }
.pie-sitio img { height: 40px; width: auto; margin-bottom: 18px; }
.pie-sitio h2 { font-family: var(--texto); font-stretch: 112.5%; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--tinta-3); font-weight: 500; margin-bottom: 14px; }
.pie-sitio ul { list-style: none; display: grid; gap: 9px; }
.pie-sitio ul a { text-decoration: none; color: var(--tinta-2); transition: color .2s; }
.pie-sitio ul a:hover { color: var(--sol); }
.pie-sitio address { font-style: normal; line-height: 1.7; }
.pie-sitio .riesgo { margin-top: 40px; padding-top: 22px; border-top: 1px solid var(--linea); font-size: .76rem; line-height: 1.55; color: var(--tinta-3); max-width: 96ch; }
.pie-sitio .riesgo p { margin: 0 0 .7em; }
.pie-sitio .riesgo a { color: var(--tinta-2); }
.pie-sitio .legales { display: flex; flex-wrap: wrap; gap: 6px 22px; font-size: .82rem; }

/* ——— WhatsApp flotante ——— */
.wa-flotante { position: fixed; right: 18px; bottom: 18px; z-index: 40; display: inline-flex; align-items: center; gap: 10px; padding: 14px; border-radius: 999px; background: var(--wa); color: #06230F; text-decoration: none; font-weight: 600; font-size: .92rem;
  box-shadow: 0 12px 34px -8px rgba(37, 211, 102, .65), 0 4px 14px rgba(0, 0, 0, .5); transition: transform .3s var(--suave), padding .3s; animation: entrar-wa .6s var(--suave) 1.2s backwards; }
.wa-flotante .ico-wa { width: 28px; height: 28px; }
.wa-flotante span { max-width: 0; overflow: hidden; white-space: nowrap; transition: max-width .4s var(--suave), margin .4s; margin-right: -10px; }
.wa-flotante:hover, .wa-flotante:focus-visible { transform: translateY(-3px); }
.wa-flotante:hover span, .wa-flotante:focus-visible span { max-width: 120px; margin-right: 6px; }
.wa-flotante::before { content: ""; position: absolute; inset: 0; border-radius: inherit; border: 2px solid var(--wa); animation: onda 2.6s ease-out infinite; pointer-events: none; }
@keyframes onda { from { transform: scale(1); opacity: .8; } to { transform: scale(1.55); opacity: 0; } }
@keyframes entrar-wa { from { opacity: 0; transform: translateY(30px) scale(.8); } }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .js [data-rev], .js [data-rev] > li, .js [data-rev] > dl > div { opacity: 1; transform: none; }
  .js .grafico .medido { transform: none; }
  .js .grafico .teorico { opacity: 1; }
  .js [data-rev] .pista i { width: var(--v); }
  .heroe-red { display: none; }
}
@media print { .cabecera, .pie-sitio, .banda, .foto-banda, .acciones, .wa-flotante, .heroe-red { display: none; } body, html { background: #fff; color: #000; } .js [data-rev] { opacity: 1; transform: none; } }

/* ajustes de grilla */
@media (min-width: 1000px) { .tarjetas-equipo { grid-template-columns: repeat(3, 1fr); } }
.foto { aspect-ratio: 5 / 4; padding: 10px; }
.precios small { display: block; font-size: .62rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.precios { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.precios > div { min-width: 0; }
.equipo .acciones { flex-direction: column; align-items: stretch; }
.equipo .acciones .boton { border-radius: 10px; padding: 11px 14px; font-size: .85rem; }

/* ——— La portada cabe en la primera pantalla ———
   El tamaño del título y los márgenes dependen también del ALTO de la ventana: con el
   navegador ampliado o en un notebook bajo, el título no puede empujar los botones fuera. */
.heroe h1 { font-size: clamp(1.75rem, min(1.1rem + 3.4vw, 6.6vh), 3.7rem); }
.heroe .bajada { font-size: clamp(.98rem, 2.3vh, 1.1rem); margin-top: clamp(12px, 2.4vh, 22px); }
.heroe .acciones { margin-top: clamp(16px, 3vh, 28px); }
.heroe .rotulo { margin-bottom: clamp(8px, 1.6vh, 14px); }
.sub-accion { margin-top: clamp(10px, 2.2vh, 22px); }
.heroe-grilla { padding-top: clamp(22px, 5vh, 44px); padding-bottom: clamp(18px, 4vh, 36px); }
@media (min-width: 980px) {
  .heroe-grilla { grid-template-columns: 13fr 9fr; padding-top: clamp(24px, 7vh, 84px); padding-bottom: clamp(20px, 6vh, 72px); }
  .heroe-imagen { min-height: 0; }
  .heroe-imagen img { width: auto; max-width: 100%; max-height: min(62vh, 560px); }
  .halo, .anillo { width: auto; height: min(60vh, 520px); }
}
@media (max-width: 979px) { .heroe-imagen { min-height: 0; } .heroe-imagen img { max-height: 46vh; width: auto; } .halo, .anillo { width: auto; height: 42vh; } }
.cab-pagina h1 { font-size: clamp(1.8rem, min(1.2rem + 3.6vw, 8vh), 3.6rem); }
.cab-pagina { padding-top: clamp(28px, 8vh, 88px); padding-bottom: clamp(24px, 6vh, 64px); }
