/* Página Nosotros. Sigue el sistema: tokens para todo color, una sola
   gramática de movimiento y un único degradado en las frases que lo merecen. */
.nos-carta-in{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:var(--sp-8);align-items:center}
.nos-retrato{margin:0;border-radius:var(--r-card);overflow:hidden;border:1px solid var(--border)}
.nos-retrato img{display:block;width:100%;height:auto}
.nos-carta blockquote{
  margin:0 0 var(--sp-5);font-size:clamp(var(--fs-2xl),4.4vw,var(--fs-5xl));
  font-weight:var(--fw-semibold);line-height:var(--lh-tight);letter-spacing:-.03em;color:var(--text);
}
.nos-firma{margin-bottom:var(--sp-5)}
.nos-firma b{display:block;color:var(--text);font-weight:var(--fw-semibold)}
.nos-firma span{color:var(--text-3);font-size:var(--fs-sm)}
.nos-carta-txt p,.nos-equipo-in p{color:var(--text-2);line-height:1.65;max-width:56ch}
.nos-equipo-in p+p{margin-top:var(--sp-4)}
.nos-relato{max-width:64ch;color:var(--text-2);font-size:var(--fs-md);line-height:1.65}
.nos-relato p+p{margin-top:var(--sp-4)}

.nos-hitos{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}
.nos-hitos li{
  display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:var(--sp-6);
  padding:var(--sp-6) 0;border-bottom:1px solid var(--border);
}
.nos-fecha{color:var(--accent);font-size:var(--fs-sm);font-weight:var(--fw-medium);padding-top:.3em}
.nos-hitos h3{font-size:var(--fs-xl);margin-bottom:var(--sp-2)}
.nos-hitos p{max-width:64ch;color:var(--text-2);line-height:1.65}

.nos-nombre{background:radial-gradient(70% 55% at 80% 40%,var(--glow-halo),transparent 70%)}
.nos-nombre h2{margin-bottom:var(--sp-5)}
.nos-palabras{
  display:grid;gap:.04em;margin:var(--sp-7) 0 var(--sp-6);
  font-size:clamp(var(--fs-4xl),9vw,104px);font-weight:var(--fw-semibold);
  line-height:1.04;letter-spacing:-.04em;color:var(--text-3);
}
.nos-palabras span{display:block}
.nos-palabras b{font-weight:inherit;color:var(--text)}
.nos-resultado{font-size:clamp(var(--fs-xl),3vw,var(--fs-3xl));font-weight:var(--fw-semibold);letter-spacing:-.02em;color:var(--text)}

.nos-equipo-in{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-8);align-items:center}
.nos-equipo-in h2{margin-bottom:var(--sp-5)}
.nos-equipo-in figure{margin:0}
.nos-equipo-in img{display:block;width:100%;height:auto;border-radius:var(--r-card);border:1px solid var(--border)}
.nos-equipo-in figcaption{margin-top:var(--sp-3);color:var(--text-3);font-size:var(--fs-xs)}

.nos-hoy h2,.nos-norte .eyebrow{margin-bottom:var(--sp-4)}
.nos-productos{
  list-style:none;margin:var(--sp-6) 0;padding:0;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-4);
}
.nos-productos li{padding:var(--sp-5);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-card)}
.nos-productos b{display:block;color:var(--text);font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin-bottom:var(--sp-2)}
.nos-productos span{color:var(--text-2);font-size:var(--fs-sm);line-height:1.5}

.nos-mision{font-size:clamp(var(--fs-2xl),5.4vw,var(--fs-5xl));line-height:1.08;letter-spacing:-.035em;max-width:none;text-wrap:initial}
.nos-mision>span{display:block}
.nos-pilares{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-6);margin:var(--sp-8) 0 0;padding-top:var(--sp-6);border-top:1px solid var(--border)}
.nos-pilares dt{color:var(--text-3);font-size:var(--fs-sm);margin-bottom:var(--sp-3)}
.nos-pilares dd{margin:0;color:var(--text);font-size:var(--fs-lg);font-weight:var(--fw-medium);line-height:1.4}

.nos-lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-6) var(--sp-5)}
.nos-lista li{padding-top:var(--sp-4);border-top:1px solid var(--border-strong)}
.nos-lista h3{font-size:var(--fs-md);margin-bottom:var(--sp-2)}
.nos-lista p{color:var(--text-2);font-size:var(--fs-sm);line-height:1.6}

@media(max-width:900px){
  .nos-carta-in,.nos-equipo-in{grid-template-columns:1fr;gap:var(--sp-6)}
  .nos-invertido figure{order:2}
  .nos-productos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nos-pilares,.nos-lista{grid-template-columns:1fr}
}
@media(max-width:560px){
  .nos-hitos li{grid-template-columns:1fr;gap:var(--sp-2);padding:var(--sp-5) 0}
  .nos-palabras{font-size:13.5vw}
}
