:root{--bg:#F7F8F9;--fg:#1F2327;--mut:#5B636B;--ln:#D5D9DD;--sf:#FFFFFF;--ac:#3D6B8E;
  --f-display:"Inter Tight",system-ui,sans-serif;--f-body:"Inter",system-ui,sans-serif}
@media (prefers-color-scheme:dark){:root{--bg:#141618;--fg:#ECEEF0;--mut:#9AA2AA;--ln:#2C3238;--sf:#1C1F23;--ac:#7BA6C9;color-scheme:dark}}
.mwrap{max-width:900px;margin:0 auto;padding:0 16px 56px}
.mbc{font-size:13px;color:var(--mut);margin:18px 0 8px}.mbc a{color:var(--mut)}
.mwrap h1{font-family:var(--f-display,"Inter Tight",system-ui,sans-serif);font-size:clamp(28px,5vw,44px);line-height:1.04;margin:0 0 8px;text-wrap:balance}
.mlead{color:var(--mut);font-size:17px;max-width:62ch;margin:0 0 18px}
.mkpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 22px}
.mkpi div{background:var(--sf);border:1px solid var(--ln);border-radius:12px;padding:12px 14px}
.mkpi b{display:block;font-family:var(--f-display,"Inter Tight",system-ui,sans-serif);font-size:30px;line-height:1}
.mkpi span{font-size:13px;color:var(--mut)}
.mb{margin:0 0 26px}.mb h2{font-family:var(--f-display,"Inter Tight",system-ui,sans-serif);font-size:23px;margin:0 0 4px}
.mb h2 small{font-weight:400;color:var(--mut);font-size:15px}
.mst{font-size:14px;color:var(--mut);margin:0 0 10px}
.mt{width:100%;border-collapse:collapse;font-size:14.5px}
.mt th,.mt td{text-align:right;padding:6px 8px;border-bottom:1px solid var(--ln)}
.mt th:first-child,.mt td:first-child{text-align:left}
.mt thead th{font-size:12.5px;color:var(--mut);font-weight:600}
.mt i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:7px}
.mgo{display:inline-block;margin:4px 8px 4px 0;padding:8px 14px;border-radius:999px;border:1px solid var(--ln);background:var(--sf);font-size:14px}
.mgo.pri{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.mlist{columns:4 180px;gap:18px;font-size:14px;line-height:1.7;overflow-wrap:anywhere;max-width:100%}
@media (max-width:560px){.mlist{columns:1}}
.mlist a{display:inline-block;max-width:100%}
.legal{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--mut);border-top:1px solid var(--ln);padding-top:14px;margin-top:10px}
.legal a{color:var(--mut)}
.mfind{box-sizing:border-box;width:100%;max-width:420px;padding:10px 14px;border:1px solid var(--ln);border-radius:10px;background:var(--sf);color:var(--fg);font:inherit}

/* ---------- cabecera común a toda la web (acc/cabecera.py) ----------
   Se alinea con el contenido, no con la ventana: casi todas las páginas usan .mwrap a 900 px,
   y una cabecera a 1280 dejaba el logotipo descolgado a la izquierda del texto. Las dos
   páginas anchas (simulador y proyección municipal) lo recolocan en su propio CSS. */
.pehd{max-width:900px;margin:0 auto;padding:0 16px}
.pehdr{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;
 border-bottom:1px solid var(--ln);padding:10px 0}
.pebrand{display:flex;align-items:center;gap:10px;color:var(--fg);text-decoration:none;
 font-family:var(--f-display,"Inter Tight",system-ui,sans-serif);font-size:21px;font-weight:300;
 letter-spacing:-.01em;white-space:nowrap}
.pebrand b{font-weight:500}.pebrand .pe-m{width:30px;height:30px;flex:none}
.pebtn{font-size:13.5px;font-weight:500;border:1px solid var(--fg);background:var(--fg);color:var(--bg);
 border-radius:980px;padding:7px 14px;text-decoration:none;white-space:nowrap}
.penav{display:flex;gap:2px;overflow-x:auto;padding:8px 0 12px;border-bottom:1px solid var(--ln);
 margin-bottom:4px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.penav a{font-family:var(--f-body,"Inter",system-ui,sans-serif);font-size:15px;font-weight:500;
 letter-spacing:-.01em;border-radius:980px;padding:8px 14px;color:var(--mut);text-decoration:none;
 white-space:nowrap;display:inline-flex;align-items:center;gap:6px;line-height:1.2}
.penav a:hover{background:var(--sf);color:var(--fg)}
.penav a[aria-current="page"]{background:var(--fg);color:var(--bg)}
.pelk{width:13px;height:13px;opacity:.7}
@media (max-width:700px){.pehd{padding:0 max(16px,env(safe-area-inset-left,0px))}
 .pebrand{font-size:18px}.pebrand .pe-m{width:26px;height:26px}}

/* ---------- el pie, que estaba roto en todas estas páginas ----------
   El pie trae cuatro SVG —el logotipo y los iconos de redes— y sus medidas vivían SOLO en
   site.css, que cargan la portada y sobre-mí pero ninguna página de módulo. Un SVG con viewBox
   y sin ancho se estira a todo el contenedor y crece a lo alto en proporción: el pie medía
   13.310 px y la página entera 20.000. Se veía en cualquier navegador; no era cosa de Safari. */
.sitefoot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
 gap:12px 20px;padding:18px 0 4px;border-top:1px solid var(--ln);margin-top:8px}
.sf-l{display:flex;flex-direction:column;gap:4px;min-width:0}
.pe-w{width:200px;max-width:100%;height:auto;display:block}
.sf-u{font-size:12.5px;color:var(--mut)}
.pesoc{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pesoc-k{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--mut)}
.au-i{display:flex;gap:6px}
.au-i a{width:32px;height:32px;flex:none;border-radius:50%;display:grid;place-items:center;
 color:var(--fg);background:var(--sf);border:1px solid var(--ln)}
.au-i a:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.au-i svg{width:16px;height:16px;flex:none}
.author{display:flex;align-items:center;gap:10px;background:var(--sf);border:1px solid var(--ln);
 border-radius:10px;padding:6px 8px 6px 12px}
.au-m{width:36px;height:36px;flex:none;color:var(--fg)}
.au-t{display:flex;flex-direction:column;line-height:1.1;min-width:0}
.au-k{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--mut);font-weight:500;white-space:nowrap}
.au-t b{font-family:var(--f-display,"Inter Tight",system-ui,sans-serif);font-size:16px;font-weight:500;white-space:nowrap}
.au-t b a{color:inherit;text-decoration:none}
.btn2{font:inherit;font-size:14px;font-weight:500;border:0;border-radius:980px;padding:8px 14px;
 background:var(--sf);color:var(--fg);cursor:pointer;text-decoration:none;
 display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ln)}
/* Cualquier SVG suelto del pie, por si mañana se añade otro: que no se estire nunca. */
.sitefoot svg{max-width:100%}
@media (max-width:700px){.sitefoot{flex-direction:column;align-items:flex-start}}
