/* ========================= */
/* HERO */
/* ========================= */

.service-hero{
  position:relative;

  background-size:cover;
  background-position:center;

  padding:130px 0 100px;

  overflow:hidden;
  isolation:isolate;
}

.service-hero-overlay{
  position:absolute;
  inset:0;

  background:linear-gradient(
    180deg,
    rgba(8,24,51,0.88) 0%,
    rgba(8,24,51,0.74) 50%,
    rgba(8,24,51,0.60) 100%
  );
}

.service-hero-content{
  position:relative;
  z-index:2;

  color:#fff;
  max-width:850px;
}

.service-tag{
  display:inline-block;

  padding:8px 16px;

  border-radius:30px;

  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.12);

  backdrop-filter:blur(8px);

  font-size:12px;
  font-weight:600;

  letter-spacing:1px;
  text-transform:uppercase;

  margin-bottom:24px;
}

.service-hero h1{
  font-size:60px;
  line-height:1.05;

  margin-bottom:24px;
}

.service-hero p{
  font-size:18px;
  line-height:1.8;

  color:rgba(255,255,255,0.82);

  max-width:650px;

  margin-bottom:34px;
}

.service-hero-buttons{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

/* ========================= */
/* INTRO */
/* ========================= */

.service-intro{
  padding:70px 0 40px;
  background:#fff;
}

.service-intro-grid{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:60px;
}

.service-intro-tag{
  display:inline-block;

  padding:8px 14px;

  border-radius:30px;

  background:rgba(28,53,94,0.08);

  color:var(--azul);

  font-size:12px;
  font-weight:600;

  letter-spacing:1px;
  text-transform:uppercase;

  margin-bottom:20px;
}

.service-intro-left h2{
  font-size:46px;
  line-height:1.15;

  color:var(--azul);
}

.service-intro-right p{
  font-size:17px;
  line-height:1.9;

  color:#647082;

  margin-bottom:20px;
}

/* ========================= */
/* SECTION HEADER */
/* ========================= */

.section-header{
  text-align:center;
  margin-bottom:55px;
}

.section-header span{
  color:var(--amarillo);

  text-transform:uppercase;
  letter-spacing:1px;

  font-size:12px;
  font-weight:600;
}

.section-header h2{
  font-size:46px;
  line-height:1.15;

  color:var(--azul);

  max-width:760px;

  margin:18px auto 0;
}

/* ========================= */
/* TYPES */
/* ========================= */

.service-types{
  padding:20px 0 100px;
  background:#fff;
}

.service-types-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}

.service-card{
  position:relative;

  border-radius:24px;

  overflow:hidden;

  min-height:470px;

  isolation:isolate;

  transition:all 0.45s cubic-bezier(.22,.61,.36,1);

  box-shadow:0 18px 40px rgba(0,0,0,0.08);
}

.service-card img{
  position:absolute;
  inset:0;

  width:100%;
  height:100%;

  object-fit:cover;

  transition:0.7s ease;
}

.service-card-overlay{
  position:absolute;
  inset:0;

  background:linear-gradient(
    to top,
    rgba(8,24,51,0.72) 0%,
    rgba(8,24,51,0.22) 60%,
    transparent 100%
  );
}

.service-card-content{
  position:absolute;

  left:34px;
  right:34px;
  bottom:34px;

  z-index:2;

  color:#fff;
}

.service-card-content span{
  display:inline-block;

  margin-bottom:14px;

  color:var(--amarillo);

  font-size:12px;
  font-weight:600;

  letter-spacing:1px;
  text-transform:uppercase;
}

.service-card-content h3{
  font-size:30px;
  line-height:1.2;

  margin-bottom:14px;
}

.service-card-content p{
  line-height:1.8;
  color:rgba(255,255,255,0.82);
}

.service-card:hover{
  transform:translateY(-8px);
}

.service-card:hover img{
  transform:scale(1.05);
}

/* ========================= */
/* BENEFITS */
/* ========================= */

.service-benefits{
  padding:90px 0;
  background:#f8fafc;
}

.benefits-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}

.benefit-item{
  background:#fff;

  border-radius:22px;

  padding:28px 20px;

  text-align:center;

  box-shadow:0 10px 30px rgba(0,0,0,0.05);

  transition:all 0.35s cubic-bezier(.22,.61,.36,1);
}

.benefit-item:hover{
  transform:translateY(-4px);
}

.benefit-item i{
  font-size:42px;

  color:var(--amarillo);

  margin-bottom:20px;

  display:block;
}

.benefit-item h3{
  font-size:22px;

  margin-bottom:14px;

  color:var(--azul);
}

.benefit-item p{
  line-height:1.8;
  color:#647082;
}

/* ========================= */
/* CTA */
/* ========================= */

.service-cta{
  padding:0 0 90px;
  background:#f8fafc;
}

.service-cta-box{
  background:linear-gradient(
    135deg,
    #081833 0%,
    #0f2952 100%
  );

  border-radius:30px;

  padding:70px 50px;

  text-align:center;

  color:#fff;
}

.service-cta-box span{
  display:inline-block;

  margin-bottom:20px;

  color:var(--amarillo);

  font-size:12px;
  font-weight:600;

  letter-spacing:1px;
  text-transform:uppercase;
}

.service-cta-box h2{
  font-size:48px;
  line-height:1.15;

  max-width:800px;

  margin:0 auto 24px;
}

.service-cta-box p{
  max-width:700px;

  margin:0 auto 34px;

  line-height:1.9;

  color:rgba(255,255,255,0.78);
}

/* ========================= */
/* MOBILE */
/* ========================= */

@media(max-width:992px){

  .service-intro-grid,
  .service-types-grid,
  .benefits-grid{
    grid-template-columns:1fr;
  }

  .service-hero{
    padding:95px 0 70px;
  }

  .service-hero h1{
    font-size:30px;
    line-height:1;
    letter-spacing:-1px;
  }

  .service-hero p{
    font-size:15px;
    line-height:1.7;
  }

  .service-hero-buttons{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }

  .service-card{
    min-height:400px;
  }

  .service-card-content{
    left:22px;
    right:22px;
    bottom:24px;
  }

  .service-intro-left h2,
  .section-header h2,
  .service-cta-box h2{
    font-size:30px;
    line-height:1;
  }

  .benefit-item{
    padding:28px 22px;
  }

  .service-cta-box{
    padding:50px 28px;
  }

}

/* ========================= */
/* TABLET */
/* ========================= */

@media(min-width:768px) and (max-width:992px){

  .benefits-grid{
    grid-template-columns:repeat(2,1fr);
  }

}