/* Landing provisional de Vértice. Colores del sistema "Modernist" (packages/ui-tokens): tinta, neutros y rojo solo
   para la acción principal. Al cambiar este archivo, sube la versión en el <link> (?v=) para saltar la caché. */
:root {
  --bg: #f3f2f2;
  --surface: #eae9e9;
  --text: #201e1d;
  --tenue: #605d5d;
  --linea: #d7d3d3;
  --accent: #ec3013;
  --accent-hover: #dd2b0f;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 17px;
  line-height: 1.55;
}

a { color: inherit; }

.contenedor { max-width: 1040px; margin: 0 auto; padding: 0 20px; }

/* Encabezado */
.barra { border-bottom: 1px solid var(--linea); }
.barra .contenedor { display: flex; align-items: center; justify-content: space-between; height: 64px; gap: 16px; }
.marca { font-weight: 800; font-size: 20px; letter-spacing: -0.02em; text-decoration: none; }
.marca span { color: var(--accent); }
.barra nav { display: flex; gap: 20px; font-size: 15px; }
.barra nav a { text-decoration: none; color: var(--tenue); }
.barra nav a:hover { color: var(--text); }

/* Portada */
.portada { padding: 88px 0 72px; }
.kicker { font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--tenue); margin: 0 0 16px; }
h1 { font-weight: 800; font-size: clamp(36px, 6vw, 60px); line-height: 1.05; letter-spacing: -0.03em; margin: 0 0 24px; max-width: 14ch; }
.entrada { font-size: clamp(18px, 2.2vw, 21px); color: var(--tenue); max-width: 40ch; margin: 0 0 36px; }
.acciones { display: flex; flex-wrap: wrap; gap: 12px; }
.boton { display: inline-block; padding: 14px 22px; font-weight: 600; font-size: 16px; text-decoration: none; border: 2px solid var(--text); }
.boton-principal { background: var(--accent); border-color: var(--accent); color: #fff; }
.boton-principal:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.boton-secundario:hover { background: var(--text); color: var(--bg); }

/* Funciones */
.funciones { border-top: 1px solid var(--linea); padding: 64px 0; }
.funciones h2, .accesos h2 { font-weight: 800; font-size: 28px; letter-spacing: -0.02em; margin: 0 0 32px; }
.rejilla { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0; border-top: 2px solid var(--text); }
.funcion { padding: 24px 24px 28px 0; border-bottom: 1px solid var(--linea); }
.funcion h3 { font-weight: 800; font-size: 18px; margin: 0 0 8px; }
.funcion p { margin: 0; color: var(--tenue); font-size: 16px; }

/* Accesos */
.accesos { background: var(--text); color: var(--bg); padding: 64px 0; }
.accesos .rejilla { border-top-color: var(--bg); }
.accesos a.funcion { display: block; text-decoration: none; border-bottom-color: #444141; }
.accesos a.funcion:hover h3 { text-decoration: underline; }
.accesos .funcion p { color: #bab6b6; }

/* Pie */
.pie { padding: 32px 0 48px; font-size: 14px; color: var(--tenue); }
.pie .contenedor { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; }

/* Página de error */
.error { min-height: 70vh; display: flex; align-items: center; }

@media (max-width: 560px) {
  .barra nav { display: none; }
  .portada { padding: 56px 0 48px; }
  .boton { width: 100%; text-align: center; }
}
