
:root {
  --color-primario:#FF7A00;
  --color-acento:#F59E0B;
  --radius:12px;
  --shadow:0 10px 30px rgba(0,0,0,.2);
  --container:1200px;
}
body[data-theme="dark"] {
  --bg:#0B0B0B;
  --text:#FFFFFF;
  --muted:#6B7280;
  --card:#151515;
  --line:rgba(255,255,255,.08);
}
body[data-theme="light"] {
  --bg:#FFFFFF;
  --text:#111111;
  --muted:#4B5563;
  --card:#FFFFFF;
  --line:rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6}
img{max-width:100%;height:auto}
a{color:var(--color-primario);text-decoration:none}
a:focus,button:focus,input:focus,textarea:focus{outline:2px solid var(--color-acento);outline-offset:2px}
.container{max-width:var(--container);margin-inline:auto;padding:24px}
.muted{color:var(--muted)}
.skip-link{position:absolute;left:-9999px;top:auto}
.skip-link:focus{left:16px;top:16px;background:#fff;color:#000;padding:8px 12px;border-radius:6px;z-index:1000}


/* ===== Animaciones y accesibilidad ===== */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Efecto reveal al hacer scroll */
.reveal{opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1; transform:translateY(0)}
