@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#06151d;--paper:#f3f7f8;--cyan:#00c7ed;--cyan2:#79edff;--muted:#60737b;--line:#d1dde0;--display:'Barlow Condensed',sans-serif;--body:'DM Sans',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);overflow-x:hidden}.progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--cyan);z-index:9999}.container{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{position:fixed;z-index:1000;inset:0 0 auto;background:linear-gradient(#000b,transparent);transition:.35s;color:#fff}.site-header.scrolled{background:#06151def;backdrop-filter:blur(15px)}.nav-wrap{height:82px;width:min(1240px,calc(100% - 36px));margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:14px;color:#fff;text-decoration:none;min-width:0}.brand img{width:62px;height:62px;max-height:62px;object-fit:contain;display:block;flex:0 0 auto}.brand-name{display:block;color:#fff;font-family:var(--body);font-size:14px;font-weight:800;letter-spacing:.10em;line-height:1.1;text-transform:uppercase;white-space:nowrap;text-shadow:0 2px 12px rgba(0,0,0,.35)}.desktop-nav{display:flex;gap:23px;align-items:center}.desktop-nav a,.mobile-nav a{color:#fff;text-decoration:none;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.08em}.desktop-nav a:hover{color:var(--cyan)}.nav-quote{border:1px solid #fff5;padding:12px 17px;border-radius:999px;background:#ffffff12}.menu-toggle{display:none;border:0;background:none}.menu-toggle span{display:block;width:26px;height:2px;background:#fff;margin:5px}.mobile-nav{display:none}.hero{min-height:100vh;position:relative;display:flex;align-items:center;color:#fff}.hero-bg,.cta-bg{position:absolute;inset:0;background-size:cover;background-position:center}.hero-overlay,.cta-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#03131bf2,#03131b99 55%,#03131b33),linear-gradient(0deg,#03131baa,transparent 55%)}.hero-inner{position:relative;z-index:2;padding-top:95px}.eyebrow,.section-label{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.eyebrow{color:var(--cyan2);margin-bottom:25px}.hero h1,.split-heading h2,.dark h2,.capacity h2,.projects h2,.emc h2,.clients h2,.cta-section h2{font-family:var(--display);font-weight:900;line-height:.86;text-transform:uppercase;letter-spacing:-.035em;margin:0}.hero h1{font-size:clamp(66px,9vw,132px);max-width:1000px}.hero em,.dark em,.capacity em,.projects em,.emc em,.clients em,.cta-section em{font-style:normal;color:var(--cyan)}.hero-copy{max-width:650px;font-size:18px;line-height:1.65;color:#d8e3e7;margin:28px 0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;text-decoration:none;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;transition:.3s}.btn-primary{background:var(--cyan);color:#03212a}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 15px 40px #00c7ed44}.btn-ghost,.btn-light{border:1px solid #fff6;color:#fff;background:#ffffff10}.hero-stats{display:flex;gap:42px;margin-top:65px}.hero-stats strong{font:800 45px var(--display)}.hero-stats span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#b3c4c9}.scroll-cue{position:absolute;right:30px;bottom:30px;font-size:10px;letter-spacing:.2em}.scroll-cue span{display:inline-block;width:42px;height:1px;background:var(--cyan);vertical-align:middle;margin-left:10px}.ticker{overflow:hidden;white-space:nowrap;background:var(--cyan);font:800 20px var(--display);color:#03202a}.ticker-track{display:inline-block;padding:12px 0;animation:ticker 24s linear infinite}@keyframes ticker{to{transform:translateX(-50%)}}.section{padding:120px 0}.section-label{color:#0089a4;margin-bottom:35px}.section-label span{color:#8fa1a8;margin-right:10px}.split-heading h2,.dark h2,.capacity h2,.projects h2,.emc h2,.clients h2,.cta-section h2{font-size:clamp(54px,6vw,88px)}.company-copy{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin:42px 0 25px}.company-copy p{color:#566970;line-height:1.75;font-size:15px}.company-copy .lead{font-size:20px;color:#263f49}.text-link,.mini-links a{color:#007f9b;text-decoration:none;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.12em}.text-link{display:inline-block;margin-bottom:45px}.feature-photo{height:520px;position:relative;border-radius:26px;overflow:hidden}.feature-photo img{width:100%;height:100%;object-fit:cover}.feature-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#03131ddd,transparent 55%)}.feature-photo div{position:absolute;z-index:2;left:30px;bottom:28px;display:flex;align-items:baseline;gap:14px;color:#fff}.feature-photo b{font:900 38px var(--display);color:var(--cyan)}.feature-photo span{font-size:10px;font-weight:800;letter-spacing:.12em}.dark{background:var(--ink);color:#fff}.dark .section-label{color:var(--cyan)}.dark-head{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:end;margin-bottom:50px}.dark-head p,.capacity-text>p,.emc-copy>p,.clients-head p,.projects-head p{color:#9db1b8;line-height:1.75}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{background:#0c2833;border:1px solid #ffffff0e;border-radius:20px;overflow:hidden;transition:.35s}.service-card:hover{transform:translateY(-7px);border-color:#00c7ed55}.service-img{height:235px;position:relative}.service-img img{width:100%;height:100%;object-fit:cover;transition:.6s}.service-card:hover .service-img img{transform:scale(1.08)}.service-img:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#06151ddd,transparent 55%)}.service-img span{position:absolute;z-index:2;top:15px;left:17px;color:var(--cyan);font:800 19px var(--display)}.service-body{padding:23px}.service-body h3{font:700 28px/1 var(--display);text-transform:uppercase;margin:0 0 12px}.service-body p{color:#9cb0b7;font-size:13px;line-height:1.6;min-height:64px}.card-link{background:none;border:0;padding:0;color:var(--cyan);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;cursor:pointer}.capacity-grid,.emc-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.meter-list{margin-top:42px}.meter-list div{border-top:1px solid var(--line);padding:17px 0;display:flex;justify-content:space-between;font-weight:700}.meter-list b{color:#008da8}.capacity-image,.emc-image{height:590px;border-radius:26px;overflow:hidden}.capacity-image img,.emc-image img{width:100%;height:100%;object-fit:cover}.projects{background:#e7eef0}.projects-head,.clients-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:50px}.projects-head p,.clients-head p{max-width:430px;color:#61747b}.masonry{columns:3 260px;column-gap:14px}.gallery-item{width:100%;padding:0;border:0;margin:0 0 14px;display:block;position:relative;overflow:hidden;border-radius:15px;cursor:pointer;background:#ccc;break-inside:avoid}.gallery-item img{width:100%;display:block;transition:.5s}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000b,transparent 50%);opacity:0;transition:.3s}.gallery-item span{position:absolute;z-index:2;left:16px;bottom:14px;color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;opacity:0}.gallery-item:hover img{transform:scale(1.05)}.gallery-item:hover:after,.gallery-item:hover span{opacity:1}.emc{background:#fafcfd}.mini-links{display:flex;gap:25px;flex-wrap:wrap}.clients{background:#fff}.client-columns{display:grid;grid-template-columns:.8fr 1.6fr .8fr;gap:35px}.client-group{border-top:2px solid var(--ink);padding-top:17px}.client-group h3{font:800 22px var(--display);margin:0 0 15px}.client-group ul{list-style:none;margin:0;padding:0}.client-group li{font-size:13px;color:#65777d;padding:9px 0;border-bottom:1px solid #dfe6e8}.cta-section{min-height:700px;position:relative;color:#fff;display:flex;align-items:center}.cta-content{position:relative;z-index:2}.cta-content p{max-width:580px;color:#d1dfe2;line-height:1.7;font-size:17px}.cta-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.contact-meta{display:flex;gap:22px;flex-wrap:wrap;color:#a9bdc2;font-size:12px}.footer{background:#04131e;color:#9cb0b7;padding:60px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr 1fr;gap:60px}.footer-logo{width:76px;height:76px;max-height:76px;object-fit:contain}.footer p,.footer a{display:block;color:#9cb0b7;text-decoration:none;font-size:13px;line-height:1.7}.footer-kicker{display:block;color:var(--cyan);font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;margin-bottom:8px}.footer-bottom{width:min(1180px,calc(100% - 40px));margin:42px auto 0;border-top:1px solid #ffffff18;padding-top:17px;display:flex;justify-content:space-between;font-size:11px}.footer-bottom a{color:#fff}.whatsapp-float{position:fixed;right:20px;bottom:20px;z-index:1200;background:#0dbb3f;color:#fff;border-radius:999px;padding:7px 18px 7px 7px;display:flex;align-items:center;gap:10px;text-decoration:none;box-shadow:0 12px 35px #0005;transition:.3s}.whatsapp-float:hover{transform:translateY(-4px)}.whatsapp-float img{width:48px;height:48px;border-radius:50%;object-fit:cover}.whatsapp-float span{font-size:10px}.whatsapp-float b{display:block;font-size:12px}.modal,.lightbox{position:fixed;inset:0;z-index:3000;display:none;align-items:center;justify-content:center}.modal.open,.lightbox.open{display:flex}.modal{background:#03131ddc;backdrop-filter:blur(12px)}.modal-box{width:min(700px,calc(100% - 28px));background:#fff;border-radius:24px;padding:42px;position:relative}.modal-box h3{font:900 50px var(--display);text-transform:uppercase;margin:0 0 15px}.modal-box p{color:#60737a;line-height:1.75}.modal-close,.lb-close{position:absolute;right:17px;top:10px;border:0;background:none;font-size:32px;cursor:pointer}.lightbox{background:#02090ddd;backdrop-filter:blur(12px)}.lightbox img{max-width:87vw;max-height:82vh;border-radius:18px}.lb-close{color:#fff}.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);border:0;background:#ffffff18;color:#fff;font-size:52px;width:58px;height:80px;cursor:pointer}.lb-prev{left:20px}.lb-next{right:20px}.lb-caption{position:absolute;bottom:18px;color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.reveal{opacity:0;transform:translateY(24px);transition:.75s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.brand-name{font-size:12px;letter-spacing:.07em}.brand img{width:58px;height:58px}.desktop-nav{display:none}.menu-toggle{display:block}.mobile-nav{display:flex;position:absolute;top:76px;left:10px;right:10px;background:#06151df5;border:1px solid #fff2;border-radius:17px;padding:18px;gap:16px;flex-direction:column;transform:translateY(-12px);opacity:0;pointer-events:none;transition:.25s}.mobile-nav.open{transform:none;opacity:1;pointer-events:auto}.hero h1{font-size:clamp(58px,14vw,95px)}.hero-stats{gap:22px}.company-copy,.dark-head,.capacity-grid,.emc-grid,.client-columns,.footer-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.projects-head,.clients-head{display:block}.capacity-image,.emc-image{height:430px}.whatsapp-float span{display:none}.whatsapp-float{padding:6px}.whatsapp-float img{width:57px;height:57px}}
@media(max-width:580px){.brand{gap:9px}.brand img{width:48px;height:48px}.brand-name{font-size:10px;letter-spacing:.055em;max-width:190px;white-space:normal}.container{width:calc(100% - 28px)}.section{padding:85px 0}.hero h1,.split-heading h2,.dark h2,.capacity h2,.projects h2,.emc h2,.clients h2,.cta-section h2{font-size:56px}.hero-copy{font-size:15px}.service-grid{grid-template-columns:1fr}.feature-photo{height:330px}.company-copy{gap:15px}.footer-bottom{width:calc(100% - 28px);display:block}.footer-bottom a{display:block;margin-top:10px}.modal-box{padding:32px 23px}.modal-box h3{font-size:40px}}


.contact-form-wrap{max-width:920px;margin:34px 0 20px}
.contact-form{position:relative;background:rgba(7,23,31,.78);border:1px solid rgba(255,255,255,.13);border-radius:26px;padding:30px 30px 26px;box-shadow:0 24px 70px rgba(0,0,0,.25);backdrop-filter:blur(18px);overflow:hidden}
.contact-form:before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,var(--cyan),transparent 65%)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 16px}
.contact-form label{display:block;color:#b9c9ce;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:7px;border:1px solid rgba(255,255,255,.13);background:rgba(1,13,20,.68);color:#fff;border-radius:13px;padding:13px 15px;font:500 13px var(--body);outline:none;transition:.25s}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#71838a}
.contact-form input,.contact-form select{height:48px}
.contact-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#84979e 50%),linear-gradient(135deg,#84979e 50%,transparent 50%);background-position:calc(100% - 18px) 20px,calc(100% - 13px) 20px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:40px}
.contact-form option{color:#07161e;background:#fff}
.contact-form textarea{min-height:132px;resize:vertical;line-height:1.55}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:rgba(0,199,237,.75);box-shadow:0 0 0 3px rgba(0,199,237,.08);background:rgba(1,13,20,.86)}
.field-message{grid-column:1/-1;margin-top:1px}
.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding-top:17px;border-top:1px solid rgba(255,255,255,.09)}
.form-note{display:flex;align-items:center;gap:9px;color:#8fa5ac;font-size:10px}
.form-dot{width:7px;height:7px;border-radius:50%;background:#21d276;box-shadow:0 0 0 4px rgba(33,210,118,.1)}
.form-actions{display:flex;justify-content:flex-end}
.contact-form .btn{border:0;min-height:46px;padding:0 21px;cursor:pointer}
.contact-form .btn span{font-size:15px;margin-left:5px}
.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.contact-status{margin:0 0 15px}.status{border-radius:12px;padding:12px 15px;font-size:12px;font-weight:600}.status.ok{background:#0b9f4730;border:1px solid #20cf6b66;color:#9ff2bd}.status.error{background:#d54c4c24;border:1px solid #ff777766;color:#ffc0c0}
@media(max-width:580px){
 .form-grid{grid-template-columns:1fr}
 .field-message{grid-column:auto}
 .form-bottom{align-items:stretch;flex-direction:column}
 .form-actions{justify-content:stretch}
 .form-actions .btn{width:100%}
 .contact-form{padding:23px 20px 20px;border-radius:21px}
 .contact-form-wrap{margin-top:25px}
}

.form-heading{display:flex;align-items:baseline;gap:13px;margin:0 0 13px}
.form-heading span{font:700 25px/1 var(--display);text-transform:uppercase;color:#fff;letter-spacing:.01em}
.form-heading small{font-size:11px;color:#94a8ae}
@media(max-width:580px){.form-heading{display:block}.form-heading small{display:block;margin-top:5px}}

/* CONTACTO · MINIMAL 2027 */
.contact-section{min-height:680px;padding:105px 0 90px}
.contact-section .cta-overlay{background:linear-gradient(90deg,rgba(3,15,21,.94),rgba(3,15,21,.74) 52%,rgba(3,15,21,.48)),linear-gradient(0deg,rgba(3,15,21,.82),rgba(3,15,21,.18))}
.contact-layout{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 470px;gap:85px;align-items:center}
.contact-intro{max-width:650px}
.contact-intro h2{margin:0;font:900 clamp(58px,6vw,86px)/.86 var(--display);text-transform:uppercase;letter-spacing:-.035em}
.contact-intro p{max-width:590px;color:#cad7db;line-height:1.7;font-size:15px;margin:25px 0 32px}
.contact-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 35px;border-top:1px solid rgba(255,255,255,.14);padding-top:22px}
.contact-details a,.contact-details div{color:#e5edef;text-decoration:none;font-size:13px;line-height:1.45}
.contact-details span{display:block;color:#71868d;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.15em;margin-bottom:5px}
.contact-details div{grid-column:1/-1;max-width:470px}
.contact-whatsapp-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px;max-width:650px}
.contact-whatsapp-link{min-width:0;display:flex;align-items:center;gap:11px;padding:14px 13px;border:1px solid rgba(255,255,255,.13);border-radius:15px;color:#fff;text-decoration:none;background:linear-gradient(135deg,rgba(255,255,255,.065),rgba(255,255,255,.025));transition:background .22s,border-color .22s,transform .22s;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.contact-whatsapp-link:hover{background:rgba(18,185,63,.09);border-color:rgba(18,185,63,.48);transform:translateY(-2px)}
.contact-whatsapp-link .wa-mini{flex:0 0 35px;width:35px;height:35px;border-radius:11px;display:grid;place-items:center;background:#12b93f;color:#fff}
.contact-whatsapp-link .wa-mini svg{display:block;width:21px;height:21px;fill:currentColor}
.contact-whatsapp-copy{display:block;min-width:0;flex:1}
.contact-whatsapp-copy small{display:block;color:#7f969e;font-size:8px;font-weight:800;letter-spacing:.12em;line-height:1.3;margin-bottom:4px}
.contact-whatsapp-copy b{display:block;font-size:12px;line-height:1.3;white-space:nowrap}
.contact-whatsapp-copy em{display:block;color:#12c86a;font-style:normal;font-size:9px;line-height:1.4;margin-top:4px}
.contact-whatsapp-link>strong{color:var(--cyan);font-size:15px;align-self:flex-start;margin-left:0}
.contact-card{background:rgba(5,20,27,.72);border:1px solid rgba(255,255,255,.13);border-radius:22px;padding:27px;box-shadow:0 25px 65px rgba(0,0,0,.24);backdrop-filter:blur(18px)}
.contact-card:before{content:"";display:block;width:46px;height:2px;background:var(--cyan);margin-bottom:20px}
.contact-card .form-heading{display:block;margin:0 0 20px}
.contact-card .form-heading span{display:block;color:#fff;font:700 25px/1 var(--display);text-transform:uppercase}
.contact-card .form-heading small{display:block;color:#84999f;font-size:10px;margin-top:6px}
.minimal-form{margin:0!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}
.minimal-form:before{display:none}
.minimal-form label{display:block;color:#9db0b5;font-size:9px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;margin-bottom:15px}
.minimal-form input,.minimal-form select,.minimal-form textarea{width:100%;height:45px;margin-top:6px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(0,10,16,.62);color:#fff;padding:0 13px;font:500 12px var(--body);outline:none;transition:.2s}
.minimal-form textarea{height:auto;min-height:102px;padding:12px 13px;resize:vertical;line-height:1.5}
.minimal-form input::placeholder,.minimal-form textarea::placeholder{color:#60757c}
.minimal-form input:focus,.minimal-form select:focus,.minimal-form textarea:focus{border-color:rgba(0,199,237,.7);box-shadow:0 0 0 3px rgba(0,199,237,.07)}
.minimal-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#789097 50%),linear-gradient(135deg,#789097 50%,transparent 50%);background-position:calc(100% - 17px) 18px,calc(100% - 12px) 18px;background-size:5px 5px;background-repeat:no-repeat;padding-right:35px}
.minimal-form option{color:#07161e;background:#fff}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-submit{border-top:1px solid rgba(255,255,255,.1);padding-top:16px;margin-top:2px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.form-submit>span{font-size:9px;color:#71868d}
.minimal-form .btn{min-height:43px;padding:0 17px;border:0;cursor:pointer;font-size:10px}
.minimal-form .btn b{font-size:14px;margin-left:4px}
.minimal-form .hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.contact-card .contact-status{margin:0 0 12px}
.contact-card .status{padding:10px 12px;font-size:10px;border-radius:9px}
@media(max-width:950px){
 .contact-layout{grid-template-columns:1fr;gap:40px}
 .contact-intro{max-width:760px}
 .contact-card{max-width:650px}
}
@media(max-width:580px){
 .contact-section{padding:82px 0 75px}
 .contact-layout{gap:32px}
 .contact-intro h2{font-size:55px}
 .contact-details{grid-template-columns:1fr;gap:14px}
 .contact-details div{grid-column:auto}
 .contact-whatsapp-group{grid-template-columns:1fr;gap:10px;margin-top:24px}
 .contact-whatsapp-link{width:100%;padding:13px 14px}
 .contact-whatsapp-copy b{font-size:13px}
 .contact-card{padding:21px;border-radius:18px}
 .form-row{grid-template-columns:1fr;gap:0}
 .form-submit{align-items:stretch;flex-direction:column}
 .minimal-form .btn{width:100%}
}

/* CONTACT FORM LABEL VISIBILITY FIX */
.contact-card .form-heading span{
  display:block;
  width:100%;
  white-space:normal;
  overflow:visible;
  line-height:1.05;
  letter-spacing:.01em;
  font-size:27px;
}
.contact-card .form-heading small{
  display:block;
  width:100%;
  white-space:normal;
  line-height:1.4;
}
.minimal-form label{
  display:block;
  width:100%;
  min-width:0;
  white-space:normal;
  overflow:visible;
  line-height:1.25;
  padding-top:1px;
}
.minimal-form label::first-line{
  white-space:normal;
}
.minimal-form input,
.minimal-form select,
.minimal-form textarea{
  max-width:100%;
}
.form-row > label{
  min-width:0;
}
@media(max-width:580px){
  .contact-card .form-heading span{
    font-size:24px;
  }
  .minimal-form label{
    font-size:10px;
  }
}

/* FINAL FIX: FORM LABELS MUST NEVER CLIP */
.minimal-form label,
.minimal-form .field-label{
  display:block;
  position:relative;
  width:100%;
  height:auto;
  min-height:16px;
  padding:0 2px 0 2px;
  margin:0 0 15px;
  overflow:visible;
  white-space:normal;
  line-height:1.4;
  letter-spacing:.12em;
  font-size:9px;
  font-weight:800;
  text-indent:0;
  transform:none;
}
.minimal-form label::first-letter{
  margin-left:0;
}
.minimal-form label input,
.minimal-form label select,
.minimal-form label textarea{
  margin-top:7px;
}
.form-row label{
  min-width:0;
}

/* DEFINITIVE FORM LABEL FIX */
.minimal-form label{
  display:block!important;
  position:relative!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0 0 15px!important;
  padding:0!important;
  overflow:visible!important;
  white-space:normal!important;
  text-indent:0!important;
  transform:none!important;
  line-height:1!important;
  font-size:0!important;
  letter-spacing:0!important;
}
.minimal-form label .field-title{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:12px!important;
  margin:0!important;
  padding:0 0 1px 1px!important;
  overflow:visible!important;
  white-space:normal!important;
  text-indent:0!important;
  font:800 9px/12px var(--body)!important;
  letter-spacing:.13em!important;
  color:#aebfc4!important;
  text-transform:uppercase!important;
  box-sizing:border-box!important;
}
.minimal-form label input,
.minimal-form label select,
.minimal-form label textarea{
  display:block!important;
  width:100%!important;
  box-sizing:border-box!important;
  margin-top:7px!important;
}

/* HERO CAROUSEL 2027 */
.hero-carousel{overflow:hidden;isolation:isolate}
.hero-slides{position:absolute;inset:0;z-index:0;background:#04151d}
.hero-slide{position:absolute;inset:0;opacity:0;transform:scale(1.045);transition:opacity 1.05s ease,transform 7s ease;pointer-events:none}
.hero-slide.is-active{opacity:1;transform:scale(1);z-index:1}
.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-carousel .hero-overlay{z-index:2;background:linear-gradient(90deg,rgba(2,15,22,.88),rgba(2,15,22,.46) 54%,rgba(2,15,22,.18)),linear-gradient(0deg,rgba(2,15,22,.74),rgba(2,15,22,.08) 58%,rgba(2,15,22,.22))}
.hero-carousel .hero-inner{z-index:4}
.hero-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:46px;height:46px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(0,10,15,.28);backdrop-filter:blur(8px);color:#fff;font:400 30px/1 var(--body);cursor:pointer;transition:.25s}
.hero-arrow:hover{background:rgba(0,199,237,.9);border-color:transparent;color:#03212a}
.hero-prev{right:82px;bottom:58px;top:auto;transform:none}
.hero-next{right:26px;bottom:58px;top:auto;transform:none}
.hero-dots{position:absolute;z-index:5;right:145px;bottom:76px;display:flex;gap:7px;align-items:center}
.hero-dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.42);cursor:pointer;transition:.25s}
.hero-dot.active{width:28px;border-radius:999px;background:var(--cyan)}
.hero-progress{position:absolute;z-index:5;right:25px;top:50%;width:2px;height:120px;transform:translateY(-50%);background:rgba(255,255,255,.2);overflow:hidden}
.hero-progress span{display:block;width:100%;height:0;background:var(--cyan);transition:height .1s linear}
.hero-carousel .scroll-cue{z-index:5}
@media(max-width:700px){
 .hero-arrow{bottom:25px;width:40px;height:40px}
 .hero-prev{right:73px}.hero-next{right:22px}
 .hero-dots{right:127px;bottom:42px}
 .hero-progress{display:none}
}

/* HERO CAROUSEL · 3 SECOND AUTOPLAY + BOTTOM SCROLL */
.hero-scroll{
  position:absolute;
  z-index:6;
  left:50%;
  bottom:24px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:12px;
  color:#fff;
  text-decoration:none;
  font-size:9px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:999px;
  background:rgba(2,15,22,.22);
  backdrop-filter:blur(8px);
  transition:.25s;
}
.hero-scroll:hover{
  color:var(--cyan);
  border-color:rgba(0,199,237,.45);
  background:rgba(2,15,22,.42);
}
.hero-scroll i{
  display:block;
  width:34px;
  height:1px;
  background:var(--cyan);
}
.hero-scroll b{
  color:#a9bbc0;
  font-size:8px;
  font-weight:800;
  letter-spacing:.12em;
}
.hero-scroll b::first-letter{color:var(--cyan)}
.hero-carousel .hero-dots{bottom:25px}
.hero-carousel .hero-prev,
.hero-carousel .hero-next{bottom:20px}
.hero-carousel .hero-progress{
  height:2px;
  width:120px;
  right:50%;
  top:auto;
  bottom:0;
  transform:translateX(50%);
}
.hero-carousel .hero-progress span{
  width:0;
  height:100%!important;
  transition:none;
}
@media(max-width:700px){
  .hero-scroll{bottom:78px}
  .hero-carousel .hero-dots{bottom:25px}
  .hero-carousel .hero-prev,.hero-carousel .hero-next{bottom:72px}
}

/* =========================================================
   SERVICIOS · PREMIUM 2027
   ========================================================= */
.service-grid{
  perspective:1400px;
  gap:18px;
}
.service-card{
  position:relative;
  isolation:isolate;
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  overflow:hidden;
  background:linear-gradient(145deg,#0d303b,#09242d);
  box-shadow:0 14px 34px rgba(0,0,0,.18);
  transform:translateY(0);
  transition:
    transform .55s cubic-bezier(.2,.8,.2,1),
    box-shadow .55s ease,
    border-color .35s ease,
    background .4s ease;
}
.service-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:5;
  pointer-events:none;
  background:
    linear-gradient(125deg,transparent 0%,transparent 35%,rgba(0,199,237,.12) 50%,transparent 64%,transparent 100%);
  background-size:220% 220%;
  background-position:130% 50%;
  transition:background-position .9s ease;
  mix-blend-mode:screen;
}
.service-card::after{
  content:"";
  position:absolute;
  z-index:4;
  left:12%;
  right:12%;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent);
  opacity:.18;
  transition:opacity .35s ease,transform .45s ease;
}
.service-card:hover{
  transform:translateY(-10px) rotateX(1deg);
  border-color:rgba(0,199,237,.34);
  box-shadow:
    0 24px 55px rgba(0,0,0,.34),
    0 0 0 1px rgba(0,199,237,.05),
    0 10px 30px rgba(0,199,237,.07);
  background:linear-gradient(145deg,#103946,#09252f);
}
.service-card:hover::before{
  background-position:-20% 50%;
}
.service-card:hover::after{
  opacity:.9;
  transform:scaleX(1.08);
}
.service-img{
  height:250px;
  overflow:hidden;
  position:relative;
}
.service-img::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(180deg,rgba(3,20,27,.05),transparent 45%),
    linear-gradient(0deg,rgba(3,20,27,.68),transparent 62%);
  transition:opacity .4s ease;
}
.service-img::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  background:linear-gradient(120deg,transparent 25%,rgba(0,199,237,.18),transparent 65%);
  transform:translateX(-120%);
  transition:transform .75s ease;
}
.service-img img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.88) contrast(1.02);
  transform:scale(1.01);
  transition:
    transform 1.1s cubic-bezier(.16,.8,.2,1),
    filter .55s ease;
}
.service-card:hover .service-img img{
  transform:scale(1.095);
  filter:saturate(1.05) contrast(1.05);
}
.service-card:hover .service-img::after{
  transform:translateX(120%);
}
.service-card:hover .service-img::before{
  opacity:.78;
}
.service-img span{
  position:absolute;
  z-index:6;
  top:16px;
  left:17px;
  display:grid;
  place-items:center;
  width:39px;
  height:39px;
  border:1px solid rgba(0,199,237,.38);
  border-radius:50%;
  background:rgba(3,20,27,.52);
  backdrop-filter:blur(8px);
  color:var(--cyan);
  font:800 17px/1 var(--display);
  transition:
    transform .45s cubic-bezier(.2,.8,.2,1),
    background .35s ease,
    color .35s ease;
}
.service-card:hover .service-img span{
  transform:translateY(-2px) rotate(-6deg) scale(1.08);
  background:var(--cyan);
  color:#03212a;
}
.service-body{
  position:relative;
  z-index:7;
  min-height:207px;
  padding:25px 23px 22px;
  display:flex;
  flex-direction:column;
}
.service-body h3{
  margin:0 0 11px;
  font:700 clamp(25px,2vw,29px)/.96 var(--display);
  letter-spacing:-.01em;
  text-transform:uppercase;
  transition:transform .4s ease,color .35s ease;
}
.service-card:hover .service-body h3{
  color:#fff;
  transform:translateX(2px);
}
.service-body p{
  margin:0;
  color:#9db5bc;
  font-size:12.5px;
  line-height:1.65;
  max-width:95%;
  min-height:63px;
}
.card-link{
  position:relative;
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:auto;
  padding:11px 0 0;
  color:var(--cyan);
  font-size:10px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
  transition:gap .3s ease,color .3s ease;
}
.card-link::after{
  content:"";
  width:23px;
  height:1px;
  background:currentColor;
  transform-origin:left;
  transform:scaleX(.45);
  transition:transform .35s ease;
}
.service-card:hover .card-link{
  gap:11px;
  color:#6feaff;
}
.service-card:hover .card-link::after{
  transform:scaleX(1);
}
.service-card.reveal{
  transition:
    opacity .7s ease,
    transform .7s cubic-bezier(.2,.8,.2,1),
    box-shadow .55s ease,
    border-color .35s ease;
}
.service-card.reveal.visible{
  transform:translateY(0);
}
.service-card.reveal:not(.visible){
  transform:translateY(34px);
}
.service-card.reveal.visible:hover{
  transform:translateY(-10px) rotateX(1deg);
}
@media (prefers-reduced-motion:reduce){
  .service-card,.service-card::before,.service-img img,.service-img::after,.service-card:hover .service-img img{
    transition:none!important;
    transform:none!important;
  }
}
@media(max-width:900px){
  .service-img{height:230px}
  .service-body{min-height:205px}
}
@media(max-width:580px){
  .service-grid{gap:15px}
  .service-card{border-radius:18px}
  .service-img{height:215px}
  .service-body{min-height:0;padding:21px 19px 20px}
  .service-body h3{font-size:26px}
  .service-body p{min-height:0;margin-bottom:18px}
  .card-link{margin-top:0}
}

/* Barra lateral / desplazamiento corporativo GYM Perforaciones */
html{scrollbar-color:#08b8df #06151d;scrollbar-width:thin}
html::-webkit-scrollbar{width:10px;height:10px}
html::-webkit-scrollbar-track{background:#06151d}
html::-webkit-scrollbar-thumb{background:#0a6f91;border-radius:999px;border:2px solid #06151d}
html::-webkit-scrollbar-thumb:hover{background:#08b8df}

/* HERO — tipografía más simple y menos invasiva */
.hero h1,
.hero-title,
.hero-copy h1,
.hero-content h1,
.hero-text h1{
  font-size:clamp(42px,5.1vw,76px)!important;
  line-height:.92!important;
  letter-spacing:-.045em!important;
  max-width:760px!important;
}
.hero h1 span,
.hero-title span,
.hero-copy h1 span,
.hero-content h1 span,
.hero-text h1 span{
  display:inline!important;
}
.hero p,
.hero-copy p,
.hero-content p,
.hero-text p{
  max-width:620px!important;
  font-size:15px!important;
  line-height:1.65!important;
}
@media(max-width:700px){
  .hero h1,
  .hero-title,
  .hero-copy h1,
  .hero-content h1,
  .hero-text h1{
    font-size:clamp(34px,10vw,52px)!important;
    line-height:.95!important;
  }
}

/* HERO — tipografía limpia y compacta */
.hero-main-title{
  font-family:inherit!important;
  font-size:clamp(40px,4.35vw,68px)!important;
  font-weight:900!important;
  line-height:1.02!important;
  letter-spacing:-0.025em!important;
  word-spacing:0!important;
  max-width:780px!important;
  white-space:normal!important;
  text-wrap:balance!important;
  margin:0 0 22px!important;
}
.hero-main-title br{display:none!important}
.hero-main-title span{
  display:inline!important;
  margin:0!important;
  padding:0!important;
  letter-spacing:inherit!important;
  word-spacing:inherit!important;
}
@media(max-width:700px){
  .hero-main-title{
    font-size:clamp(34px,9vw,50px)!important;
    line-height:1.03!important;
    letter-spacing:-0.02em!important;
  }
}

/* CONTACTO — corrección de título y labels */
.contact-form label,
.quote-form label,
form label{
  overflow:visible!important;
  height:auto!important;
  line-height:1.35!important;
  padding-top:1px!important;
  padding-bottom:3px!important;
  display:block!important;
}
.form-label-text{
  display:inline-block!important;
  overflow:visible!important;
  white-space:nowrap!important;
  line-height:1.35!important;
  padding-right:3px!important;
  transform:none!important;
}

/* CONTACTO — contenedor y labels corregidos */
#contacto .contact-form,
#contacto .quote-form,
#contacto form{
  box-sizing:border-box!important;
  overflow:visible!important;
}

#contacto label{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-height:18px!important;
  height:auto!important;
  margin:0 0 7px!important;
  padding:0 0 1px!important;
  overflow:visible!important;
  line-height:1.45!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  position:relative!important;
}

#contacto .form-label-text{
  display:inline-block!important;
  box-sizing:border-box!important;
  width:auto!important;
  height:auto!important;
  min-width:max-content!important;
  max-width:none!important;
  overflow:visible!important;
  white-space:nowrap!important;
  line-height:1.45!important;
  padding:0 2px 0 0!important;
  margin:0!important;
  vertical-align:baseline!important;
  clip:unset!important;
  clip-path:none!important;
  text-indent:0!important;
  transform:none!important;
}

#contacto input,
#contacto select,
#contacto textarea{
  box-sizing:border-box!important;
  width:100%!important;
}

#contacto .form-row,
#contacto .fields,
#contacto .form-grid{
  overflow:visible!important;
}

@media(max-width:700px){
  #contacto label{
    font-size:9px!important;
    letter-spacing:.1em!important;
  }
}

/* Crédito de desarrollo IDEVE */
.ideve-credit{
  color:inherit;
  text-decoration:none;
  font-weight:700;
  transition:color .2s ease, opacity .2s ease;
}
.ideve-credit:hover{
  color:#08bce5;
  text-decoration:none;
}

/* IDEVE junto al copyright inferior */
.footer-bottom .ideve-credit{
  display:inline-block;
  color:inherit;
  text-decoration:none;
  font-weight:700;
  transition:color .2s ease;
}
.footer-bottom .ideve-credit:hover{
  color:#08bce5;
  text-decoration:none;
}
.footer-bottom .footer-ideve-sep{
  display:inline-block;
  margin:0 5px;
  opacity:.55;
}

/* Marca del footer: logo + GISPERT Y MÁS */
.footer-brand-link{
  display:inline-flex;
  align-items:center;
  gap:14px;
  color:#fff;
  text-decoration:none;
  margin-bottom:12px;
}
.footer-brand-link .footer-logo{
  flex:0 0 auto;
  margin:0;
}
.footer-brand-link span{
  color:#fff;
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
  transition:color .2s ease;
}
.footer-brand-link:hover span{
  color:#08bce5;
}
@media(max-width:580px){
  .footer-brand-link{gap:10px}
  .footer-brand-link span{font-size:11px;letter-spacing:.06em;white-space:normal}
}


/* EMPRESA — identidad hidráulica, ondas y transiciones inspiradas en el agua */
.company{position:relative;isolation:isolate;overflow:hidden}
.company:before{content:"";position:absolute;z-index:-1;top:8%;right:-190px;width:460px;height:460px;border:1px solid rgba(0,190,225,.11);border-radius:50%;box-shadow:0 0 0 34px rgba(0,190,225,.025),0 0 0 72px rgba(0,190,225,.022),0 0 0 112px rgba(0,190,225,.018);pointer-events:none}
.company-heading-wrap{position:relative;overflow:visible}
.company-heading-kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;color:#008ca9;font-size:10px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.company-heading-kicker i{width:25px;height:2px;background:linear-gradient(90deg,#00c9ed,#0066bb);display:inline-block;box-shadow:0 0 12px #00c9ed66}
.company .water-title{position:relative;max-width:1120px;text-wrap:balance}
.company .water-title em{position:relative;display:inline-block;color:#00bfe6;background:linear-gradient(100deg,#00bfe6 0%,#007db7 35%,#00c8ed 52%,#007db7 70%,#00bfe6 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:companyWaterShimmer 8s ease-in-out infinite}
.company .water-title em:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:3px;border-radius:50%;background:linear-gradient(90deg,transparent,#00c8ed 18%,#74e9ff 48%,#0088bd 76%,transparent);transform:scaleX(.0);transform-origin:left;opacity:.7;animation:companyUnderline 1.25s .35s ease-out forwards}
.heading-ripple{position:absolute;right:2%;bottom:-30px;width:125px;height:45px;pointer-events:none;opacity:.8}
.heading-ripple span{position:absolute;left:50%;top:50%;width:28px;height:10px;border:1px solid #00bfe6;border-radius:50%;transform:translate(-50%,-50%) scale(.4);animation:headingRipple 4.2s ease-out infinite}
.heading-ripple span:nth-child(2){animation-delay:1.4s}.heading-ripple span:nth-child(3){animation-delay:2.8s}
.company-copy{position:relative;z-index:1}
.company-copy .lead{position:relative}
.company-copy .lead:before{content:"";display:block;width:42px;height:3px;margin:0 0 19px;background:linear-gradient(90deg,#00c8ed,#0876b7);border-radius:4px}
.company-copy p{transition:color .3s ease}
.company-copy p:hover{color:#173d4c}
.company .text-link{position:relative;padding-bottom:8px;transition:color .25s,transform .25s}
.company .text-link:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:linear-gradient(90deg,#00c8ed,transparent);transform:scaleX(.35);transform-origin:left;transition:transform .35s ease}
.company .text-link:hover{transform:translateX(4px);color:#00a8ca}.company .text-link:hover:after{transform:scaleX(1)}
.company-showcase{height:clamp(360px,43vw,610px);margin-top:5px;background:#061b2d;box-shadow:0 26px 70px rgba(5,33,48,.15);transform:translateZ(0)}
.company-showcase:before{content:"";position:absolute;z-index:1;inset:0;border:1px solid rgba(255,255,255,.18);border-radius:inherit;pointer-events:none}
.company-showcase>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;transform:scale(1.015);transition:transform 1.3s cubic-bezier(.2,.7,.2,1),filter .8s ease;filter:saturate(.94) contrast(1.02)}
.company-showcase.visible>img{transform:scale(1)}
.company-showcase:hover>img{transform:scale(1.035);filter:saturate(1.06) contrast(1.04)}
.company-showcase .company-photo-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(3,20,49,.77) 0%,rgba(3,28,55,.48) 28%,rgba(3,24,44,.04) 67%),linear-gradient(0deg,rgba(2,18,31,.62),transparent 42%);pointer-events:none}
.company-showcase .company-water-rings{position:absolute;z-index:2;left:8%;top:16%;width:150px;height:150px;pointer-events:none}
.company-water-rings i{position:absolute;inset:0;border:1px solid rgba(89,222,255,.65);border-radius:50%;animation:companyRing 5s ease-out infinite}
.company-water-rings i:nth-child(2){animation-delay:1.65s}.company-water-rings i:nth-child(3){animation-delay:3.3s}
.company-showcase .company-image-caption{position:absolute;z-index:3;left:clamp(22px,4vw,58px);bottom:clamp(28px,4vw,55px);display:flex;flex-direction:column;align-items:flex-start;gap:9px;color:#fff;max-width:min(590px,78%)}
.company-showcase .company-image-caption b{font:900 clamp(48px,6vw,82px)/.9 var(--display);letter-spacing:-.04em;color:#fff;text-shadow:0 4px 24px #00152655}
.company-showcase .company-image-caption span{font-size:10px;font-weight:800;letter-spacing:.17em;color:#75eaff;text-transform:uppercase}
.company-showcase .company-image-caption small{max-width:430px;color:#e3f5fa;font-size:clamp(12px,1.2vw,15px);line-height:1.6}
.company-showcase .company-image-index{position:absolute;z-index:3;right:28px;bottom:31px;display:flex;align-items:center;gap:12px;color:#e2f6fb;font-size:9px;font-weight:800;letter-spacing:.13em}
.company-showcase .company-image-index>span:first-child{font:800 23px var(--display);color:#6deaff}.company-showcase .company-image-index i{width:42px;height:1px;background:#6deaff;box-shadow:0 0 10px #00c8ed88}
@keyframes companyWaterShimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes companyUnderline{to{transform:scaleX(1)}}
@keyframes headingRipple{0%{opacity:0;transform:translate(-50%,-50%) scale(.35)}15%{opacity:.7}100%{opacity:0;transform:translate(-50%,-50%) scale(4.1)}}
@keyframes companyRing{0%{opacity:0;transform:scale(.2)}15%{opacity:.55}100%{opacity:0;transform:scale(1.65)}}
@media(max-width:900px){.company-showcase .company-water-rings{width:105px;height:105px;left:5%;top:12%}.company-showcase .company-image-index{right:20px;bottom:20px}.company-showcase .company-image-caption{max-width:85%}.heading-ripple{right:0}}
@media(max-width:580px){.company-heading-kicker{font-size:8px;letter-spacing:.1em;line-height:1.6}.company .water-title em:after{bottom:-5px}.heading-ripple{width:75px;right:2px;bottom:-22px}.company-showcase{height:410px;border-radius:18px}.company-showcase>img{object-position:54% center}.company-showcase .company-photo-shade{background:linear-gradient(90deg,rgba(3,20,49,.68),rgba(3,28,55,.13)),linear-gradient(0deg,rgba(2,18,31,.76),transparent 66%)}.company-showcase .company-water-rings{width:72px;height:72px;left:auto;right:18px;top:18px}.company-showcase .company-image-caption{left:20px;bottom:25px;max-width:calc(100% - 40px);gap:8px}.company-showcase .company-image-caption b{font-size:55px}.company-showcase .company-image-caption span{font-size:8px;letter-spacing:.11em}.company-showcase .company-image-caption small{font-size:12px;max-width:290px}.company-showcase .company-image-index{display:none}.company:before{right:-280px;top:22%}}
@media(prefers-reduced-motion:reduce){.company .water-title em,.company .water-title em:after,.heading-ripple span,.company-water-rings i{animation:none}.company .water-title em:after{transform:scaleX(1)}.company-showcase>img,.company .text-link,.company .text-link:after{transition:none}}

/* EMPRESA — encuadre compacto: reduce altura sin perder identidad ni efectos */
#empresa.company{padding-top:clamp(48px,5.2vw,76px)!important;padding-bottom:clamp(48px,5.5vw,78px)!important}
#empresa .section-label{margin-bottom:22px!important}
#empresa .company-heading-wrap{margin-bottom:clamp(26px,3vw,42px)!important}
#empresa .company-heading-kicker{margin-bottom:12px!important}
#empresa .water-title{font-size:clamp(38px,5.2vw,72px)!important;line-height:.94!important;letter-spacing:-.045em!important;max-width:1050px!important;margin:0!important}
#empresa .water-title br{display:block}
#empresa .company-copy{display:grid!important;grid-template-columns:1fr .9fr;gap:clamp(28px,6vw,88px)!important;align-items:start!important;margin-bottom:clamp(28px,3.2vw,42px)!important}
#empresa .company-copy .lead:before{margin-bottom:14px!important}
#empresa .company-copy p{margin-top:0!important;margin-bottom:12px!important}
#empresa .company-copy .lead{font-size:clamp(16px,1.45vw,20px)!important;line-height:1.65!important}
#empresa .company-showcase{height:clamp(190px,22vw,320px)!important;min-height:0!important;margin-top:0!important;border-radius:22px!important;overflow:hidden!important}
#empresa .company-showcase>img{object-fit:cover!important;object-position:center 48%!important}
#empresa .company-showcase .company-photo-shade{background:linear-gradient(90deg,rgba(3,20,49,.48),rgba(3,28,55,.12) 44%,transparent 76%),linear-gradient(0deg,rgba(2,18,31,.55),transparent 52%)!important}
#empresa .company-showcase .company-image-caption{left:clamp(20px,3vw,40px)!important;bottom:clamp(18px,2.4vw,30px)!important;gap:6px!important;max-width:min(480px,72%)!important}
#empresa .company-showcase .company-image-caption b{font-size:clamp(34px,4.4vw,58px)!important}
#empresa .company-showcase .company-image-caption span{font-size:9px!important}
#empresa .company-showcase .company-image-caption small{font-size:12px!important;max-width:360px!important;line-height:1.45!important}
#empresa .company-showcase .company-water-rings{width:95px!important;height:95px!important;left:5%!important;top:12%!important}
#empresa .heading-ripple{bottom:-18px!important;width:100px!important;height:34px!important}
@media(max-width:900px){
 #empresa .company-copy{grid-template-columns:1fr!important;gap:14px!important}
 #empresa .company-copy .lead{font-size:17px!important}
 #empresa .company-showcase{height:clamp(220px,36vw,300px)!important}
}
@media(max-width:580px){
 #empresa.company{padding-top:40px!important;padding-bottom:46px!important}
 #empresa .section-label{margin-bottom:18px!important}
 #empresa .company-heading-wrap{margin-bottom:24px!important}
 #empresa .company-heading-kicker{font-size:8px!important;letter-spacing:.1em!important;margin-bottom:12px!important}
 #empresa .water-title{font-size:clamp(34px,9.3vw,47px)!important;line-height:.98!important;letter-spacing:-.04em!important}
 #empresa .water-title em:after{bottom:-4px!important}
 #empresa .company-copy{gap:10px!important;margin-bottom:22px!important}
 #empresa .company-copy .lead{font-size:16px!important;line-height:1.58!important}
 #empresa .company-copy p{font-size:13px!important;line-height:1.6!important}
 #empresa .company-showcase{height:205px!important;border-radius:15px!important}
 #empresa .company-showcase>img{object-position:54% center!important}
 #empresa .company-showcase .company-image-caption{left:16px!important;bottom:16px!important;max-width:calc(100% - 32px)!important;gap:5px!important}
 #empresa .company-showcase .company-image-caption b{font-size:36px!important}
 #empresa .company-showcase .company-image-caption span{font-size:7px!important;letter-spacing:.1em!important}
 #empresa .company-showcase .company-image-caption small{font-size:10px!important;max-width:270px!important}
 #empresa .company-showcase .company-image-index{display:none!important}
 #empresa .company-showcase .company-water-rings{width:62px!important;height:62px!important;left:auto!important;right:14px!important;top:12px!important}
 #empresa .heading-ripple{width:66px!important;right:0!important;bottom:-17px!important}
}


/* =========================================================
   SOLUCIONES — PRESENTACIÓN REFINADA Y MEJOR ENCUADRADA
   Ajustes aislados: jerarquía del encabezado, tarjetas y móvil.
   ========================================================= */
#servicios.section{padding-top:clamp(76px,8vw,108px);padding-bottom:clamp(78px,8vw,112px)}
#servicios>.container>.section-label{margin-bottom:clamp(24px,3vw,38px)}
#servicios .dark-head{
  grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);
  gap:clamp(36px,6vw,90px);
  align-items:center;
  margin-bottom:clamp(34px,4.2vw,54px);
}
#servicios .dark-head h2{
  max-width:720px;
  font-size:clamp(44px,5.1vw,70px);
  line-height:.94;
  letter-spacing:-.045em;
  text-wrap:balance;
}
#servicios .dark-head h2 em{display:inline-block;color:var(--cyan)}
#servicios .dark-head p{
  max-width:500px;
  margin:0 0 5px auto;
  padding:0 0 0 22px;
  border-left:2px solid rgba(0,199,237,.72);
  font-size:clamp(14px,1.2vw,16px);
  line-height:1.85;
  color:#b0c5cc;
}
#servicios .service-grid{gap:20px;align-items:stretch}
#servicios .service-card{
  display:flex;flex-direction:column;min-width:0;
  border-radius:20px;
  background:linear-gradient(160deg,#0d303b 0%,#08212b 100%);
}
#servicios .service-img{height:clamp(185px,18vw,238px);flex:0 0 auto}
#servicios .service-img img{object-position:center;filter:saturate(.9) contrast(1.04)}
#servicios .service-img span{top:16px;left:16px;width:38px;height:38px;font-size:16px}
#servicios .service-body{
  min-height:222px;flex:1;
  padding:clamp(20px,2vw,26px) clamp(19px,2vw,25px) 22px;
}
#servicios .service-body h3{
  font-size:clamp(22px,2vw,27px);
  line-height:1.03;
  letter-spacing:-.015em;
  min-height:2.05em;
  margin-bottom:12px;
  text-wrap:balance;
}
#servicios .service-body p{
  max-width:100%;min-height:0;flex:1;
  margin:0 0 18px;
  color:#a8bdc4;font-size:13px;line-height:1.7;
}
#servicios .card-link{margin-top:auto;padding-top:8px}
#servicios .service-card:hover{transform:translateY(-7px);box-shadow:0 25px 55px rgba(0,0,0,.3),0 0 26px rgba(0,199,237,.06)}
#servicios .service-card.reveal.visible:hover{transform:translateY(-7px)}
@media(max-width:900px){
  #servicios .dark-head{grid-template-columns:1fr  .8fr;gap:28px}
  #servicios .dark-head h2{font-size:clamp(42px,6vw,58px)}
  #servicios .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #servicios .service-img{height:clamp(190px,28vw,235px)}
  #servicios .service-body{min-height:210px}
}
@media(max-width:640px){
  #servicios.section{padding-top:66px;padding-bottom:70px}
  #servicios>.container>.section-label{margin-bottom:22px}
  #servicios .dark-head{grid-template-columns:1fr;gap:18px;margin-bottom:29px;align-items:start}
  #servicios .dark-head h2{font-size:clamp(43px,11vw,60px);line-height:.96;max-width:100%}
  #servicios .dark-head p{margin:0;max-width:100%;padding-left:15px;font-size:14px;line-height:1.7}
  #servicios .service-grid{grid-template-columns:1fr;gap:17px}
  #servicios .service-card{border-radius:18px}
  #servicios .service-img{height:clamp(190px,57vw,255px)}
  #servicios .service-body{padding:21px 20px 20px;min-height:0}
  #servicios .service-body h3{font-size:clamp(25px,7vw,31px);min-height:0;line-height:1.02;margin-bottom:10px}
  #servicios .service-body p{font-size:13px;line-height:1.65;margin-bottom:16px}
  #servicios .card-link{padding-top:0}
}
@media(prefers-reduced-motion:reduce){
  #servicios .service-card,#servicios .service-img img,#servicios .service-card::before,#servicios .service-img::after{transition:none!important}
}


/* CAPACIDAD — composición editorial compacta */
#capacidad{position:relative;overflow:hidden;background:linear-gradient(135deg,#f4f8f9 0%,#edf4f6 100%)}
#capacidad:before{content:"";position:absolute;width:470px;height:470px;right:-230px;top:7%;border:1px solid #00bfe51b;border-radius:50%;box-shadow:0 0 0 42px #00bfe50a,0 0 0 86px #00bfe506;pointer-events:none}
#capacidad .container{position:relative;z-index:1}
#capacidad .section-label{margin-bottom:28px}
#capacidad .capacity-grid{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:clamp(38px,6vw,82px);align-items:center}
#capacidad .capacity-text{max-width:560px}
#capacidad .capacity-kicker{display:flex;align-items:center;gap:10px;margin-bottom:19px;color:#008ca8;font-size:10px;font-weight:800;letter-spacing:.16em;line-height:1.5}
#capacidad .capacity-kicker-line{display:inline-block;width:32px;height:2px;background:linear-gradient(90deg,#00c8ec,#0086c6);flex:0 0 auto}
#capacidad h2{font-size:clamp(50px,5.3vw,76px);line-height:.91;letter-spacing:-.045em;max-width:560px}
#capacidad h2 em{display:inline-block;background:linear-gradient(100deg,#00c9e9 0%,#0086c7 58%,#00c9e9 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:capacity-shimmer 8s ease-in-out infinite}
#capacidad .capacity-intro{max-width:510px;margin:20px 0 0;color:#6c818a;font-size:15px;line-height:1.75}
#capacidad .meter-list{margin-top:29px;border-top:1px solid #cfdde1}
#capacidad .meter-list div{position:relative;gap:18px;align-items:center;padding:15px 2px;border-bottom:1px solid #cfdde1;transition:padding .25s ease,color .25s ease}
#capacidad .meter-list div:after{content:"";position:absolute;left:0;bottom:-1px;width:0;height:1px;background:#00bddd;transition:width .35s ease}
#capacidad .meter-list div:hover{padding-left:10px;color:#007f9b}
#capacidad .meter-list div:hover:after{width:100%}
#capacidad .meter-list span{font-size:14px;font-weight:700}
#capacidad .meter-list b{display:grid;place-items:center;width:31px;height:31px;border:1px solid #a9dbe4;border-radius:50%;font-size:11px;color:#008ba7;background:#f8fcfd;flex:0 0 auto}
#capacidad .capacity-link{display:inline-flex;align-items:center;gap:14px;margin-top:24px;color:#008ba7;text-decoration:none;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.12em}
#capacidad .capacity-link span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#00c4e9;color:#05232d;font-size:15px;transition:transform .25s ease}
#capacidad .capacity-link:hover span{transform:translate(3px,-3px)}
#capacidad .capacity-visual{position:relative;min-width:0;padding:0 0 28px 18px}
#capacidad .capacity-image{position:relative;z-index:1;height:clamp(390px,42vw,525px);margin:0;border:1px solid #fff;border-radius:28px;background:radial-gradient(ellipse at 50% 44%,#fff 0%,#fff 43%,#eaf5f7 100%);box-shadow:0 22px 55px #143e5012;overflow:hidden}
#capacidad .capacity-image:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(135deg,#ffffff38,transparent 45%,#00c5e90b);pointer-events:none}
#capacidad .capacity-image img{display:block;width:100%;height:100%;object-fit:contain;padding:22px;transition:none!important;transform:none!important;}
#capacidad .capacity-visual:hover .capacity-image img{transform:none!important}
#capacidad .capacity-image-glow{position:absolute;z-index:0;inset:20px -2px 8px 34px;border-radius:30px;background:linear-gradient(135deg,#00c8e91e,#0069a40a);transform:rotate(2deg)}
#capacidad .capacity-stamp{position:absolute;z-index:3;left:0;bottom:0;display:flex;align-items:center;gap:12px;max-width:calc(100% - 28px);padding:13px 17px 13px 13px;border:1px solid #ffffffd9;border-radius:16px;background:#ffffffed;box-shadow:0 12px 34px #153c4b1b;backdrop-filter:blur(12px)}
#capacidad .capacity-stamp-icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;overflow:hidden;border-radius:12px;background:#fff;border:1px solid #d8edf2;box-shadow:inset 0 0 0 1px #ffffff80}
#capacidad .capacity-stamp-icon img{display:block;width:100%;height:100%;padding:5px;object-fit:contain;object-position:center}
#capacidad .capacity-stamp b,#capacidad .capacity-stamp small{display:block}
#capacidad .capacity-stamp b{font-size:12px;color:#0a202b}
#capacidad .capacity-stamp small{margin-top:4px;color:#6d8189;font-size:10px}
#capacidad .capacity-stamp i{margin-left:10px;color:#008ba7;font-size:17px;font-style:normal}
#capacidad .capacity-watermark{position:absolute;right:-14px;top:23px;width:110px;height:110px;pointer-events:none}
#capacidad .capacity-watermark span{position:absolute;inset:0;border:1px solid #00bfe53a;border-radius:50%;animation:capacity-ripple 5s ease-out infinite}
#capacidad .capacity-watermark span:nth-child(2){animation-delay:1.6s}
#capacidad .capacity-watermark span:nth-child(3){animation-delay:3.2s}
@keyframes capacity-ripple{0%{transform:scale(.35);opacity:0}25%{opacity:.7}100%{transform:scale(1.25);opacity:0}}
@keyframes capacity-shimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@media(max-width:900px){#capacidad .capacity-grid{grid-template-columns:1fr;gap:38px}#capacidad .capacity-text{max-width:720px}#capacidad .capacity-image{height:clamp(340px,65vw,470px)}#capacidad .capacity-visual{max-width:760px;width:100%;margin:0 auto;padding-left:12px}}
@media(max-width:580px){#capacidad.section{padding:76px 0}#capacidad .section-label{margin-bottom:24px}#capacidad .capacity-kicker{font-size:9px;letter-spacing:.11em;margin-bottom:15px}#capacidad h2{font-size:clamp(43px,12vw,59px);line-height:.94}#capacidad .capacity-intro{font-size:14px;line-height:1.7;margin-top:16px}#capacidad .meter-list{margin-top:22px}#capacidad .meter-list div{padding:13px 1px}#capacidad .meter-list span{font-size:13px}#capacidad .capacity-link{font-size:9px;letter-spacing:.08em;gap:9px}#capacidad .capacity-visual{padding:0 0 23px 7px}#capacidad .capacity-image{height:clamp(280px,82vw,390px);border-radius:21px}#capacidad .capacity-image img{padding:12px}#capacidad .capacity-image-glow{inset:13px -1px 5px 20px;border-radius:23px}#capacidad .capacity-stamp{gap:9px;padding:10px 12px 10px 10px;border-radius:13px}#capacidad .capacity-stamp-icon{width:37px;height:37px}#capacidad .capacity-stamp b{font-size:11px}#capacidad .capacity-stamp small{font-size:9px}#capacidad .capacity-stamp i{margin-left:3px}#capacidad .capacity-watermark{width:74px;height:74px;right:-5px;top:14px}}
@media(prefers-reduced-motion:reduce){#capacidad h2 em,#capacidad .capacity-watermark span{animation:none!important}#capacidad .capacity-image img,#capacidad .meter-list div,#capacidad .capacity-link span{transition:none!important}}


/* ===== Sección de bombeo: composición editorial hidráulica ===== */
.emc-upgraded{position:relative;isolation:isolate;overflow:hidden;padding:clamp(76px,8vw,112px) 0;background:radial-gradient(ellipse at 10% 48%,#e7f8fb 0,transparent 38%),linear-gradient(115deg,#f8fbfc 0%,#fff 56%,#eef8fa 100%)}
.emc-upgraded:before{content:"";position:absolute;z-index:-1;right:-190px;top:-220px;width:570px;height:570px;border:1px solid #00a9d522;border-radius:50%;box-shadow:0 0 0 35px #00a9d508,0 0 0 75px #00a9d506;pointer-events:none}
.emc-upgraded .emc-grid{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(42px,7vw,96px);align-items:center}
.emc-upgraded .emc-visual{position:relative;min-width:0;padding:0 0 27px 18px}
.emc-upgraded .emc-image{height:clamp(350px,39vw,485px);position:relative;z-index:1;display:grid;place-items:center;overflow:hidden;border:1px solid #fff;border-radius:30px;background:radial-gradient(ellipse at 50% 45%,#fff 0%,#fff 51%,#f0f8fa 100%);box-shadow:0 25px 70px #0c4a5d14,inset 0 0 0 1px #d9eef2}
.emc-upgraded .emc-image:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(140deg,#ffffffaa,transparent 48%,#00bfe908)}
.emc-upgraded .emc-image img{display:block;width:100%;height:100%;object-fit:contain;padding:clamp(18px,3vw,36px);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s ease;filter:saturate(.97)}
.emc-upgraded .emc-visual:hover .emc-image img{transform:scale(1.045);filter:saturate(1.07)}
.emc-upgraded .emc-water-rings{position:absolute;z-index:0;left:-4px;top:-24px;width:150px;height:150px;pointer-events:none}
.emc-upgraded .emc-water-rings span{position:absolute;inset:0;border:1px solid #00bce52c;border-radius:50%;animation:emc-ripple 5.8s ease-out infinite}
.emc-upgraded .emc-water-rings span:nth-child(2){animation-delay:1.9s}.emc-upgraded .emc-water-rings span:nth-child(3){animation-delay:3.8s}
@keyframes emc-ripple{0%{transform:scale(.28);opacity:0}20%{opacity:.75}100%{transform:scale(1.22);opacity:0}}
.emc-upgraded .emc-image-caption{position:absolute;z-index:3;left:0;bottom:0;display:flex;align-items:center;gap:12px;max-width:calc(100% - 25px);padding:13px 20px 13px 13px;border:1px solid #ffffffeb;border-radius:17px;background:#ffffffed;box-shadow:0 15px 40px #103f501c;backdrop-filter:blur(14px)}
.emc-upgraded .emc-caption-mark{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;border-radius:13px;color:#fff;font-size:22px;background:linear-gradient(145deg,#052e48,#00a8ca);box-shadow:inset 0 1px #ffffff5c}
.emc-upgraded .emc-image-caption b,.emc-upgraded .emc-image-caption small{display:block}.emc-upgraded .emc-image-caption b{font-size:12px;color:#102a35}.emc-upgraded .emc-image-caption small{margin-top:4px;color:#73858b;font-size:10px}
.emc-upgraded .emc-visual-index{position:absolute;right:18px;bottom:44px;z-index:2;color:#fff;font:900 11px var(--body);letter-spacing:.15em;text-shadow:0 2px 10px #001b2b99}.emc-upgraded .emc-visual-index i{font-style:normal;color:#00d0ee}
.emc-upgraded .emc-copy{max-width:560px;text-align:left;justify-self:start}.emc-upgraded .emc-copy .section-label{display:block;width:100%;text-align:left;margin-left:0;margin-right:auto;margin-bottom:25px;align-self:flex-start}.emc-upgraded .emc-kicker{display:flex;align-items:center;gap:10px;margin-bottom:18px;color:#008aa7;font-size:10px;font-weight:800;letter-spacing:.15em}.emc-upgraded .emc-kicker i{width:28px;height:2px;background:linear-gradient(90deg,#00c7eb,#0085c5)}
.emc-upgraded .emc-copy h2{font-size:clamp(47px,5.2vw,76px);line-height:.91;letter-spacing:-.045em}.emc-upgraded .emc-copy h2 em{display:inline-block;background:linear-gradient(100deg,#00c9e9,#0088c8 58%,#00c9e9);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:emc-shimmer 8s ease-in-out infinite}
@keyframes emc-shimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.emc-upgraded .emc-copy>p{margin:22px 0 25px;color:#607780;font-size:15px;line-height:1.85;max-width:510px}
.emc-upgraded .emc-benefits{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 29px}.emc-upgraded .emc-benefits>div{display:flex;gap:11px;align-items:flex-start;padding:14px 13px;border:1px solid #dcebed;border-radius:13px;background:#ffffffb8;transition:transform .25s,border-color .25s,box-shadow .25s}.emc-upgraded .emc-benefits>div:hover{transform:translateY(-3px);border-color:#83d9e7;box-shadow:0 12px 28px #0c53630c}.emc-upgraded .emc-benefits>div>span{font:900 16px var(--display);color:#00a3c4}.emc-upgraded .emc-benefits p{margin:0}.emc-upgraded .emc-benefits b{display:block;font-size:11px;color:#18333e}.emc-upgraded .emc-benefits small{display:block;margin-top:5px;color:#71858c;font-size:10px;line-height:1.5}
.emc-upgraded .emc-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.emc-upgraded .emc-primary-link,.emc-upgraded .emc-secondary-link{display:inline-flex;align-items:center;gap:13px;text-decoration:none;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.1em;transition:transform .25s,color .25s}.emc-upgraded .emc-primary-link{min-height:48px;padding:0 19px;border-radius:999px;color:#fff;background:linear-gradient(110deg,#006c91,#00a9c8);box-shadow:0 10px 24px #009bc52a}.emc-upgraded .emc-primary-link span{font-size:16px;transition:transform .25s}.emc-upgraded .emc-primary-link:hover{transform:translateY(-3px);box-shadow:0 14px 30px #009bc53b}.emc-upgraded .emc-primary-link:hover span{transform:translate(2px,-2px)}.emc-upgraded .emc-secondary-link{color:#007f9b}.emc-upgraded .emc-secondary-link:hover{color:#00a9c8;transform:translateX(3px)}
@media(max-width:900px){.emc-upgraded .emc-grid{grid-template-columns:1fr;gap:48px}.emc-upgraded .emc-visual{width:100%;max-width:700px;margin:auto}.emc-upgraded .emc-copy{max-width:700px}.emc-upgraded .emc-image{height:clamp(330px,62vw,470px)}.emc-upgraded .emc-copy h2{font-size:clamp(48px,8vw,72px)}}
@media(max-width:580px){.emc-upgraded.section{padding:72px 0}.emc-upgraded .emc-grid{gap:38px}.emc-upgraded .emc-visual{padding:0 0 22px 7px}.emc-upgraded .emc-image{height:clamp(275px,82vw,370px);border-radius:22px}.emc-upgraded .emc-image img{padding:13px}.emc-upgraded .emc-water-rings{width:90px;height:90px;left:-1px;top:-15px}.emc-upgraded .emc-image-caption{gap:9px;padding:10px 13px 10px 10px;border-radius:13px}.emc-upgraded .emc-caption-mark{width:37px;height:37px;border-radius:10px}.emc-upgraded .emc-image-caption b{font-size:11px}.emc-upgraded .emc-image-caption small{font-size:9px}.emc-upgraded .emc-visual-index{right:11px;bottom:35px}.emc-upgraded .emc-kicker{font-size:9px;letter-spacing:.1em}.emc-upgraded .emc-copy h2{font-size:clamp(42px,11.5vw,58px);line-height:.95}.emc-upgraded .emc-copy>p{font-size:14px;line-height:1.75;margin:18px 0 22px}.emc-upgraded .emc-benefits{grid-template-columns:1fr;gap:9px;margin-bottom:23px}.emc-upgraded .emc-benefits>div{padding:12px}.emc-upgraded .emc-actions{gap:16px}.emc-upgraded .emc-primary-link{min-height:46px;padding:0 15px;font-size:9px}.emc-upgraded .emc-secondary-link{font-size:9px}}
@media(prefers-reduced-motion:reduce){.emc-upgraded .emc-water-rings span,.emc-upgraded .emc-copy h2 em{animation:none!important}.emc-upgraded .emc-image img,.emc-upgraded .emc-benefits>div,.emc-upgraded .emc-primary-link,.emc-upgraded .emc-secondary-link{transition:none!important}}

/* Encuadre responsive de fotografías UPVC incorporadas */
.service-img img,
.gallery-item img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
.service-img { overflow: hidden; }
.gallery-item { overflow: hidden; }
@media (max-width: 640px) {
  .service-img { aspect-ratio: 4 / 3; }
  .gallery-item img { max-height: 360px; }
}


/* Carrusel de proyectos: reemplaza la antigua galería en columnas */
.project-carousel{position:relative;--project-gap:16px}
.project-carousel-viewport{overflow:hidden;border-radius:22px}
.project-carousel-track{display:flex;gap:var(--project-gap);align-items:stretch;transition:transform .65s cubic-bezier(.22,.72,.2,1);will-change:transform}
.project-slide{flex:0 0 calc((100% - 2 * var(--project-gap))/3);width:calc((100% - 2 * var(--project-gap))/3);height:auto;min-width:0;aspect-ratio: .88; margin:0;border-radius:19px;text-align:left;isolation:isolate;background:#092532;box-shadow:0 15px 36px #12384712}
.project-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s}
.project-slide:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#03131b72 0%,transparent 29%,transparent 46%,#03131be8 100%);pointer-events:none}
.project-slide:after{content:"";position:absolute;inset:8px;border:1px solid #ffffff45;border-radius:13px;z-index:1;opacity:.65;pointer-events:none}
.project-slide:hover img{transform:scale(1.055);filter:saturate(1.08)}
.project-slide-number{position:absolute!important;z-index:2!important;top:22px!important;left:22px!important;bottom:auto!important;right:auto!important;display:inline-flex!important;align-items:center;justify-content:center;min-width:56px;height:32px;padding:0 10px;border:1px solid #ffffff7d;border-radius:99px;background:#062a3bc9;color:#fff!important;font-size:10px!important;letter-spacing:.12em;opacity:1!important;backdrop-filter:blur(8px)}
.project-slide-caption{position:absolute!important;z-index:2!important;left:22px!important;right:22px!important;bottom:22px!important;display:flex!important;align-items:center;justify-content:space-between;gap:10px;color:#fff!important;font-size:clamp(13px,1.25vw,17px)!important;letter-spacing:.01em!important;text-transform:none!important;line-height:1.25;font-weight:700;opacity:1!important;text-shadow:0 2px 14px #0007}
.project-slide-caption b{display:grid;place-items:center;width:35px;height:35px;flex:0 0 35px;border-radius:50%;border:1px solid #ffffff7a;background:#ffffff20;color:#fff;font-size:17px;transition:background .25s,transform .25s}
.project-slide:hover .project-slide-caption b{background:#00bfe2;transform:translate(2px,-2px)}
.project-carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:24px}
.project-carousel-note{display:flex;align-items:center;gap:13px;color:#70858c;font-size:9px;font-weight:800;letter-spacing:.16em}
.project-carousel-live{color:#008ba8;font:900 20px var(--display);letter-spacing:0}
.project-carousel-line{width:42px;height:1px;background:#00b9d9}
.project-carousel-actions{display:flex;align-items:center;gap:9px}
.project-carousel-dots{display:flex;align-items:center;gap:6px;margin-right:12px}
.project-carousel-dot{width:7px;height:7px;border:0;border-radius:20px;padding:0;background:#b7c7cb;cursor:pointer;transition:width .25s,background .25s}
.project-carousel-dot.is-active{width:23px;background:#00a8c8}
.project-carousel-prev,.project-carousel-next{width:44px;height:44px;border:1px solid #cbdadd;border-radius:50%;background:#f7fbfc;color:#07232d;font-size:20px;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .25s}
.project-carousel-prev:hover,.project-carousel-next:hover{background:#062431;color:#fff;border-color:#062431;transform:translateY(-2px)}
@media(max-width:900px){.project-slide{flex-basis:calc((100% - var(--project-gap))/2);width:calc((100% - var(--project-gap))/2);aspect-ratio:.86}.project-carousel-note{letter-spacing:.1em}}
@media(max-width:600px){.projects.section{padding:82px 0}.projects-head{display:block;margin-bottom:30px}.projects-head p{margin-top:22px}.project-carousel{--project-gap:12px}.project-carousel-viewport{border-radius:17px}.project-slide{flex-basis:100%;width:100%;aspect-ratio:.92;border-radius:16px}.project-slide-number{top:18px!important;left:18px!important}.project-slide-caption{left:19px!important;right:19px!important;bottom:20px!important;font-size:16px!important}.project-slide:after{inset:7px;border-radius:11px}.project-carousel-controls{margin-top:18px;align-items:flex-start}.project-carousel-note{gap:8px;font-size:8px;max-width:55%}.project-carousel-line{width:22px}.project-carousel-live{font-size:18px}.project-carousel-actions{gap:7px}.project-carousel-dots{gap:4px;margin-right:3px}.project-carousel-dot{width:5px;height:5px}.project-carousel-dot.is-active{width:15px}.project-carousel-prev,.project-carousel-next{width:37px;height:37px;font-size:17px}}
@media(prefers-reduced-motion:reduce){.project-carousel-track,.project-slide img,.project-carousel-dot,.project-carousel-prev,.project-carousel-next{transition:none!important}}
@media(max-width:600px){.project-slide img{max-height:none!important}}


/* Carrusel automático de imágenes de la sección Capacidad: solo visual, sin interacción. */
.capacity-slider{position:relative;isolation:isolate;background:#f7f9fa;overflow:hidden;cursor:default;user-select:none;-webkit-user-select:none;touch-action:pan-y}
.capacity-slider-track{position:absolute;inset:0;width:100%;height:100%}
.capacity-slider-slide{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;display:grid;place-items:center;background:#f8fafb;opacity:0;visibility:hidden;transform:scale(1.015);transition:opacity .55s ease,transform .75s ease,visibility .55s;pointer-events:none}
.capacity-slider-slide img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;pointer-events:none;-webkit-user-drag:none;user-select:none}
.capacity-slider:focus{outline:none}
@media (max-width: 760px){.capacity-image.capacity-slider{height:clamp(340px,100vw,520px);border-radius:22px}.capacity-slider-slide img{object-fit:contain}}
@media (prefers-reduced-motion: reduce){.capacity-slider-track{transition-duration:350ms}}


/* ==========================================================
   GYM RESPONSIVE MOBILE PACK — ajustes complementarios
   Mantiene la identidad visual y mejora tabletas y móviles.
   ========================================================== */
html{scroll-padding-top:82px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:clip}
img,video,svg,canvas{max-width:100%}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
.site-header{padding-top:env(safe-area-inset-top,0px)}
.site-header .nav-wrap{min-width:0}
.brand img{max-width:100%;height:auto;object-fit:contain}
section[id]{scroll-margin-top:86px}
@media (max-width: 1024px){
  .nav-wrap{gap:18px}
  .desktop-nav{gap:clamp(10px,1.8vw,22px)}
  .desktop-nav a{font-size:12px}
  .section-shell,.container,.wrap{max-width:100%;}
  .hero,.hero-inner,.company-grid,.capacity-grid,.contact-grid{gap:clamp(24px,4vw,48px)}
  .project-carousel{min-width:0;max-width:100%}
}
@media (max-width: 760px){
  html{scroll-padding-top:72px}
  body{font-size:15px;line-height:1.6}
  .site-header{height:auto;min-height:68px}
  .nav-wrap{width:100%;padding:10px 18px;min-height:68px;box-sizing:border-box}
  .brand{min-width:0;max-width:calc(100% - 54px);gap:9px}
  .brand img{width:clamp(42px,12vw,56px);max-height:52px}
  .brand-name{font-size:clamp(10px,2.6vw,13px);letter-spacing:.06em;line-height:1.2;overflow-wrap:anywhere}
  .menu-toggle{flex:0 0 42px;width:42px;height:42px;display:flex;align-items:center;justify-content:center}
  .mobile-nav{left:12px;right:12px;top:calc(100% - 1px);width:auto;max-height:calc(100dvh - 90px);overflow:auto;padding:10px;border-radius:16px;box-sizing:border-box}
  .mobile-nav a{display:flex;align-items:center;min-height:46px;padding:10px 14px;font-size:14px}
  main,section{min-width:0}
  section{padding-left:18px!important;padding-right:18px!important}
  .hero,.hero-inner,.company-grid,.capacity-grid,.contact-grid,.services-grid,.clients-grid{grid-template-columns:minmax(0,1fr)!important}
  .hero{min-height:0!important;padding-top:48px!important;padding-bottom:44px!important}
  .hero h1{font-size:clamp(38px,11vw,64px)!important;line-height:.98!important;letter-spacing:-.045em!important;overflow-wrap:normal;word-break:normal}
  .hero p,.section-intro,.lead,.section-description{font-size:15px;line-height:1.7}
  .hero-actions{flex-wrap:wrap;gap:10px}
  .hero-actions a,.hero-actions button{max-width:100%;min-height:44px}
  h2{font-size:clamp(31px,8.8vw,48px)!important;line-height:1.02!important;letter-spacing:-.035em!important;overflow-wrap:normal}
  h3{line-height:1.15}
  .section-kicker,.eyebrow,.section-label{font-size:10px;letter-spacing:.12em;line-height:1.5}
  .section-heading,.section-head,.section-title-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
  .section-heading p,.section-head p{max-width:100%;margin-top:0}
  .service-card,.solution-card,.product-card{width:100%;min-width:0}
  .services-grid,.solutions-grid,.products-grid{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
  .service-card img,.solution-card img,.product-card img{max-width:100%;height:auto}
  .capacity-grid{gap:26px!important}
  .capacity-copy{min-width:0}
  .capacity-image,.capacity-image.capacity-slider{height:clamp(270px,84vw,420px)!important;min-height:0!important;width:100%;border-radius:20px;overflow:hidden}
  .capacity-slider-slide img{width:100%;height:100%;object-fit:contain!important}
  .capacity-list{width:100%;min-width:0}
  .capacity-list li,.capacity-item{gap:12px;padding:14px 2px;font-size:14px}
  .capacity-list li span,.capacity-item span{min-width:0;overflow-wrap:anywhere}
  .project-section,.projects-section{overflow:hidden}
  .project-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
  .project-heading p{max-width:100%;margin:0}
  .project-carousel-viewport{width:100%;overflow:hidden}
  .project-carousel-track{gap:12px}
  .project-slide{flex-basis:min(82vw,360px)!important;width:min(82vw,360px)!important;max-width:calc(100vw - 36px);height:clamp(300px,100vw,430px)!important;border-radius:18px}
  .project-slide img{width:100%;height:100%;object-fit:cover}
  .project-slide-title{font-size:14px!important;max-width:calc(100% - 46px);line-height:1.3}
  .project-carousel-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}
  .project-carousel-note{max-width:100%;font-size:8px}
  .project-carousel-actions{margin-left:auto}
  .project-carousel-prev,.project-carousel-next{width:40px;height:40px;flex:0 0 40px}
  .clients-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px}
  .client-logo{min-width:0}
  .contact-grid{gap:22px!important}
  .contact-form{width:100%;min-width:0}
  .contact-form input,.contact-form select,.contact-form textarea{width:100%;min-width:0;box-sizing:border-box;font-size:16px;min-height:46px}
  .contact-form textarea{min-height:130px}
  .contact-form button,.contact-form input[type=submit]{width:100%;min-height:48px}
  .whatsapp-float,.whatsapp-button,.whatsapp-cta{max-width:calc(100vw - 28px);box-sizing:border-box}
  .whatsapp-float{right:14px!important;bottom:calc(14px + env(safe-area-inset-bottom,0px))!important}
  .whatsapp-float img,.whatsapp-button img{max-width:100%;height:auto}
  .site-footer{padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}
  .footer-grid{grid-template-columns:minmax(0,1fr)!important;gap:24px!important}
  .footer-grid>*{min-width:0}
  .footer-links{flex-wrap:wrap;gap:10px 16px}
  .footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
  .map-wrap iframe,.contact-map iframe{width:100%;min-height:260px}
  .capacity-slider-track,.project-carousel-track{will-change:transform}
}
@media(max-width:420px){
  .nav-wrap{padding-left:13px;padding-right:13px}
  section{padding-left:14px!important;padding-right:14px!important}
  .hero h1{font-size:clamp(34px,10.5vw,44px)!important}
  h2{font-size:clamp(29px,8.5vw,37px)!important}
  .project-slide{flex-basis:calc(100vw - 28px)!important;width:calc(100vw - 28px)!important;max-width:calc(100vw - 28px);height:clamp(285px,106vw,390px)!important}
  .clients-grid{grid-template-columns:minmax(0,1fr)!important}
  .whatsapp-float{right:10px!important;bottom:calc(10px + env(safe-area-inset-bottom,0px))!important}
}
@media(hover:none){.project-slide:hover img,.service-card:hover img,.solution-card:hover img{transform:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.capacity-slider-track,.project-carousel-track{transition-duration:.01ms!important}}

/* En móviles se oculta el indicador flotante SCROLL / EMPRESA para que no cubra el contenido del hero. */
@media (max-width: 768px) {
  .hero-scroll { display: none !important; }
}

/* En móviles se ocultan las flechas superpuestas del carrusel principal para no tapar el logo ni el contenido. */
@media (max-width: 768px) {
  .hero-carousel .hero-arrow,
  .hero-carousel .hero-prev,
  .hero-carousel .hero-next {
    display: none !important;
  }
}


/* Distintivo de representación EMC Bombas */
.emc-upgraded .emc-representative-badge{display:flex;align-items:center;gap:14px;width:fit-content;max-width:100%;margin:0 0 25px;padding:10px 16px 10px 10px;border:1px solid #cde9ee;border-radius:17px;background:linear-gradient(110deg,#fff 0%,#f2fbfc 100%);box-shadow:0 12px 32px #0b61710d;}
.emc-upgraded .emc-representative-logo{display:grid;place-items:center;flex:0 0 70px;width:70px;height:57px;overflow:hidden;border-radius:11px;background:#fff;border:1px solid #e6eff0;}
.emc-upgraded .emc-representative-logo img{display:block;width:100%;height:100%;object-fit:contain;}
.emc-upgraded .emc-representative-copy{display:flex;flex-direction:column;gap:3px;min-width:0;}
.emc-upgraded .emc-representative-copy small{font-size:9px;font-weight:800;letter-spacing:.16em;color:#008ba9;}
.emc-upgraded .emc-representative-copy strong{font-size:13px;line-height:1.3;color:#102934;}
.emc-upgraded .emc-representative-copy>span{font-size:11px;color:#647c84;}
.emc-upgraded .emc-representative-check{display:grid;place-items:center;margin-left:8px;flex:0 0 25px;width:25px;height:25px;border-radius:50%;background:#e0f8fb;color:#008da9;font-size:14px;font-weight:900;}
@media(max-width:600px){.emc-upgraded .emc-representative-badge{gap:10px;padding:9px 11px 9px 9px;margin-bottom:21px;border-radius:14px}.emc-upgraded .emc-representative-logo{flex-basis:59px;width:59px;height:49px}.emc-upgraded .emc-representative-copy strong{font-size:12px}.emc-upgraded .emc-representative-check{margin-left:2px}}


/* EMC: distintivo completo junto a la etiqueta de equipos de bombeo */
.emc-upgraded .emc-visual{padding-bottom:82px}
.emc-upgraded .emc-visual-footer{position:absolute;z-index:4;left:0;right:0;bottom:0;display:flex;align-items:stretch;gap:10px;width:100%}
.emc-upgraded .emc-visual-footer .emc-image-caption{position:static;flex:0 1 43%;min-width:0;max-width:none;gap:9px;padding:11px;border-radius:16px;white-space:normal}
.emc-upgraded .emc-visual-footer .emc-image-caption>span:last-child{min-width:0}
.emc-upgraded .emc-visual-footer .emc-image-caption b{font-size:11px}
.emc-upgraded .emc-visual-footer .emc-image-caption small{font-size:9px;line-height:1.35}
.emc-upgraded .emc-visual-footer .emc-representative-badge{flex:1 1 57%;width:auto;min-width:0;max-width:none;margin:0;padding:8px 10px;gap:8px;border-radius:16px}
.emc-upgraded .emc-visual-footer .emc-representative-logo{flex:0 0 74px;width:74px;height:58px;padding:2px;overflow:visible;background:#fff}
.emc-upgraded .emc-visual-footer .emc-representative-logo img{width:100%;height:100%;object-fit:contain;object-position:center;max-width:100%;max-height:100%}
.emc-upgraded .emc-visual-footer .emc-representative-copy{gap:2px}
.emc-upgraded .emc-visual-footer .emc-representative-copy small{font-size:8px;letter-spacing:.1em}
.emc-upgraded .emc-visual-footer .emc-representative-copy strong{font-size:11px;line-height:1.2}
.emc-upgraded .emc-visual-footer .emc-representative-copy>span{font-size:10px}
.emc-upgraded .emc-visual-footer .emc-representative-check{flex:0 0 21px;width:21px;height:21px;margin-left:0;font-size:12px}
.emc-upgraded .emc-visual-index{display:none}
@media(max-width:900px){.emc-upgraded .emc-visual{padding-bottom:0}.emc-upgraded .emc-visual-footer{position:static;display:flex;flex-wrap:wrap;margin-top:14px;gap:10px}.emc-upgraded .emc-visual-footer .emc-image-caption{flex:1 1 220px}.emc-upgraded .emc-visual-footer .emc-representative-badge{flex:1 1 280px;min-height:72px}.emc-upgraded .emc-visual-footer .emc-representative-logo{flex-basis:78px;width:78px;height:60px}}
@media(max-width:580px){.emc-upgraded .emc-visual-footer{flex-direction:column;align-items:stretch;gap:10px}.emc-upgraded .emc-visual-footer .emc-image-caption{flex:1 1 auto;width:fit-content;max-width:100%;padding:10px}.emc-upgraded .emc-visual-footer .emc-representative-badge{flex:1 1 auto;width:100%;padding:10px;gap:10px}.emc-upgraded .emc-visual-footer .emc-representative-logo{flex:0 0 82px;width:82px;height:64px}.emc-upgraded .emc-visual-footer .emc-representative-copy strong{font-size:12px}.emc-upgraded .emc-visual-footer .emc-representative-copy small{font-size:8px}.emc-upgraded .emc-visual-footer .emc-representative-copy>span{font-size:10px}}


/* Distintivo EMC Bombas en la tarjeta de bombas, instalación y reparación */
.service-representative-badge{display:flex;align-items:center;gap:11px;width:100%;max-width:330px;margin:18px 0 0;padding:9px 11px 9px 9px;border:1px solid #24515b;border-radius:14px;background:linear-gradient(110deg,#0a222c 0%,#10323d 100%);box-shadow:0 8px 22px #00000012;}
.service-representative-logo{display:grid;place-items:center;flex:0 0 67px;width:67px;height:54px;padding:3px;overflow:visible;border-radius:9px;background:#fff;border:1px solid #d9e9ec;}
.service-representative-logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;}
.service-representative-copy{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0;}
.service-representative-copy small{font-size:8px;font-weight:800;letter-spacing:.13em;color:#00c7ed;}
.service-representative-copy strong{font-size:11px;line-height:1.3;color:#f4fbfd;}
.service-representative-copy>span{font-size:10px;color:#a9c0c7;}
.service-representative-check{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#d9f7fb;color:#008da9;font-size:12px;font-weight:900;}
@media(max-width:600px){.service-representative-badge{max-width:100%;gap:9px;padding:9px}.service-representative-logo{flex-basis:64px;width:64px;height:51px}.service-representative-copy strong{font-size:11px}}


/* Rango de diámetros para tuberías UPVC de captación */
.service-range { margin-top: 10px; font-weight: 700; color: #00c4e8; letter-spacing: .02em; }


/* EMC Bombas: enlace oficial y reconocimiento de representación en Chile */
.emc-upgraded a.emc-representative-badge,.service-representative-badge{color:inherit;text-decoration:none;cursor:pointer;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.emc-upgraded a.emc-representative-badge:hover,.service-representative-badge:hover{transform:translateY(-2px);border-color:#00a9c8;box-shadow:0 12px 28px #009bc51c}
.emc-upgraded a.emc-representative-badge:focus-visible,.service-representative-badge:focus-visible,.emc-official-link:focus-visible{outline:3px solid #00c7ed;outline-offset:3px}
.emc-upgraded .emc-official-link{display:inline-flex;align-items:center;gap:8px;color:#007f9b;text-decoration:none;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.08em}
.emc-upgraded .emc-official-link:hover{color:#00a9c8}
.emc-upgraded .emc-actions{row-gap:15px}

/* Controles del carrusel circular de Capacidad */
#capacidad .capacity-slider{touch-action:pan-y;cursor:default}
#capacidad .capacity-slider-control{position:absolute;z-index:5;top:50%;display:grid;place-items:center;width:44px;height:44px;padding:0;transform:translateY(-50%);border:1px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(4,28,39,.72);color:#fff;font:400 30px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 5px 18px rgba(0,20,30,.18);backdrop-filter:blur(8px);transition:background .2s ease,color .2s ease,transform .2s ease,border-color .2s ease}
#capacidad .capacity-slider-prev{left:16px}
#capacidad .capacity-slider-next{right:16px}
#capacidad .capacity-slider-control:hover{background:#00bddd;color:#03212a;border-color:#00bddd;transform:translateY(-50%) scale(1.06)}
#capacidad .capacity-slider-control:focus-visible{outline:3px solid #00c7ed;outline-offset:3px}
#capacidad .capacity-slider-count{position:absolute;z-index:5;right:17px;bottom:16px;display:flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:rgba(4,23,31,.7);color:#d7e9ed;font-size:10px;font-weight:800;letter-spacing:.1em;backdrop-filter:blur(8px)}
#capacidad .capacity-slider-count b{color:#00d0ef}
@media(max-width:580px){#capacidad .capacity-slider-control{width:38px;height:38px;font-size:26px}#capacidad .capacity-slider-prev{left:10px}#capacidad .capacity-slider-next{right:10px}#capacidad .capacity-slider-count{right:11px;bottom:11px;font-size:9px;padding:6px 9px}}
@media(prefers-reduced-motion:reduce){#capacidad .capacity-slider-control{transition:none}}

/* SERVICIO DE CORTE — encuadre horizontal centrado en la zona de trabajo */
#servicios .service-card:nth-child(5) .service-img img{
  object-fit:cover;
  object-position:center 48%;
}
#servicios .service-card:nth-child(5) .service-img:after{
  background:linear-gradient(0deg,rgba(6,21,29,.62),transparent 48%);
}


/* Carrusel de productos EMC: avance automático y controles manuales */
.emc-upgraded .emc-product-carousel{isolation:isolate;position:relative;display:block;overflow:hidden;touch-action:pan-y}
.emc-upgraded .emc-product-track{position:absolute;inset:0}
.emc-upgraded .emc-product-slide{position:absolute;inset:0;display:grid;place-items:center;opacity:0;visibility:hidden;transform:scale(1.015);transition:opacity .55s ease,transform .75s ease,visibility .55s}
.emc-upgraded .emc-product-slide.is-active{opacity:1;visibility:visible;transform:scale(1)}
.emc-upgraded .emc-product-slide img{position:relative;z-index:0;width:100%;height:100%;object-fit:contain;padding:clamp(18px,3vw,36px);transform:none!important;filter:saturate(.98);}
.emc-upgraded .emc-product-slide.is-active img{animation:emcProductAppear .7s ease both}
@keyframes emcProductAppear{from{opacity:.75;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
.emc-upgraded .emc-product-carousel:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(5,31,41,.03),transparent 55%,rgba(5,31,41,.10))}
.emc-upgraded .emc-product-control{position:absolute;z-index:3;top:50%;display:grid;place-items:center;width:42px;height:42px;padding:0;transform:translateY(-50%);border:1px solid rgba(0,112,139,.22);border-radius:50%;background:rgba(255,255,255,.9);color:#006f89;font:400 29px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 5px 18px rgba(0,35,48,.13);backdrop-filter:blur(8px);transition:background .2s ease,color .2s ease,transform .2s ease}
.emc-upgraded .emc-product-prev{left:15px}.emc-upgraded .emc-product-next{right:15px}
.emc-upgraded .emc-product-control:hover{background:#00b9d7;color:#06232c;transform:translateY(-50%) scale(1.06)}
.emc-upgraded .emc-product-control:focus-visible,.emc-upgraded .emc-product-indicators button:focus-visible{outline:3px solid #00bddd;outline-offset:3px}
.emc-upgraded .emc-product-indicators{position:absolute;z-index:4;left:50%;bottom:15px;display:flex;align-items:center;gap:7px;transform:translateX(-50%);padding:8px 11px;border:1px solid rgba(255,255,255,.75);border-radius:999px;background:rgba(255,255,255,.82);backdrop-filter:blur(10px)}
.emc-upgraded .emc-product-indicators button{width:7px;height:7px;padding:0;border:0;border-radius:999px;background:#9cb7bf;cursor:pointer;transition:width .25s ease,background .25s ease}
.emc-upgraded .emc-product-indicators button.is-active{width:22px;background:#00a8c8}
.emc-upgraded .emc-product-count{position:absolute;z-index:4;top:16px;right:16px;padding:7px 10px;border:1px solid rgba(255,255,255,.8);border-radius:999px;background:rgba(255,255,255,.88);color:#163541;font-size:10px;font-weight:800;letter-spacing:.1em;backdrop-filter:blur(8px)}
.emc-upgraded .emc-product-count b{color:#00a8c8}
@media(max-width:580px){.emc-upgraded .emc-product-slide img{padding:15px}.emc-upgraded .emc-product-control{width:36px;height:36px;font-size:25px}.emc-upgraded .emc-product-prev{left:9px}.emc-upgraded .emc-product-next{right:9px}.emc-upgraded .emc-product-indicators{bottom:10px;gap:6px;padding:7px 9px}.emc-upgraded .emc-product-count{top:10px;right:10px}}
@media(prefers-reduced-motion:reduce){.emc-upgraded .emc-product-slide,.emc-upgraded .emc-product-indicators button,.emc-upgraded .emc-product-control{transition:none!important}.emc-upgraded .emc-product-slide.is-active img{animation:none!important}}


/* Carrusel de capacidad con el lenguaje visual del carrusel EMC */
#capacidad .capacity-slider{isolation:isolate;position:relative;display:block;overflow:hidden;touch-action:pan-y;background:radial-gradient(ellipse at 50% 42%,#fff 0%,#fff 47%,#edf7f9 100%);border:1px solid #ffffff;box-shadow:0 25px 70px rgba(12,74,93,.12),inset 0 0 0 1px #d9eef2}
#capacidad .capacity-slider:before{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(140deg,rgba(255,255,255,.36),transparent 48%,rgba(0,191,233,.035))}
#capacidad .capacity-slider-track{position:relative;z-index:1;display:flex;width:100%;height:100%;transition:transform .8s cubic-bezier(.22,.75,.25,1);will-change:transform}
#capacidad .capacity-slider-slide{flex:0 0 100%;width:100%;height:100%;overflow:hidden;pointer-events:none;display:flex;align-items:center;justify-content:center;background:transparent}
#capacidad .capacity-slider-slide img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;padding:clamp(20px,3vw,38px);pointer-events:none;-webkit-user-drag:none;user-select:none;transition:none!important}
#capacidad .capacity-slider-control{position:absolute;z-index:5;top:50%;display:grid;place-items:center;width:44px;height:44px;padding:0;transform:translateY(-50%);border:1px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(4,28,39,.72);color:#fff;font:400 30px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 5px 18px rgba(0,20,30,.18);backdrop-filter:blur(8px);transition:background .2s ease,color .2s ease,transform .2s ease,border-color .2s ease}
#capacidad .capacity-slider-prev{left:16px}#capacidad .capacity-slider-next{right:16px}
#capacidad .capacity-slider-control:hover{background:#00bddd;color:#03212a;border-color:#00bddd;transform:translateY(-50%) scale(1.06)}
#capacidad .capacity-slider-control:focus-visible,#capacidad .capacity-slider-indicators button:focus-visible{outline:3px solid #00c7ed;outline-offset:3px}
#capacidad .capacity-slider-indicators{position:absolute;z-index:5;left:50%;bottom:16px;display:flex;align-items:center;justify-content:center;gap:6px;max-width:calc(100% - 120px);padding:9px 12px;transform:translateX(-50%);border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(4,23,31,.68);backdrop-filter:blur(10px)}
#capacidad .capacity-slider-indicators button{display:block;width:7px;height:7px;flex:0 0 7px;padding:0;border:0;border-radius:99px;background:rgba(219,237,241,.72);cursor:pointer;transition:width .25s ease,background .25s ease}
#capacidad .capacity-slider-indicators button.is-active{width:23px;flex-basis:23px;background:#00d0ef}
#capacidad .capacity-slider-count{position:absolute;z-index:5;right:16px;top:16px;bottom:auto;display:flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:rgba(4,23,31,.7);color:#d7e9ed;font-size:10px;font-weight:800;letter-spacing:.1em;backdrop-filter:blur(8px)}
#capacidad .capacity-slider-count b{color:#00d0ef}
@media(max-width:580px){#capacidad .capacity-slider-control{width:36px;height:36px;font-size:25px}#capacidad .capacity-slider-prev{left:9px}#capacidad .capacity-slider-next{right:9px}#capacidad .capacity-slider-count{right:10px;top:10px;font-size:9px;padding:6px 9px}#capacidad .capacity-slider-indicators{bottom:10px;gap:5px;padding:7px 9px;max-width:calc(100% - 96px)}#capacidad .capacity-slider-indicators button{width:6px;height:6px;flex-basis:6px}#capacidad .capacity-slider-indicators button.is-active{width:18px;flex-basis:18px}#capacidad .capacity-slider-slide img{padding:14px}}
@media(prefers-reduced-motion:reduce){#capacidad .capacity-slider-track,#capacidad .capacity-slider-control,#capacidad .capacity-slider-indicators button{transition:none!important}}


/* Capacidad: mismo efecto de transición y controles que el carrusel de bombas */
#capacidad .capacity-slider-slide.is-active{opacity:1;visibility:visible;transform:scale(1);pointer-events:auto}
#capacidad .capacity-slider-slide.is-active img{animation:capacityProductAppear .7s ease both}
@keyframes capacityProductAppear{from{opacity:.75;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
#capacidad .capacity-slider-control{position:absolute;z-index:5;top:50%;display:grid;place-items:center;width:42px;height:42px;padding:0;transform:translateY(-50%);border:1px solid rgba(0,112,139,.22);border-radius:50%;background:rgba(255,255,255,.9);color:#006f89;font:400 29px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 5px 18px rgba(0,35,48,.13);backdrop-filter:blur(8px);transition:background .2s ease,color .2s ease,transform .2s ease}
#capacidad .capacity-slider-prev{left:15px}#capacidad .capacity-slider-next{right:15px}
#capacidad .capacity-slider-control:hover{background:#00b9d7;color:#06232c;transform:translateY(-50%) scale(1.06)}
#capacidad .capacity-slider-indicators{position:absolute;z-index:5;left:50%;bottom:15px;display:flex;align-items:center;gap:7px;transform:translateX(-50%);padding:8px 11px;border:1px solid rgba(255,255,255,.75);border-radius:999px;background:rgba(255,255,255,.82);backdrop-filter:blur(10px)}
#capacidad .capacity-slider-indicators button{width:7px;height:7px;flex:0 0 7px;padding:0;border:0;border-radius:999px;background:#9cb7bf;cursor:pointer;transition:width .25s ease,background .25s ease}
#capacidad .capacity-slider-indicators button.is-active{width:22px;flex-basis:22px;background:#00a8c8}
#capacidad .capacity-slider-count{position:absolute;z-index:5;right:17px;top:15px;bottom:auto;display:flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid rgba(0,112,139,.18);border-radius:999px;background:rgba(255,255,255,.86);color:#526970;font-size:10px;font-weight:800;letter-spacing:.1em;backdrop-filter:blur(8px)}
#capacidad .capacity-slider-count b{color:#00a8c8}
@media(max-width:580px){#capacidad .capacity-slider-control{width:38px;height:38px;font-size:26px}#capacidad .capacity-slider-prev{left:10px}#capacidad .capacity-slider-next{right:10px}#capacidad .capacity-slider-count{right:11px;top:11px;font-size:9px;padding:6px 9px}#capacidad .capacity-slider-indicators{bottom:11px;gap:5px;padding:7px 9px}}
@media(prefers-reduced-motion:reduce){#capacidad .capacity-slider-slide,#capacidad .capacity-slider-slide img{transition:none!important;animation:none!important}}


/* FIX DEFINITIVO: menú hamburguesa visible y funcional en móviles */
@media (max-width: 900px){
  .site-header{z-index:5000!important;isolation:isolate}
  .site-header .nav-wrap{position:relative!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;width:100%!important;min-height:72px!important;padding:9px 16px!important}
  .site-header .brand{flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:calc(100% - 58px)!important;overflow:hidden!important}
  .site-header .brand img{flex:0 0 auto!important;width:clamp(40px,12vw,54px)!important;height:48px!important;max-height:48px!important}
  .site-header .brand-name{min-width:0!important;white-space:normal!important;font-size:clamp(9px,2.7vw,12px)!important;line-height:1.15!important;letter-spacing:.04em!important}
  .site-header .desktop-nav{display:none!important}
  .site-header .menu-toggle{position:relative!important;z-index:5002!important;display:flex!important;flex:0 0 44px!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:5px!important;padding:0!important;margin:0!important;border:1px solid rgba(255,255,255,.35)!important;border-radius:12px!important;background:rgba(3,25,35,.72)!important;box-shadow:0 4px 16px rgba(0,0,0,.18)!important;cursor:pointer!important;visibility:visible!important;opacity:1!important}
  .site-header .menu-toggle span{display:block!important;width:22px!important;height:2px!important;min-height:2px!important;margin:0!important;border-radius:3px!important;background:#fff!important;opacity:1!important;visibility:visible!important;transform:none;transition:transform .2s,opacity .2s!important}
  .site-header .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)!important}
  .site-header .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0!important}
  .site-header .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)!important}
  .site-header .mobile-nav{position:absolute!important;display:flex!important;flex-direction:column!important;left:12px!important;right:12px!important;top:calc(100% - 1px)!important;width:auto!important;max-height:calc(100dvh - 88px)!important;overflow-y:auto!important;overscroll-behavior:contain!important;padding:10px!important;gap:2px!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:16px!important;background:rgba(4,22,31,.98)!important;box-shadow:0 18px 45px rgba(0,0,0,.32)!important;backdrop-filter:blur(18px)!important;transform:translateY(-8px)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .2s ease,transform .2s ease,visibility .2s!important}
  .site-header .mobile-nav.open{transform:translateY(0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  .site-header .mobile-nav a{display:flex!important;align-items:center!important;min-height:46px!important;padding:11px 14px!important;border-radius:10px!important;color:#fff!important;text-decoration:none!important;font-size:12px!important;font-weight:800!important;letter-spacing:.09em!important}
  .site-header .mobile-nav a:active,.site-header .mobile-nav a:focus-visible{background:rgba(0,199,237,.15)!important;outline:1px solid rgba(0,199,237,.45)!important}
}


/* Visor de imágenes: controles siempre accesibles, especialmente en móviles */
.lightbox{z-index:5000;padding:64px 16px 76px;isolation:isolate;}
.lightbox[aria-hidden="true"]{visibility:hidden;pointer-events:none;}
.lightbox[aria-hidden="false"]{visibility:visible;pointer-events:auto;}
.lightbox img{display:block;max-width:min(87vw,1400px);max-height:calc(100dvh - 150px);width:auto;height:auto;object-fit:contain;}
.lightbox .lb-close{position:fixed;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));z-index:5010;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:1px solid #ffffff70;border-radius:50%;background:#09232eeF;color:#fff;font:400 32px/1 Arial,sans-serif;box-shadow:0 5px 22px #0007;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.lightbox .lb-close:focus-visible,.lightbox .lb-prev:focus-visible,.lightbox .lb-next:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;}
.lightbox .lb-prev,.lightbox .lb-next{z-index:5005;width:48px;height:58px;border-radius:999px;background:#09232ee8;font-size:38px;display:flex;align-items:center;justify-content:center;touch-action:manipulation;}
.lightbox .lb-prev{left:max(12px,env(safe-area-inset-left));}.lightbox .lb-next{right:max(12px,env(safe-area-inset-right));}
.lightbox .lb-caption{bottom:max(18px,env(safe-area-inset-bottom));left:70px;right:70px;text-align:center;line-height:1.5;}
body.lightbox-active{overscroll-behavior:none;}
@media(max-width:600px){
  .lightbox{padding:70px 10px 78px;}
  .lightbox img{max-width:calc(100vw - 24px);max-height:calc(100dvh - 170px);border-radius:12px;}
  .lightbox .lb-close{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:48px;height:48px;font-size:31px;}
  .lightbox .lb-prev,.lightbox .lb-next{top:auto;bottom:max(14px,env(safe-area-inset-bottom));transform:none;width:44px;height:44px;font-size:30px;}
  .lightbox .lb-prev{left:16px;}.lightbox .lb-next{right:16px;}
  .lightbox .lb-caption{left:68px;right:68px;bottom:max(22px,env(safe-area-inset-bottom));font-size:9px;letter-spacing:.04em;}
}
