/* -- Sobre Nosotros ------------------------------------------- */



/* Hero */

.sn-hero {

  background: var(--t-bg, #fdf6f0);

  padding: 4rem 1.5rem 3rem;

  border-bottom: 1px solid var(--t-line, #e8ddd5);

}

.sn-hero-inner {

  max-width: 1080px;

  margin: 0 auto;

  display: grid;

  grid-template-columns: 1fr 280px;

  gap: 3rem;

  align-items: center;

}

.sn-hero-label {

  display: inline-block;

  font-size: .72rem;

  font-weight: 700;

  letter-spacing: .1em;

  text-transform: uppercase;

  color: var(--t-accent, #0057A8);

  background: rgba(0,87,168,.1);

  padding: .25rem .75rem;

  border-radius: 99px;

  margin-bottom: 1rem;

}

.sn-hero-title {

  font-size: clamp(2rem, 5vw, 3.2rem);

  font-weight: 900;

  color: var(--t-text, #2d2d2d);

  line-height: 1.1;

  margin: 0 0 1.1rem;

}

.sn-hero-title em {

  font-style: normal;

  color: var(--t-accent, #0057A8);

}

.sn-hero-intro {

  font-size: 1.05rem;

  color: var(--t-muted, #7a6a5a);

  line-height: 1.8;

  max-width: 560px;

  margin: 0 0 2rem;

}

.sn-hero-stats {

  display: flex;

  gap: 2rem;

  flex-wrap: wrap;

}

.sn-stat { display: flex; flex-direction: column; gap: .15rem; }

.sn-stat-num {

  font-size: 1.7rem;

  font-weight: 900;

  color: var(--t-accent, #0057A8);

  line-height: 1;

}

.sn-stat-label { font-size: .75rem; color: var(--t-muted, #7a6a5a); font-weight: 600; }



/* Cup visual */

.sn-cup-wrap { text-align: center; }

.sn-cup-badge {

  display: inline-block;

  margin-top: .5rem;

  font-size: .78rem;

  font-weight: 600;

  color: var(--t-muted, #7a6a5a);

  background: var(--t-panel, #fff);

  border: 1px solid var(--t-line, #e8ddd5);

  padding: .3rem .8rem;

  border-radius: 99px;

}



/* Sección genérica */

.sn-section-inner { max-width: 1080px; margin: 0 auto; }



/* Historia */

.sn-historia {

  padding: 4rem 1.5rem;

  background: var(--t-panel, #fff);

}

.sn-historia-grid {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 2.5rem;

}

.sn-historia-bloque { display: flex; flex-direction: column; gap: .75rem; }

.sn-bloque-icono { font-size: 2.2rem; }

.sn-bloque-titulo {

  font-size: 1.25rem;

  font-weight: 800;

  color: var(--t-text, #2d2d2d);

  margin: 0;

}

.sn-bloque-texto {

  font-size: .97rem;

  color: var(--t-muted, #7a6a5a);

  line-height: 1.8;

  margin: 0;

}



/* Manifiesto */

.sn-manifiesto {

  background: var(--t-bg, #fdf6f0);

  padding: 4rem 1.5rem;

  border-top: 1px solid var(--t-line, #e8ddd5);

}

.sn-manifiesto-titulo {

  font-size: 1.6rem;

  font-weight: 900;

  color: var(--t-text, #2d2d2d);

  margin: 0 0 2.5rem;

  text-align: center;

}

.sn-valores-grid {

  display: grid;

  grid-template-columns: repeat(4, 1fr);

  gap: 1.5rem;

}

.sn-valor {

  background: var(--t-panel, #fff);

  border: 1px solid var(--t-line, #e8ddd5);

  border-radius: 14px;

  padding: 1.5rem 1.25rem;

  display: flex;

  flex-direction: column;

  gap: .5rem;

}

.sn-valor-icon { font-size: 1.8rem; }

.sn-valor strong { font-size: .95rem; font-weight: 800; color: var(--t-text, #2d2d2d); }

.sn-valor p { font-size: .85rem; color: var(--t-muted, #7a6a5a); line-height: 1.65; margin: 0; }



/* Info CTA */

.sn-info-cta {

  padding: 4rem 1.5rem;

  background: var(--t-panel, #fff);

  border-top: 1px solid var(--t-line, #e8ddd5);

}

.sn-info-cta-inner {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 3rem;

  align-items: start;

}

.sn-info-titulo {

  font-size: 1.45rem;

  font-weight: 800;

  color: var(--t-text, #2d2d2d);

  margin: 0 0 1.5rem;

}

.sn-info-lista {

  list-style: none;

  padding: 0;

  margin: 0 0 2rem;

  display: flex;

  flex-direction: column;

  gap: 1rem;

}

.sn-info-lista li {

  display: flex;

  align-items: flex-start;

  gap: .85rem;

}

.sn-info-icon { font-size: 1.2rem; flex-shrink: 0; margin-top: .1rem; }

.sn-info-lista li div { display: flex; flex-direction: column; }

.sn-info-lista li strong { font-size: .82rem; font-weight: 700; color: var(--t-muted, #7a6a5a); text-transform: uppercase; letter-spacing: .04em; }

.sn-info-lista li span { font-size: .95rem; color: var(--t-text, #2d2d2d); }

.sn-cta-btns { display: flex; gap: .75rem; flex-wrap: wrap; }

.btn-sn-primary {

  background: var(--t-accent, #0057A8);

  color: #fff;

  padding: .75rem 1.5rem;

  border-radius: 8px;

  font-weight: 700;

  text-decoration: none;

  font-size: .95rem;

  transition: background .15s;

}

.btn-sn-primary:hover { background: #0057A8; }

.btn-sn-ghost {

  background: var(--t-panel, #fff);

  border: 1.5px solid var(--t-line, #e8ddd5);

  color: var(--t-text, #2d2d2d);

  padding: .75rem 1.5rem;

  border-radius: 8px;

  font-weight: 600;

  text-decoration: none;

  font-size: .95rem;

  transition: border-color .15s, color .15s;

}

.btn-sn-ghost:hover { border-color: var(--t-accent, #0057A8); color: var(--t-accent, #0057A8); }



/* Mapa */

.sn-mapa-wrap { border-radius: 14px; overflow: hidden; border: 1px solid var(--t-line, #e8ddd5); }

.sn-mapa-iframe { width: 100%; height: 280px; border: none; display: block; }



/* Testimonios */

.sn-testi {

  background: var(--t-bg, #fdf6f0);

  padding: 4rem 1.5rem;

  border-top: 1px solid var(--t-line, #e8ddd5);

}

.sn-testi-titulo {

  font-size: 1.45rem;

  font-weight: 800;

  color: var(--t-text, #2d2d2d);

  margin: 0 0 2rem;

  text-align: center;

}

.sn-testi-grid {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 1.5rem;

  margin-bottom: 2rem;

}

.sn-testi-card {

  background: var(--t-panel, #fff);

  border: 1px solid var(--t-line, #e8ddd5);

  border-radius: 14px;

  padding: 1.5rem;

  display: flex;

  flex-direction: column;

  gap: 1rem;

}

.sn-testi-texto {

  font-size: .93rem;

  color: var(--t-muted, #7a6a5a);

  line-height: 1.7;

  margin: 0;

  flex: 1;

  font-style: italic;

}

.sn-testi-texto::before { content: '"'; }

.sn-testi-texto::after { content: '"'; }

.sn-testi-autor { display: flex; align-items: center; gap: .75rem; }

.sn-testi-stars { color: #f5a623; font-size: .85rem; }

.sn-testi-autor strong { font-size: .85rem; color: var(--t-text, #2d2d2d); }

.sn-testi-cta { text-align: center; }



/* WA CTA */

.sn-wa-cta {

  background: #0d1b2e;

  padding: 2rem 1.5rem;

}

.sn-wa-inner {

  max-width: 1080px;

  margin: 0 auto;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 1.5rem;

  flex-wrap: wrap;

}

.sn-wa-texto { color: #fff; }

.sn-wa-texto strong { display: block; font-size: 1.1rem; font-weight: 800; }

.sn-wa-texto span { font-size: .88rem; opacity: .75; }

.btn-sn-wa {

  display: inline-flex;

  align-items: center;

  gap: .5rem;

  background: #25D366;

  color: #fff;

  padding: .75rem 1.5rem;

  border-radius: 8px;

  font-weight: 700;

  text-decoration: none;

  font-size: .95rem;

  transition: background .15s;

  flex-shrink: 0;

}

.btn-sn-wa:hover { background: #1ebe5d; }



/* Responsive */

@media (max-width: 900px) {

  .sn-hero-inner { grid-template-columns: 1fr; }

  .sn-hero-visual { display: none; }

  .sn-historia-grid { grid-template-columns: 1fr; gap: 2rem; }

  .sn-valores-grid { grid-template-columns: repeat(2, 1fr); }

  .sn-info-cta-inner { grid-template-columns: 1fr; }

  .sn-testi-grid { grid-template-columns: 1fr; }

}

@media (max-width: 560px) {

  .sn-valores-grid { grid-template-columns: 1fr; }

  .sn-hero-stats { gap: 1.25rem; }

}



/* Grupos y eventos */

.sn-grupos {

  background: var(--t-bg, #fdf6f0);

  padding: 3.5rem 1.25rem;

}

.sn-grupos-inner {

  display: grid;

  grid-template-columns: 1fr 280px;

  gap: 3rem;

  align-items: center;

}

.sn-grupos-eyebrow {

  display: block;

  font-size: .75rem;

  font-weight: 700;

  text-transform: uppercase;

  letter-spacing: .1em;

  color: var(--t-accent, #0057A8);

  margin-bottom: .5rem;

}

.sn-grupos-titulo {

  font-size: 1.7rem;

  font-weight: 800;

  margin: 0 0 .75rem;

  color: var(--t-text, #2d2d2d);

}

.sn-grupos-texto > p {

  color: var(--t-muted, #7a6a5a);

  line-height: 1.7;

  margin: 0 0 1rem;

}

.sn-grupos-lista {

  list-style: none;

  padding: 0;

  margin: 0 0 1.5rem;

  display: flex;

  flex-direction: column;

  gap: .4rem;

}

.sn-grupos-lista li { font-size: .9rem; color: var(--t-text, #2d2d2d); }

.sn-grupos-visual {

  height: 200px;

  border-radius: 16px;

  overflow: hidden;

  background: rgba(0,87,168,.04);

  border: 1px solid var(--t-line, #e8ddd5);

}



@media (max-width: 900px) {

  .sn-grupos-inner { grid-template-columns: 1fr; }

  .sn-grupos-visual { height: 160px; }

}

