/* =========================================================
   NOSOTROS — HERO INTERNO APROBADO
   Altura estándar para páginas internas: 450 px
   ========================================================= */
.page-nosotros .nosotros-hero{
  position:relative;
  height:450px;
  min-height:450px;
  overflow:hidden;
  isolation:isolate;
  display:flex;
  align-items:center;
  color:#fff;
  background:#050607;
}

.page-nosotros .nosotros-hero-image{
  position:absolute;
  inset:0;
  z-index:-3;
  width:100%;
  height:100%;
  display:block;
  object-fit:fill;
  object-position:center;
}

.page-nosotros .nosotros-hero-overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:linear-gradient(90deg,
    rgba(2,3,4,.92) 0%,
    rgba(2,3,4,.88) 30%,
    rgba(2,3,4,.72) 42%,
    rgba(2,3,4,.32) 54%,
    transparent 68%);
}

.page-nosotros .nosotros-hero-inner{
  width:min(var(--max,1180px),calc(100% - 40px));
  height:100%;
  margin:auto;
  display:flex;
  align-items:center;
  position:relative;
  z-index:1;
}

.page-nosotros .nosotros-hero-content{
  width:min(100%,540px);
  margin:0;
  padding:0;
}

.page-nosotros .nosotros-hero-kicker{
  display:flex;
  align-items:center;
  gap:13px;
  margin:0 0 14px;
  color:#ed1c24;
  font-size:.76rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.page-nosotros .nosotros-hero-kicker::after{
  content:"";
  width:42px;
  height:2px;
  border-radius:999px;
  background:#ed1c24;
}

.page-nosotros .nosotros-hero h1{
  max-width:540px;
  margin:0 0 18px;
  color:#fff;
  font-size:clamp(2.8rem,3.75vw,4rem);
  font-weight:900;
  line-height:.98;
  letter-spacing:-.035em;
}

.page-nosotros .nosotros-hero h1 span{color:#ed1c24}

.page-nosotros .nosotros-hero p{
  max-width:500px;
  margin:0 0 22px;
  color:rgba(255,255,255,.94);
  font-size:.98rem;
  line-height:1.55;
}

.page-nosotros .nosotros-hero-button{
  min-height:48px;
  padding:0 19px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  border:1px solid rgba(255,255,255,.76);
  border-radius:6px;
  color:#fff;
  font-size:.82rem;
  font-weight:800;
  background:rgba(0,0,0,.18);
  transition:background .25s ease,border-color .25s ease,transform .25s ease;
}

.page-nosotros .nosotros-hero-button:hover{
  color:#fff;
  border-color:#ed1c24;
  background:#ed1c24;
  transform:translateY(-2px);
}

@media(max-width:980px){
  .page-nosotros .nosotros-hero{height:450px;min-height:450px}
  .page-nosotros .nosotros-hero-image{object-fit:cover;object-position:66% center}
  .page-nosotros .nosotros-hero-overlay{
    background:linear-gradient(90deg,rgba(2,3,4,.88) 0%,rgba(2,3,4,.66) 54%,rgba(2,3,4,.16) 100%);
  }
  .page-nosotros .nosotros-hero-content{width:min(100%,500px)}
  .page-nosotros .nosotros-hero h1{font-size:clamp(2.65rem,7vw,3.8rem)}
}

@media(max-width:640px){
  .page-nosotros .nosotros-hero{height:520px;min-height:520px;align-items:flex-end}
  .page-nosotros .nosotros-hero-image{object-fit:cover;object-position:72% center}
  .page-nosotros .nosotros-hero-overlay{
    background:linear-gradient(90deg,rgba(2,3,4,.94) 0%,rgba(2,3,4,.79) 72%,rgba(2,3,4,.45) 100%);
  }
  .page-nosotros .nosotros-hero-inner{align-items:flex-end}
  .page-nosotros .nosotros-hero-content{padding:52px 0 44px}
  .page-nosotros .nosotros-hero-kicker{font-size:.68rem}
  .page-nosotros .nosotros-hero h1{margin-bottom:17px;font-size:clamp(2.4rem,12vw,3.25rem)}
  .page-nosotros .nosotros-hero p{margin-bottom:20px;font-size:.94rem;line-height:1.5}
  .page-nosotros .nosotros-hero-button{width:100%;padding:0 15px;gap:12px}
}

/* =========================================================
   NOSOTROS — SOBRE G&H GROUP
   ========================================================= */
.page-nosotros .about-company{
  padding:48px 0 52px;
  background:#fff;
}

.page-nosotros .about-company-grid{
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  align-items:center;
  gap:44px;
}

.page-nosotros .about-company-media{
  overflow:hidden;
  border-radius:14px;
  box-shadow:0 8px 28px rgba(15,23,42,.10);
}

.page-nosotros .about-company-media img{
  display:block;
  width:100%;
  aspect-ratio:1.845 / 1;
  object-fit:cover;
}

.page-nosotros .about-company-content{
  max-width:540px;
}

.page-nosotros .about-company-kicker{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 10px;
  color:#e31b23;
  font-size:.76rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.page-nosotros .about-company-kicker::after{
  content:"";
  width:38px;
  height:2px;
  border-radius:999px;
  background:#e31b23;
}

.page-nosotros .about-company h2{
  margin:0 0 14px;
  color:#0a0a0b;
  font-size:clamp(1.9rem,2.15vw,2.3rem);
  font-weight:900;
  line-height:1.08;
  letter-spacing:-.045em;
}

.page-nosotros .about-company p{
  margin:0 0 12px;
  color:#343434;
  font-size:.88rem;
  line-height:1.55;
}

.page-nosotros .about-company-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  min-height:44px;
  margin-top:2px;
  padding:0 19px;
  border-radius:7px;
  color:#fff;
  font-size:.91rem;
  font-weight:800;
  background:linear-gradient(180deg,#e51c24 0%,#c90009 100%);
  box-shadow:0 8px 16px rgba(201,0,9,.24);
  transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;
}

.page-nosotros .about-company-button:hover{
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 11px 20px rgba(201,0,9,.30);
  filter:brightness(1.03);
}

@media(max-width:900px){
  .page-nosotros .about-company{padding:50px 0}
  .page-nosotros .about-company-grid{grid-template-columns:1fr;gap:34px}
  .page-nosotros .about-company-content{max-width:none}
}

@media(max-width:640px){
  .page-nosotros .about-company{padding:38px 0 44px}
  .page-nosotros .about-company-grid{gap:26px}
  .page-nosotros .about-company-media{border-radius:10px}
  .page-nosotros .about-company h2{font-size:clamp(1.85rem,9vw,2.35rem)}
  .page-nosotros .about-company p{font-size:.95rem}
  .page-nosotros .about-company-button{width:100%;gap:14px;padding:0 14px}
}

/* =========================================================
   NOSOTROS — MISIÓN, VISIÓN Y VALORES
   Tarjetas independientes con efectos sutiles
   ========================================================= */
.page-nosotros .mission-values{
  position:relative;
  overflow:hidden;
  padding:70px 0 78px;
  background:
    radial-gradient(circle at 8% 15%,rgba(227,27,35,.055),transparent 24%),
    radial-gradient(circle at 92% 25%,rgba(227,27,35,.045),transparent 23%),
    #fff;
}

.page-nosotros .mission-values::before,
.page-nosotros .mission-values::after{
  content:"";
  position:absolute;
  z-index:0;
  pointer-events:none;
  opacity:.15;
  background-image:radial-gradient(circle,rgba(227,27,35,.45) 1px,transparent 1px);
  background-size:11px 11px;
}

.page-nosotros .mission-values::before{
  top:32px;
  left:22px;
  width:240px;
  height:180px;
  mask-image:linear-gradient(135deg,#000,transparent 76%);
}

.page-nosotros .mission-values::after{
  right:32px;
  bottom:28px;
  width:220px;
  height:150px;
  mask-image:linear-gradient(315deg,#000,transparent 76%);
}

.page-nosotros .mission-values .container{
  position:relative;
  z-index:1;
}

.page-nosotros .mission-values-heading{
  max-width:760px;
  margin:0 auto 38px;
  text-align:center;
}

.page-nosotros .mission-values-kicker{
  display:inline-flex;
  align-items:center;
  gap:14px;
  margin:0 0 16px;
  color:#e31b23;
  font-size:.78rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.035em;
  text-transform:uppercase;
}

.page-nosotros .mission-values-kicker::after{
  content:"";
  width:44px;
  height:2px;
  border-radius:999px;
  background:#e31b23;
}

.page-nosotros .mission-values-heading h2{
  margin:0;
  color:#111214;
  font-size:clamp(2rem,2.9vw,2.8rem);
  font-weight:900;
  line-height:1.05;
  letter-spacing:-.045em;
}

.page-nosotros .mission-values-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:24px;
}

.page-nosotros .mission-values-item{
  position:relative;
  min-height:400px;
  padding:40px 28px 34px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  overflow:hidden;
  border:1px solid rgba(17,18,20,.08);
  border-radius:15px;
  background:#fff;
  box-shadow:0 12px 28px rgba(15,23,42,.08);
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease,background .35s ease;
}

.page-nosotros .mission-values-item::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:82px;
  height:3px;
  transform:translateX(-50%);
  border-radius:0 0 999px 999px;
  background:#e31b23;
  transition:width .38s ease,height .38s ease;
}

.page-nosotros .mission-values-item::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:22px;
  width:150px;
  height:54px;
  transform:translateX(-50%);
  opacity:.16;
  pointer-events:none;
  background-image:radial-gradient(circle,rgba(227,27,35,.45) 1px,transparent 1px);
  background-size:10px 10px;
  mask-image:linear-gradient(180deg,transparent,#000);
}

.page-nosotros .mission-values-item:hover{
  transform:translateY(-6px);
  border-color:rgba(227,27,35,.22);
  background:linear-gradient(180deg,#fff 0%,#fffafa 100%);
  box-shadow:
    0 24px 50px rgba(15,23,42,.12),
    0 0 30px rgba(227,27,35,.08);
}

.page-nosotros .mission-values-item:hover::before{
  width:100%;
  height:4px;
}

.page-nosotros .mission-values-icon{
  position:relative;
  width:92px;
  height:92px;
  margin-bottom:20px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid rgba(227,27,35,.18);
  border-radius:50%;
  color:#e31b23;
  background:radial-gradient(circle,rgba(227,27,35,.13) 0%,rgba(227,27,35,.055) 58%,transparent 72%);
  box-shadow:0 0 0 7px rgba(227,27,35,.03),inset 0 0 18px rgba(227,27,35,.07);
  transition:transform .35s ease,box-shadow .35s ease,background .35s ease;
}

.page-nosotros .mission-values-item:hover .mission-values-icon{
  transform:translateY(-4px) scale(1.05);
  background:radial-gradient(circle,rgba(227,27,35,.18) 0%,rgba(227,27,35,.07) 60%,transparent 74%);
  box-shadow:0 0 0 9px rgba(227,27,35,.04),0 10px 24px rgba(227,27,35,.12),inset 0 0 20px rgba(227,27,35,.09);
}


.page-nosotros .mission-values-icon img{
  width:72px;
  height:72px;
  display:block;
  object-fit:contain;
  transition:transform .35s ease;
}

.page-nosotros .mission-values-item:nth-child(1) .mission-values-icon img{
  width:86px;
  height:86px;
}

.page-nosotros .mission-values-item:nth-child(2) .mission-values-icon img{
  width:78px;
  height:78px;
}

.page-nosotros .mission-values-item:nth-child(3) .mission-values-icon img{
  width:82px;
  height:82px;
}

/* Microanimaciones distintas según el significado de cada icono */
.page-nosotros .mission-values-item:nth-child(1):hover .mission-values-icon img{
  transform:scale(1.05) rotate(8deg);
}

.page-nosotros .mission-values-item:nth-child(2):hover .mission-values-icon img{
  transform:scale(1.04) rotate(-3deg);
}

.page-nosotros .mission-values-item:nth-child(3):hover .mission-values-icon img{
  transform:scale(1.08);
  filter:drop-shadow(0 0 7px rgba(227,27,35,.22));
}

/* Reflejo tipo cristal exclusivo del diamante */
.page-nosotros .mission-values-item:nth-child(3) .mission-values-icon{
  overflow:hidden;
}

.page-nosotros .mission-values-item:nth-child(3) .mission-values-icon::before{
  content:"";
  position:absolute;
  z-index:3;
  top:10px;
  right:15px;
  width:8px;
  height:8px;
  pointer-events:none;
  opacity:0;
  transform:scale(.35) rotate(45deg);
  background:#fff;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.85),
    0 0 10px 4px rgba(255,255,255,.95),
    0 0 18px 7px rgba(227,27,35,.28);
  clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);
}

.page-nosotros .mission-values-item:nth-child(3) .mission-values-icon::after{
  content:"";
  position:absolute;
  z-index:2;
  top:-34%;
  left:-76%;
  width:34px;
  height:175%;
  pointer-events:none;
  opacity:0;
  transform:rotate(18deg);
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(255,255,255,.08) 16%,
    rgba(255,255,255,.98) 46%,
    rgba(255,255,255,1) 52%,
    rgba(255,255,255,.28) 72%,
    transparent 100%);
  box-shadow:0 0 14px 4px rgba(255,255,255,.72);
  filter:blur(.2px);
}

.page-nosotros .mission-values-item:nth-child(3):hover .mission-values-icon{
  box-shadow:
    0 0 0 9px rgba(227,27,35,.05),
    0 0 30px rgba(227,27,35,.22),
    inset 0 0 24px rgba(227,27,35,.12);
}

.page-nosotros .mission-values-item:nth-child(3):hover .mission-values-icon img{
  animation:diamondPulse .82s ease-out 1;
}

.page-nosotros .mission-values-item:nth-child(3):hover .mission-values-icon::after{
  animation:diamondShine .82s cubic-bezier(.2,.7,.2,1) 1;
}

.page-nosotros .mission-values-item:nth-child(3):hover .mission-values-icon::before{
  animation:diamondSpark .82s ease-out 1;
}

@keyframes diamondShine{
  0%{left:-76%;opacity:0}
  12%{opacity:.2}
  32%{opacity:1}
  68%{opacity:.95}
  100%{left:142%;opacity:0}
}

@keyframes diamondSpark{
  0%,26%{opacity:0;transform:scale(.35) rotate(45deg)}
  45%{opacity:1;transform:scale(1.25) rotate(45deg)}
  66%{opacity:.85;transform:scale(.9) rotate(45deg)}
  100%{opacity:0;transform:scale(.35) rotate(45deg)}
}

@keyframes diamondPulse{
  0%{filter:drop-shadow(0 0 0 rgba(227,27,35,0));transform:scale(1)}
  42%{filter:brightness(1.28) drop-shadow(0 0 9px rgba(227,27,35,.35));transform:scale(1.1)}
  100%{filter:drop-shadow(0 0 7px rgba(227,27,35,.22));transform:scale(1.08)}
}
.page-nosotros .mission-values-icon svg{
  width:62px;
  height:62px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.35;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .35s ease;
}


.page-nosotros .mission-values-icon .icon-fill{
  fill:currentColor;
  stroke:none;
}

.page-nosotros .mission-values-icon .icon-fill-soft{
  fill:rgba(227,27,35,.16);
  stroke:currentColor;
}

.page-nosotros .mission-values-icon .icon-fill-faint{
  fill:rgba(227,27,35,.075);
  stroke:none;
}

.page-nosotros .mission-values-icon .icon-detail{
  opacity:.48;
  stroke-width:1.8;
}

.page-nosotros .mission-values-item:hover .mission-values-icon svg{
  transform:scale(1.08);
}

.page-nosotros .mission-values-item h3{
  margin:0;
  color:#0a0a0b;
  font-size:1.55rem;
  font-weight:900;
  line-height:1.1;
  text-transform:uppercase;
  letter-spacing:-.025em;
}

.page-nosotros .mission-values-line{
  width:42px;
  height:3px;
  margin:10px 0 20px;
  border-radius:999px;
  background:#e31b23;
  transition:width .35s ease;
}

.page-nosotros .mission-values-item:hover .mission-values-line{
  width:84px;
}

.page-nosotros .mission-values-item p{
  max-width:360px;
  margin:0;
  color:#4b4b4b;
  font-size:.92rem;
  font-weight:400;
  line-height:1.75;
}

.page-nosotros .values-list{
  width:100%;
  max-width:360px;
  margin:14px 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 34px;
  list-style:none;
  text-align:left;
}

.page-nosotros .values-list li{
  position:relative;
  padding-left:38px;
  color:#171717;
  font-size:.91rem;
  font-weight:700;
  line-height:1.35;
}

.page-nosotros .values-list li::before{
  content:"✓";
  position:absolute;
  left:1px;
  top:50%;
  width:21px;
  height:21px;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
  border:2px solid #e31b23;
  border-radius:50%;
  color:#e31b23;
  font-size:.72rem;
  font-weight:900;
  line-height:1;
  transition:background .25s ease,color .25s ease,transform .25s ease;
}

.page-nosotros .mission-values-item:hover .values-list li::before{
  color:#fff;
  background:#e31b23;
  transform:translateY(-50%) scale(1.06);
}

@media(max-width:980px){
  .page-nosotros .mission-values{padding:68px 0 74px}
  .page-nosotros .mission-values-heading{margin-bottom:38px}
  .page-nosotros .mission-values-grid{grid-template-columns:1fr;gap:22px}
  .page-nosotros .mission-values-item{min-height:390px;padding:42px 28px 38px}
  .page-nosotros .mission-values-item:hover{transform:translateY(-5px)}
}

@media(max-width:640px){
  .page-nosotros .mission-values{padding:52px 0 58px}
  .page-nosotros .mission-values-heading{margin-bottom:30px}
  .page-nosotros .mission-values-heading h2{font-size:clamp(1.8rem,9vw,2.35rem)}
  .page-nosotros .mission-values-heading h2 br{display:none}
  .page-nosotros .mission-values-grid{gap:18px}
  .page-nosotros .mission-values-item{min-height:360px;padding:38px 20px 34px;border-radius:13px}
  .page-nosotros .mission-values-icon{width:92px;height:92px;margin-bottom:20px}
  .page-nosotros .mission-values-icon svg{width:51px;height:51px}
  .page-nosotros .mission-values-icon img{width:54px;height:54px}
  .page-nosotros .mission-values-item:nth-child(1) .mission-values-icon img{width:68px;height:68px}
  .page-nosotros .mission-values-item:nth-child(2) .mission-values-icon img{width:62px;height:62px}
  .page-nosotros .mission-values-item:nth-child(3) .mission-values-icon img{width:65px;height:65px}
  .page-nosotros .mission-values-item h3{font-size:1.45rem}
  .page-nosotros .mission-values-item p{font-size:.91rem}
  .page-nosotros .values-list{max-width:310px;margin-top:10px;gap:15px 22px}
  .page-nosotros .values-list li{padding-left:30px;font-size:.85rem}
}

@media(prefers-reduced-motion:reduce){
  .page-nosotros .mission-values-item,
  .page-nosotros .mission-values-item::before,
  .page-nosotros .mission-values-icon,
  .page-nosotros .mission-values-icon svg,
  .page-nosotros .mission-values-icon img,
  .page-nosotros .mission-values-line,
  .page-nosotros .values-list li::before,
  .page-nosotros .mission-values-item:nth-child(3) .mission-values-icon::after{
    transition:none;
    animation:none;
  }
}

/* =========================================================
   NOSOTROS — TRAYECTORIA Y ESTADÍSTICAS
   ========================================================= */
.page-nosotros .company-stats{
  padding:66px 0 26px;
  background:#fff;
}

.page-nosotros .company-stats-panel{
  position:relative;
  min-height:176px;
  overflow:hidden;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:center;
  padding:24px 150px 24px 34px;
  border-radius:24px;
  isolation:isolate;
  color:#fff;
  background:
    radial-gradient(circle at 22% 10%,rgba(255,74,82,.18),transparent 34%),
    linear-gradient(112deg,#3c0002 0%,#780005 45%,#a50008 100%);
  box-shadow:0 18px 42px rgba(99,0,4,.18);
}

.page-nosotros .company-stats-panel::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:.38;
  background:
    linear-gradient(135deg,transparent 0 58%,rgba(255,255,255,.04) 58% 59%,transparent 59%),
    radial-gradient(circle at 88% 82%,rgba(255,255,255,.08),transparent 24%);
}

.page-nosotros .company-stats-waves{display:none;

  position:absolute;
  z-index:-1;
  left:-60px;
  right:-60px;
  bottom:-36px;
  height:90px;
  opacity:.23;
  background:
    radial-gradient(120% 85px at 35% 100%,transparent 49%,rgba(255,29,38,.9) 50%,transparent 53%),
    radial-gradient(120% 75px at 76% 100%,transparent 50%,rgba(255,29,38,.6) 51%,transparent 54%);
  animation:statsWaveDrift 18s ease-in-out infinite alternate;
}

.page-nosotros .company-stat{
  position:relative;
  min-height:112px;
  display:flex;
  align-items:center;
  gap:18px;
  padding:12px 24px;
  transition:transform .3s ease,filter .3s ease;
}

.page-nosotros .company-stat:not(:last-of-type)::after{
  content:"";
  position:absolute;
  top:12px;
  right:0;
  width:1px;
  height:88px;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.62),transparent);
}

.page-nosotros .company-stat:hover{
  transform:translateY(-4px) scale(1.025);
  filter:drop-shadow(0 10px 14px rgba(255,25,35,.18));
}

.page-nosotros .company-stat-icon{
  width:58px;
  height:58px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  color:#ff1722;
  transition:transform .3s ease,filter .3s ease;
}

.page-nosotros .company-stat:hover .company-stat-icon{
  transform:scale(1.08);
  filter:drop-shadow(0 0 10px rgba(255,25,35,.34));
}

.page-nosotros .company-stat-icon svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:3.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.page-nosotros .company-stat-copy strong{
  display:block;
  margin-bottom:8px;
  color:#fff;
  font-size:clamp(1.55rem,2.35vw,2.3rem);
  font-weight:900;
  line-height:.95;
  letter-spacing:-.035em;
}

.page-nosotros .company-stat-copy p{
  margin:0;
  color:rgba(255,255,255,.95);
  font-size:.92rem;
  font-weight:700;
  line-height:1.32;
}

.page-nosotros .company-stat--coverage{
  padding-right:0;
}

.page-nosotros .company-stat--coverage .company-stat-copy strong{
  font-size:1.08rem;
  line-height:1.15;
  letter-spacing:0;
}

.page-nosotros .peru-dot-map{
  position:absolute;
  z-index:-1;
  top:3px;
  right:18px;
  width:115px;
  height:156px;
  color:#ff2932;
  opacity:.82;
  filter:drop-shadow(0 0 9px rgba(255,24,34,.16));
  animation:peruMapPulse 5s ease-in-out infinite;
}

/* =========================================================
   NOSOTROS — NUESTRA CAPACIDAD
   ========================================================= */
.page-nosotros .company-capabilities{
  padding:40px 0 82px;
  background:#fff;
}

.page-nosotros .capabilities-heading{
  max-width:900px;
  margin:0 auto 38px;
  text-align:center;
}

.page-nosotros .capabilities-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  margin-bottom:12px;
  color:#e31b23;
  font-size:.78rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.035em;
  text-transform:uppercase;
}

.page-nosotros .capabilities-kicker::before,
.page-nosotros .capabilities-kicker::after{
  content:"";
  width:38px;
  height:2px;
  border-radius:999px;
  background:#e31b23;
}

.page-nosotros .capabilities-heading h2{
  margin:0;
  color:#0a0a0b;
  font-size:clamp(2rem,3vw,2.75rem);
  font-weight:900;
  line-height:1.08;
  letter-spacing:-.04em;
}

.page-nosotros .capabilities-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.page-nosotros .capability-item{
  position:relative;
  min-height:248px;
  padding:0 34px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

.page-nosotros .capability-item:not(:last-child)::after{
  content:"";
  position:absolute;
  top:36px;
  right:0;
  width:1px;
  height:150px;
  background:linear-gradient(180deg,transparent,#dedede,transparent);
}

.page-nosotros .capability-icon{
  position:relative;
  width:82px;
  height:82px;
  margin-bottom:16px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#e31b23;
  background:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.10);
  transition:transform .35s ease,box-shadow .35s ease,background .35s ease;
}

.page-nosotros .capability-item:hover .capability-icon{
  transform:translateY(-5px);
  background:#fff;
  box-shadow:0 0 0 9px rgba(227,27,35,.035),0 10px 24px rgba(227,27,35,.11),inset 0 0 20px rgba(227,27,35,.08);
}

.page-nosotros .capability-icon svg{
  width:58px;
  height:58px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .4s ease,filter .4s ease;
}

.page-nosotros .capability-item h3{
  margin:0 0 8px;
  color:#111;
  font-size:1.05rem;
  font-weight:900;
  line-height:1.2;
}

.page-nosotros .capability-item p{
  max-width:255px;
  margin:0;
  color:#4a4a4a;
  font-size:.91rem;
  font-weight:400;
  line-height:1.52;
}

.page-nosotros .capability-item--plant:hover .capability-icon svg{
  animation:plantPrecision .55s ease-in-out 1;
}

.page-nosotros .capability-item--quality .capability-icon::after{
  content:"";
  position:absolute;
  inset:9px;
  border-radius:50%;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.95) 48%,transparent 65%);
  transform:translateX(-110%);
}

.page-nosotros .capability-item--quality:hover .capability-icon::after{
  animation:qualityShine .72s ease-out 1;
}

.page-nosotros .capability-item--solutions:hover .capability-icon svg{
  transform:rotate(18deg) scale(1.05);
}

.page-nosotros .capability-item--support:hover .capability-icon svg{
  animation:supportPulse .72s ease-in-out 1;
}

@keyframes statsWaveDrift{to{transform:translateX(28px)}}
@keyframes peruMapPulse{0%,100%{opacity:.72}50%{opacity:1}}
@keyframes plantPrecision{0%,100%{transform:translateX(0)}25%{transform:translateX(-1.5px)}50%{transform:translateX(1.5px)}75%{transform:translateX(-1px)}}
@keyframes qualityShine{0%{opacity:0;transform:translateX(-110%)}25%{opacity:.9}100%{opacity:0;transform:translateX(115%)}}
@keyframes supportPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1);filter:drop-shadow(0 0 8px rgba(227,27,35,.28))}}

@media(max-width:1100px){
  .page-nosotros .company-stats-panel{padding-right:112px;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:10px}
  .page-nosotros .company-stat:nth-of-type(2)::after{display:none}
  .page-nosotros .company-stat--coverage{padding-right:16px}
  .page-nosotros .peru-dot-map{right:8px;width:92px;height:125px;top:28px}
  .page-nosotros .capability-item{padding:0 22px}
}

@media(max-width:820px){
  .page-nosotros .company-stats{padding:54px 0 22px}
  .page-nosotros .company-stats-panel{grid-template-columns:1fr;padding:22px 28px;border-radius:19px}
  .page-nosotros .company-stat{min-height:92px;padding:10px 10px}
  .page-nosotros .company-stat:not(:last-of-type)::after{top:auto;right:10px;bottom:0;left:10px;width:auto;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent)}
  .page-nosotros .peru-dot-map{right:16px;top:auto;bottom:8px;width:78px;height:106px;opacity:.42}
  .page-nosotros .capabilities-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 0}
  .page-nosotros .capability-item:nth-child(2)::after{display:none}
}

@media(max-width:560px){
  .page-nosotros .company-stat-icon{width:50px;height:50px}
  .page-nosotros .company-stat-copy strong{font-size:1.65rem}
  .page-nosotros .company-stat-copy p{font-size:.86rem}
  .page-nosotros .company-capabilities{padding:34px 0 60px}
  .page-nosotros .capabilities-heading{margin-bottom:30px}
  .page-nosotros .capabilities-kicker::before,.page-nosotros .capabilities-kicker::after{width:26px}
  .page-nosotros .capabilities-grid{grid-template-columns:1fr;gap:28px}
  .page-nosotros .capability-item{min-height:auto;padding:0 16px 26px}
  .page-nosotros .capability-item:not(:last-child)::after{top:auto;right:14%;bottom:0;left:14%;width:auto;height:1px;background:linear-gradient(90deg,transparent,#dedede,transparent)}
}

@media(prefers-reduced-motion:reduce){
  .page-nosotros .company-stats-waves,
  .page-nosotros .peru-dot-map,
  .page-nosotros .capability-icon,
  .page-nosotros .capability-icon svg,
  .page-nosotros .capability-item--quality .capability-icon::after{animation:none!important;transition:none!important}
}

/* =========================================================
   AJUSTE FINAL — SVG APROBADOS EN CAPACIDAD Y MAPA DEL PERÚ
   ========================================================= */
.page-nosotros .company-stat{
  z-index:2;
}

.page-nosotros .peru-dot-map{
  z-index:1;
  display:block;
  object-fit:contain;
  object-position:center;
  pointer-events:none;
}

.page-nosotros .capability-icon img{
  display:block;
  width:60%;
  height:60%;
  object-fit:contain;
  transform-origin:center;
  transition:transform .4s ease,filter .4s ease;
}

.page-nosotros .capability-item--plant .capability-icon img,
.page-nosotros .capability-item--solutions .capability-icon img{
  width:62%;
  height:62%;
}

.page-nosotros .capability-item--plant:hover .capability-icon img{
  animation:plantPrecision .55s ease-in-out 1;
}

.page-nosotros .capability-item--solutions:hover .capability-icon img{
  transform:rotate(18deg) scale(1.05);
}

@media(max-width:820px){
  .page-nosotros .peru-dot-map{
    z-index:1;
  }
}

/* =========================================================
   AJUSTES APROBADOS — TRAYECTORIA Y CAPACIDAD
   Fondo más profundo, panel granate e iconografía reforzada
   ========================================================= */
.page-nosotros .company-stats{
  padding:28px 0 24px;
  background:linear-gradient(180deg,#ededee 0%,#f4f4f5 58%,#f7f7f8 100%);
}

.page-nosotros .company-stats-panel{
  background:
    radial-gradient(circle at 20% 8%,rgba(226,30,39,.13),transparent 32%),
    radial-gradient(circle at 86% 82%,rgba(255,35,45,.11),transparent 28%),
    linear-gradient(112deg,#260001 0%,#4b0003 42%,#760006 100%);
  box-shadow:
    0 18px 42px rgba(62,0,3,.24),
    inset 0 0 0 1px rgba(255,255,255,.10),
    inset 0 1px 0 rgba(255,255,255,.05);
}

.page-nosotros .company-stats-panel::before{
  opacity:.48;
}

.page-nosotros .company-stats-waves{display:none;

  opacity:.34;
}

.page-nosotros .peru-dot-map{
  top:-5px;
  filter:drop-shadow(0 0 12px rgba(255,24,34,.24));
}

.page-nosotros .company-capabilities{
  padding:42px 0 82px;
  background:
    radial-gradient(circle at 12% 15%,rgba(227,27,35,.025),transparent 26%),
    radial-gradient(circle at 92% 84%,rgba(227,27,35,.03),transparent 27%),
    linear-gradient(180deg,#f7f7f8 0%,#eeeeef 100%);
}

.page-nosotros .capability-item:not(:last-child)::after{
  width:2px;
  background:linear-gradient(180deg,transparent,rgba(151,151,155,.54),transparent);
}

.page-nosotros .capability-icon img,
.page-nosotros .capability-icon svg{
  width:68%;
  height:68%;
}

.page-nosotros .capability-item--plant .capability-icon img,
.page-nosotros .capability-item--solutions .capability-icon img{
  width:72%;
  height:72%;
}

.page-nosotros .capability-item--quality .capability-icon svg,
.page-nosotros .capability-item--support .capability-icon svg{
  width:66%;
  height:66%;
}

.page-nosotros .capability-item h3{
  font-size:1.1rem;
}

.page-nosotros .capability-item p{
  max-width:270px;
  color:#454545;
  font-size:.96rem;
  line-height:1.62;
}

@media(max-width:820px){
  .page-nosotros .company-stats{
    padding:34px 0 22px;
  }

  .page-nosotros .peru-dot-map{
    top:auto;
  }

  .page-nosotros .capability-item:not(:last-child)::after{
    width:auto;
    height:2px;
    background:linear-gradient(90deg,transparent,rgba(151,151,155,.46),transparent);
  }
}


/* =========================================================
   NOSOTROS — CTA FINAL
   ========================================================= */
.page-nosotros .about-final-cta{
  position:relative;
  height:250px;
  min-height:250px;
  max-height:250px;
  overflow:hidden;
  color:#fff;
  background-color:#760005;
  background-image:url('../img/nosotros/CTA-NOSOTROS.png');
  background-repeat:no-repeat;
  background-position:center;
  background-size:cover;
}

.page-nosotros .about-final-cta::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(72,0,3,.18) 0%,rgba(72,0,3,.05) 55%,transparent 78%);
}

.page-nosotros .about-final-cta-inner{
  position:relative;
  z-index:1;
  height:230px;
  min-height:230px;
  display:flex;
  align-items:center;
  padding:18px 0;
}

.page-nosotros .about-final-cta-copy{
  width:min(100%,650px);
}

.page-nosotros .about-final-cta h2{
  margin:0 0 12px;
  color:#fff;
  font-size:clamp(1.65rem,2vw,2rem);
  font-weight:900;
  line-height:1.05;
  letter-spacing:-.025em;
  text-transform:uppercase;
  text-shadow:0 3px 14px rgba(40,0,2,.3);
}

.page-nosotros .about-final-cta p{
  max-width:560px;
  margin:0 0 16px;
  color:rgba(255,255,255,.94);
  font-size:.95rem;
  line-height:1.5;
  text-shadow:0 2px 9px rgba(40,0,2,.25);
}

.page-nosotros .about-final-cta-button{
  min-height:42px;
  padding:0 17px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:6px;
  color:#fff;
  background:#df1018;
  box-shadow:0 8px 18px rgba(57,0,3,.24);
  font-size:.82rem;
  font-weight:900;
  transition:transform .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease;
}

.page-nosotros .about-final-cta-button:hover{
  color:#b90008;
  background:#fff;
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(57,0,3,.3);
}

@media(max-width:900px){
  .page-nosotros .about-final-cta{
    height:230px;
    min-height:230px;
    max-height:230px;
    background-position:64% center;
  }
  .page-nosotros .about-final-cta-inner{height:230px;min-height:230px}
  .page-nosotros .about-final-cta-copy{width:min(100%,590px)}
}

@media(max-width:640px){
  .page-nosotros .about-final-cta{
    height:auto;
    min-height:0;
    max-height:none;
    background-position:70% center;
  }
  .page-nosotros .about-final-cta::before{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(72,0,3,.28);
  }
  .page-nosotros .about-final-cta-inner{
    min-height:0;
    padding:34px 0 36px;
  }
  .page-nosotros .about-final-cta h2{
    font-size:clamp(1.45rem,7.5vw,2rem);
  }
  .page-nosotros .about-final-cta h2 br{display:none}
  .page-nosotros .about-final-cta p{font-size:.9rem}
}

/* =========================================================
   CORRECCION FINAL CTA — CONTENIDO COMPLETO EN 230 PX
   ========================================================= */
@media (min-width:641px){
  .page-nosotros .about-final-cta-inner{
    height:230px;
    min-height:230px;
    padding:20px 0;
    align-items:center;
    box-sizing:border-box;
  }

  .page-nosotros .about-final-cta-copy{
    width:min(100%,760px);
  }

  .page-nosotros .about-final-cta h2{
    max-width:760px;
    margin:0 0 9px;
    font-size:clamp(1.42rem,1.65vw,1.72rem);
    line-height:1.03;
    letter-spacing:-.018em;
  }

  .page-nosotros .about-final-cta p{
    max-width:610px;
    margin:0 0 11px;
    font-size:.82rem;
    line-height:1.35;
  }

  .page-nosotros .about-final-cta-button{
    min-height:36px;
    padding:0 15px;
    font-size:.76rem;
  }
}



/* =========================================================
   CTA NOSOTROS - AJUSTE FINAL iPHONE
   ========================================================= */
@media (max-width:640px){

.page-nosotros .about-final-cta{
  background-position:58% center !important;
}

.page-nosotros .about-final-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(50,0,0,.38);
}

.page-nosotros .about-final-cta-inner{
  min-height:auto !important;
  height:auto !important;
  padding:38px 0 42px !important;
}

.page-nosotros .about-final-cta-copy{
  width:100% !important;
  max-width:330px !important;
}

.page-nosotros .about-final-cta h2{
  font-size:2.15rem !important;
  line-height:1.12 !important;
  letter-spacing:0 !important;
  word-spacing:0 !important;
  max-width:330px !important;
  margin:0 0 18px !important;
  text-transform:uppercase;
}

.page-nosotros .about-final-cta h2 br{
  display:block !important;
}

.page-nosotros .about-final-cta p{
  max-width:330px !important;
  font-size:1rem !important;
  line-height:1.65 !important;
  margin:0 0 24px !important;
}

.page-nosotros .about-final-cta-button{
  width:100% !important;
  min-height:54px !important;
  font-size:.95rem !important;
}
}
