:root{
  --accent:#ff6a00;
  --dark:#0f172a;
  --light:#f8fafc;
  --text:#334155;
}

/* ===== BASE ===== */
body{
  margin:0;
  font-family:'Inter',sans-serif;
  background:var(--light);
  color:var(--text);
}

/* ===== HEADER ===== */
header{
  background:#fff;
  position:sticky;
  top:0;
  z-index:1000;
  box-shadow:0 4px 20px rgba(0,0,0,.05);
}
.header-container{
  max-width:1300px;
  margin:auto;
  padding:15px 40px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
header img{height:75px}
nav a{
  text-decoration:none;
  padding:12px 22px;
  border-radius:50px;
  font-weight:600;
  color:var(--dark);
}
nav a:hover{background:#f1f5f9}
.btn-tech{
  background:var(--dark);
  color:#fff;
}

/* ===== HERO ===== */
.hero{
  height:80vh;
  position:relative;
}
.hero video{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:brightness(.55);
}
.overlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  color:#fff;
  text-align:center;
}
.overlay h1{
  font-size:3.5rem;
  margin-bottom:15px;
}
.btn-hero{
  background:var(--accent);
  padding:16px 36px;
  border-radius:12px;
  color:#fff;
  text-decoration:none;
  font-weight:700;
}

/* ======================================================
   CARRUSEL TRABAJOS
====================================================== */

/* Contenedor general */
.section-full{
  padding:60px 20px;
}

/* Limitar ancho como el resto de la web */
.section-full .homeSwiper{
  max-width:1200px;
  margin:0 auto;
}

/* Slide base */
.swiper-slide{
  display:flex;
  justify-content:center;
}

/* Contenedor real del slide */
.slide-wrapper{
  position:relative;
  width:100%;
  height:450px;
  overflow:hidden;
  border-radius:20px;
}

/* Imagen */
.slide-wrapper img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Overlay dinámico */
.slide-wrapper::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(
    to top,
    rgba(15,23,42,0.75),
    rgba(15,23,42,0.15)
  );
}

/* ===== Ken Burns (solo slide activo) ===== */
.swiper-slide-active .slide-wrapper img{
  animation:kenburns 10s ease-in-out forwards;
}

@keyframes kenburns{
  from{transform:scale(1);}
  to{transform:scale(1.12);}
}

/* ===== Texto del slide ===== */
.slide-caption{
  position:absolute;
  bottom:30px;
  left:50%;
  transform:translateX(-50%);
  z-index:3;

  background:rgba(0,0,0,0.55);
  backdrop-filter:blur(6px);
  color:#fff;
  padding:12px 26px;
  border-radius:50px;
  font-weight:500;
  font-size:15px;
  white-space:nowrap;
  text-align:center;

  opacity:0;
  transition:all .45s cubic-bezier(.25,1,.5,1);
}

.swiper-slide-active .slide-caption{
  opacity:1;
  bottom:42px;
}

/* ===== CTA dentro del slide ===== */
.slide-cta{
  position:absolute;
  bottom:95px;
  left:50%;
  transform:translateX(-50%);
  z-index:3;

  background:var(--accent);
  color:#fff;
  padding:14px 30px;
  border-radius:30px;
  font-weight:700;
  text-decoration:none;
  font-size:14px;

  box-shadow:0 15px 35px rgba(255,106,0,.45);
  transition:all .3s ease;
}

.slide-cta:hover{
  transform:translateX(-50%) translateY(-4px);
  box-shadow:0 25px 45px rgba(255,106,0,.6);
}

/* ===== Responsive carrusel ===== */
@media (max-width:768px){
  .slide-wrapper{
    height:300px;
    border-radius:14px;
  }

  .slide-caption{
    font-size:13px;
    padding:10px 18px;
    bottom:18px;
  }

  .swiper-slide-active .slide-caption{
    bottom:24px;
  }

  .slide-cta{
    bottom:60px;
    padding:12px 22px;
    font-size:13px;
  }
}

/* ===== SERVICIOS ===== */
.section{
  max-width:1200px;
  margin:auto;
  padding:90px 20px;
}
.section h2{
  text-align:center;
  font-size:2.5rem;
  margin-bottom:60px;
}
.services{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:30px;
}
.service-box{
  background:#fff;
  padding:40px;
  border-radius:22px;
  text-align:center;
  box-shadow:0 10px 40px rgba(0,0,0,.05);
}
.service-box i{
  color:var(--accent);
  margin-bottom:20px;
}

/* ===== FOOTER ===== */
footer{
  background:var(--dark);
  color:#aaa;
  text-align:center;
  padding:60px 20px;
}

/* ===== WHATSAPP ===== */
.whatsapp-btn{
  position:fixed;
  bottom:30px;
  right:30px;
  background:#25d366;
  width:60px;
  height:60px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  box-shadow:0 15px 30px rgba(37,211,102,.4);
}
/* ======================================================
   FIX MOBILE – iPHONE CLEAN
====================================================== */

@media (max-width: 768px) {

  /* ===== HEADER ===== */
  .header-container {
    padding: 12px 16px;
  }

  nav {
    display: flex;
    gap: 6px;
  }

  nav a {
    padding: 8px 14px;
    font-size: 13px;
  }

  .btn-tech {
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
  }

  header img {
    height: 48px;
  }

  /* ===== HERO ===== */
  .hero {
    height: 65vh;
  }

  .overlay h1 {
    font-size: 2rem;
    line-height: 1.2;
  }

  .overlay p {
    font-size: 1rem;
    padding: 0 10px;
  }

  .btn-hero {
    padding: 14px 26px;
    font-size: 14px;
  }

  /* ===== CARRUSEL ===== */
  .section-full {
    padding: 40px 16px;
  }

  .section-full .homeSwiper {
    max-width: 100%;
  }

  .slide-wrapper {
    height: 240px;           /* CLAVE: baja la imagen */
    border-radius: 22px;
  }

  /* CTA centrado y visible */
  .slide-cta {
    bottom: 48px;
    padding: 12px 20px;
    font-size: 13px;
  }

  .slide-caption {
    bottom: 16px;
    font-size: 12px;
    padding: 8px 14px;
  }

  .swiper-slide-active .slide-caption {
    bottom: 22px;
  }

  /* ===== SERVICIOS ===== */
  .section {
    padding: 60px 16px;
  }

  .section h2 {
    font-size: 1.9rem;
  }

  /* ===== WHATSAPP ===== */
  .whatsapp-btn {
    width: 54px;
    height: 54px;
    bottom: 18px;
    right: 18px;
  }
}
/* ===== FIX iOS: evitar CTA suelto en móvil ===== */
@media (max-width: 768px) {
  .slide-cta {
    display: none !important;
  }
}


