:root { --fondo: #07090f; --panel: #10141f; --borde: #1f2636; --texto: #e9edf5; --suave: #a7b0c2; --acento: #3d7bff; --acento2: #b14bff; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--fondo); color: var(--texto); font: 16px/1.6 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
a { color: #8fb3ff; }
.envoltura { max-width: 1080px; margin: 0 auto; padding: 0 24px; }
header.cab { display: flex; align-items: center; justify-content: space-between; padding: 18px 0; }
header.cab .marca { display: flex; align-items: center; gap: 12px; text-decoration: none; }
header.cab .marca img.simbolo { width: 40px; height: 40px; }
header.cab .marca img.nombre { height: 26px; }
header.cab nav a { color: var(--suave); text-decoration: none; margin-left: 22px; font-size: 15px; }
header.cab nav a:hover { color: var(--texto); }
.portada { padding: 72px 0 56px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 40px; align-items: center; }
.portada h1 { font-size: 46px; line-height: 1.12; margin: 0 0 18px; }
.portada h1 span { background: linear-gradient(90deg, var(--acento), var(--acento2), #ff6a3d); -webkit-background-clip: text; background-clip: text; color: transparent; }
.portada p { color: var(--suave); font-size: 19px; margin: 0 0 28px; }
.portada .simbolo-grande { width: 100%; max-width: 340px; justify-self: center; filter: drop-shadow(0 20px 60px rgba(61, 123, 255, .35)); }
.botones { display: flex; gap: 12px; flex-wrap: wrap; }
.btn { display: inline-block; padding: 14px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; border: 1px solid var(--borde); color: var(--texto); background: var(--panel); }
.btn.pri { background: linear-gradient(90deg, var(--acento), var(--acento2)); border-color: transparent; color: #fff; }
section { padding: 48px 0; border-top: 1px solid var(--borde); }
section h2 { font-size: 30px; margin: 0 0 24px; }
.rejilla { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.rejilla.cuatro { grid-template-columns: repeat(4, 1fr); }
.tarjeta { background: var(--panel); border: 1px solid var(--borde); border-radius: 6px; padding: 22px; }
.tarjeta b { display: block; font-size: 18px; margin-bottom: 6px; }
.tarjeta p { margin: 0; color: var(--suave); }
.tarjeta .num { display: inline-block; width: 32px; height: 32px; line-height: 32px; text-align: center; border-radius: 4px; background: linear-gradient(135deg, var(--acento), var(--acento2)); font-weight: 700; margin-bottom: 12px; }
.estado { display: inline-block; margin-top: 10px; font-size: 13px; color: #ffcf6a; }
details { background: var(--panel); border: 1px solid var(--borde); border-radius: 6px; padding: 16px 20px; margin-bottom: 10px; }
details summary { cursor: pointer; font-weight: 600; }
details p { color: var(--suave); margin: 10px 0 0; }
footer { border-top: 1px solid var(--borde); padding: 28px 0 40px; color: var(--suave); font-size: 14px; }
footer nav a { color: var(--suave); margin-right: 18px; }
.legal { padding: 40px 0 56px; max-width: 820px; }
.legal h1 { font-size: 34px; }
.legal h2 { font-size: 22px; margin-top: 32px; }
.legal p, .legal li { color: #cfd5e2; }
.legal .fecha { color: var(--suave); }
@media (max-width: 820px) {
  .portada { grid-template-columns: 1fr; padding-top: 40px; }
  .portada h1 { font-size: 34px; }
  .portada .simbolo-grande { max-width: 220px; grid-row: 1; }
  .rejilla, .rejilla.cuatro { grid-template-columns: 1fr; }
  header.cab nav { display: none; }
}
