:root{--azul: #0e2a47;--azul-2: #183d63;--ambar: #f2a900;--fondo: #f5f2ec;--tarjeta: #ffffff;--texto: #1b2430;--tenue: #5b6676;--borde: #e3ddd2;--ok: #1f8a4c;--off: #b3412e;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--texto);background:var(--fondo)}*{box-sizing:border-box}body{margin:0}.pagina{min-height:100dvh;display:flex;flex-direction:column}.cabecera{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:14px clamp(16px,4vw,48px);background:var(--azul);color:#fff}.marca{display:flex;align-items:center;gap:12px}.marca div{display:flex;flex-direction:column;line-height:1.2}.marca span{font-size:12px;opacity:.7;letter-spacing:.08em;text-transform:uppercase}.indicadores{display:flex;gap:14px;font-size:13px}.punto:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.punto.ok:before{background:#4ade80;box-shadow:0 0 0 3px #4ade8040}.punto.off:before{background:#f87171;box-shadow:0 0 0 3px #f8717140}main{flex:1;width:100%;max-width:980px;margin:0 auto;padding:clamp(24px,5vw,64px) 16px}.portada{margin-bottom:48px}.etiqueta{display:inline-block;margin:0 0 12px;padding:4px 10px;border-radius:999px;background:var(--ambar);color:var(--azul);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase}h1{font-size:clamp(30px,5vw,48px);line-height:1.05;margin:0 0 16px;color:var(--azul);letter-spacing:-.02em}.bajada{font-size:18px;color:var(--tenue);max-width:60ch;margin:0}h2{font-size:14px;text-transform:uppercase;letter-spacing:.1em;color:var(--tenue);margin:0 0 16px}.modulos{list-style:none;padding:0;margin:0;display:grid;gap:10px}.modulo{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:16px;padding:16px 18px;background:var(--tarjeta);border:1px solid var(--borde);border-radius:14px}.modulo.en-construccion{border-left:4px solid var(--ambar)}.fase{font-weight:800;color:var(--azul-2);font-size:18px}.modulo h3{margin:0 0 2px;font-size:16px}.modulo p{margin:0;color:var(--tenue);font-size:14px}.estado{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;background:#eef1f5;color:var(--tenue);white-space:nowrap}.en-construccion .estado{background:#fff4d6;color:#8a5d00}.disponible .estado{background:#dcf3e5;color:var(--ok)}footer{padding:20px 16px;text-align:center;font-size:12px;color:var(--tenue)}@media(max-width:560px){.modulo{grid-template-columns:40px 1fr}.estado{grid-column:2;justify-self:start}}
