/* Huella en Regla · estilo oscuro (C). Se carga después del estilo de cada página y fija un solo tema oscuro. */
@font-face{font-family:"Sora";font-style:normal;font-weight:100 800;font-display:swap;src:url(../fonts/Sora-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Sora";font-style:normal;font-weight:100 800;font-display:swap;src:url(../fonts/Sora-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root:root:root{
  --bg:#0b1110; --surface:#111917; --sunk:#0d1513; --ink:#e9f1ee; --muted:#a3b5ae; --line:#1f2c28;
  --brand:#4ade80; --brand-ink:#06210f; --brand-soft:#12291c;
  --mark:#4ade80; --mark-ink:#06210f;
  --ok:#4ade80; --warn:#f5b75c; --bad:#f28b82; --cold:#7fb2ec; --heat:#f08a63;
  --paper:#1a2622; --paper-line:#3a4d46;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 18px 44px rgba(0,0,0,.45);
  --display:"Sora","Segoe UI",system-ui,sans-serif;
  --body:"Sora","Segoe UI",system-ui,sans-serif;
  color-scheme:dark;
}
body{background:radial-gradient(900px 380px at 50% -120px,rgba(74,222,128,.10),transparent 70%) no-repeat,var(--bg);font-size:17.5px;letter-spacing:-.003em}
body::before{background:var(--bg)!important}
h1,h2,h3,h4{font-weight:600!important;letter-spacing:-.03em}
h1{letter-spacing:-.04em}
.top{background:rgba(11,17,16,.86)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.logo b,.logo strong{font-weight:600}
::selection{background:rgba(74,222,128,.3)}
@media (max-width:560px){
  .top .wrap{gap:10px}
  .top nav{font-size:14px!important;gap:12px!important;min-width:0}
  .logo{min-width:0}
  .logo b,.logo strong,.logo span{font-size:16px}
  .logo small,.logo .tag{display:none}
}
@media (max-width:440px){.top .wrap{flex-wrap:wrap;row-gap:6px}.top nav{width:100%;justify-content:flex-start}}

/* Enlaces de contacto y textos legales en el pie (todas las páginas) */
footer .legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 12px}
footer .legal a{color:var(--muted);text-decoration:none}
footer .legal a:hover{color:var(--ink);text-decoration:underline}

/* Móviles muy estrechos (320 px): el menú cabe sin desbordar */
@media (max-width:380px){.links{font-size:13px!important;gap:10px!important}.top nav{font-size:13px!important;gap:10px!important}}
