/* XaviorLabs · sistema visual común (v1)
   Paletas: primaria «prisma» (XaviorPEP) y secundaria «aurora» (sitios serios): <html data-palette="aurora">
   Tema: <html data-theme="light|dark"> (por defecto oscuro). Fuentes: Xavior Sans (OFL) + Instrument Serif. */
@font-face{font-family:'Xavior Sans';src:url(/fonts/xavior-sans-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Xavior Sans';src:url(/fonts/xavior-sans-500.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Xavior Sans';src:url(/fonts/xavior-sans-600.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Xavior Sans';src:url(/fonts/xavior-sans-700.woff2) format('woff2');font-weight:700;font-display:swap}
:root{
  --sans:'Xavior Sans',system-ui,-apple-system,sans-serif; --serif:'Instrument Serif',Georgia,serif; --r:18px;
  /* primaria: prisma */
  --bg:#06070c; --bg2:#0b0d16; --ink:#e8ebf4; --mut:#9aa2b6; --dim:#6b7288; --line:rgba(255,255,255,.08);
  --c1:#89e3f5; --c2:#b9a2ff; --c3:#f6a5c8; --ok:#5ee6c4; --ko:#ff7a93; --warn:#ffd27a;
  --prism:linear-gradient(120deg,var(--c1),var(--c2) 48%,var(--c3));
  --edge:linear-gradient(120deg,rgba(137,227,245,.55),rgba(185,162,255,.35) 45%,rgba(255,138,200,.5));
  --fill:rgba(16,17,32,.58); --fill2:rgba(22,23,42,.72); --lift:0 14px 34px -14px rgba(0,0,0,.6);
  --glow:rgba(185,162,255,.35);
}
html[data-theme=light]{--bg:#f4f1ff;--bg2:#ebe6ff;--ink:#1d1a3a;--mut:#3f425e;--dim:#62667e;--line:rgba(40,30,110,.1);
  --c1:#0f8fb3;--c2:#6a45e0;--c3:#cc3f86;--fill:rgba(255,255,255,.74);--fill2:rgba(255,255,255,.9);--lift:0 14px 34px -16px rgba(50,30,130,.45);
  --edge:linear-gradient(120deg,rgba(21,150,184,.55),rgba(115,86,232,.4) 45%,rgba(208,80,143,.5))}
/* secundaria: aurora boreal (verde turquesa), para sitios clínicos, institucionales o de servicios formales */
html[data-palette=aurora]{--bg:#03100f;--bg2:#071a18;--ink:#e6f5f1;--mut:#93b3ac;--dim:#62817a;
  --c1:#7cf5c8;--c2:#2dd4bf;--c3:#38bdf8;--ok:#5ee6a8;--glow:rgba(45,212,191,.35);
  --prism:linear-gradient(120deg,#9dfccf,#2dd4bf 45%,#38bdf8);
  --edge:linear-gradient(120deg,rgba(124,245,200,.55),rgba(45,212,191,.35) 45%,rgba(56,189,248,.5));
  --fill:rgba(6,24,22,.6);--fill2:rgba(9,32,29,.76)}
html[data-palette=aurora][data-theme=light]{--bg:#eefaf7;--bg2:#ddf3ee;--ink:#0d2723;--mut:#36524c;--dim:#58736d;--line:rgba(10,70,60,.1);
  --c1:#0f9f78;--c2:#0d9488;--c3:#0284c7;--fill:rgba(255,255,255,.76);--fill2:rgba(255,255,255,.92);--lift:0 14px 34px -16px rgba(10,80,70,.35);
  --edge:linear-gradient(120deg,rgba(15,159,120,.55),rgba(13,148,136,.4) 45%,rgba(2,132,199,.5))}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--sans)}
.xl-prism{background:var(--prism);-webkit-background-clip:text;background-clip:text;color:transparent}
.xl-btn{display:inline-flex;align-items:center;gap:8px;font:600 15px var(--sans);padding:11px 20px;border-radius:999px;cursor:pointer;text-decoration:none;color:var(--ink);border:1px solid transparent;
  background:linear-gradient(var(--fill2),var(--fill2)) padding-box,var(--edge) border-box;box-shadow:var(--lift),inset 0 1px 0 rgba(255,255,255,.14);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);transition:transform .2s,background .2s}
.xl-btn:hover{transform:translateY(-1px);background:linear-gradient(var(--fill2),var(--fill2)) padding-box,var(--prism) border-box}
.xl-btn.main{background:var(--prism);color:#0b0c16;box-shadow:0 10px 28px -10px var(--glow),inset 0 1px 0 rgba(255,255,255,.45)}
.xl-card{border-radius:var(--r);padding:18px 20px;border:1px solid transparent;background:linear-gradient(var(--fill),var(--fill)) padding-box,var(--edge) border-box;box-shadow:var(--lift),inset 0 1px 0 rgba(255,255,255,.12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
/* el hilo: línea vertical que une las secciones de una página */
.xl-thread{position:relative;padding-left:30px}
.xl-thread::before{content:'';position:absolute;left:8px;top:0;bottom:0;width:2px;border-radius:2px;background:linear-gradient(180deg,transparent,var(--c1) 12%,var(--c2) 55%,var(--c3) 92%,transparent);opacity:.6;box-shadow:0 0 12px var(--glow)}
.xl-thread h2,.xl-thread h3{position:relative}
.xl-thread :is(h2,h3)::before{content:'';position:absolute;left:-28px;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;background:var(--bg);box-shadow:0 0 0 2px var(--c2),0 0 14px 2px var(--glow)}
/* firma obligatoria de cada sitio */
.xl-sign{position:relative;z-index:1;text-align:center;color:var(--dim);font:13px/1.6 var(--sans);padding:32px 20px 40px;border-top:1px solid var(--line);margin-top:48px}
.xl-sign a{color:inherit;text-decoration:none}.xl-sign .brand{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--mut)}
.xl-sign img{width:20px;height:20px}
