/* Pagina Nosotros */

/*-- Sección Hero --*/
.hero-nosotros {
  background: url('imagenes/Ffl.JPG') center/cover no-repeat;
  height: 80vh;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: white;
  padding: 20px;
}
.hero-nosotros .hero-text {
  background: #293021d4;
  padding: 30px;
  border-radius: var(--radio-borde);
}
.hero-nosotros .hero-text h1 {
  font-size: 2.5rem;
  margin-bottom: 15px;
  color: var(--color-texto-invertido);
}
.hero-nosotros .hero-text p {
  font-size: 1.3rem;
  margin-bottom: 30px;
}
.hero-nosotros .btn {
  background: var(--color-texto);
  color: var(--color-primario);
  padding: 12px 25px;
  border-radius: 25px;
  text-decoration: none;
  font-weight: bold;
  font-size: 18px;
}
.hero-nosotros .btn:hover {
  background: #fcbf49;
  color: rgb(9, 9, 9);
}

/*-- Sección Nosotros --*/

.sgf-nosotros {
  padding:48px 16px;
  background:linear-gradient(180deg,#f9fbfb 0%, #eef8f6 100%);
}
.container {
  max-width:1100px;
  margin:0 auto;
}
.nm-header {
  text-align:center;
  padding: 5rem;
}
.nm-header h2 {
  font-size: 2.3rem;
  color:#1b3a34;
  margin-bottom: 1rem;
}
.subtitle {
  color:#3c5a55;
  font-size:1.3em;
  margin-bottom: 2rem;
}

/*-- Grid Principal --*/
.nm-grid {
  display:flex;
  gap:28px;
  align-items:flex-start;
  flex-wrap:wrap;
}
.nm-about {
  flex:1 1 560px;
  background:#fff;
  padding:24px;
  border-radius:14px;
  box-shadow:0 6px 20px rgba(15,23,21,0.05);
}
.nm-about h3 {
  margin-top:0;
  font-size: 1.4em;
  color:#24584f;
  margin-bottom: 10px;
}
.nm-about p {
  line-height:1.6;
  color:#374f4b;
  font-size: 1.2em;
}
.final-reflexion {
  margin-top:16px;
  font-style:italic;
  font-size: 1.2em;
  font-weight: bold;
  color:#2f4b44;
  text-align: center;
}

/*-- Valores --*/
.values {
  list-style:none;
  padding:0;
  margin:12px 0;
}
.values li {
  padding:6px 0;
}
.btn-primary {
  display:inline-block;
  margin-top:12px;
  padding:10px 16px;
  border-radius:10px;
  background:#1d7665;color:#fff;
  text-decoration:none;
}


.nm-side {
  width:320px;
  flex:0 0 320px;
}
.team-card {
  display:flex;
  gap:12px;
  background:#fff;
  padding:14px;
  border-radius:12px;
  align-items:center;
  box-shadow:0 6px 20px rgba(15,23,21,0.06);
}
.team-card img {
  width:90px;
  height:90px;
  object-fit:cover;
  border-radius:8px;
}
.team-info h4 {
  margin:0;
  font-size:1.05rem;
  color:#1b3a34;
}
.role {
  font-size:.9rem;
  color:#3a6b60;
  margin:4px 0;
}
.bio {
  font-size:.85rem;
  color:#526b66;
}


.stats {
  display:flex;
  gap:8px;
  margin-top:14px;
}
.stat {
  background:#fff;
  border-radius:10px;
  padding:10px 12px;
  flex:1;
  text-align:center;
  box-shadow:0 6px 20px rgba(15,23,21,0.04);
}
.num {
  display:block;
  font-weight:700;
  font-size:1.1rem;
  color:#1d7665;
}
.label {
  font-size:.8rem;
  color:#4a6b63;
}


.cta-small {
  margin-top:14px;
  padding:12px;
  background:linear-gradient(90deg,#e9f7f2,#f7fdfb);border-radius:10px;
  text-align:center;
}
.btn-secondary {
  display:inline-block;
  margin-top:6px;
  padding:8px 12px;
  border-radius:8px;
  background:transparent;
  border:2px solid #1d7665;
  color:#1d7665;
  text-decoration:none;
}


.nm-testimonials {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;
  margin-top:22px}
blockquote {
  background:#fff;
  padding:16px;
  border-radius:10px;
  box-shadow:0 6px 20px rgba(15,23,21,0.04);
  margin:0}
blockquote cite {
  display:block;
  margin-top:8px;
  color:#2f4b44;
  font-style:normal
}


@media (max-width:992px){
.nm-grid {
  flex-direction:column
}
.nm-about {
  flex-basis: 0;
}
.nm-side {
  width:100%;
  flex:1
}
}
