/* respaldo-vh */ /* Cada declaración con «svh» lleva delante su gemela en «vh»: iOS < 15.4 no entiende svh y descartaría la declaración entera. */
/* NAXIENIAN v2 · páginas de texto: aviso legal, privacidad y 404. De noche, como el resto; pensadas para leer. */
@font-face {
  font-family: 'Noto Sans SC';
  src: url('/assets/fonts/noto-sans-sc-v2-ui.woff2?v=69ffd99d') format('woff2');
  font-weight: 300 500; font-style: normal; font-display: swap;
}

.legal { width: min(100%, 860px); margin-inline: auto; padding: calc(var(--cab-h) + clamp(3rem, 7vw, 6rem)) var(--margen) var(--seccion); }
.legal .kick { display: block; font-family: var(--serif); font-size: var(--t-versal); letter-spacing: 0.3em; text-transform: uppercase; color: var(--tinta-tenue); margin-bottom: 1.1rem; }
.legal h1 { font-family: var(--serif); font-weight: 400; font-size: clamp(2.4rem, 1.5rem + 3.6vw, 4.5rem); line-height: 1.02; letter-spacing: -0.02em; margin-bottom: clamp(1.75rem, 3.5vw, 3rem); }
.legal h2 { font-size: clamp(1.4rem, 1.15rem + 1vw, 2rem); line-height: 1.15; margin: clamp(2.5rem, 5vw, 3.75rem) 0 1rem; padding-top: clamp(1.5rem, 3vw, 2.25rem); border-top: 1px solid var(--linea); }
.legal h3 { font-size: clamp(1.1rem, 1rem + 0.4vw, 1.3rem); line-height: 1.25; margin: 2rem 0 0.75rem; color: var(--porcelain); }
.legal p, .legal li { color: var(--tinta-suave); max-width: 70ch; }
.legal p + p { margin-top: 1rem; }
.legal strong { font-weight: 400; color: var(--porcelain); }
.legal ul { margin: 1rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.55rem; }
.legal li { padding-left: 1.4rem; position: relative; }
.legal li::before { content: ''; position: absolute; left: 0; top: 0.85em; width: 0.7rem; height: 1px; background: var(--linea-fuerte); }
.legal a { color: var(--porcelain); text-underline-offset: 4px; text-decoration-thickness: 1px; text-decoration-color: var(--linea-fuerte); transition: text-decoration-color 0.3s; }
.legal a:hover { text-decoration-color: var(--porcelain); }
.legal .nowrap { white-space: nowrap; }
.legal button.lnk, .legal .lnk { font: inherit; color: var(--porcelain); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; cursor: pointer; }
/* tablas de cookies: con scroll propio en móvil para no romper la página */
.legal .tw { overflow-x: auto; margin: 1rem 0 0; border: 1px solid var(--linea); -webkit-overflow-scrolling: touch; }
.legal table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: var(--t-menor); }
.legal caption { text-align: left; padding: 0.85rem 1rem; font-family: var(--serif); font-size: var(--t-versal); letter-spacing: 0.22em; text-transform: uppercase; color: var(--tinta-tenue); border-bottom: 1px solid var(--linea); }
.legal th, .legal td { text-align: left; vertical-align: top; padding: 0.8rem 1rem; border-bottom: 1px solid var(--linea); color: var(--tinta-suave); font-weight: 300; }
.legal thead th { font-family: var(--serif); font-size: 0.6875rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--tinta-tenue); }
.legal tbody tr:last-child td, .legal tbody tr:last-child th { border-bottom: 0; }
.legal td:first-child, .legal tbody th { color: var(--porcelain); white-space: nowrap; }
.legal code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.9em; color: var(--porcelain); }
.pagina-legal .cab, .pagina-404 .cab { background: rgba(8, 31, 92, 0.86); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); border-bottom-color: var(--linea); }

/* 404 */
.perdido { min-height: 100vh; min-height: 100svh; display: grid; align-content: center; justify-items: center; text-align: center; gap: 0; padding: calc(var(--cab-h) + 3rem) var(--margen) 4rem; }
.perdido-puente { width: clamp(120px, 14vw, 200px); height: auto; color: var(--sky); margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.perdido .versal { color: var(--tinta-tenue); }
.perdido h1 { margin-top: 1rem; font-size: clamp(2.2rem, 1.3rem + 4vw, 4.75rem); line-height: 1.04; letter-spacing: -0.02em; max-width: 16ch; }
.perdido-texto { margin-top: 1.25rem; color: var(--tinta-suave); max-width: 40ch; }
.perdido-acciones { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1rem 2.25rem; margin-top: clamp(2rem, 4vw, 3rem); }
.enlace-claro { font-family: var(--serif); font-size: var(--t-versal); letter-spacing: 0.24em; text-transform: uppercase; text-decoration: none; color: var(--porcelain); padding: 0.55rem 0; border-bottom: 1px solid var(--linea-fuerte); transition: border-color 0.3s; }
.enlace-claro:hover { border-bottom-color: var(--porcelain); }
