/* =========================================================
   Páginas legales — Dr. Jorge Oseguera / ANAM.WORK
   Estilo calcado del sitio (navy + crema + esmeralda).
   Página de lectura en crema (legible para texto largo),
   con bandas navy en cabecera y footer.
   ========================================================= */
:root{
  --dark:#0B1325; --cream:#FBF9F6; --em:#059669; --em9:#064E3B; --em7:#047857;
  --em300:#6EE7B7; --em100:#D1FAE5; --emBg:#ECFDF5;
  --amber:#F59E0B; --amber7:#B45309;
  --s900:#0F172A; --s800:#1E293B; --s700:#334155; --s600:#475569;
  --s400:#94A3B8; --s300:#CBD5E1; --s200:#E2E8F0; --s100:#F1F5F9;
  --f:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --wrap:820px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--f);background:var(--cream);color:var(--s900);line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--em7)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}

/* ---- cabecera navy ---- */
.lh{background:var(--dark);color:#fff;padding:15px 0}
.lh .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px}
.logo{display:inline-flex;align-items:center;gap:9px;color:#fff;text-decoration:none;font-weight:700;font-size:1.02rem}
.logo .mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--em);color:#fff;font-weight:800}
.back{color:var(--s300);text-decoration:none;font-size:.9rem;white-space:nowrap}
.back:hover{color:#fff}

/* ---- título ---- */
.hero{background:var(--dark);color:#fff;padding:22px 0 38px}
.hero .u{color:var(--em300);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700}
.hero h1{margin:.35em 0 .2em;font-size:1.95rem;line-height:1.18}
.hero .upd{color:var(--s300);font-size:.85rem;margin:12px 0 0}

/* ---- contenido ---- */
main{padding:38px 0 10px}
.lead{font-size:1.08rem;color:var(--s600);margin:0 0 6px}
main h2{color:var(--em9);font-size:1.24rem;margin:36px 0 10px;padding-top:16px;border-top:2px solid var(--em100)}
main h3{color:var(--s900);font-size:1.03rem;margin:20px 0 6px}
main p,main li{color:var(--s700);font-size:.99rem}
main strong{color:var(--s900)}
main ul,main ol{padding-left:20px}
main li{margin:5px 0}

.box{background:#fff;border:1px solid var(--s200);border-left:4px solid var(--em);border-radius:10px;padding:15px 18px;margin:18px 0}
.box.warn{border-left-color:var(--amber);background:#FFFDF6}
.box p:last-child{margin-bottom:0}
.box p:first-child{margin-top:0}

table.tbl{width:100%;border-collapse:collapse;margin:16px 0;font-size:.92rem}
table.tbl th,table.tbl td{border:1px solid var(--s200);padding:10px 12px;text-align:left;vertical-align:top}
table.tbl th{background:var(--s100);color:var(--s900);font-weight:700}
table.tbl td{color:var(--s700)}

.toc{background:#fff;border:1px solid var(--s200);border-radius:11px;padding:16px 20px;margin:6px 0 26px}
.toc b{display:block;color:var(--s900);font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px}
.toc a{display:inline-block;margin:3px 14px 3px 0;font-size:.92rem}

/* ---- footer navy ---- */
footer{background:var(--dark);color:var(--s400);padding:34px 0;font-size:.83rem;text-align:center;margin-top:44px}
footer a{color:var(--s300)}
footer p{margin:0 0 7px}
.legalnav{margin-top:12px}
.legalnav a{margin:0 7px;white-space:nowrap}

@media(max-width:640px){
  .hero h1{font-size:1.5rem}
  main h2{font-size:1.12rem}
}
