:root{
  --brand-navy:#0f2747;
  --brand-navy-2:#173b69;
  --brand-green:#1aa06d;
  --brand-gold:#d9a31a;
  --text:#1e2a39;
  --muted:#607086;
  --line:#d7e1ee;
  --surface:#ffffff;
  --surface-soft:#f4f8fc;
}

html{scroll-behavior:smooth}
body{
  font-family:"Inter",Arial,sans-serif;
  color:var(--text);
  background:#f2f6fb;
  padding-top:84px;
}

.header-v2 .navbar{
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);
}

.brand-logo{
  width:172px;
  max-width:100%;
}

.navbar-nav .nav-link{
  font-size:.95rem;
  font-weight:600;
  color:var(--brand-navy);
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus{
  color:var(--brand-green);
}

.hero-v2{
  padding:80px 0 54px;
  background:
    linear-gradient(135deg, rgba(23,59,105,.94), rgba(15,39,71,.86)),
    url("hero-ggss-camioneta-bodealert.jpeg") center/cover no-repeat;
  color:#fff;
}

.section-kicker{
  display:inline-block;
  margin-bottom:14px;
  color:#bfe8d9;
  font-size:.83rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.hero-title{
  margin-bottom:18px;
  font-size:3rem;
  line-height:1.08;
  font-weight:800;
}

.hero-subtitle{
  max-width:620px;
  margin-bottom:0;
  color:rgba(255,255,255,.9);
  font-size:1.04rem;
  line-height:1.7;
}

.hero-actions{
  margin-top:28px;
}

.hero-media{
  position:relative;
  border-radius:28px;
}

.hero-media img{
  width:100%;
  min-height:420px;
  object-fit:cover;
  border:1px solid rgba(255,255,255,.08);
}

.hero-floating-card{
  position:absolute;
  right:24px;
  bottom:24px;
  max-width:290px;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:18px;
  background:rgba(15,39,71,.88);
  color:#fff;
  box-shadow:0 18px 42px rgba(0,0,0,.25);
}

.hero-floating-card strong{
  display:block;
  margin-bottom:6px;
  font-size:1rem;
}

.hero-floating-card span{
  display:block;
  color:rgba(255,255,255,.84);
  font-size:.92rem;
  line-height:1.55;
}

.mini-point{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:14px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:.92rem;
  font-weight:600;
}

.mini-point i{
  font-size:1rem;
  color:#8de6c2;
}

.hero-proof{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.hero-proof span{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.88);
  font-size:.88rem;
  font-weight:600;
}

.trust-strip{
  background:#fff;
  border-bottom:1px solid var(--line);
}

.references-v2{
  background:linear-gradient(180deg,#f7fbff 0%,#eef4fb 100%);
}

.references-carousel{
  position:relative;
  padding:0 50px;
}

.trust-item{
  height:100%;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface-soft);
}

.trust-item strong{
  display:block;
  margin-bottom:4px;
  color:var(--brand-navy);
  font-size:.95rem;
}

.trust-item span{
  color:var(--muted);
  font-size:.88rem;
}

.section-heading{
  max-width:760px;
  margin-inline:auto;
}

.section-heading h2,
.problem-solution h2,
.contact-v2 h2,
#por-que h2,
.final-cta h2{
  margin-bottom:14px;
  color:var(--brand-navy);
  font-size:2.15rem;
  font-weight:800;
}

.section-heading p{
  margin-bottom:0;
  color:var(--muted);
  line-height:1.7;
}

.service-card-v2,
.sector-card,
.solution-card,
.form-card-v2,
.reference-card,
.workflow-card,
.final-cta-box{
  height:100%;
  padding:28px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 36px rgba(16,42,78,.06);
}

.reference-card{
  padding:24px;
  border-radius:24px;
  background:rgba(255,255,255,.92);
}

.reference-card--carousel{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-height:100%;
  padding:26px 26px 22px;
}

.reference-logo-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:182px;
  margin-bottom:16px;
  padding:18px 18px 12px;
  border:1px solid #e3ebf5;
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff,#f8fbff);
}

.reference-empty{
  padding:20px 24px;
  border:1px dashed #b7c8db;
  border-radius:18px;
  background:#ffffff;
  color:#58708f;
  font-weight:600;
}

.reference-logo-img{
  display:block;
  width:100%;
  height:auto;
  max-height:150px;
  object-fit:contain;
}

.reference-installation-name{
  color:var(--brand-navy);
  font-size:1.03rem;
  font-weight:700;
  line-height:1.35;
}

.references-carousel-control{
  top:50%;
  width:42px;
  height:42px;
  transform:translateY(-50%);
  border:1px solid #ccd8e8;
  border-radius:999px;
  background:#ffffff;
  opacity:1;
  box-shadow:0 10px 20px rgba(15,39,71,.08);
}

.references-carousel-control.carousel-control-prev{
  left:0;
}

.references-carousel-control.carousel-control-next{
  right:0;
}

.references-carousel-control .carousel-control-prev-icon,
.references-carousel-control .carousel-control-next-icon{
  width:15px;
  height:15px;
  filter:invert(18%) sepia(28%) saturate(1260%) hue-rotate(183deg) brightness(94%) contrast(92%);
}

.service-card-v2 i,
.sector-card i,
.solution-card i{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  margin-bottom:18px;
  border-radius:14px;
  background:#e7f4ef;
  color:var(--brand-green);
  font-size:1.4rem;
}

.service-card-v2 h3,
.sector-card h3,
.solution-card h3,
.workflow-card h3,
.footer-v2 h3{
  margin-bottom:10px;
  color:var(--brand-navy);
  font-size:1.12rem;
  font-weight:700;
}

.service-card-v2 p,
.solution-card p,
.workflow-card p,
.contact-box a,
.contact-box div,
.footer-v2 p,
.footer-list li,
.footer-list a{
  color:var(--muted);
  line-height:1.7;
}

.workflow-strip{
  background:#ffffff;
}

.workflow-card{
  position:relative;
}

.workflow-step{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  margin-bottom:16px;
  border-radius:12px;
  background:#eaf2fb;
  color:var(--brand-navy-2);
  font-size:.95rem;
  font-weight:800;
}

.problem-solution{
  background:#f8fbff;
}

.workflow-strip{
  background:#ffffff;
}

.workflow-card{
  position:relative;
}

.workflow-step{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  margin-bottom:16px;
  border-radius:12px;
  background:#eaf2fb;
  color:var(--brand-navy-2);
  font-size:.95rem;
  font-weight:800;
}

.problem-list,
.value-list{
  display:grid;
  gap:12px;
  margin-top:24px;
}

.problem-list div,
.value-list div{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}

.problem-list i{
  color:#cc3b3b;
  font-size:1rem;
}

.value-list i{
  color:var(--brand-green);
  font-size:1rem;
}

.solution-panel{
  padding:12px;
  border-radius:24px;
  background:linear-gradient(180deg, #ffffff, #f7fbff);
  border:1px solid var(--line);
}

.sector-card{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:112px;
}

.sector-card h3{
  margin:0;
}

.contact-v2{
  background:#fff;
}

.jobs-v2{
  background:linear-gradient(180deg,#ffffff 0%,#f4f8fc 100%);
}

.jobs-page-v2{
  min-height:calc(100vh - 84px);
}

.jobs-v2 h1,
.jobs-v2 h2{
  margin-bottom:14px;
  color:var(--brand-navy);
  font-size:2.15rem;
  font-weight:800;
}

.job-points{
  display:grid;
  gap:12px;
  margin-top:24px;
}

.job-points div{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  color:var(--muted);
  font-weight:700;
}

.job-points i{
  color:var(--brand-green);
}

.job-check{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:54px;
  padding:14px 16px;
  border:1px solid #cbd7e6;
  border-radius:14px;
  background:#f8fbff;
  color:var(--brand-navy);
  font-weight:700;
}

.job-check input{
  width:22px;
  height:22px;
  flex:0 0 22px;
  accent-color:var(--brand-green);
}

.contact-box{
  display:grid;
  gap:14px;
  margin-top:24px;
}

.contact-box div{
  display:flex;
  gap:12px;
  align-items:center;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#f8fbff;
}

.contact-box i{
  color:var(--brand-green);
  font-size:1.1rem;
}

.form-card-v2{
  padding:30px;
}

.form-card-v2 .form-control,
.form-card-v2 .form-select{
  min-height:50px;
  border-radius:14px;
  border-color:#cbd7e6;
  padding:.8rem 1rem;
}

.form-card-v2 .form-control:focus,
.form-card-v2 .form-select:focus{
  border-color:#8bb6dd;
  box-shadow:0 0 0 .18rem rgba(48,111,181,.12);
}

.form-card-v2 textarea.form-control{
  min-height:136px;
}

.form-feedback-v2{
  padding:13px 14px;
  border-radius:14px;
  font-size:.95rem;
  font-weight:600;
}

.form-feedback-v2.is-success{
  color:#0b5a3f;
  background:#e3f5ec;
  border:1px solid #b6e3cc;
}

.form-feedback-v2.is-error{
  color:#8a2632;
  background:#fdecef;
  border:1px solid #f3c2ca;
}

.final-cta{
  background:#f7fbff;
}

.final-cta-box{
  text-align:center;
  box-shadow:0 16px 36px rgba(16,42,78,.06);
}

.final-cta-box p{
  max-width:640px;
  margin:0 auto;
  color:var(--muted);
  line-height:1.75;
}

.footer-v2{
  border-top:1px solid var(--line);
  background:linear-gradient(180deg,#eef4fa 0%,#e6eef8 100%);
}

.footer-logo{
  width:160px;
  border-radius:18px;
  mix-blend-mode:multiply;
  filter:contrast(1.02) saturate(1.02);
}

.footer-list{
  display:grid;
  gap:8px;
}

.footer-list a:hover{
  color:var(--brand-green);
}

.footer-bottom{
  color:var(--muted);
  font-size:.92rem;
}

@media (max-width: 991.98px){
  body{padding-top:76px}
  .hero-v2{padding:52px 0 34px}
  .hero-title{font-size:2.55rem}
  .hero-media img{min-height:320px}
  .hero-floating-card{position:static;max-width:none;margin-top:16px}
  .references-carousel{padding:0 38px}
}

@media (max-width: 767.98px){
  .hero-title{font-size:2.1rem}
  .section-heading h2,
  .problem-solution h2,
  .contact-v2 h2,
  .jobs-v2 h2,
  #por-que h2,
  .final-cta h2{font-size:1.8rem}
  .reference-logo-wrap{min-height:156px}
}
