:root{
  --navy:#061521;
  --deep:#0a2335;
  --steel:#3c6074;
  --blue:#00a7ff;
  --cyan:#31e6ff;
  --yellow:#ffe112;
  --ink:#081b2b;
  --muted:#607080;
  --soft:#f3f7fb;
  --line:#dfe9f0;
  --glow:0 22px 70px rgba(0,167,255,.18);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(circle at 18% 5%, rgba(0,167,255,.08), transparent 28%),
    radial-gradient(circle at 90% 16%, rgba(255,225,18,.12), transparent 30%),
    #fff;
  font-family:Manrope,Segoe UI,Roboto,Arial,sans-serif;
  overflow-x:hidden;
  font-size:16px;
  letter-spacing:0;
}

a{color:inherit}
img{max-width:100%;display:block}
.container{max-width:1180px}
h1,h2,h3,h4,.nav-link,.btn,.section-kicker,.eyebrow{
  font-family:Sora,Manrope,Segoe UI,sans-serif;
}
::selection{
  background:var(--yellow);
  color:var(--navy);
}

.site-header{
  padding:14px 0;
  transition:background .25s ease, box-shadow .25s ease, padding .25s ease;
  z-index:20;
}
.site-header.scrolled{
  background:rgba(247,251,253,.74);
  border-bottom:1px solid rgba(255,255,255,.56);
  box-shadow:0 24px 60px rgba(7,33,51,.13);
  padding:7px 0;
  backdrop-filter:blur(16px);
}
.navbar{padding:0}
.navbar-brand{
  background:rgba(255,255,255,.94);
  border-radius:999px;
  padding:9px 18px;
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 16px 38px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.8);
}
.navbar-brand img{height:38px;width:auto;max-width:230px;object-fit:contain}
.navbar-nav{
  gap:6px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(255,255,255,.55);
  border-radius:999px;
  padding:6px;
  box-shadow:0 18px 46px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.72);
  backdrop-filter:blur(18px);
}
.nav-link{
  border-radius:999px;
  color:var(--navy)!important;
  font-size:12px;
  font-weight:800;
  letter-spacing:0;
  padding:9px 16px!important;
  transition:background .22s ease, color .22s ease, transform .22s ease;
}
.nav-link:hover,.nav-link.active{
  background:linear-gradient(135deg, var(--navy), #12354a);
  color:#fff!important;
  transform:translateY(-1px);
}
.nav-cta{
  border-radius:999px;
  padding:11px 19px;
  font-weight:900;
  box-shadow:0 16px 38px rgba(255,225,18,.34);
}
.navbar-toggler{
  background:#fff;
  border:0;
  border-radius:999px;
  box-shadow:0 12px 30px rgba(0,0,0,.14);
}

.hero-section{
  min-height:790px;
  position:relative;
  display:flex;
  align-items:center;
  color:#fff;
  overflow:hidden;
  padding:132px 0 108px;
  isolation:isolate;
}
.hero-bg{
  position:absolute;
  inset:0;
  background:#020a11;
  transform:scale(1.02);
  overflow:hidden;
}
.hero-section:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 18%, rgba(255,225,18,.20), transparent 18%),
    radial-gradient(circle at 50% 28%, rgba(0,167,255,.18), transparent 24%),
    linear-gradient(90deg, rgba(2,10,17,.98) 0%, rgba(4,19,31,.94) 48%, rgba(4,19,31,.62) 100%);
}
.hero-section:after{
  content:"";
  position:absolute;
  left:-12%;
  top:10%;
  width:56%;
  height:64%;
  z-index:2;
  pointer-events:none;
  background:radial-gradient(circle, rgba(49,230,255,.16), transparent 66%);
  filter:blur(18px);
}
.hero-bg:after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:180px;
  z-index:3;
  background:linear-gradient(180deg, transparent, #fff 98%);
}
.hero-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transform:scale(1.08);
  filter:saturate(1.12) contrast(1.08);
  animation:heroSlide 36s infinite;
}
.hero-slide:nth-child(1){animation-delay:0s}
.hero-slide:nth-child(2){animation-delay:6s}
.hero-slide:nth-child(3){animation-delay:12s}
.hero-slide:nth-child(4){animation-delay:18s}
.hero-slide:nth-child(5){animation-delay:24s}
.hero-slide:nth-child(6){animation-delay:30s}
@keyframes heroSlide{
  0%{opacity:0;transform:scale(1.08)}
  6%{opacity:1}
  19%{opacity:1;transform:scale(1.02)}
  25%,100%{opacity:0;transform:scale(1)}
}
.hero-content{
  position:relative;
  z-index:3;
}
.eyebrow,.section-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--yellow);
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:14px;
  text-shadow:0 0 28px rgba(255,225,18,.28);
}
.section-kicker{color:var(--blue)}
.section-kicker.yellow{color:var(--yellow)}
.hero-section h1{
  max-width:760px;
  font-size:clamp(50px,7vw,88px);
  line-height:.94;
  font-weight:800;
  margin:0 0 22px;
  letter-spacing:0;
  text-wrap:balance;
  text-shadow:0 22px 60px rgba(0,0,0,.36);
}
.hero-lead{
  max-width:580px;
  font-size:18px;
  color:#d9e7ef;
  line-height:1.78;
  margin-bottom:30px;
  font-weight:600;
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:18px;
}
.btn-warning{
  --bs-btn-bg:var(--yellow);
  --bs-btn-border-color:var(--yellow);
  --bs-btn-hover-bg:#ffe832;
  --bs-btn-hover-border-color:#ffe832;
  color:var(--navy)!important;
  font-weight:900;
  border-radius:999px;
  padding:14px 24px;
  position:relative;
  overflow:hidden;
  box-shadow:0 18px 42px rgba(255,225,18,.25);
  transition:transform .22s ease, box-shadow .22s ease;
}
.btn-warning:before{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-120%) skewX(-22deg);
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.62), transparent);
  transition:transform .6s ease;
}
.btn-warning:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 54px rgba(255,225,18,.42);
}
.btn-warning:hover:before{
  transform:translateX(120%) skewX(-22deg);
}
.call-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:#fff;
  font-weight:900;
  letter-spacing:0;
}
.call-link i{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:var(--yellow);
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 0 0 8px rgba(255,255,255,.05), 0 0 40px rgba(49,230,255,.16);
}

.quote-card{
  margin-left:auto;
  max-width:420px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,252,255,.95));
  color:var(--ink);
  border-radius:10px;
  padding:34px;
  box-shadow:0 34px 90px rgba(0,0,0,.38), 0 0 0 1px rgba(255,255,255,.7) inset;
  border-top:8px solid var(--yellow);
  position:relative;
}
.quote-card:before{
  content:"";
  position:absolute;
  inset:8px;
  border-radius:7px;
  border:1px solid rgba(0,167,255,.08);
  pointer-events:none;
}
.form-kicker{
  display:block;
  color:var(--blue);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  margin-bottom:6px;
}
.quote-card h2{
  font-size:28px;
  font-weight:800;
  letter-spacing:0;
  margin:0 0 8px;
}
.quote-card p{
  color:var(--muted);
  margin-bottom:22px;
}
.quote-card label{
  display:block;
  font-size:12px;
  font-weight:900;
  color:var(--ink);
  margin-bottom:12px;
}
.quote-card input,.quote-card select,.quote-card textarea{
  width:100%;
  border:1px solid var(--line);
  background:#f6f9fc;
  border-radius:999px;
  padding:13px 15px;
  margin-top:6px;
  outline:0;
  font-weight:700;
}
.quote-card textarea{border-radius:18px;resize:none}
.quote-card input:focus,.quote-card select:focus,.quote-card textarea:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 4px rgba(0,166,255,.12);
}

.feature-strip{
  position:relative;
  z-index:5;
  margin-top:-68px;
}
.feature-row{
  background:#fff;
  box-shadow:0 24px 70px rgba(6,25,39,.14);
}
.feature-card{
  padding:34px 28px;
  min-height:190px;
  border-right:1px solid var(--line);
  text-align:center;
}
.feature-card:last-child{border-right:0}
.feature-card i{
  color:var(--yellow);
  font-size:34px;
  margin-bottom:16px;
}
.feature-card h3{
  font-size:19px;
  font-weight:950;
  margin-bottom:8px;
}
.feature-card p{
  color:var(--muted);
  margin:0;
  font-size:14px;
}
.feature-card.active{
  background:var(--navy);
  color:#fff;
}
.feature-card.active p{color:#d9e7ef}

.section{
  padding:110px 0;
}
.section-heading{
  max-width:760px;
  margin:0 auto 48px;
  text-align:center;
}
.section-heading.narrow{max-width:620px}
.section h2,.contact-band h2{
  font-size:clamp(34px,4vw,58px);
  line-height:1.02;
  font-weight:950;
  letter-spacing:-.03em;
  margin-bottom:20px;
}
.section p,.section-heading p,.contact-band p{
  color:var(--muted);
  font-size:17px;
  line-height:1.75;
}

.about-section{padding-top:120px}
.image-grid{
  position:relative;
  min-height:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.image-grid .img-main{
  grid-column:1 / 2;
  width:100%;
  height:430px;
  object-fit:cover;
  border-radius:4px;
  box-shadow:0 20px 60px rgba(6,25,39,.16);
}
.image-grid .img-small{
  grid-column:2 / 3;
  width:100%;
  height:430px;
  object-fit:contain;
  background:var(--yellow);
  border:10px solid #fff;
  box-shadow:0 22px 55px rgba(6,25,39,.2);
}
.mission-card,.vision-card{
  position:static;
  width:100%;
  min-height:176px;
  padding:30px;
  color:#fff;
  overflow:visible;
}
.mission-card{
  grid-column:1 / 2;
  background:var(--navy);
}
.vision-card{
  grid-column:2 / 3;
  background:var(--yellow);
  color:var(--navy);
}
.mission-card strong,.vision-card strong{
  display:block;
  font-size:24px;
  font-weight:950;
  margin-bottom:14px;
}
.mission-card span,.vision-card span{
  display:block;
  font-size:16px;
  line-height:1.65;
  overflow-wrap:break-word;
}

.services-section{
  background:var(--soft);
}
.service-card{
  height:100%;
  background:#fff;
  border-radius:4px;
  overflow:hidden;
  box-shadow:0 16px 42px rgba(6,25,39,.09);
  transition:transform .22s ease, box-shadow .22s ease;
}
.service-card-link{
  display:block;
  color:inherit;
  text-decoration:none;
}
.service-card-link:hover,
.service-card-link:focus{
  color:inherit;
}
.service-card:hover{
  transform:translateY(-6px);
  box-shadow:0 26px 60px rgba(6,25,39,.15);
}
.service-img{
  height:210px;
  background-size:cover;
  background-position:center;
}
.service-body{
  padding:28px;
}
.service-body i{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  color:var(--navy);
  background:var(--yellow);
  border-radius:50%;
  font-size:24px;
  margin-bottom:20px;
}
.service-body h3{
  font-size:22px;
  font-weight:950;
  margin-bottom:12px;
}
.service-body p{
  font-size:15px;
  margin:0;
}
.service-more{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:20px;
  color:var(--blue);
  font-size:14px;
  font-weight:900;
}
.service-count-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:18px;
  padding:10px 18px;
  color:var(--navy);
  background:var(--yellow);
  border-radius:999px;
  font-family:Sora,Manrope,sans-serif;
  font-size:13px;
  font-weight:950;
  box-shadow:0 16px 36px rgba(255,225,18,.24);
}
.service-body .service-more i{
  display:inline;
  width:auto;
  height:auto;
  margin:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--blue);
  font-size:16px;
}
.service-page-hero{
  position:relative;
  min-height:720px;
  padding:160px 0 96px;
  color:#fff;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(255,225,18,.24), transparent 28%),
    radial-gradient(circle at 82% 10%, rgba(49,230,255,.22), transparent 32%),
    linear-gradient(135deg, #07172a 0%, #0b3046 48%, #072033 100%);
}
.service-page-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:none;
  opacity:0;
}
.service-page-hero .container{
  position:relative;
  z-index:1;
}
.service-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-bottom:32px;
  color:rgba(255,255,255,.72);
  font-size:13px;
  font-weight:800;
}
.service-breadcrumb a{
  color:#fff;
  text-decoration:none;
}
.service-breadcrumb i{
  font-size:11px;
  color:var(--yellow);
}
.service-page-hero h1{
  max-width:720px;
  font-size:clamp(44px, 6vw, 76px);
  line-height:1;
  font-weight:950;
  margin:18px 0 22px;
}
.service-page-image{
  position:relative;
  border-radius:14px;
  overflow:hidden;
  min-height:480px;
  box-shadow:0 38px 110px rgba(0,0,0,.36);
}
.service-page-image:before{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(255,255,255,.34);
  z-index:1;
  pointer-events:none;
}
.service-page-image img{
  width:100%;
  height:520px;
  object-fit:cover;
  display:block;
}
.service-page-content{
  background:var(--soft);
}
.service-point-card{
  height:100%;
  min-height:190px;
  padding:30px;
  background:#fff;
  border:1px solid rgba(223,233,240,.95);
  border-radius:12px;
  box-shadow:0 18px 52px rgba(6,25,39,.09);
}
.service-point-card i{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  margin-bottom:22px;
  color:var(--navy);
  background:linear-gradient(135deg, var(--yellow), #fff46b);
  border-radius:50%;
  font-size:23px;
}
.service-point-card h3{
  margin:0;
  color:var(--ink);
  font-size:20px;
  line-height:1.25;
  font-weight:900;
}
.service-page-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin-top:54px;
  padding:42px;
  color:#fff;
  background:
    radial-gradient(circle at 88% 18%, rgba(49,230,255,.22), transparent 34%),
    linear-gradient(135deg, var(--navy), #0b2d43);
  border-radius:14px;
  box-shadow:0 30px 90px rgba(6,21,33,.18);
}
.service-page-cta h2{
  margin:8px 0 10px;
  color:#fff;
  font-size:34px;
  line-height:1.1;
}
.service-page-cta p{
  max-width:720px;
  margin:0;
  color:rgba(255,255,255,.78);
}
.service-tabs-shell{
  margin-top:58px;
  background:#fff;
  border-radius:6px;
  box-shadow:0 22px 70px rgba(6,25,39,.12);
  overflow:hidden;
}
.service-tabs-title{
  padding:34px 34px 8px;
}
.service-tabs-title h3{
  max-width:720px;
  font-size:30px;
  line-height:1.14;
  font-weight:950;
  margin:0;
}
.service-tabs{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#f8fbfd;
}
.service-tabs .nav-item{min-width:0}
.service-tabs .nav-link{
  width:100%;
  height:100%;
  min-height:92px;
  border-radius:0;
  border:0;
  border-right:1px solid var(--line);
  background:transparent;
  color:var(--ink)!important;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:13px;
  font-weight:950;
  text-align:center;
}
.service-tabs .nav-item:last-child .nav-link{border-right:0}
.service-tabs .nav-link i{
  color:var(--blue);
  font-size:24px;
}
.service-tabs .nav-link.active{
  background:var(--navy);
  color:#fff!important;
}
.service-tabs .nav-link.active i{color:var(--yellow)}
.service-tab-content{
  padding:36px;
}
.service-detail-image{
  position:relative;
  min-height:380px;
  background:var(--navy);
  overflow:hidden;
}
.service-detail-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent, rgba(6,25,39,.28));
}
.service-detail-image img{
  width:100%;
  height:430px;
  object-fit:cover;
}
.service-detail-copy{
  padding:18px 0 18px 18px;
}
.detail-number{
  display:inline-grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:50%;
  background:var(--yellow);
  color:var(--navy);
  font-weight:950;
  margin-bottom:18px;
}
.service-detail-copy h3{
  font-size:40px;
  line-height:1.02;
  font-weight:950;
  letter-spacing:-.02em;
  margin-bottom:14px;
}
.service-detail-copy p{
  color:var(--muted);
  font-size:17px;
  line-height:1.7;
}
.service-detail-copy ul{
  list-style:none;
  padding:0;
  margin:24px 0;
  display:grid;
  gap:12px;
}
.service-detail-copy li{
  display:flex;
  gap:10px;
  color:var(--ink);
  font-weight:800;
}
.service-detail-copy li i{color:var(--blue)}
.service-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.service-actions .btn-outline-dark{
  border-radius:999px;
  padding:14px 24px;
  font-weight:900;
}

.dark-split{
  background:
    linear-gradient(90deg, rgba(6,25,39,.96), rgba(6,25,39,.88)),
    url('../img/tableros-mineria-wide.jpeg') center/cover fixed;
  color:#fff;
}
.dark-split p{color:#d3e0e8}
.mini-list{
  display:grid;
  gap:12px;
  margin-top:26px;
}
.mini-list span{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
}
.mini-list i{color:var(--yellow)}
.panel-image{
  position:relative;
  padding:24px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
}
.panel-image img{
  width:100%;
  height:430px;
  object-fit:cover;
}
.floating-badge{
  position:absolute;
  left:-12px;
  bottom:46px;
  background:var(--yellow);
  color:var(--navy);
  padding:22px 26px;
  box-shadow:0 18px 48px rgba(0,0,0,.28);
}
.floating-badge strong{
  display:block;
  font-size:42px;
  line-height:1;
  font-weight:950;
}
.floating-badge span{font-weight:900}

.process-section{
  position:relative;
  background:
    radial-gradient(circle at 14% 18%, rgba(255,225,18,.10), transparent 28%),
    linear-gradient(180deg, #fff 0%, #f4f9fc 100%);
}
.process-section .row{
  position:relative;
}
.process-section .row:before{
  content:"";
  position:absolute;
  left:12%;
  right:12%;
  top:88px;
  height:3px;
  background:linear-gradient(90deg, var(--yellow), var(--blue), var(--yellow));
  opacity:.42;
}
.step-card{
  position:relative;
  height:100%;
  min-height:286px;
  padding:26px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(207,220,230,.96);
  border-radius:14px;
  box-shadow:0 22px 62px rgba(6,21,33,.10);
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.step-card:hover{
  transform:translateY(-7px);
  border-color:rgba(0,167,255,.34);
  box-shadow:0 34px 84px rgba(6,21,33,.16), 0 0 42px rgba(0,167,255,.10);
}
.step-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:26px;
}
.step-card span{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:50%;
  color:var(--navy);
  background:linear-gradient(135deg, var(--yellow), #fff26a);
  font-family:Sora,Manrope,sans-serif;
  font-size:20px;
  font-weight:950;
  box-shadow:0 18px 34px rgba(255,225,18,.25);
}
.step-top i{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  color:var(--blue);
  background:#eef8ff;
  border-radius:14px;
  font-size:25px;
}
.step-card h3{
  min-height:56px;
  color:var(--ink);
  font-size:21px;
  line-height:1.22;
  font-weight:950;
  margin-bottom:14px;
}
.step-card p{
  color:var(--muted);
  font-size:15px;
  line-height:1.65;
  margin:0;
}
.process-section .step-card:before{
  display:none;
}

.sectors-section{
  background:#fff;
  padding-top:20px;
}
.sector-cover{
  position:relative;
  min-height:480px;
  overflow:hidden;
  color:#fff;
  display:flex;
  align-items:flex-end;
  padding:40px;
}
.sector-cover img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.sector-cover:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 0%, rgba(6,25,39,.92) 82%);
}
.sector-cover div{
  position:relative;
  z-index:2;
  max-width:620px;
}
.sector-cover p{color:#d9e7ef}
.stats-board{
  height:100%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.stats-board div{
  background:var(--soft);
  border:1px solid var(--line);
  padding:34px 24px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:180px;
}
.stats-board strong{
  color:var(--navy);
  font-size:30px;
  line-height:1.05;
  font-weight:950;
  margin-bottom:10px;
}
.stats-board span{
  color:var(--muted);
  font-weight:800;
}

.clients-section{background:var(--soft)}
.client-carousel{
  --logo-gap:22px;
  --logo-width:calc((100% - (var(--logo-gap) * 2)) / 3);
  position:relative;
  overflow:hidden;
  padding:22px;
  background:
    radial-gradient(circle at 18% 14%, rgba(255,225,18,.12), transparent 28%),
    linear-gradient(135deg, #fff, #f7fbfe);
  border:1px solid rgba(207,220,230,.96);
  border-radius:16px;
  box-shadow:0 26px 72px rgba(6,25,39,.12);
}
.client-carousel:before,
.client-carousel:after{
  content:none;
  display:none;
}
.client-logo-track{
  display:flex;
  gap:var(--logo-gap);
  width:100%;
  animation:clientLogoStep 39s steps(13) infinite;
}
.client-logo-card{
  flex:0 0 var(--logo-width);
  width:var(--logo-width);
  min-width:0;
  height:210px;
  display:grid;
  place-items:center;
  padding:4px;
  background:#fff;
  border:1px solid rgba(207,220,230,.94);
  border-radius:12px;
  box-shadow:0 18px 40px rgba(6,25,39,.10);
}
.client-logo-card img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
@keyframes clientLogoStep{
  to{transform:translateX(calc(-13 * (var(--logo-width) + var(--logo-gap))))}
}
.client-carousel:hover .client-logo-track{
  animation-play-state:paused;
}
.clients-img{
  width:100%;
  background:#fff;
  border:1px solid var(--line);
  border-radius:4px;
  padding:18px;
  box-shadow:0 18px 45px rgba(6,25,39,.1);
}

.contact-band{
  padding:96px 0;
  background:
    linear-gradient(90deg, rgba(6,25,39,.96), rgba(6,25,39,.76)),
    url('../img/bomba-incendio.jpeg') center/cover no-repeat;
  color:#fff;
}
.contact-band p{color:#d9e7ef}
.contact-card{
  background:#fff;
  color:var(--ink);
  padding:30px;
  border-radius:4px;
  box-shadow:0 28px 70px rgba(0,0,0,.25);
}
.contact-card a:not(.btn){
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 0;
  color:var(--ink);
  text-decoration:none;
  font-weight:850;
  border-bottom:1px solid var(--line);
}
.contact-card i{color:var(--blue)}
.contact-form-card{
  padding:26px;
  border-radius:18px;
}
.contact-form-card .form-kicker{
  display:block;
  margin-bottom:8px;
  font-size:12px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.contact-form-card h3{
  margin:0 0 16px;
  color:var(--ink);
  font-size:26px;
  line-height:1.13;
  font-weight:950;
}
.contact-form-card label{
  display:block;
  margin-bottom:12px;
  color:var(--ink);
  font-size:12px;
  font-weight:950;
  letter-spacing:.01em;
}
.contact-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.contact-form-card input,
.contact-form-card select,
.contact-form-card textarea{
  width:100%;
  margin-top:6px;
  border:1px solid #cddae3;
  background:#f4f8fb;
  color:#061521;
  border-radius:14px;
  padding:12px 13px;
  font-size:14px;
  font-weight:700;
  outline:0;
}
.contact-form-card input,
.contact-form-card select{
  border-radius:999px;
}
.contact-form-card textarea{
  min-height:88px;
  resize:none;
}
.contact-form-card input:focus,
.contact-form-card select:focus,
.contact-form-card textarea:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 4px rgba(0,166,255,.12);
}
.contact-form-card .btn{
  min-height:52px;
  margin-top:2px;
  border-radius:999px;
}
.contact-mini-links{
  display:grid;
  gap:4px;
  margin-top:14px;
}
.contact-card .contact-mini-links a:not(.btn){
  padding:3px 0;
  border-bottom:0;
  color:#385065;
  font-size:13px;
  font-weight:850;
}
.contact-card .contact-mini-links i{
  font-size:14px;
}

.quote-modal .modal-dialog{max-width:560px}
.quote-modal-card{
  border:0;
  border-radius:8px;
  overflow:hidden;
  border-top:8px solid var(--yellow);
  box-shadow:0 30px 90px rgba(0,0,0,.28);
}
.quote-modal-card .modal-header,
.quote-modal-card .modal-footer{
  border:0;
  padding:26px 30px 12px;
}
.quote-modal-card .modal-body{
  padding:10px 30px 8px;
}
.quote-modal-card h2{
  font-size:30px;
  font-weight:950;
  margin:0;
}
.quote-modal-card label{
  display:block;
  font-size:12px;
  font-weight:900;
  color:var(--ink);
  margin-bottom:14px;
}
.quote-modal-card input,
.quote-modal-card select,
.quote-modal-card textarea{
  width:100%;
  border:1px solid var(--line);
  background:#f8fbfd;
  border-radius:18px;
  padding:13px 15px;
  margin-top:6px;
  outline:0;
}
.quote-modal-card input,
.quote-modal-card select{border-radius:999px}
.quote-modal-card input:focus,
.quote-modal-card select:focus,
.quote-modal-card textarea:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 4px rgba(0,166,255,.12);
}

.site-footer{
  padding:26px 0;
  background:#03111c;
  color:#c9d5dd;
  font-size:14px;
}

.footer-main{
  display:grid;
  grid-template-columns:1.1fr 1fr 1fr 1.25fr;
  gap:34px;
  padding:76px 0 48px;
}
.footer-brand img{
  width:220px;
  max-width:100%;
  padding:10px 16px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 18px 46px rgba(0,0,0,.22);
  margin-bottom:22px;
}
.footer-brand p{
  max-width:420px;
  color:#c9d8e2;
  font-size:15px;
  line-height:1.7;
  margin-bottom:24px;
}
.footer-brand .btn{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-weight:950;
}
.footer-links,
.footer-contact,
.footer-map{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.footer-links h3,
.footer-contact h3,
.footer-map h3{
  color:#ffe112;
  font-size:16px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:10px;
}
.footer-links a,
.footer-contact a,
.footer-contact span{
  color:#eaf6ff;
  text-decoration:none;
  font-size:14px;
  font-weight:800;
  line-height:1.45;
}
.footer-links a{
  padding-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.footer-links a:hover,
.footer-contact a:hover{
  color:#ffe112;
}
.footer-contact i{
  color:#31e6ff;
  margin-right:9px;
}
.footer-social{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:4px;
}
.footer-social-title{
  margin-top:8px;
  color:#ffe112;
  font-size:15px;
  font-weight:950;
  letter-spacing:.04em;
}
.footer-social a{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff!important;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 16px 34px rgba(0,0,0,.22);
  transition:transform .2s ease, background .2s ease, color .2s ease;
}
.footer-social a:hover{
  transform:translateY(-3px);
  color:#061521!important;
  background:#ffe112;
}
.footer-social i{
  margin:0;
  color:currentColor;
  font-size:22px;
}
.footer-map-address{
  color:#eaf6ff;
  text-decoration:none;
  font-weight:850;
  line-height:1.45;
}
.footer-map-address i{
  color:#ffe112;
  margin-right:8px;
}
.map-frame{
  position:relative;
  overflow:hidden;
  min-height:178px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.18);
  background:#eaf1f6;
  box-shadow:0 22px 54px rgba(0,0,0,.28);
}
.static-map{
  position:relative;
  display:block;
  min-height:210px;
  color:#061521;
  text-decoration:none;
  background:
    linear-gradient(25deg, transparent 45%, rgba(17,125,190,.22) 46%, rgba(17,125,190,.22) 52%, transparent 53%),
    linear-gradient(115deg, transparent 36%, rgba(121,146,165,.42) 37%, rgba(121,146,165,.42) 43%, transparent 44%),
    linear-gradient(0deg, rgba(255,255,255,.46) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.46) 1px, transparent 1px),
    linear-gradient(135deg, #dce9f0, #f6fbff 54%, #d5e5ed);
  background-size:auto, auto, 42px 42px, 42px 42px, auto;
}
.static-map:before,
.static-map:after{
  content:"";
  position:absolute;
  inset:auto;
  height:18px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 8px 20px rgba(6,25,39,.08);
  transform:rotate(-18deg);
}
.static-map:before{
  width:82%;
  left:-18%;
  top:62px;
}
.static-map:after{
  width:72%;
  right:-20%;
  bottom:48px;
  transform:rotate(18deg);
}
.map-street{
  position:absolute;
  z-index:2;
  color:#385064;
  font-size:11px;
  font-weight:950;
  opacity:.82;
  text-transform:uppercase;
}
.map-street-one{
  left:18px;
  top:32px;
  transform:rotate(-18deg);
}
.map-street-two{
  right:22px;
  top:86px;
  transform:rotate(72deg);
}
.map-street-three{
  left:24px;
  bottom:34px;
  transform:rotate(18deg);
}
.map-pin{
  position:absolute;
  z-index:4;
  left:50%;
  top:48%;
  transform:translate(-50%,-50%);
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  color:#e42424;
  background:#fff;
  border-radius:50%;
  box-shadow:0 16px 34px rgba(6,25,39,.2);
}
.map-pin i{
  font-size:34px;
}
.static-map strong{
  position:absolute;
  z-index:5;
  left:calc(50% + 34px);
  top:calc(48% - 12px);
  color:#e42424;
  font-size:14px;
  line-height:1.05;
  font-weight:950;
  text-transform:uppercase;
}
.static-map em{
  position:absolute;
  z-index:6;
  left:16px;
  top:14px;
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  color:#006fc9;
  background:#fff;
  border-radius:8px;
  font-style:normal;
  font-weight:950;
  box-shadow:0 10px 24px rgba(6,25,39,.14);
}
.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:22px 0 28px;
  border-top:1px solid rgba(255,255,255,.12);
}

@media(max-width:1199px){
  .footer-main{
    grid-template-columns:1fr 1fr;
    gap:38px;
  }
}

/* WhatsApp floating action */
.whatsapp-float{
  position:fixed;
  right:26px;
  bottom:26px;
  z-index:50;
  display:flex;
  align-items:center;
  gap:12px;
  min-width:204px;
  padding:12px 18px 12px 13px;
  color:#fff;
  text-decoration:none;
  border-radius:999px;
  background:
    linear-gradient(135deg, #0fd35e, #0a9f47 54%, #067739),
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.48), transparent 34%);
  border:1px solid rgba(255,255,255,.42);
  box-shadow:0 22px 55px rgba(4,118,53,.36), 0 0 0 8px rgba(15,211,94,.09);
  isolation:isolate;
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease;
}
.whatsapp-float:before,
.whatsapp-float:after{
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:inherit;
  pointer-events:none;
}
.whatsapp-float:before{
  z-index:-1;
  background:conic-gradient(from 90deg, rgba(255,225,18,.0), rgba(255,225,18,.72), rgba(49,230,255,.0), rgba(255,225,18,.0));
  animation:wa-spin 4.5s linear infinite;
}
.whatsapp-float:after{
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.42), transparent);
  transform:translateX(-130%) skewX(-18deg);
  animation:wa-shine 3.2s ease-in-out infinite;
}
.whatsapp-float i{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  background:#fff;
  color:#0a9f47;
  font-size:24px;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.wa-copy{
  display:flex;
  flex-direction:column;
  line-height:1.05;
  color:#fff;
  text-shadow:0 1px 14px rgba(0,0,0,.24);
}
.wa-copy strong{
  font-family:Sora,Manrope,sans-serif;
  font-size:14px;
  font-weight:800;
}
.wa-copy small{
  font-size:12px;
  font-weight:800;
  opacity:.92;
}
.wa-energy{
  position:absolute;
  left:24px;
  top:50%;
  width:76px;
  height:76px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,225,18,.42), transparent 62%);
  animation:wa-pulse 1.9s ease-in-out infinite;
  z-index:-1;
}
.whatsapp-float:hover{
  color:#fff;
  transform:translateY(-4px) scale(1.02);
  box-shadow:0 30px 70px rgba(4,118,53,.46), 0 0 0 11px rgba(15,211,94,.12);
}
@keyframes wa-pulse{
  0%,100%{transform:translate(-50%,-50%) scale(.8);opacity:.64}
  50%{transform:translate(-50%,-50%) scale(1.18);opacity:1}
}
@keyframes wa-spin{
  to{transform:rotate(360deg)}
}
@keyframes wa-shine{
  0%,45%{transform:translateX(-130%) skewX(-18deg)}
  72%,100%{transform:translateX(130%) skewX(-18deg)}
}

/* Premium visual layer */
.feature-row,
.service-tabs-shell,
.quote-card,
.contact-card{
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 30px 90px rgba(6,21,33,.16), inset 0 1px 0 rgba(255,255,255,.72);
}
.feature-row,
.service-tabs-shell{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);
}
.feature-card,
.service-card,
.step-card,
.stats-board div{
  position:relative;
  overflow:hidden;
}
.feature-card:before,
.service-card:before,
.step-card:before,
.stats-board div:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg, rgba(255,225,18,.12), transparent 34%, rgba(49,230,255,.14));
  opacity:0;
  transition:opacity .25s ease;
}
.feature-card:hover:before,
.service-card:hover:before,
.step-card:hover:before,
.stats-board div:hover:before{
  opacity:1;
}
.feature-card{
  transition:transform .24s ease, box-shadow .24s ease;
}
.feature-card:hover{
  transform:translateY(-5px);
  box-shadow:0 24px 60px rgba(6,21,33,.12);
}
.feature-card.active{
  background:
    radial-gradient(circle at 72% 18%, rgba(49,230,255,.22), transparent 36%),
    linear-gradient(135deg, var(--navy), #0c2b3f);
}
.feature-card h3,
.service-body h3,
.step-card h3,
.service-detail-copy h3,
.stats-board strong{
  font-weight:800;
  letter-spacing:0;
}
.service-card{
  border-radius:12px;
  border:1px solid rgba(223,233,240,.92);
  background:linear-gradient(180deg, #fff, #f8fcff);
}
.service-card:hover{
  box-shadow:0 32px 82px rgba(6,21,33,.18), 0 0 52px rgba(0,167,255,.13);
}
.service-img{
  position:relative;
}
.service-img:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 48%, rgba(6,21,33,.32));
}
.service-body i,
.step-card span,
.detail-number{
  background:linear-gradient(135deg, var(--yellow), #fff46b);
  box-shadow:0 16px 34px rgba(255,225,18,.24);
}
.service-tabs-shell{
  border-radius:16px;
}
.service-tabs{
  background:linear-gradient(180deg, #fbfdff, #f2f8fc);
}
.service-tabs .nav-link{
  font-weight:800;
  transition:background .24s ease, color .24s ease, transform .24s ease;
}
.service-tabs .nav-link:hover{
  transform:translateY(-2px);
}
.service-tabs .nav-link.active{
  background:
    radial-gradient(circle at 72% 18%, rgba(49,230,255,.22), transparent 36%),
    linear-gradient(135deg, var(--navy), #0b2d43);
  box-shadow:inset 0 -4px 0 var(--yellow);
}
.service-detail-image{
  border-radius:12px;
  box-shadow:0 26px 70px rgba(6,21,33,.18);
}
.service-actions .btn-outline-dark{
  border:1px solid rgba(8,27,43,.22);
  background:#fff;
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease;
}
.service-actions .btn-outline-dark:hover{
  background:var(--navy);
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 18px 42px rgba(6,21,33,.18);
}
.image-grid .img-main,
.service-detail-image,
.sector-cover,
.clients-img,
.panel-image{
  border-radius:12px;
}
.mission-card{
  background:linear-gradient(135deg, var(--navy), #102f43);
}
.vision-card{
  background:linear-gradient(135deg, var(--yellow), #fff36a);
}
.mission-card,
.vision-card,
.stats-board div{
  box-shadow:0 22px 56px rgba(6,21,33,.14);
}
.dark-split{
  background:
    radial-gradient(circle at 82% 18%, rgba(0,167,255,.18), transparent 28%),
    linear-gradient(90deg, rgba(6,21,33,.98), rgba(6,21,33,.90)),
    url('../img/tableros-mineria-wide.jpeg') center/cover fixed;
}
.panel-image{
  background:linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 24px 70px rgba(0,0,0,.18);
}
.floating-badge,
.btn-warning{
  background:linear-gradient(135deg, var(--yellow), #fff15d)!important;
}
.stats-board div{
  background:linear-gradient(180deg, #fff, var(--soft));
  border-radius:12px;
}
.contact-band{
  background:
    radial-gradient(circle at 88% 12%, rgba(255,225,18,.18), transparent 28%),
    linear-gradient(90deg, rgba(6,21,33,.98), rgba(6,21,33,.76)),
    url('../img/bomba-incendio.jpeg') center/cover no-repeat;
}
.contact-card,
.quote-modal-card{
  border-radius:14px;
  background:linear-gradient(180deg, #fff, #f8fbfd);
}
.quote-modal-card{
  box-shadow:0 34px 100px rgba(0,0,0,.32);
}
.site-footer{
  background:
    linear-gradient(90deg, rgba(6,21,33,.98), rgba(10,35,53,.98)),
    radial-gradient(circle at 80% 30%, rgba(0,167,255,.18), transparent 34%);
}

/* Contrast refinements */
.hero-bg{
  filter:contrast(1.08) saturate(1.08);
}
.hero-section h1{
  color:#fff;
  text-shadow:0 18px 48px rgba(0,0,0,.58), 0 0 26px rgba(0,0,0,.28);
}
.hero-lead{
  color:#f1f8fb;
  text-shadow:0 8px 26px rgba(0,0,0,.42);
}
.eyebrow{
  color:#ffe112;
  text-shadow:0 0 24px rgba(255,225,18,.36), 0 4px 18px rgba(0,0,0,.46);
}
.quote-card,
.service-tabs-shell,
.feature-row,
.contact-card{
  color:#071827;
}
.quote-card p,
.section p,
.section-heading p,
.contact-band p,
.service-detail-copy p{
  color:#4f6070;
}
.service-body p,
.feature-card p,
.step-card p,
.stats-board span{
  color:#536574;
}
.feature-card.active p,
.dark-split p,
.sector-cover p{
  color:#eef8fb;
}
.btn-warning{
  color:#061521!important;
  text-shadow:none;
}

@media(max-width:991px){
  .site-header{
    background:rgba(255,255,255,.97);
    box-shadow:0 16px 34px rgba(7,33,51,.12);
  }
  .navbar-brand{
    box-shadow:none;
    padding:4px 0;
  }
  .navbar-brand img{height:34px;max-width:210px}
  .navbar-collapse{
    margin-top:14px;
    background:#fff;
    border-radius:6px;
    padding:12px;
    box-shadow:0 18px 44px rgba(7,33,51,.14);
  }
  .navbar-nav{
    border-radius:6px;
    box-shadow:none;
    background:transparent;
    align-items:stretch;
  }
  .nav-link{
    text-align:center;
    border-radius:4px;
  }
  .nav-cta{width:100%;margin-top:10px}
  .hero-section{
    min-height:auto;
    padding:142px 0 118px;
  }
  .quote-card{
    margin:0;
    max-width:none;
  }
  .feature-strip{margin-top:-50px}
  .feature-card{
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .image-grid{min-height:auto}
  .image-grid{
    display:grid;
    grid-template-columns:1fr;
  }
  .image-grid .img-main,.image-grid .img-small{
    position:static;
    grid-column:auto;
    width:100%;
    height:280px;
    border:0;
    margin-bottom:16px;
  }
  .mission-card,.vision-card{
    position:static;
    grid-column:auto;
    width:100%;
    min-height:0;
    margin-bottom:14px;
  }
  .mission-card,
  .vision-card{
    padding-right:96px;
  }
  .panel-image img{height:330px}
  .floating-badge{left:24px;bottom:32px}
  .service-tabs{
    grid-template-columns:repeat(3,1fr);
  }
  .service-tab-content{
    padding:24px;
  }
  .service-detail-copy{
    padding:0;
  }
  .service-detail-image,
  .service-detail-image img{
    min-height:280px;
    height:320px;
  }
}

@media(max-width:575px){
  .container{
    padding-left:18px;
    padding-right:18px;
  }
  .hero-content .row,
  .hero-content [class*="col-"]{
    --bs-gutter-x:0;
    margin-left:0;
    margin-right:0;
    max-width:100%;
  }
  .hero-section h1{
    font-size:35px;
    line-height:1.04;
    max-width:100%;
    overflow-wrap:anywhere;
  }
  .hero-lead{
    font-size:15px;
    line-height:1.65;
    max-width:100%;
    overflow-wrap:anywhere;
  }
  .quote-card{
    width:100%;
    max-width:calc(100vw - 36px);
    padding:24px;
    overflow:hidden;
  }
  .quote-card *{max-width:100%}
  .quote-card p{font-size:15px}
  .quote-card h2{
    font-size:24px;
    overflow-wrap:anywhere;
  }
  .btn-warning{
    white-space:normal;
    line-height:1.2;
  }
  .section{padding:78px 0}
  .section h2,.contact-band h2{font-size:36px}
  .service-tabs-title{
    padding:26px 22px 8px;
  }
  .service-tabs-title h3{font-size:24px}
  .service-tabs{
    grid-template-columns:repeat(2,1fr);
  }
  .service-tabs .nav-link{
    min-height:86px;
    font-size:12px;
    padding:10px 8px!important;
  }
  .service-tab-content{padding:18px}
  .service-detail-copy h3{font-size:30px}
  .service-detail-copy p{font-size:15px}
  .service-actions .btn{
    width:100%;
  }
  .quote-modal-card .modal-header,
  .quote-modal-card .modal-footer{
    padding-left:22px;
    padding-right:22px;
  }
  .quote-modal-card .modal-body{
    padding-left:22px;
    padding-right:22px;
  }
  .sector-cover{
    min-height:420px;
    padding:28px;
  }
  .stats-board{grid-template-columns:1fr}
  .hero-actions .btn,.hero-actions .call-link{width:100%;justify-content:center}
  .hero-actions .btn{max-width:340px;margin-left:auto;margin-right:auto}
}

@media(max-width:575px){
  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }
  .hero-section,
  .hero-content,
  .hero-content .container,
  .hero-content .row,
  .hero-content [class*="col-"]{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    overflow:hidden;
  }
  .hero-section h1{
    font-size:34px!important;
    max-width:100%!important;
  }
  .hero-lead,
  .quote-card p,
  .feature-card p,
  .service-body p{
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  .hero-lead{
    width:calc(100vw - 64px)!important;
    max-width:326px!important;
  }
  .hero-actions{
    width:calc(100vw - 64px)!important;
    max-width:326px!important;
  }
  .hero-actions .btn,
  .hero-actions .call-link{
    width:100%!important;
    max-width:326px!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .quote-card,
  .quote-card .btn{
    width:calc(100vw - 48px)!important;
    max-width:342px!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .quote-card{
    padding:24px!important;
  }
  .feature-card p{
    max-width:290px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .whatsapp-float{
    right:16px;
    bottom:16px;
    min-width:0;
    width:64px;
    height:64px;
    padding:9px;
    justify-content:center;
    box-shadow:0 20px 48px rgba(4,118,53,.42), 0 0 0 7px rgba(15,211,94,.10);
  }
  .whatsapp-float i{
    width:46px;
    height:46px;
    font-size:25px;
  }
  .wa-copy{display:none}
  .wa-energy{
    left:50%;
    width:84px;
    height:84px;
  }
}

.whatsapp-float{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  z-index:2147483000!important;
}
#wspFloat{
  position:fixed!important;
  right:26px!important;
  bottom:26px!important;
  z-index:2147483647!important;
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  transform:translateZ(0)!important;
  will-change:transform, box-shadow!important;
}
@media(max-width:575px){
  .whatsapp-float{
    position:fixed!important;
    right:14px!important;
    bottom:14px!important;
    transform:none!important;
  }
  #wspFloat{
    right:max(18px, calc((100vw - 390px) + 18px))!important;
    bottom:14px!important;
    width:66px!important;
    height:66px!important;
    min-width:66px!important;
    max-width:66px!important;
    padding:9px!important;
    border-radius:50%!important;
  }
}

/* Final contrast pass */
.hero-bg{
  background:#020a11!important;
}
.quote-card,
.contact-card,
.service-tabs-shell,
.feature-row{
  background:linear-gradient(180deg, rgba(255,255,255,1), rgba(246,250,253,.98))!important;
}
.quote-card input,
.quote-card select,
.quote-card textarea,
.contact-form-card input,
.contact-form-card select,
.contact-form-card textarea,
.quote-modal-card input,
.quote-modal-card select,
.quote-modal-card textarea{
  color:#061521!important;
  background:#f3f8fb!important;
  border-color:#cddae3!important;
}
.quote-card label,
.contact-form-card label,
.quote-modal-card label,
.service-body h3,
.feature-card h3,
.contact-card a:not(.btn){
  color:#061521!important;
}
.section-kicker,
.form-kicker{
  color:#008ee0!important;
}
.eyebrow,
.section-kicker.yellow{
  color:#ffe112!important;
}

/* Final WhatsApp + contrast override */
#wspFloat{
  right:28px!important;
  bottom:28px!important;
  background:linear-gradient(135deg,#12e66d 0%,#079944 58%,#046b34 100%)!important;
  border:2px solid rgba(255,255,255,.86)!important;
  outline:3px solid rgba(255,225,18,.52)!important;
  color:#fff!important;
  box-shadow:
    0 0 0 9px rgba(18,230,109,.15),
    0 0 0 15px rgba(255,225,18,.10),
    0 28px 70px rgba(4,118,53,.56),
    0 0 42px rgba(49,230,255,.30)!important;
}
#wspFloat .wa-copy strong,
#wspFloat .wa-copy small{
  color:#fff!important;
}
#wspFloat i{
  color:#079944!important;
}
.hero-section{
  background:#020a11!important;
}
.hero-section h1{
  color:#fff!important;
  text-shadow:0 2px 0 rgba(0,0,0,.18), 0 18px 50px rgba(0,0,0,.72)!important;
}
.hero-lead{
  color:#f6fbff!important;
  font-weight:800!important;
}
.quote-card{
  border:1px solid rgba(255,255,255,.9)!important;
  border-top:9px solid var(--yellow)!important;
}
.quote-card h2,
.section h2,
.service-detail-copy h3{
  color:#061521!important;
}
.dark-split h2,
.contact-band h2,
.sector-cover h2,
.service-page-cta h2{
  color:#fff!important;
  text-shadow:0 16px 42px rgba(0,0,0,.42);
}
.service-page-cta p{
  color:rgba(255,255,255,.86)!important;
}
.service-page-cta .section-kicker,
.service-page-cta .section-kicker.yellow{
  color:#ffe112!important;
  text-shadow:0 10px 28px rgba(0,0,0,.34);
}
.service-page-cta .btn-warning{
  color:#061521!important;
  box-shadow:0 22px 52px rgba(255,225,18,.25);
}
.site-footer{
  background:linear-gradient(135deg, #03111c 0%, #061f31 100%)!important;
  color:#e9f4fb!important;
  border-top:1px solid rgba(255,255,255,.08);
}
.site-footer span{
  color:#e9f4fb!important;
  font-weight:800;
}
.site-footer{
  padding:0!important;
  background:
    radial-gradient(circle at 86% 10%, rgba(49,230,255,.13), transparent 26%),
    linear-gradient(135deg, #020b14 0%, #062033 55%, #03111c 100%)!important;
}
.site-footer h3,
.site-footer a,
.site-footer p,
.site-footer span{
  position:relative;
  z-index:1;
}
@media(max-width:991px){
  .footer-main{
    grid-template-columns:1fr;
    gap:34px;
    padding:56px 0 36px;
  }
  .footer-bottom{
    align-items:flex-start;
    flex-direction:column;
  }
  .process-section .row:before{
    display:none;
  }
  .process-section{
    padding-bottom:118px;
  }
  .process-section .row > [class*="col-"]:last-child .step-card{
    padding-right:104px;
  }
  .client-carousel{
    --logo-width:calc((100% - (var(--logo-gap) * 2)) / 3);
  }
}
@media(max-width:575px){
  .footer-brand img{
    width:190px;
  }
  .footer-main{
    padding:48px 0 30px;
  }
  .clients-section{
    padding-top:76px;
    padding-bottom:90px;
  }
  .clients-section .section-kicker{
    font-size:13px;
    letter-spacing:.08em;
  }
  .clients-section h2{
    font-size:35px;
    line-height:1.07;
    margin-bottom:18px;
  }
  .clients-section p{
    font-size:15px;
    line-height:1.75;
    max-width:340px;
  }
  .client-carousel{
    --logo-gap:8px;
    --logo-width:calc((100% - (var(--logo-gap) * 2)) / 3);
    padding:10px;
    border-radius:18px;
    background:linear-gradient(145deg, #ffffff, #f5f9fc);
    box-shadow:0 22px 52px rgba(6,25,39,.14);
  }
  .client-logo-card{
    height:126px;
    padding:0;
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 14px 30px rgba(6,25,39,.09);
  }
  .client-logo-card img{
    width:118%;
    height:118%;
    max-width:none;
  }
  .client-carousel:before,
  .client-carousel:after{
    width:28px;
  }
  .contact-band{
    padding-top:84px;
  }
}

/* 8-service grid clarity */
@media(min-width:1200px){
  .services-section .service-img{
    height:176px;
  }
  .services-section .service-body{
    padding:22px;
  }
  .services-section .service-body h3{
    font-size:18px;
    line-height:1.25;
  }
  .services-section .service-body p{
    font-size:13px;
    line-height:1.55;
  }
  .services-section .service-body i{
    width:46px;
    height:46px;
    font-size:20px;
    margin-bottom:16px;
  }
}
.feature-card.active h3,
.feature-card.active p,
.service-tabs .nav-link.active{
  color:#fff!important;
}
.service-card,
.service-tabs-shell,
.quote-card,
.contact-card{
  border-color:#cfdce6!important;
}
@media(max-width:575px){
  #wspFloat{
    right:max(18px, calc((100vw - 390px) + 18px))!important;
    bottom:14px!important;
    width:66px!important;
    height:66px!important;
    min-width:66px!important;
    max-width:66px!important;
    padding:9px!important;
    border-radius:50%!important;
    box-shadow:
      0 0 0 7px rgba(18,230,109,.18),
      0 0 0 12px rgba(255,225,18,.12),
      0 24px 58px rgba(4,118,53,.52),
      0 0 36px rgba(49,230,255,.30)!important;
  }
}

/* Service pages final layer */
.service-body .service-more i{
  display:inline!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--blue)!important;
  font-size:16px!important;
}
.service-page-hero .btn-outline-light{
  border-color:rgba(255,255,255,.62);
  color:#fff;
  font-weight:900;
}
.service-page-hero .btn-outline-light:hover{
  background:#fff;
  color:var(--navy);
}
@media(max-width:991px){
  .service-page-hero{
    min-height:auto;
    padding:132px 0 76px;
  }
  .service-page-image{
    min-height:360px;
  }
  .service-page-image img{
    height:390px;
  }
  .service-page-cta{
    align-items:flex-start;
    flex-direction:column;
  }
}
@media(max-width:575px){
  .service-page-hero{
    padding:116px 0 62px;
  }
  .service-breadcrumb{
    gap:8px;
    margin-bottom:22px;
    font-size:12px;
  }
  .service-page-hero h1{
    font-size:42px;
  }
  .service-page-image{
    min-height:0;
    padding:16px;
    background:
      radial-gradient(circle at 18% 12%, rgba(255,225,18,.22), transparent 32%),
      linear-gradient(135deg, #07172a, #0b3046);
  }
  .service-page-image img{
    height:auto;
    max-height:320px;
    object-fit:contain;
  }
  .service-page-cta{
    padding:28px;
  }
  .service-page-cta h2{
    font-size:28px;
  }
  .service-point-card{
    min-height:0;
  }
}

/* WhatsApp premium floating CTA */
#wspFloat{
  right:30px!important;
  bottom:30px!important;
  width:auto!important;
  min-width:248px!important;
  height:78px!important;
  padding:12px 24px 12px 14px!important;
  gap:13px!important;
  overflow:hidden!important;
  border-radius:999px!important;
  background:
    radial-gradient(circle at 22% 20%, rgba(255,255,255,.52), transparent 26%),
    linear-gradient(135deg, #18ee73 0%, #079944 48%, #035b2d 100%)!important;
  border:3px solid #fff!important;
  outline:3px solid #ffe112!important;
  color:#fff!important;
  text-decoration:none!important;
  filter:drop-shadow(0 20px 34px rgba(0,0,0,.28))!important;
  box-shadow:
    0 0 0 9px rgba(24,238,115,.16),
    0 30px 78px rgba(3,91,45,.58),
    0 0 28px rgba(49,230,255,.20)!important;
  animation:none!important;
}
#wspFloat:before{
  content:none!important;
  display:none!important;
}
#wspFloat:after{
  content:none!important;
  display:none!important;
}
#wspFloat .wa-energy{
  display:none!important;
}
#wspFloat i{
  position:relative!important;
  z-index:3!important;
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  color:#067739!important;
  background:#fff!important;
  border:2px solid rgba(255,255,255,.92)!important;
  box-shadow:
    inset 0 0 0 4px rgba(24,238,115,.10),
    0 13px 28px rgba(0,0,0,.24)!important;
}
#wspFloat .wa-copy{
  position:relative!important;
  z-index:3!important;
  display:flex!important;
  color:#fff!important;
  text-shadow:0 2px 14px rgba(0,0,0,.42)!important;
}
#wspFloat .wa-copy strong{
  color:#fff!important;
  font-size:17px!important;
  letter-spacing:.01em!important;
}
#wspFloat .wa-copy small{
  color:#f7fffb!important;
  font-size:12px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
}
#wspFloat:hover{
  transform:translateY(-6px) scale(1.035)!important;
  box-shadow:
    0 0 0 10px rgba(24,238,115,.20),
    0 36px 92px rgba(3,91,45,.68),
    0 0 38px rgba(49,230,255,.28)!important;
}
body.modal-open #wspFloat{
  display:none!important;
}
body.footer-in-view #wspFloat{
  width:76px!important;
  min-width:76px!important;
  max-width:76px!important;
  height:76px!important;
  padding:0!important;
  border-radius:50%!important;
  gap:0!important;
}
body.footer-in-view #wspFloat .wa-copy,
body.footer-in-view #wspFloat .wa-energy{
  display:none!important;
}
body.footer-in-view #wspFloat i{
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
}
@keyframes wa-breathe{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-3px) scale(1.015)}
}
@keyframes wa-shine-strong{
  0%,42%{transform:translateX(-115%) skewX(-14deg);opacity:.05}
  56%{opacity:.95}
  78%,100%{transform:translateX(115%) skewX(-14deg);opacity:.08}
}
@media(max-width:575px){
  #wspFloat{
    right:max(16px, calc((100vw - 390px) + 16px))!important;
    bottom:16px!important;
    width:74px!important;
    min-width:74px!important;
    max-width:74px!important;
    height:74px!important;
    padding:0!important;
    border-radius:50%!important;
    gap:0!important;
    box-shadow:
      0 0 0 8px rgba(24,238,115,.19),
      0 24px 62px rgba(3,91,45,.62),
      0 0 28px rgba(49,230,255,.24)!important;
  }
  #wspFloat .wa-copy{
    display:none!important;
  }
  #wspFloat i{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    font-size:25px!important;
  }
  #wspFloat .wa-energy{
    display:none!important;
  }
  .hero-section .quote-card button[type="submit"]{
    width:calc(100% - 92px)!important;
    min-height:64px!important;
    margin-right:92px!important;
    padding-left:16px!important;
    padding-right:16px!important;
    white-space:normal!important;
    line-height:1.15!important;
  }
}

@media(max-width:575px){
  .contact-band{
    padding-bottom:132px;
  }
  .contact-form-card{
    padding:22px 18px!important;
    border-radius:18px!important;
  }
  .contact-form-card h3{
    font-size:24px;
    line-height:1.12;
    margin-bottom:14px;
  }
  .contact-form-grid{
    grid-template-columns:1fr;
    gap:0;
  }
  .contact-form-card label{
    margin-bottom:10px;
    font-size:11px;
  }
  .contact-form-card input,
  .contact-form-card select,
  .contact-form-card textarea{
    padding:11px 13px;
    font-size:13px;
  }
  .contact-form-card textarea{
    min-height:78px;
  }
  .contact-form-card .btn{
    min-height:50px;
    font-size:15px;
    white-space:normal;
  }
  .contact-card .contact-mini-links a:not(.btn){
    font-size:12px;
    line-height:1.35;
  }
}
