/* Páginas legales (/privacidad y /terminos). Mismo RDS 1.0 que la landing: fondo #08080b, Anton en
   titulares, Geist en texto, Geist Mono en etiquetas. Sin JavaScript y sin recursos externos (CSP). */
:root {
  --bg: #08080b; --superficie: rgba(16, 17, 22, .72); --linea: #26272e; --linea-viva: #3a4a5e;
  --texto: #f6f7f8; --apagado: #a8aab3; --tenue: #6d707b;
  --azul: #86bcf4; --accion: #3f74ac; --brasa: #ff7a2f; --rojo: #e63946;
  --sans: Geist, ui-sans-serif, system-ui, sans-serif; --display: Anton, Impact, "Arial Narrow", sans-serif; --mono: "Geist Mono", ui-monospace, Consolas, monospace;
  --margen: clamp(16px, 4vw, 48px);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body { margin: 0; background: var(--bg); color: var(--texto); font: 16px/1.7 var(--sans); overflow-x: hidden; }
a { color: var(--azul); text-underline-offset: 3px; }
a:hover { color: #b9d8fa; }
a:focus-visible, summary:focus-visible { outline: 2px solid #a7d2ff; outline-offset: 3px; border-radius: 2px; }

/* Medios tonos de fondo: una retícula de puntos que se desvanece hacia abajo, como en la landing. */
body::before { content: ''; position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background-image: radial-gradient(circle, rgba(134, 188, 244, .20) 1.1px, transparent 1.6px);
  background-size: 18px 18px;
  -webkit-mask-image: linear-gradient(180deg, #000 0, transparent 420px);
  mask-image: linear-gradient(180deg, #000 0, transparent 420px); }

.nav { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; gap: 20px; padding: 14px var(--margen);
  background: rgba(8, 8, 11, .82); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(38, 39, 46, .6); }
.marca { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--texto); font: 400 22px/1 var(--display); letter-spacing: .04em; text-transform: uppercase; }
.marca img { width: 34px; height: 34px; display: block; }
.nav .volver { margin-left: auto; color: var(--apagado); text-decoration: none; font: 500 12px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.nav .volver:hover { color: var(--texto); }

.pagina { position: relative; z-index: 1; padding: clamp(40px, 7vw, 96px) var(--margen) clamp(56px, 8vw, 120px); max-width: 1180px; margin: 0 auto; }

.sobre { font: 500 12px var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--azul); margin: 0 0 18px; }
h1 { font: 400 clamp(2.6rem, 1.4rem + 5vw, 5.2rem)/.94 var(--display); text-transform: uppercase; letter-spacing: .005em; margin: 0 0 22px; }
.bajada { color: var(--apagado); font-size: clamp(17px, 1.1vw + 13px, 20px); max-width: 38em; margin: 0 0 28px; }
.meta { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0 0 32px; padding: 14px 0; border-top: 1px solid var(--linea); border-bottom: 1px solid var(--linea);
  font: 12px/1.5 var(--mono); color: var(--tenue); letter-spacing: .04em; }
.meta b { color: var(--apagado); font-weight: 500; }

/* Aviso de revisión: visible mientras exista algún [POR CONFIRMAR]. */
.revision { margin: 0 0 clamp(32px, 5vw, 56px); padding: 16px 18px; border: 1px solid rgba(255, 122, 47, .45); border-left-width: 4px; background: rgba(255, 122, 47, .06);
  color: var(--apagado); font-size: 15px; line-height: 1.6; max-width: 46em; }
.revision strong { color: var(--texto); font-weight: 600; }

.cuerpo { display: grid; grid-template-columns: minmax(180px, 250px) minmax(0, 1fr); gap: clamp(28px, 6vw, 88px); align-items: start; }

.indice { position: sticky; top: 92px; align-self: start; max-height: calc(100vh - 112px); overflow: auto; font: 13px/1.45 var(--mono); }
.indice p { margin: 0 0 12px; font: 500 11px var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--tenue); }
.indice ol { list-style: none; margin: 0; padding: 0; counter-reset: sec; display: grid; gap: 2px; }
.indice li { counter-increment: sec; }
.indice a { display: block; padding: 5px 0 5px 12px; border-left: 1px solid var(--linea); color: var(--apagado); text-decoration: none; }
.indice a::before { content: counter(sec, decimal-leading-zero) "  "; color: var(--tenue); }
.indice a:hover { color: var(--texto); border-left-color: var(--azul); }

.texto { max-width: 46rem; counter-reset: sec; }
.texto section { counter-increment: sec; padding: 0 0 clamp(28px, 4vw, 44px); margin: 0 0 clamp(28px, 4vw, 44px); border-bottom: 1px solid var(--linea); }
.texto section:last-of-type { border-bottom: 0; }
.texto h2 { font: 400 clamp(1.5rem, 1.1rem + 1.3vw, 2.1rem)/1.05 var(--display); text-transform: uppercase; letter-spacing: .01em; margin: 0 0 18px; }
.texto h2::before { content: counter(sec, decimal-leading-zero); display: block; margin-bottom: 8px; font: 500 12px var(--mono); letter-spacing: .14em; color: var(--rojo); }
.texto h3 { font: 600 16px/1.4 var(--sans); color: var(--texto); margin: 26px 0 8px; }
.texto p { color: #cfd1d8; margin: 0 0 14px; }
.texto ul, .texto ol { color: #cfd1d8; margin: 0 0 16px; padding-left: 22px; }
.texto li { margin: 0 0 8px; padding-left: 4px; }
.texto li::marker { color: var(--azul); }
.texto strong { color: var(--texto); font-weight: 600; }
.texto em { color: var(--texto); }
.destacado { margin: 18px 0; padding: 14px 18px; border-left: 3px solid var(--azul); background: rgba(134, 188, 244, .06); color: var(--texto); }
.destacado p { color: var(--texto); margin: 0; }

/* Tablas: se vuelven tarjetas en celular. */
.tabla { width: 100%; border-collapse: collapse; margin: 6px 0 18px; font-size: 14.5px; line-height: 1.5; }
.tabla caption { text-align: left; font: 500 11px var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--tenue); padding: 0 0 8px; }
.tabla th, .tabla td { text-align: left; vertical-align: top; padding: 10px 12px 10px 0; border-bottom: 1px solid var(--linea); color: #cfd1d8; }
.tabla th { font: 500 11px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--azul); }
.tabla td:first-child { color: var(--texto); font-weight: 500; }

/* Texto por completar: no se oculta ni se inventa, se ve. */
.por-confirmar { background: rgba(255, 122, 47, .14); color: var(--brasa); font: 500 .86em var(--mono); padding: 1px 6px; border: 1px dashed rgba(255, 122, 47, .6); border-radius: 3px; white-space: nowrap; letter-spacing: .02em; }

.pie { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; padding: 28px var(--margen); border-top: 1px solid var(--linea); color: var(--tenue); font: 12px var(--mono); }
.pie a { color: var(--tenue); }
.pie a:hover { color: var(--texto); }

@media (max-width: 900px) {
  .cuerpo { grid-template-columns: 1fr; gap: 28px; }
  .indice { position: static; max-height: none; overflow: visible; padding: 14px 16px; border: 1px solid var(--linea); background: var(--superficie); }
  .indice ol { grid-template-columns: 1fr 1fr; column-gap: 16px; }
  .indice a { padding-left: 8px; font-size: 12px; }
}
@media (max-width: 640px) {
  .indice ol { grid-template-columns: 1fr; }
  .tabla thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .tabla, .tabla tbody, .tabla tr, .tabla td { display: block; width: 100%; }
  .tabla tr { padding: 12px 0; border-bottom: 1px solid var(--linea); }
  .tabla td { border: 0; padding: 2px 0; }
  .tabla td::before { content: attr(data-t); display: block; font: 500 10.5px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--tenue); margin-top: 6px; }
  .tabla td:first-child::before { display: none; }
  .por-confirmar { white-space: normal; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print {
  body { background: #fff; color: #000; }
  body::before, .nav, .indice, .pie { display: none; }
  .texto p, .texto ul, .texto ol, .tabla td, .tabla th, .texto h3, .texto strong { color: #000; }
  .texto h2, h1 { color: #000; }
}
