
:root{
  --dark:#0b1f2a;
  --darker:#07141c;
  --blue:#0b5e75;
  --orange:#0d6f8f;
  --white:#ffffff;
  --muted:#b8c4cc;
  --panel:rgba(7,28,38,.88);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Arial,Helvetica,sans-serif;background:var(--darker);color:var(--white);line-height:1.6}
a{color:inherit;text-decoration:none}
.site-header{height:78px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;background:#ffffff;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.08)}
.brand{display:flex;align-items:center;gap:12px;font-weight:900}
.brand-icon{color:var(--orange);font-size:34px}
.brand-text{font-size:28px;line-height:1}.brand-text span,.footer-brand span{color:var(--orange)}.brand-text small{display:block;font-size:10px;letter-spacing:6px;font-weight:400}
.nav-menu{display:flex;gap:24px;align-items:center;text-transform:uppercase;font-size:13px;font-weight:700;color:#0b5e75;}
.nav-menu a:hover{color:var(--orange);color:#0d6f8f}
.nav-cta,.btn.primary{background:var(--orange);padding:13px 18px;border-radius:6px;color:white;font-weight:800}
.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:30px}
.hero,.image-section{min-height:650px;background:linear-gradient(90deg,rgba(2,11,20,.80),rgba(2,11,20,.30)),var(--bg);background-size:cover;background-position:center;display:flex;align-items:center;padding:70px 6%}
.hero-dos,.image-section{min-height:250px;background:linear-gradient(90deg,rgba(2,11,20,.70),rgba(2,11,20,.25)),var(--bg);border-radius: 20px;padding: 30px;color: white;background-size: cover;background-position: center}
.hero-copy{max-width:720px}.eyebrow{color:var(--orange);font-weight:900;text-transform:uppercase;letter-spacing:2px;margin-bottom:10px}
h1{font-size:58px;line-height:1.05;text-transform:uppercase;margin-bottom:22px}h2{font-size:38px;line-height:1.15;margin-bottom:18px}h3{margin-bottom:8px}
.hero p,.page-hero p,.overlay-card p{font-size:20px;color:#e8eef5;max-width:680px}
.hero-actions{display:flex;gap:16px;margin-top:32px}.btn{display:inline-block;border-radius:7px;padding:14px 20px;font-weight:800}.btn.secondary{border:1px solid rgba(255,255,255,.35)}
.brand-strip{background:#0b5e75;padding:25px 6%;display:flex;justify-content:space-around;color:#d8e5ea;font-size:28px;font-weight:900;opacity:.9}
.section{padding:75px 6%;text-align:center}.section.light{background:#f4f7f8;color:#0b1f2a}.section.dark{background:#0b1f2a}
.steps,.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:35px}.cards{grid-template-columns:repeat(4,1fr)}
.steps article,.cards article{border-radius:16px;padding:25px;box-shadow:0 12px 30px rgba(0,0,0,.12)}
.cards article{background:rgba(255,255,255,.07);color:white;border:1px solid rgba(255,255,255,.12)}.cards span{font-size:38px}.steps b{background:var(--orange);color:white;border-radius:50%;padding:10px 15px;display:inline-block;margin-bottom:12px}
.overlay-card,.price-box,.contact-panel{background:var(--panel);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:38px;max-width:600px;backdrop-filter:blur(8px)}
.price-section{justify-content:flex-start}.price{font-size:92px;color:var(--orange);font-weight:900;line-height:1}
.page-hero{padding:90px 6%;background:linear-gradient(135deg,#0b1f2a,#0b5e75);text-align:center}.page-hero p{margin:auto}
.service-grid,.product-grid,.project-grid{padding:55px 6%;display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.service-grid article,.product-grid article,.project-grid article{min-height:360px;background:linear-gradient(90deg,rgba(2,11,20,.9),rgba(2,11,20,.25)),var(--bg);background-size:cover;background-position:center;border-radius:16px;padding:34px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(255,255,255,.12)}
.service-grid h2,.product-grid h2,.project-grid h2{text-transform:uppercase;color:white}
.split-section{padding:70px 6%;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;background:#102b38}.split-section.reverse{background:#091922}
.photo-card,.map-box{min-height:390px;border-radius:18px;background:var(--bg);background-size:cover;background-position:center}
.contact-page{gap:40px;align-items:center;justify-content:space-between}
.form-card{background:rgba(6,21,38,.9);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:28px;display:grid;gap:14px;min-width:380px}
.form-card input,.form-card textarea,.form-card select{width:100%;padding:15px;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:#102b38;color:white}
.form-card textarea{min-height:120px}.form-card button{background:var(--orange);border:0;color:white;font-weight:900;border-radius:8px;padding:16px;cursor:pointer}
.map-box{margin:35px 6%;min-height:330px}
.quote-layout{padding:60px 6%;display:grid;grid-template-columns:2fr 1fr;gap:30px}.form-card.wide{min-width:0}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quote-info{background:#102b38;border-radius:16px;padding:30px;border:1px solid rgba(255,255,255,.12)}
.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:80;background:#25D366;color:white;padding:16px 20px;border-radius:999px;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.35)}
.site-footer{padding:45px 6%;background:#07141c;display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;border-top:1px solid rgba(255,255,255,.08)}
.site-footer a{display:block;color:var(--muted);margin:7px 0}.footer-brand{font-size:30px;font-weight:900}
@media(max-width:900px){
  .menu-toggle{display:block}.nav-menu{display:none;position:absolute;top:78px;left:0;right:0;background:#07141c;flex-direction:column;padding:25px}.nav-menu.open{display:flex}
  h1{font-size:38px}h2{font-size:30px}.hero,.image-section{min-height:560px}.brand-strip{flex-direction:column;gap:14px;text-align:center}
  .steps,.cards,.service-grid,.product-grid,.project-grid,.split-section,.quote-layout,.site-footer{grid-template-columns:1fr}.contact-page{flex-direction:column}.form-card{min-width:100%}.two{grid-template-columns:1fr}}
.network-service{background-image: url('01-step-diseno.png');background-size: cover;background-position: center;background-repeat: no-repeat;padding: 30px;color: #ffffff;}    
.quote-hero-v2{
  position:relative;
  min-height:520px;
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:60px 7%;
  background:
    url("../images/cotizacion-hero-bg.png")
    center right / cover no-repeat;
}

.quote-hero-v2-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,.98) 0%,
    rgba(255,255,255,.92) 45%,
    rgba(255,255,255,.35) 70%,
    rgba(255,255,255,.08) 100%
  );
}

.quote-hero-v2-content{
  position:relative;
  z-index:2;
  width:100%;
  max-width:1450px;
  margin:auto;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);
  align-items:center;
  gap:70px;
}

.quote-hero-v2-left{
  max-width:780px;
}

.quote-hero-v2-logo{
  width:290px;
  max-width:100%;
  height:auto;
  display:block;
  margin-bottom:35px;
}

.quote-hero-v2-left h1{
  margin:0;
  color:#0b3f52;
  font-size:clamp(38px,4vw,62px);
  line-height:1.07;
  font-weight:800;
  letter-spacing:-1px;
}

.quote-hero-v2-line{
  width:66px;
  height:4px;
  margin:28px 0 30px;
  background:#1184a6;
  border-radius:10px;
}

.quote-hero-v2-benefit{
  display:grid;
  grid-template-columns:58px 1fr;
  align-items:flex-start;
  gap:20px;
  margin-top:24px;
}

.quote-hero-v2-icon{
  width:52px;
  height:52px;
  border:3px solid #1184a6;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#1184a6;
  font-size:27px;
  font-weight:800;
}

.quote-hero-v2-benefit p{
  margin:0;
  color:#253746;
  font-size:20px;
  line-height:1.5;
}

.quote-hero-v2-benefit strong{
  color:#0b6f8a;
}

.quote-hero-v2-price{
  width:100%;
  max-width:440px;
  justify-self:end;
  padding:35px 40px;
  color:#ffffff;
  border:1px solid rgba(255,255,255,.25);
  border-radius:22px;
  background:linear-gradient(
    145deg,
    rgba(9,48,64,.98),
    rgba(11,94,117,.94)
  );
  box-shadow:0 24px 60px rgba(0,20,55,.32);
}

.quote-hero-v2-price h2{
  margin:0;
  text-align:center;
  font-size:28px;
}

.quote-hero-v2-amount{
  margin:12px 0 0;
  text-align:center;
  color:#0d6f8f;
  font-size:clamp(70px,7vw,105px);
  line-height:.95;
  font-weight:800;
  letter-spacing:-4px;
  text-shadow:0 8px 22px rgba(0,0,0,.28);
}

.quote-hero-v2-price h3{
  margin:12px 0 0;
  text-align:center;
  font-size:27px;
}

.quote-hero-v2-price-line{
  height:1px;
  margin:28px 0;
  background:rgba(111,183,201,.65);
}

.quote-hero-v2-included{
  display:flex;
  align-items:center;
  gap:22px;
}

.quote-hero-v2-included > span{
  flex:0 0 58px;
  width:58px;
  height:58px;
  border:3px solid #0d6f8f;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#0d6f8f;
  font-size:32px;
  font-weight:800;
}

.quote-hero-v2-included strong{
  display:block;
  font-size:25px;
}

.quote-hero-v2-included p{
  margin:5px 0 0;
  font-size:19px;
}

@media (max-width:900px){

  .quote-hero-v2{
    min-height:auto;
    padding:45px 22px;
    background-position:center;
  }

  .quote-hero-v2-overlay{
    background:rgba(255,255,255,.92);
  }

  .quote-hero-v2-content{
    grid-template-columns:1fr;
    gap:35px;
  }

  .quote-hero-v2-price{
    justify-self:stretch;
    max-width:none;
  }

  .quote-hero-v2-logo{
    width:230px;
    margin-bottom:28px;
  }

  .quote-hero-v2-benefit p{
    font-size:17px;
  }

}

@media (max-width:520px){

  .quote-hero-v2-left h1{
    font-size:34px;
  }

  .quote-hero-v2-benefit{
    grid-template-columns:46px 1fr;
    gap:14px;
  }

  .quote-hero-v2-icon{
    width:44px;
    height:44px;
    font-size:22px;
  }

  .quote-hero-v2-price{
    padding:30px 22px;
  }

  .quote-hero-v2-price h2{
    font-size:23px;
  }

  .quote-hero-v2-price h3{
    font-size:22px;
  }

  .quote-hero-v2-included strong{
    font-size:21px;
  }

}
.lang-btn{
    display:flex;
    align-items:center;
    gap:8px;

    padding:10px 16px;

    background:#ffffff;

    color:#0b5e75;
    text-decoration:none;

    border:2px solid #0b5e75;
    border-radius:8px;

    font-weight:600;
    font-size:15px;

    transition:.25s;
}

.lang-btn:hover{
    background:#0b5e75;
    color:#ffffff;
}

.flag-icon{
    width:22px;
    height:22px;
    object-fit:cover;
    display:block;
    border-radius:3px; /* opcional */
}

/* HERO PRINCIPAL: texto a la izquierda, video a la derecha */
.hero{
    min-height:650px;
    background:
        linear-gradient(90deg,rgba(2,11,20,.80),rgba(2,11,20,.30)),
        var(--bg);
    background-size:cover;
    background-position:center;
    display:flex;
    align-items:center;
    padding:70px 6%;
}

.hero-container{
    width:100%;
    max-width:1400px;
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(420px,650px);
    gap:60px;
    align-items:center;
}

.hero-copy{
    max-width:700px;
}

/* Mantiene el bloque completo en la columna derecha,
   pero coloca el texto debajo del video. */
.hero-video{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    width:100%;
    min-width:0;
}

.hero-video video,
.hero-video iframe{
    display:block;
    width:100%;
    max-width:650px;
    aspect-ratio:16/9;
    border:0;
    border-radius:18px;
    box-shadow:0 25px 70px rgba(0,0,0,.45);
}

.video-caption{
    display:flex;
    align-items:flex-start;
    gap:14px;

    width:100%;
    max-width:650px;

    margin:18px 0 0;
    padding:16px 22px;

    background:rgba(0,0,0,.45);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);

    border:1px solid rgba(255,255,255,.15);
    border-radius:14px;

    color:#ffffff;
    font-size:22px;
    line-height:1.5;

    box-shadow:0 10px 30px rgba(0,0,0,.25);
}

.video-caption > span:first-child,
.video-caption .arrow{
    color:#6fb7c9;
    font-size:42px;
    line-height:1;
    flex-shrink:0;

    text-shadow:0 2px 8px rgba(0,0,0,.5);
}

.video-caption .caption-text{
    color:inherit;
    font-size:inherit;
    line-height:inherit;
}

.video-caption strong{
    color:#6fb7c9;
}
/* Evita que la columna fija del video desborde en pantallas medianas. */
@media (max-width:1100px){
    .hero-container{
        grid-template-columns:minmax(0,1fr) minmax(360px,520px);
        gap:36px;
    }

    .video-caption{
        font-size:19px;
    }
}

/* En móviles, texto y video se apilan. El escritorio conserva dos columnas. */
@media (max-width:900px){
    .hero{
        min-height:auto;
        padding:55px 6%;
    }

    .hero-container{
        grid-template-columns:1fr;
        gap:38px;
    }

    .hero-copy,
    .hero-video{
        max-width:700px;
        margin:0 auto;
    }

    .video-caption{
        font-size:18px;
    }
}

@media (max-width:520px){
    .video-caption{
        gap:10px;
        font-size:16px;
    }

    .video-caption > span:first-child,
    .video-caption .arrow{
        font-size:32px;
    }
}
