:root{--blue:#081d63;--blue2:#06143f;--ice:#eef3f8;--steel:#aeb8c5;--ink:#121a29;--muted:#5e6878;--line:#dce3eb;--white:#fff;--max:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:15px;background:#fff;padding:10px;z-index:99}.top{background:var(--blue2);color:#cdd6e8;font-size:.76rem}.top-inner{min-height:36px;display:flex;justify-content:space-between;align-items:center}.top-inner div{display:flex;gap:24px}.header{position:relative;z-index:20;background:#fff}.nav{height:90px;display:flex;align-items:center;justify-content:space-between}.logo img{height:70px;width:auto}.links{display:flex;gap:30px;align-items:center;font-size:.87rem;font-weight:700}.links a:hover{color:var(--blue)}.links .cta{background:var(--blue);color:#fff;padding:14px 20px}.menu{display:none;border:0;background:none}.menu span{display:block;width:27px;height:2px;background:var(--blue);margin:5px}.hero{position:relative;min-height:760px;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,13,48,.96) 0%,rgba(3,16,55,.83) 52%,rgba(3,18,62,.25) 100%)}.hero-copy{position:relative;z-index:2;padding:110px 0 170px}.tag{text-transform:uppercase;letter-spacing:.19em;font-size:.73rem;font-weight:800;color:#bfcdf7;margin:0 0 18px}.tag.dark{color:var(--blue)}h1,h2,h3{font-family:"Barlow Condensed",sans-serif;margin-top:0}h1{font-size:clamp(3.8rem,8vw,7.7rem);line-height:.86;max-width:920px;text-transform:uppercase;margin-bottom:28px}.hero-copy>p:not(.tag){max-width:700px;font-size:1.08rem;line-height:1.75;color:#d7dff2}.actions{display:flex;gap:14px;margin-top:34px}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;padding:0 24px;border:1px solid transparent;font:800 .79rem Manrope;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.primary{background:#fff;color:var(--blue)}.primary:hover{background:#dce4f6}.ghost{border-color:rgba(255,255,255,.55);color:#fff}.facts{position:absolute;z-index:3;bottom:0;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,1fr);background:#fff;color:var(--ink);box-shadow:0 -10px 40px rgba(0,0,0,.15)}.facts article{padding:27px 30px;border-right:1px solid var(--line)}.facts article:last-child{border-right:0}.facts strong{display:block;font:800 1.8rem "Barlow Condensed";color:var(--blue)}.facts span{font-size:.76rem;color:var(--muted)}.section{padding:110px 0}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:95px}.section-title h2,.heading h2,.facility-copy h2,.inverse h2,.contact h2{font-size:clamp(2.8rem,5vw,4.8rem);line-height:.95;text-transform:uppercase;margin-bottom:25px}.copy .lead{font-size:1.35rem;color:var(--ink)}.copy p,.facility-copy p,.inverse-copy p{line-height:1.8;color:var(--muted)}.values{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:40px}.values article{padding:25px;border-top:3px solid var(--blue);background:var(--ice)}.values b{font-family:"Barlow Condensed";font-size:1.6rem;text-transform:uppercase}.facility{background:var(--blue);color:#fff;padding:100px 0}.facility-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.facility-images{display:grid;grid-template-columns:1fr 1fr;gap:16px}.facility-images img{height:350px;width:100%;object-fit:cover}.facility-images img:last-child{margin-top:48px}.facility-copy p{color:#c9d3e8}.facility-copy ul{padding-left:20px;line-height:1.9;color:#e9edf7}.heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:48px}.heading>div{max-width:760px}.heading>p{max-width:380px;color:#bdc7dd;line-height:1.7}.services{background:var(--blue2);color:#fff}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.service{background:#fff;color:var(--ink);display:grid;grid-template-columns:44% 56%;min-height:300px;overflow:hidden}.service img{width:100%;height:100%;object-fit:cover}.service div{padding:35px}.service span{color:var(--blue);font:800 1.1rem "Barlow Condensed"}.service h3{font-size:2.1rem;text-transform:uppercase;margin:45px 0 12px}.service p{color:var(--muted);line-height:1.65;font-size:.9rem}.projects{background:var(--ice)}.dark-head>p{color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.project{background:#fff;box-shadow:0 18px 45px rgba(18,31,59,.08)}.project img{width:100%;height:330px;object-fit:cover}.project div{padding:30px}.project span{font-size:.75rem;font-weight:800;color:var(--blue);text-transform:uppercase;letter-spacing:.1em}.project h3{font-size:2rem;text-transform:uppercase;margin:12px 0}.project p{color:var(--muted);line-height:1.65}.inverse{background:#fff}.inverse-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}.mini{display:grid;gap:14px;margin-top:35px}.mini article{display:grid;grid-template-columns:80px 1fr;gap:15px;padding:18px 0;border-top:1px solid var(--line)}.mini strong{font:800 1.8rem "Barlow Condensed";color:var(--blue)}.mini span{color:var(--muted);font-size:.9rem;line-height:1.5}.inverse-gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px}.inverse-gallery img{width:100%;height:280px;object-fit:cover}.inverse-gallery img:first-child{grid-row:span 2;height:576px}.contact{padding:100px 0;background:var(--blue);color:#fff}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.contact-grid>div>p:not(.tag){color:#ced7eb;line-height:1.7}.contact-links{display:flex;flex-direction:column;gap:12px;margin-top:35px;color:#fff}.form{display:grid;grid-template-columns:1fr 1fr;gap:17px;background:#fff;padding:35px;color:var(--ink)}.form label{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.form input,.form select,.form textarea{width:100%;padding:14px;margin-top:8px;border:1px solid var(--line);font:inherit}.full{grid-column:1/-1}.form .primary{background:var(--blue);color:#fff}.status{margin:0;color:#277049;font-size:.86rem}footer{background:#030d2b;color:#c9d1e1}.footer{min-height:130px;display:flex;align-items:center;justify-content:space-between}.footer img{height:75px;filter:brightness(0) invert(1);opacity:.92}.footer p{font-size:.8rem}.reveal{opacity:0;transform:translateY(24px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){.links{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:25px;flex-direction:column;align-items:stretch;box-shadow:0 20px 35px rgba(0,0,0,.12)}.links.open{display:flex}.menu{display:block}.facts{position:relative;left:auto;transform:none;margin-top:-110px;grid-template-columns:1fr 1fr}.hero{display:block;min-height:auto;padding-bottom:0}.hero-copy{padding:95px 0 190px}.split,.facility-grid,.inverse-grid,.contact-grid{grid-template-columns:1fr;gap:50px}.service-grid,.project-grid{grid-template-columns:1fr}.heading{align-items:start;flex-direction:column}.facility-images img{height:270px}.inverse-gallery img:first-child{height:476px}.project img{height:300px}}@media(max-width:600px){.wrap{width:min(calc(100% - 28px),var(--max))}.top-inner>span{display:none}.top-inner{justify-content:center}.top-inner div{gap:12px}.logo img{height:58px}.nav{height:76px}h1{font-size:3.55rem}.hero-copy{padding:75px 0 170px}.actions{flex-direction:column}.facts{grid-template-columns:1fr}.facts article{border-right:0;border-bottom:1px solid var(--line)}.section{padding:75px 0}.values,.service{grid-template-columns:1fr}.service img{height:240px}.service h3{margin-top:25px}.facility{padding:75px 0}.facility-images{grid-template-columns:1fr}.facility-images img:last-child{margin-top:0}.project img{height:230px}.inverse-gallery{grid-template-columns:1fr}.inverse-gallery img,.inverse-gallery img:first-child{height:260px;grid-row:auto}.form{grid-template-columns:1fr;padding:25px}.footer{padding:30px 0;flex-direction:column;align-items:flex-start;gap:20px}.footer img{height:62px}}
.admin-link{display:block;text-align:center;padding:0 0 18px;color:#7f8aa2;font-size:.7rem;text-decoration:underline}.admin-link:hover{color:#fff}

/* Carruseles de servicios y proyectos */
.carousel{position:relative;overflow:hidden;background:#09153d;min-height:300px;isolation:isolate}.carousel-track{position:absolute;inset:0}.carousel-slide{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;opacity:0;transform:scale(1.04);transition:opacity .65s ease,transform 1.1s ease;cursor:zoom-in}.carousel-slide.active{opacity:1;transform:scale(1);z-index:1}.carousel-slide img{width:100%;height:100%;object-fit:cover}.carousel::after{content:"";position:absolute;inset:auto 0 0;height:35%;background:linear-gradient(transparent,rgba(1,7,25,.45));pointer-events:none;z-index:2}.carousel-arrow{position:absolute;top:50%;z-index:4;width:42px;height:42px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(3,13,43,.55);backdrop-filter:blur(5px);color:#fff;font-size:2rem;line-height:1;cursor:pointer;opacity:0;transition:.25s;transform:translateY(-50%)}.carousel:hover .carousel-arrow,.carousel:focus-within .carousel-arrow{opacity:1}.carousel-arrow:hover{background:#fff;color:var(--blue)}.carousel-arrow.prev{left:14px}.carousel-arrow.next{right:14px}.carousel-dots{position:absolute;z-index:4;left:16px;bottom:16px;display:flex;gap:7px}.carousel-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.55);cursor:pointer}.carousel-dots button.active{width:25px;border-radius:5px;background:#fff}.carousel-count{position:absolute;z-index:4;right:16px;bottom:12px;color:#fff;font-size:.72rem;letter-spacing:.08em;background:rgba(3,13,43,.55);padding:5px 8px;border-radius:20px}.service .carousel{min-height:100%;height:100%}.service-copy{padding:35px}.project .carousel{height:330px;min-height:330px}.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(1,5,19,.94);display:flex;align-items:center;justify-content:center;padding:35px;opacity:0;visibility:hidden;transition:.25s}.lightbox.open{opacity:1;visibility:visible}.lightbox img{max-width:min(1200px,94vw);max-height:88vh;object-fit:contain;box-shadow:0 25px 80px rgba(0,0,0,.45)}.lightbox-close{position:absolute;top:18px;right:24px;border:0;background:transparent;color:#fff;font-size:3rem;cursor:pointer}.lightbox-close:focus{outline:2px solid #fff}.carousel:focus{outline:3px solid #9db5ff;outline-offset:3px}@media(max-width:600px){.carousel-arrow{opacity:1;width:38px;height:38px}.service .carousel{height:260px;min-height:260px}.project .carousel{height:240px;min-height:240px}.lightbox{padding:18px}}


/* WhatsApp y ubicación */
.location{padding:92px 0;background:#f3f6fb;color:#0a1b3e}.location-heading{margin-bottom:28px}.map-card{overflow:hidden;border-radius:22px;background:#fff;box-shadow:0 20px 60px rgba(7,27,85,.14);border:1px solid rgba(7,27,85,.08)}.map-card iframe{display:block;width:100%;height:470px;border:0}.map-actions{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 26px}.map-actions div{display:grid;gap:5px}.map-actions strong{font:700 1.35rem 'Barlow Condensed',sans-serif;text-transform:uppercase}.map-actions span{color:#58657c}.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:1000;display:flex;align-items:center;gap:10px;padding:13px 17px 13px 13px;border-radius:999px;background:#25d366;color:#fff;text-decoration:none;font-weight:800;box-shadow:0 12px 35px rgba(0,0,0,.25);transition:transform .2s ease,box-shadow .2s ease}.whatsapp-float:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(0,0,0,.3)}.whatsapp-float svg{width:29px;height:29px;fill:currentColor}.whatsapp-float[hidden]{display:none}.whatsapp-float span{font-size:.92rem}@media(max-width:700px){.location{padding:66px 0}.map-card iframe{height:360px}.map-actions{align-items:flex-start;flex-direction:column}.map-actions .button{width:100%;text-align:center}.whatsapp-float{right:15px;bottom:15px;padding:12px}.whatsapp-float span{display:none}}


/* Contadores y clientes */
.counter{font-variant-numeric:tabular-nums;min-height:34px}.clients{background:#fff;overflow:hidden}.client-grid{overflow:hidden;position:relative;padding:10px 0}.client-grid:before,.client-grid:after{content:"";position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}.client-grid:before{left:0;background:linear-gradient(90deg,#fff,transparent)}.client-grid:after{right:0;background:linear-gradient(-90deg,#fff,transparent)}.client-track{display:flex;width:max-content;gap:20px;animation:client-scroll 28s linear infinite}.client-grid:hover .client-track{animation-play-state:paused}.client-card{width:270px;min-height:180px;flex:0 0 auto;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:26px;background:linear-gradient(145deg,#fff,#f5f7fb);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.client-card:hover{transform:translateY(-5px);border-color:#aab9d8;box-shadow:0 18px 40px rgba(7,27,85,.11)}.client-card img{width:100%;height:90px;object-fit:contain;filter:grayscale(1);opacity:.78;transition:filter .25s ease,opacity .25s ease,transform .25s ease}.client-card:hover img{filter:none;opacity:1;transform:scale(1.04)}.client-card strong{font:800 clamp(1.7rem,3vw,2.7rem) 'Barlow Condensed',sans-serif;text-transform:uppercase;color:var(--blue);line-height:1}.client-card span{margin-top:14px;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.11em}@keyframes client-scroll{to{transform:translateX(calc(-50% - 10px))}}@media(max-width:800px){.client-card{width:220px;min-height:150px}.client-card img{height:70px}.client-grid:before,.client-grid:after{width:28px}}@media(prefers-reduced-motion:reduce){.client-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}}


/* Ajuste dinámico de cifras: conserva el diseño original y permite agregar más indicadores. */
.facts{grid-template-columns:repeat(var(--facts-columns,4),minmax(0,1fr));width:min(calc(100% - 40px),var(--max))}
.facts.facts-many article{padding-left:22px;padding-right:22px}
.facts.facts-many strong{font-size:1.65rem}
.facts.facts-multiline{grid-template-columns:repeat(5,minmax(0,1fr))}
.facts.facts-multiline article:nth-child(5n){border-right:0}
@media(max-width:1050px){.facts{grid-template-columns:repeat(3,minmax(0,1fr))}.facts article:nth-child(3n){border-right:0}}
@media(max-width:900px){.facts{width:min(calc(100% - 40px),var(--max));grid-template-columns:repeat(2,minmax(0,1fr))}.facts article:nth-child(3n){border-right:1px solid var(--line)}.facts article:nth-child(2n){border-right:0}}
@media(max-width:600px){.facts{width:min(calc(100% - 28px),var(--max));grid-template-columns:1fr}.facts article{border-right:0!important}}

/* Ajuste 2026-08-13: fotografías completas en tarjetas de Servicios */
.service{
  display:flex;
  flex-direction:column;
  min-height:0;
}
.service .carousel{
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:4 / 3;
  background:var(--blue2);
}
.service .carousel-slide img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  background:var(--blue2);
}
.service .service-copy{
  width:100%;
  padding:30px 35px 34px;
}
.service h3{
  margin:18px 0 12px;
}
@media(max-width:600px){
  .service .carousel{
    height:auto;
    min-height:0;
    aspect-ratio:4 / 3;
  }
}

/* Ajuste 2026-08-13: texto arriba y galería debajo en Servicios */
.service .service-copy{
  order:-1;
  border-bottom:1px solid var(--line);
}
.service .carousel{
  order:2;
}
