

.nosotros-page{
  display:none;
  position:relative;
  width:100%;
  min-height:100vh;
  background:#ffffff;
  box-sizing:border-box;
  padding:0 0 60px;

  overflow:visible;
  overscroll-behavior:contain;
}

.nosotros-page::-webkit-scrollbar{
  width:8px;
  height:8px;
}

.nosotros-page::-webkit-scrollbar-thumb{
  background:#b8c0cc;
  border-radius:20px;
}

.nosotros-page::-webkit-scrollbar-track{
  background:transparent;
}

.nosotros-page.show{
  display:block;
}

.nosotros-banner.home-hero{
  margin-bottom:clamp(70px, 10vw, 120px);
}

.nosotros-portfolio-btn,
.nosotros-companies-btn{
  height:52px;
  padding:0 28px;
  border:none;
  border-radius:7px;
  background:#0072ff;
  color:#ffffff;
  font-size:15px;
  font-weight:800;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(0,114,255,.35);
}

.nosotros-pillars-title{
  margin:70px 0 30px;
  text-align:center;
  color:#071a44;
  font-size:clamp(22px, 2.5vw, 30px);
  font-weight:900;
  text-transform:uppercase;
}

.nosotros-pillars-title,
.nosotros-pillars,
.nosotros-final-cta{
  width:calc(100% - 12vw);
  margin-left:auto;
  margin-right:auto;
}

.nosotros-pillars{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:clamp(14px, 2vw, 24px);
}

.nosotros-pillar-card{
  min-height:230px;
  padding:34px 24px;
  border-radius:12px;
  background:#ffffff;
  border:1px solid rgba(0,114,255,.15);
  box-shadow:0 10px 30px rgba(15,23,42,.08);
  text-align:center;
}

.nosotros-pillar-icon{
  width:70px;
  height:70px;
  margin:0 auto 20px;
  border-radius:50%;
  background:#c2c9d5;
  color:#ffffff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:32px;
}

.nosotros-pillar-icon img{
  width:34px;
  height:34px;
  object-fit:contain;
  display:block;
}

.nosotros-pillar-card h4{
  margin:0 0 16px;
  color:#0072ff;
  font-size:clamp(16px, 1.6vw, 20px);
  text-transform:uppercase;
  font-weight:900;
}

.nosotros-pillar-card p{
  margin:0;
  color:#4b5563;
  font-size:clamp(13px, 1.2vw, 16px);
  line-height:1.6;
}

.nosotros-final-cta{
  margin-top:70px;
  padding:42px 7vw;
  background:linear-gradient(90deg,#061b45,#0072ff);
  color:#ffffff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}

.nosotros-final-cta h3{
  margin:0 0 10px;
  font-size:24px;
  text-transform:uppercase;
}

.nosotros-final-cta p{
  margin:0;
  font-size:17px;
  line-height:1.5;
}

.nosotros-companies-btn{
  background:transparent;
  border:1px solid #ffffff;
  box-shadow:none;
  white-space:nowrap;
}

@media (min-width:769px){

.nosotros-banner .home-hero-content{
  width:var(--home-hero-content-width);
}

.nosotros-banner .home-hero-title{
  position:relative;
  font-size:var(--home-hero-title-size-desktop);
  line-height:var(--home-title-line-height);
}

.nosotros-banner .home-hero-content p{
  position:relative;
  top:var(--home-subtitle-top-desktop);
  left:var(--home-subtitle-left-desktop);
  max-width:var(--home-subtitle-width-desktop);
  font-size:var(--home-subtitle-size-desktop);
  line-height:var(--home-subtitle-line-height);
}

.nosotros-banner .home-hero-actions{
  position:relative;
  top:var(--home-btn-top-desktop);
  left:var(--home-btn-left-desktop);
  margin-top:0;
}

#openPortfolioBtn{
  position:relative;
  width:var(--home-btn-width-desktop);
  height:var(--home-btn-height-desktop);
  padding:0 var(--home-btn-padding-x-desktop);
  font-size:var(--home-btn-font-size-desktop);
}
}

@media (max-width:768px){

  .nosotros-banner.home-hero{
  overflow:visible;
  margin-bottom:clamp(70px, 18vw, 110px);
  padding-bottom:clamp(150px, 34vw, 210px);
}

.nosotros-banner .home-hero-actions{
  position:relative;
  top:var(--home-btn-top-mobile);
  left:var(--home-btn-left-mobile);
  margin-top:0;
}

#openPortfolioBtn{
  width:var(--home-btn-width-mobile);
  height:var(--home-btn-height-mobile);
  padding:0 var(--home-btn-padding-x-mobile);
  font-size:var(--home-btn-font-size-mobile);
}

  .nosotros-companies-btn{
  white-space:normal;
  height:auto;
  min-height:52px;
  text-align:center;
}

  .nosotros-pillar-icon img{
  width:26px;
  height:26px;
}

 .nosotros-page{
  min-height:100vh;
  padding:0 0 60px;
  overflow:visible;
}

  .nosotros-pillars{
    grid-template-columns:1fr;
    gap:14px;
  }

  .nosotros-pillar-card{
    min-height:auto;
    display:flex;
    align-items:center;
    text-align:left;
    gap:16px;
    padding:18px;
  }

  .nosotros-pillar-icon{
    flex:0 0 54px;
    width:54px;
    height:54px;
    margin:0;
    font-size:24px;
  }

  .nosotros-pillar-card h4{
    margin:0 0 6px;
    font-size:15px;
  }

  .nosotros-pillar-card p{
    font-size:13px;
  }

.nosotros-final-cta{
  width:calc(100% - 48px);
  margin-left:auto;
  margin-right:auto;
  padding:34px 24px;
  flex-direction:column;
  align-items:flex-start;
}

  .nosotros-companies-btn{
    width:100%;
  }
}

.btn-with-eye{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}

.btn-eye-icon{
  width:20px;
  height:20px;
  object-fit:contain;
  position:relative;
}

@media (min-width:769px){
  #openPortfolioBtn .btn-eye-icon{
    width:var(--home-btn-icon-size-desktop);
    height:var(--home-btn-icon-size-desktop);
  }
}

@media (max-width:768px){
  #openPortfolioBtn .btn-eye-icon{
    width:var(--home-btn-icon-size-mobile);
    height:var(--home-btn-icon-size-mobile);
  }
}

#openPortfolioBtn .btn-text{
  font-size:inherit;
  line-height:1.05;
  font-weight:900;
  text-align:center;
}

/* =====================================
   IMAGEN BANNER NOSOTROS
===================================== */

.nosotros-banner{
  position:relative;
  overflow:hidden;
}

.nosotros-banner-image{
  position:absolute;
  right:var(--nosotros-img-right-desktop);
  top:var(--nosotros-img-top-desktop);
  transform:translateY(-50%);

  width:var(--nosotros-img-width-desktop);
  max-width:55%;
  height:auto;
  object-fit:contain;

  opacity:var(--nosotros-img-opacity-desktop);
  pointer-events:none;
}

/* CONTROLES ESCRITORIO */
:root{
  --nosotros-img-width-desktop:clamp(320px, 38vw, 560px);
  --nosotros-img-right-desktop:clamp(20px, 6vw, 90px);
  --nosotros-img-top-desktop:60%;
  --nosotros-img-opacity-desktop:.35;

  --nosotros-img-width-mobile:clamp(220px, 75vw, 360px);
  --nosotros-img-right-mobile:-60px;
  --nosotros-img-top-mobile:62%;
  --nosotros-img-opacity-mobile:.18;
}

/* MÓVIL */
@media (max-width:768px){
  .nosotros-banner-image{
    width:var(--nosotros-img-width-mobile);
    max-width:none;
    right:var(--nosotros-img-right-mobile);
    top:var(--nosotros-img-top-mobile);
    opacity:var(--nosotros-img-opacity-mobile);
  }
}
