
:root { --bg:#0c0b0e; --panel:#16151c; --line:rgba(255,255,255,.09); --line-strong:rgba(255,255,255,.16);
  --text:#eae7df; --muted:#8b8677; --amber:#f0b429; --amber-soft:rgba(240,180,41,.14);
  --sans:"IBM Plex Sans",system-ui,sans-serif; --mono:"IBM Plex Mono",ui-monospace,monospace;
  --display:"Fraunces",Georgia,serif; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--text); font:16px/1.6 var(--sans); }
a { color:inherit; }
.wrap { max-width:880px; margin:0 auto; padding:0 20px; }
nav.top { display:flex; align-items:center; gap:16px; padding:14px 0; border-bottom:1px solid var(--line); }
nav.top .marca { display:flex; align-items:center; gap:8px; font-weight:600; text-decoration:none; letter-spacing:-.01em; }
nav.top .marca svg { display:block; }
nav.top .sep { flex:1; }
nav.top a.lnk { color:var(--muted); text-decoration:none; font-size:.92rem; }
nav.top a.lnk:hover { color:var(--text); }
.btn-amber { background:var(--amber); color:#1a1503; font-weight:600; text-decoration:none;
  padding:9px 16px; border-radius:999px; font-size:.92rem; }
.miga { font:.78rem/1 var(--mono); color:var(--muted); text-transform:uppercase; letter-spacing:.08em;
  margin:26px 0 10px; }
.miga a { color:var(--muted); text-decoration:none; }
.miga a:hover { color:var(--amber); }
h1 { font:600 clamp(30px,5vw,44px)/1.08 var(--display); letter-spacing:-.02em; margin:0 0 6px; }
.sub { color:var(--muted); margin:0 0 26px; max-width:44em; }
.sub b { color:var(--text); }
.heroN { display:flex; gap:26px; align-items:baseline; flex-wrap:wrap; padding:22px 24px;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012)); border:1px solid var(--line-strong);
  border-radius:16px; margin:0 0 14px; }
.heroN b { font:600 clamp(52px,9vw,84px)/0.95 var(--display); color:var(--amber); letter-spacing:-.03em; }
.heroN span { color:var(--muted); max-width:22em; }
.heroN span i { font-style:normal; color:var(--text); }
.tiles { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; margin:0 0 30px; }
.tile { background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:13px 15px; }
.tile b { display:block; font:600 24px/1.1 var(--display); }
.tile span { display:block; font:.72rem/1.35 var(--mono); color:var(--muted); text-transform:uppercase;
  letter-spacing:.07em; margin-top:5px; }
h2 { font:600 22px/1.2 var(--display); letter-spacing:-.01em; margin:34px 0 6px; }
.nota { color:var(--muted); font-size:.9rem; margin:0 0 14px; }
.barras { display:grid; gap:7px; margin:0 0 8px; }
.barra { display:grid; grid-template-columns:52px 1fr 64px; gap:10px; align-items:center; }
.barra .ano { font:.8rem/1 var(--mono); color:var(--muted); }
.barra .pista { height:14px; background:var(--panel); border:1px solid var(--line); border-radius:7px; overflow:hidden; }
.barra .pista i { display:block; height:100%; background:var(--amber); opacity:.85; }
.barra .n { font:.8rem/1 var(--mono); color:var(--text); text-align:right; }
table.colonias { width:100%; border-collapse:collapse; margin:0 0 8px; }
table.colonias td { padding:8px 10px; border-bottom:1px solid var(--line); }
table.colonias td:first-child { text-transform:capitalize; }
table.colonias td:last-child { text-align:right; font:.85rem/1 var(--mono); color:var(--amber); }
.cta { display:flex; gap:22px; align-items:center; flex-wrap:wrap; background:var(--amber-soft);
  border:1px solid rgba(240,180,41,.35); border-radius:16px; padding:20px 22px; margin:30px 0; }
.cta p { margin:0; flex:1; min-width:240px; }
.cta p b { color:var(--amber); }
.faq details { border:1px solid var(--line); border-radius:12px; background:var(--panel); margin:0 0 8px; }
.faq summary { cursor:pointer; list-style:none; padding:12px 16px; font-weight:600; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::before { content:"+"; color:var(--amber); font-family:var(--mono); margin-right:10px; }
.faq details[open] summary::before { content:"−"; }
.faq p { margin:0; padding:0 16px 14px 38px; color:var(--muted); }
.faq p b { color:var(--text); }
.chips { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 6px; }
.chips a { text-decoration:none; font-size:.88rem; color:var(--text); background:var(--panel);
  border:1px solid var(--line); border-radius:999px; padding:7px 13px; }
.chips a:hover { border-color:var(--amber); color:var(--amber); }
footer { border-top:1px solid var(--line); margin-top:38px; padding:18px 0 30px; color:var(--muted);
  font-size:.82rem; }
footer a { color:var(--muted); }
