/* ---------- /nosotros/: la presentación de la empresa (spec 2026-10-07 §5) ---------- */
/* Las cifras (.cifra) y el mapa (.mapa) son de base.css: los comparten la portada y /contacto/. */

.nosotros-historia { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.nosotros-historia p { color: var(--tinta-2); max-width: 65ch; }
.nosotros-sello { display: grid; justify-items: center; gap: 16px; padding: 32px 24px; text-align: center; border-top: 4px solid var(--naranja); }
.nosotros-sello img { width: min(220px, 80%); height: auto; }
.nosotros-sello strong { display: block; margin-bottom: 4px; font-family: var(--display); font-size: 1.15rem; color: var(--tinta); }
@media (max-width: 860px) { .nosotros-historia { grid-template-columns: 1fr; gap: 24px; } }

/* Los hitos solo salen cuando el titular los dé (empresa.js). */
.nosotros-hitos { list-style: none; margin: 32px 0 0; padding: 0 0 0 20px; display: grid; gap: 14px; border-left: 2px solid var(--linea); }
.nosotros-hito-anio { font-family: var(--display); font-weight: 800; color: var(--naranja-texto); }

/* En el móvil, dos por fila. */
.nosotros-cifras { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); margin-top: 28px; }
.nosotros-cifra { text-align: center; border-top: 3px solid var(--azul); }
.nosotros-cifra:nth-child(even) { border-top-color: var(--naranja); }
.nosotros-cifra:nth-child(even) .cifra { color: var(--naranja-texto); }
.nosotros-cifra p { color: var(--tinta-2); font-weight: 600; }
.nosotros-cifra .cifra { margin: 8px 0 10px; }

.nosotros-bloques { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); align-items: start; margin-top: 28px; }
.nosotros-bloque h3 { margin-top: 0; }
.nosotros-servicios { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 2px; }
.nosotros-servicios a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border-radius: 10px; color: var(--tinta); font-weight: 600; text-decoration: none; transition: background .15s ease, color .15s ease; }
.nosotros-servicios a::after { content: "→"; color: var(--naranja-texto); transition: translate .15s ease; }
.nosotros-servicios a:hover { background: var(--halo); color: var(--azul); }
.nosotros-servicios a:hover::after { translate: 4px 0; }

.nosotros-productos { list-style: none; margin: 28px 0 0; padding: 0; display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); }
.nosotros-producto { display: flex; flex-direction: column; gap: 8px; height: 100%; color: inherit; text-decoration: none; border-top: 3px solid var(--color); }
.nosotros-producto:hover { box-shadow: var(--sombra); }
/* La captura de la web de cada producto (.panel-captura, de plantilla.css) baja al pasar el ratón, como en /productos/. */
.nosotros-producto .panel-captura { margin-bottom: 6px; }
.nosotros-producto-logo { align-self: flex-start; height: 40px; width: auto; max-width: 100%; margin-bottom: 6px; object-fit: contain; object-position: left center; }
.nosotros-producto strong { font-family: var(--display); font-size: 1.05rem; color: var(--tinta); }
.nosotros-producto span { color: var(--tinta-2); font-size: .92rem; }

.nosotros-sectores { list-style: none; margin: 24px 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.nosotros-sectores li { display: flex; align-items: center; gap: 10px; padding: 12px 20px; border: 1px solid var(--linea); border-radius: 999px; background: var(--blanco); box-shadow: var(--sombra-suave); font-family: var(--display); font-weight: 700; color: var(--azul); }
.nosotros-sectores li::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--naranja); }

/* El equipo solo sale cuando el titular lo dé (empresa.js). */
.nosotros-equipo { list-style: none; margin: 28px 0 0; padding: 0; display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }

.nosotros-donde { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 24px; align-items: start; margin-top: 24px; }
.nosotros-oficina h3 { margin-top: 0; }
.nosotros-oficina a:not(.enlace-flecha) { color: var(--azul); overflow-wrap: anywhere; }
.nosotros-horario { list-style: none; margin: 8px 0 12px; padding: 0; display: grid; gap: 2px; color: var(--tinta-2); font-size: .92rem; }
@media (max-width: 860px) { .nosotros-donde { grid-template-columns: 1fr; } }

@media (prefers-reduced-motion: reduce) {
  .nosotros-servicios a, .nosotros-servicios a::after { transition: none; }
  .nosotros-servicios a:hover::after { translate: none; }
}
