/* Identidad visual FAUBA — tokens y componentes compartidos.
   Tipografía: Inter (SIL OFL). Íconos en la página: Lucide (ISC). */

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fuentes/inter-400.woff2") format("woff2");
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fuentes/inter-500.woff2") format("woff2");
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fuentes/inter-600.woff2") format("woff2");
}

:root {
  --fauba-color-primary: #176b4d;
  --fauba-color-primary-dark: #123c32;
  --fauba-color-primary-soft: #ecf2ef;
  --fauba-color-background: #f5f7f8;
  --fauba-color-surface: #ffffff;
  --fauba-color-text: #25313b;
  --fauba-color-text-muted: #64746f;
  --fauba-color-border: #e2e9e5;
  --fauba-color-link: #2563a6;
  /* Pie: gris grafito del Directorio (--color-gray-dark). El verde queda para acciones, identidad y estados activos. */
  --fauba-color-footer-bg: #374151;
  --fauba-color-footer-text: #ffffff;
  --fauba-color-footer-text-muted: #d1d5db;
  --fauba-color-footer-link: #ffffff;
  --fauba-color-footer-link-hover: #e5e7eb;
  --fauba-font: Inter, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --fauba-size-hero: 2.5rem;
  --fauba-size-section: 1.5rem;
  --fauba-size-card: 1.25rem;
  --fauba-size-body: 1rem;
  --fauba-size-small: 0.9375rem;
  --fauba-size-label: 0.75rem;
  --fauba-space-2: 0.5rem;
  --fauba-space-3: 0.75rem;
  --fauba-space-4: 1rem;
  --fauba-space-5: 1.5rem;
  --fauba-space-6: 2rem;
  --fauba-space-7: 3rem;
  --fauba-space-8: 4rem;
  --fauba-radius-control: 8px;
  --fauba-radius-surface: 12px;
  --fauba-shadow: 0 1px 2px rgba(37, 49, 59, 0.06);
  --fauba-max: 70rem;
  --fauba-header: 80px;
  --fauba-ease: 150ms ease;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--fauba-font);
  font-size: var(--fauba-size-body);
  line-height: 1.5;
  color: var(--fauba-color-text);
  background: var(--fauba-color-background);
}

.saltar {
  position: absolute;
  left: var(--fauba-space-4);
  top: -3rem;
  z-index: 3;
  padding: var(--fauba-space-2) var(--fauba-space-3);
  background: var(--fauba-color-primary-dark);
  color: #fff;
  border-radius: var(--fauba-radius-control);
}

.saltar:focus { top: var(--fauba-space-2); }

.icono {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  flex: 0 0 auto;
}

.icono-sm {
  width: 1.125rem;
  height: 1.125rem;
}

a:focus-visible,
.boton:focus-visible {
  outline: 2px solid var(--fauba-color-link);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,
  *::before,
  *::after {
    transition: none !important;
  }
}
