/* Página Nosotros: solo lo que el home no tiene.
   Las secciones compartidas (hero, about, services, process, reach, team, faq, contact) usan los CSS existentes. */

.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---- Variantes de secciones existentes ---- */
.clients--light{background:#efefef;color:#000}
.clients--light .clients__stat{background:#fff;border-color:transparent}

.team__title--stack{margin-bottom:4px}
.team__title .is-light{font-weight:400}
.team__sub{margin:0 0 clamp(14px,2vw,22px);font-size:clamp(24px,3vw,35px);font-weight:500;letter-spacing:-.015em;line-height:1.15}

/* Carrusel de servicios: un panel por servicio (todos en el HTML, solo uno visible) */
.services__card[hidden]{display:none}

/* ---- Bloques de icono (mismo estilo que .process__badge) ---- */
.ico-box{flex:none;width:44px;height:44px;border-radius:11px;display:grid;place-items:center;background:#f2cfd1;border:1px solid #ebb4b7;color:var(--red)}
.ico-box svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* ---- POR QUÉ ELEGIR ---- */
.why{background:#efefef;color:#000;padding:clamp(48px,7vw,90px) var(--pad-x)}
.why__title{margin:0 auto clamp(32px,5vw,64px);max-width:560px;text-align:center;font-size:clamp(26px,3.2vw,35px);font-weight:700;letter-spacing:-.015em;line-height:1.15}
.why__list{list-style:none;margin:0 auto;padding:0;max-width:1100px;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,32px)}
.why__item h3{margin:22px 0 12px;font-size:20px;font-weight:700;letter-spacing:-.005em}
.why__item p{margin:0;font-size:14px;line-height:1.7;font-weight:500}

/* ---- CERTIFICACIONES ---- */
.certs{background:#efefef;color:#000;padding:clamp(40px,6vw,76px) var(--pad-x) clamp(48px,7vw,90px)}
.certs__title{margin:0 auto 18px;max-width:520px;text-align:center;font-size:clamp(26px,3.2vw,35px);font-weight:700;letter-spacing:-.015em;line-height:1.15}
.certs__intro{margin:0 auto clamp(32px,4.4vw,52px);max-width:560px;text-align:center;font-size:14px;line-height:1.7;font-weight:500}
.certs__list{list-style:none;margin:0 auto;padding:0;max-width:1260px;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.4vw,18px)}
.certs__item{background:#ececec;border:1px solid #dcdcdc;border-radius:14px;padding:clamp(18px,1.8vw,22px);min-height:280px}
.certs__tag{display:block;margin:24px 0 8px;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
.certs__name{margin:0 0 16px;font-size:18px;font-weight:700;line-height:1.25;letter-spacing:-.005em}
.certs__item p.certs__desc{margin:0;font-size:12.5px;line-height:1.7;font-weight:500}

/* ---- LÍNEA DE TIEMPO (3 hitos) ---- */
.timeline{background:#efefef;color:#000;padding:clamp(24px,4vw,48px) var(--pad-x) clamp(56px,8vw,104px)}
.timeline__title{margin:0 0 clamp(32px,5vw,56px);text-align:center;font-size:clamp(26px,3.2vw,35px);font-weight:700;letter-spacing:-.025em;line-height:1.15}
.timeline__list{list-style:none;margin:0 auto;padding:0;max-width:1240px;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.4vw,36px)}
.timeline__item{position:relative;padding-top:78px}
.timeline__dot{position:absolute;top:0;left:0;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#e63329;color:#fff;box-shadow:0 6px 16px rgba(224,36,30,.35);z-index:1}
.timeline__dot svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.timeline__item:not(:last-child)::before{content:"";position:absolute;top:24px;left:48px;right:calc(-1 * clamp(16px,2.4vw,36px));height:1px;background:#e6b3b6}
.timeline__year{display:block;margin:0 0 8px;font-size:clamp(34px,3.6vw,46px);font-weight:700;line-height:1;letter-spacing:-.03em;color:#e63329}
.timeline__name{margin:0 0 14px;font-size:18px;font-weight:700;line-height:1.25}
.timeline__item p.timeline__desc{margin:0;max-width:260px;font-size:12.5px;line-height:1.65;font-weight:500}

/* ---- CONTACTO: botones ---- */
.contact__side{display:flex;flex-direction:column;gap:14px;min-width:0}
.contact__cta{display:block;text-align:center;padding:17px 20px;border-radius:12px;font-size:16px;font-weight:700;border:2px solid #fff;transition:background .2s,color .2s}
.contact__cta--main{background:#fff;color:#000}
.contact__cta--main:hover{background:#000;color:#fff;border-color:#000;text-decoration:none!important}
.contact__cta--alt{background:transparent;color:#fff}
.contact__cta--alt:hover{background:#fff;color:var(--red);text-decoration:none!important}

@media(max-width:900px){
  .certs__list{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:721px) and (max-width:1024px){
  .contact__side{max-width:680px;width:100%}
  .timeline__list{grid-template-columns:repeat(2,1fr);row-gap:44px;max-width:720px}
  .timeline__item:nth-child(2n)::before{display:none}
}
@media(max-width:1024px){
  .contact__side{margin-left:auto;margin-right:auto;width:100%}
}
@media(max-width:720px){
  .why__list{grid-template-columns:1fr}
  .why__item p,.certs__intro{font-size:13px}
  .timeline__list{grid-template-columns:1fr;row-gap:36px}
  .timeline__item::before{display:none}
  .timeline__item p.timeline__desc{max-width:none}
}
@media(max-width:560px){
  .certs__list{grid-template-columns:1fr}
  .certs__item{min-height:0}
}


/* Logos de certificaciones y partners */
.certs__logo{display:flex;align-items:center;height:72px}
.certs__logo img{display:block;width:auto;height:auto;max-height:72px;max-width:160px;object-fit:contain}
.certs__logo + .certs__tag{margin-top:20px}
