/* ==========================================================================
   PROVTEC — inicio.css
   Estilos exclusivos de la página de Inicio.
   IMPORTANTE: el hero lleva padding-top extra porque el header fijo
   transparente flota encima de él.
   ========================================================================== */

/* ---------- Hero ---------- */
.hero {
  background:
    radial-gradient(ellipse at 85% 15%, rgba(34, 211, 238, 0.20), transparent 55%),
    linear-gradient(135deg, rgba(11, 30, 51, 0.92) 0%, rgba(16, 41, 74, 0.88) 100%),
    url('../img/inicio/portada.png');
  /* Si aún no tienes la imagen local, el gradiente cubre el hueco. */
  background-size: cover;
  background-position: center;
  color: var(--blanco);
  min-height: 92vh;
  display: flex;
  align-items: center;
  /* Compensa el header fijo transparente que flota encima */
  padding: calc(var(--alto-header) + 60px) 0 80px;
}

.hero__contenido {
  max-width: 800px;
}

.hero__contenido h1 {
  color: var(--blanco);
  font-size: clamp(2.1rem, 4.8vw, 3.3rem);
  margin-bottom: 22px;
}

.hero__destacado {
  color: var(--blanco);
}

.hero__contenido p {
  font-size: 1.08rem;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 34px;
  max-width: 680px;
}

.hero__botones {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

/* ---------- Sobre nosotros ---------- */
.sobre__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
}

.sobre__texto p {
  margin-bottom: 18px;
}

.sobre__texto .btn {
  margin-top: 10px;
}

/* Collage de 3 imágenes */
.sobre__collage {
  position: relative;
  min-height: 420px;
}

.sobre__foto {
  position: absolute;
  border-radius: var(--radio);
  box-shadow: var(--sombra);
  object-fit: cover;
}

.sobre__foto--1 {
  width: 62%;
  top: 0;
  left: 0;
  z-index: 1;
}

.sobre__foto--2 {
  width: 52%;
  top: 34%;
  right: 0;
  z-index: 2;
  border: 6px solid var(--blanco);
}

.sobre__foto--3 {
  width: 46%;
  bottom: 0;
  left: 8%;
  z-index: 3;
  border: 6px solid var(--blanco);
}

/* ---------- Servicios (home) ---------- */
.servicios-home {
  background: var(--gris-fondo);
}

.servicios-home__encabezado {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 54px;
}

.servicios-home__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 26px;
}

.servicio-tarjeta {
  background: var(--blanco);
  border: 1px solid var(--gris-borde);
  border-radius: var(--radio);
  padding: 36px 32px;
  transition: var(--transicion);
  display: flex;
  flex-direction: column;
}

.servicio-tarjeta:hover {
  transform: translateY(-6px);
  box-shadow: var(--sombra);
  border-color: var(--celeste);
}

.servicio-tarjeta__icono {
  font-size: 2.1rem;
  margin-bottom: 16px;
}

.servicio-tarjeta h3 {
  font-size: 1.2rem;
  margin-bottom: 12px;
}

.servicio-tarjeta p {
  font-size: 0.95rem;
  margin-bottom: 18px;
  flex: 1;
}

.servicio-tarjeta__enlace {
  color: var(--azul);
  font-weight: 600;
  transition: var(--transicion);
}

.servicio-tarjeta__enlace:hover {
  color: var(--azul-noche);
}

.servicios-home__accion {
  text-align: center;
  margin-top: 44px;
}

/* ---------- Diferencias ---------- */
.diferencias__encabezado {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 54px;
}

.diferencias__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 26px;
}

.diferencia {
  text-align: center;
  padding: 30px 22px;
  border-radius: var(--radio);
  transition: var(--transicion);
}

.diferencia:hover {
  background: var(--gris-fondo);
}

.diferencia img {
  width: 58px;
  height: 58px;
  object-fit: contain;
  margin: 0 auto 18px;
}

.diferencia h3 {
  font-size: 1.05rem;
  margin-bottom: 10px;
}

.diferencia p {
  font-size: 0.9rem;
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .sobre__grid {
    grid-template-columns: 1fr;
    gap: 56px;
  }

  .sobre__collage {
    min-height: 360px;
    max-width: 520px;
    margin-inline: auto;
  }

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

@media (max-width: 640px) {
  .servicios-home__grid,
  .diferencias__grid {
    grid-template-columns: 1fr;
  }

  .hero {
    min-height: auto;
    padding-top: 50vw;
  }
}
