@charset "UTF-8";
:root{--blue:#123e91;--deep:#09285f;--cyan:#25c6e3;--red:#d9202e;--ink:#112c54;--muted:#50627a;--line:#d0ddeb;--surface:#eef5fb;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);outline-offset:6px}p{line-height:1.65}h1,h2,h3,p{margin-top:0}h2{font-size:clamp(32px,3.5vw,49px);line-height:1.1;letter-spacing:-1.8px}.wrap{width:calc(100% - 112px);max-width:1250px;margin:auto}.skip{position:absolute;top:-80px;left:20px;background:#fff;padding:14px;z-index:5}.skip:focus{top:12px}.header{height:112px;display:flex;align-items:center;justify-content:space-between}.brand{display:block;width:285px}.brand img,.footer-brand img{width:100%;height:auto;display:block}.header nav{display:flex;gap:36px;align-items:center;font-size:14px;font-weight:600}.header nav>a{padding:14px 0}.header nav>a:hover{color:var(--red)}.header nav>.nav-contact{padding:14px 20px;background:var(--surface);border-radius:4px}.nav-contact span{margin-left:23px}
.hero{background:var(--blue);color:#fff;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:650px;height:650px;border:1px solid #ffffff14;border-radius:50%;left:-400px;top:170px;pointer-events:none}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;padding-top:68px;padding-bottom:65px;position:relative}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;display:flex;align-items:center;gap:11px;margin-bottom:24px}.signal{width:7px;height:7px;background:var(--cyan);border-radius:50%}h1{font-size:clamp(46px,5.15vw,74px);line-height:1.015;letter-spacing:-3px;margin-bottom:25px;font-weight:700}h1 em{color:var(--cyan);font-style:normal}.lead{font-size:16px;color:#e0eafa;max-width:395px;margin-bottom:30px}.button{display:inline-flex;align-items:center;gap:35px;justify-content:space-between;padding:18px 23px;background:var(--red);color:#fff;font-size:14px;font-weight:700;border-radius:4px;transition:background .2s,transform .2s}.button:hover{background:#b81b27;transform:translateY(-2px)}.button span{font-size:21px;line-height:1}.hero-visual{position:relative;padding:28px 0 40px 10px}.photo-frame{height:420px;position:relative;overflow:hidden;border-radius:150px 8px 8px 8px;background:var(--deep);z-index:1;box-shadow:20px 20px 0 #0c347e}.photo-frame img{width:114%;height:114%;max-width:none;position:absolute;left:-7%;top:-7%;object-fit:cover;filter:saturate(.85)}.photo-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#06245e60,transparent 60%)}.photo-caption{position:absolute;bottom:5px;right:-1px;z-index:2;display:flex;align-items:center;gap:15px;padding:23px 30px;background:var(--cyan);color:var(--deep);font-size:13px;line-height:1.6;border-radius:4px}.photo-caption strong{font-size:17px}.caption-line{width:3px;height:39px;background:var(--blue)}.water-ring{position:absolute;width:165px;height:165px;right:-43px;top:-5px;border:1px solid #56d9ee99;border-radius:50%;z-index:2;pointer-events:none}.water-ring:after{content:"";position:absolute;inset:14px;border:1px solid #56d9ee55;border-radius:50%}.hero-foot{border-top:1px solid #ffffff35;display:flex;justify-content:space-between;align-items:center;padding:23px 0 25px;font-size:11px;letter-spacing:1.4px}.hero-foot>a{font-size:12px;letter-spacing:0}.hero-foot>a span{margin-left:40px;font-size:19px;color:var(--cyan)}.hero-foot>a:hover{text-decoration:underline}
.sectors{padding-top:83px;padding-bottom:85px}.blue{color:var(--blue)}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:34px}.section-heading .eyebrow{margin-top:8px}.section-heading h2{width:61%;margin-bottom:0}.sector-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px}.sector{padding:30px 29px 28px;display:flex;flex-direction:column;min-height:305px;border-radius:6px}.industrial{background:var(--blue);color:white;position:relative;overflow:hidden;border-bottom:5px solid var(--cyan)}.industrial:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;border:1px solid #ffffff1c;right:-110px;bottom:-110px}.commercial{background:#def5fa}.residential{background:var(--surface)}.sector-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.sector-no{font-size:12px;letter-spacing:1px}.sector-icon{font-size:23px}.industrial .sector-top{color:var(--cyan)}.sector h3{font-size:30px;letter-spacing:-1px;margin-bottom:13px}.sector p{font-size:15px;line-height:1.55;max-width:275px;margin-bottom:23px}.industrial p{color:#e1ebfb}.sector-tags{display:flex;gap:13px;font-size:10px;margin-top:auto;flex-wrap:wrap}.sector-tags span{border-top:1px solid #ffffff5a;padding-top:10px}.sector-bottom{font-size:11px;font-weight:600;margin-top:auto;padding-top:10px;border-top:1px solid #143b7625}
.services-section{background:var(--surface);padding:80px 0 85px}.services-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:90px}.section-intro h2{font-size:clamp(30px,3.2vw,44px);margin-bottom:20px}.section-intro h2 span{color:var(--blue)}.section-intro>p:not(.eyebrow){color:var(--muted);font-size:16px;max-width:370px}.service-photo{height:210px;max-width:380px;overflow:hidden;position:relative;border-radius:5px;margin-top:27px}.service-photo img{position:absolute;width:114%;height:160%;left:-7%;top:-30%;object-fit:cover}.image-label{display:block;font-size:8px;letter-spacing:1.3px;margin-top:12px;color:var(--muted)}.service-list{border-top:2px solid var(--blue);align-self:center}details{border-bottom:1px solid #bdcedf}summary{list-style:none;display:flex;align-items:center;gap:20px;cursor:pointer;padding:27px 0;font-size:20px;font-weight:600;letter-spacing:-.5px}summary::-webkit-details-marker{display:none}.service-no{font-size:10px;color:var(--blue);font-weight:600;letter-spacing:0}.toggle{margin-left:auto;position:relative;width:25px;height:25px;flex:none;border:1px solid #a4b9d0;border-radius:50%}.toggle:before,.toggle:after{content:"";position:absolute;top:11px;left:7px;width:9px;height:1px;background:var(--blue)}.toggle:after{transform:rotate(90deg)}details[open] .toggle{background:var(--blue);border-color:var(--blue)}details[open] .toggle:before{background:white}details[open] .toggle:after{display:none}details[open] summary{color:var(--blue)}details p{margin:0 40px 26px 31px;font-size:15px;line-height:1.65;max-width:440px;color:var(--muted)}
.contact{background:var(--deep);color:white;padding:48px 0 70px;position:relative;overflow:hidden}.contact:after{content:"";position:absolute;width:600px;height:600px;right:-300px;bottom:-460px;border:70px solid #25c6e311;border-radius:50%;pointer-events:none}.contact-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff25;padding-bottom:24px;margin-bottom:40px}.contact-top .eyebrow{margin:0;color:#c0d9f5}.contact-top>span{font-size:40px;color:var(--cyan);line-height:1}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:100px}.contact h2{font-size:clamp(46px,5.9vw,80px);letter-spacing:-3px;line-height:1;margin-bottom:20px}.contact h2 em{font-style:normal;color:var(--cyan)}.contact p{font-size:15px;color:#c5d6ee;margin-bottom:25px}.contact-data{display:grid;gap:24px;padding-top:5px}.contact-label{display:block;font-size:9px;letter-spacing:1.6px;color:#95bde8;margin-bottom:9px}.contact-data a{display:block;width:fit-content;font-size:24px;line-height:1.45}.contact-data a:hover{text-decoration:underline}.contact-data .email{font-size:18px}.contact-data p{font-size:14px;margin:0}.footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:30px 0;font-size:10px;color:var(--muted)}.footer-brand{display:block;width:185px}.footer>a:last-child:hover{text-decoration:underline}
@media(min-width:1600px){.hero-grid{padding-top:80px;padding-bottom:85px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero-grid{gap:30px}h1{font-size:59px}.photo-frame{height:370px;border-top-left-radius:110px}.photo-caption{padding:20px}.water-ring{right:-20px;width:130px;height:130px}.services-grid{gap:45px}summary{font-size:18px;gap:15px}.sector{padding:25px 22px}.sector h3{font-size:26px}.contact-grid{gap:55px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{height:88px}.brand{width:209px}.header nav{gap:0;font-size:12px}.header nav>.nav-contact{background:none;padding:14px 0}.nav-contact span{margin-left:9px}.hero-grid{grid-template-columns:1fr;padding-top:42px;padding-bottom:25px;gap:25px}.hero-copy{max-width:500px}h1{font-size:clamp(47px,9vw,65px);letter-spacing:-2px}.eyebrow{font-size:10px;letter-spacing:1.7px;margin-bottom:24px}.lead{font-size:16px;max-width:425px;margin-bottom:25px}.button{padding:17px 20px;font-size:13px;min-height:52px}.hero-visual{padding:5px 10px 36px 0;max-width:550px;width:100%}.photo-frame{height:270px;border-top-left-radius:90px;box-shadow:10px 10px 0 #0c347e}.photo-caption{padding:14px 20px;right:0;bottom:8px;font-size:12px}.photo-caption strong{font-size:15px}.water-ring{width:100px;height:100px;top:-12px;right:-10px}.hero-foot{gap:10px;padding:20px 0;font-size:8px;letter-spacing:1px;align-items:flex-start}.hero-foot>span{max-width:145px;line-height:1.6}.hero-foot>a{font-size:10px;line-height:1.6}.hero-foot>a span{margin-left:8px;font-size:14px}.sectors{padding:48px 0}.section-heading{display:block;margin-bottom:25px}.section-heading h2{width:auto;font-size:34px;letter-spacing:-1.3px}.section-heading .eyebrow{margin:0 0 20px}.sector-grid{grid-template-columns:1fr;gap:12px}.sector{min-height:0;padding:24px}.sector-top{margin-bottom:17px}.sector h3{font-size:29px}.sector p{max-width:none;margin-bottom:20px;font-size:16px}.sector-tags{font-size:11px;gap:20px}.sector-bottom{font-size:12px}.services-section{padding:48px 0}.services-grid{grid-template-columns:1fr;gap:33px}.section-intro h2{font-size:34px;letter-spacing:-1.3px}.section-intro>p:not(.eyebrow){max-width:none;margin-bottom:0}.service-photo{height:200px;max-width:none;margin-top:23px}.image-label{font-size:8px}.service-list{width:100%}summary{font-size:17px;gap:12px;letter-spacing:-.4px;padding:24px 0}.service-no{font-size:9px}.toggle{width:23px;height:23px}.toggle:before,.toggle:after{top:10px;left:6px}details p{font-size:15px;margin:0 23px 24px 23px}.contact{padding:31px 0 45px}.contact-top{padding-bottom:20px;margin-bottom:30px}.contact-top .eyebrow{font-size:9px;letter-spacing:1.4px}.contact-top>span{font-size:30px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact h2{font-size:61px;letter-spacing:-2.5px}.contact p{font-size:15px}.contact-data{gap:24px;border-top:1px solid #ffffff25;padding-top:29px}.contact-data a{font-size:23px}.contact-data p{font-size:14px}.footer{flex-wrap:wrap;padding:26px 0;gap:21px 12px;font-size:9px}.footer-brand{width:172px;margin-right:calc(100% - 172px)}.footer>a:last-child{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.photo-frame img{transform:scale(1.10)}
/* Navegación de soluciones y páginas sectoriales. */
.solutions-menu{position:relative;border:0;z-index:10}.solutions-menu summary{padding:14px 0;font-size:14px;letter-spacing:0;gap:9px;min-height:44px}.solutions-menu[open] summary{color:var(--blue)}.solutions-dropdown{position:absolute;top:100%;left:-20px;min-width:215px;padding:10px;background:#fff;box-shadow:0 12px 36px #09285f22;border:1px solid var(--line);border-radius:5px}.header nav .solutions-dropdown a{display:block;padding:14px;color:var(--ink);font-size:14px;border-radius:3px}.header nav .solutions-dropdown a:hover,.header nav .solutions-dropdown a[aria-current]{background:var(--surface);color:var(--blue)}.sector-consult{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700;gap:15px;padding-top:18px;border-top:1px solid #143b7635;min-height:44px;margin-top:auto}.sector-consult:hover{text-decoration:underline}.industrial .sector-consult{border-color:#ffffff50}.sector-note{font-size:13px;line-height:1.55;color:var(--muted);margin:24px 0 0;max-width:660px}.sector-hero{background:var(--blue);color:white;padding:24px 0 65px}.breadcrumb{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:#d8e9ff;margin-bottom:45px;line-height:1.5}.breadcrumb a:hover{text-decoration:underline}.sector-hero-grid{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:65px}.sector-hero h1{font-size:clamp(40px,4vw,58px);letter-spacing:-2px;line-height:1.08}.sector-hero .lead{max-width:440px}.sector-page-photo{position:relative;overflow:hidden;height:310px;border-radius:100px 5px 5px 5px;box-shadow:15px 15px 0 #0c347e}.sector-page-photo img{position:absolute;inset:-12%;width:124%;height:124%;object-fit:cover}.sector-catalog{padding-top:68px;padding-bottom:65px}.catalog-heading{display:flex;gap:40px;justify-content:space-between;align-items:baseline;margin-bottom:30px}.catalog-heading h2{font-size:36px;letter-spacing:-1.3px;margin:0}.catalog-heading .eyebrow{margin:0}.solution-row{display:grid;grid-template-columns:45px 1fr 1.35fr;gap:25px;padding:29px 0;border-top:1px solid var(--line);align-items:baseline}.row-number{font-size:12px;color:var(--blue)}.solution-row h3{font-size:23px;letter-spacing:-.6px;margin:0}.solution-row p{font-size:16px;line-height:1.65;margin:0;color:var(--muted);max-width:500px}.sector-contact{background:var(--deep);color:white;padding:45px 0}.sector-contact>.wrap{display:flex;justify-content:space-between;align-items:center;gap:35px}.sector-contact h2{font-size:38px;letter-spacing:-1.4px;margin-bottom:12px}.sector-contact p:last-child{font-size:15px;color:#d8e9ff;margin:0}.sector-contact .eyebrow{color:var(--cyan);margin-bottom:18px}.related-sectors{display:flex;gap:35px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line)}.related-sectors>span{margin-right:auto;font-size:10px;letter-spacing:1.5px;color:var(--muted)}.related-sectors a{font-size:14px;font-weight:600;padding:10px 0}.related-sectors a span{margin-left:18px;color:var(--blue)}.related-sectors a:hover{text-decoration:underline}
@media(max-width:1000px){.sector-hero-grid{gap:35px}.sector-hero h1{font-size:43px}.sector-page-photo{height:290px}.catalog-heading{display:block}.catalog-heading .eyebrow{margin-bottom:18px}}
@media(max-width:760px){.header .brand{width:155px}.header nav{gap:14px}.solutions-menu summary{font-size:12px;gap:5px}.header nav>.nav-contact{font-size:12px}.nav-contact span{margin-left:4px}.solutions-dropdown{left:auto;right:-30px;min-width:190px}.sector-hero{padding:20px 0 37px}.breadcrumb{font-size:10px;gap:9px;margin-bottom:30px}.sector-hero-grid{grid-template-columns:1fr;gap:30px}.sector-hero h1{font-size:42px;letter-spacing:-1.7px}.sector-hero h1 br{display:none}.sector-page-photo{height:215px;border-top-left-radius:75px;margin-right:10px}.sector-catalog{padding:43px 0}.catalog-heading h2{font-size:30px}.solution-row{grid-template-columns:24px 1fr;gap:12px;padding:24px 0}.solution-row h3{font-size:21px}.solution-row p{grid-column:2;font-size:16px}.sector-contact{padding:36px 0}.sector-contact>.wrap{display:block}.sector-contact h2{font-size:31px}.sector-contact .button{margin-top:24px}.related-sectors{gap:22px;flex-wrap:wrap;padding:25px 0}.related-sectors>span{width:100%;font-size:9px}.related-sectors a{font-size:13px}.sector-note{font-size:13px}}
@media(max-width:370px){.header .brand{width:140px}.header nav{gap:10px}.nav-contact span{display:none}}
.sector-break{display:block}@media(max-width:760px){.sector-break{display:inline}}
/* Nosotros: identidad, propósito y valores. */
.header nav>a[aria-current="page"]{color:var(--blue);box-shadow:inset 0 -2px var(--red)}.about-hero{background:var(--blue);color:white;padding:24px 0 0;overflow:hidden}.about-hero-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:55px;align-items:end;padding-bottom:45px}.about-hero h1{font-size:clamp(40px,4.2vw,60px);line-height:1.07;letter-spacing:-2.5px;margin-bottom:0}.about-lead{font-size:17px;line-height:1.7;color:#dfebff;max-width:350px;margin:0 0 3px}.about-anchors{display:flex;gap:45px;border-top:1px solid #ffffff35;padding:22px 0}.about-anchors a{font-size:12px;padding:6px 0}.about-anchors a span{color:var(--cyan);margin-left:22px}.about-anchors a:hover{text-decoration:underline}.purpose{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:75px 0}.purpose article+article{border-left:1px solid var(--line);padding-left:60px}.purpose-label{display:block;font-size:10px;letter-spacing:1.7px;color:var(--blue);margin-bottom:24px;font-weight:700}.purpose h2{font-size:44px;margin-bottom:20px;letter-spacing:-1.5px}.purpose h2:after{content:"";display:block;width:36px;height:3px;background:var(--red);margin-top:17px}.purpose p{color:var(--muted);font-size:17px;line-height:1.8;margin:0;max-width:490px}.values-section{background:var(--surface);padding:65px 0}.values-layout{display:grid;grid-template-columns:.85fr 1.5fr;gap:80px}.values-intro h2{font-size:39px;letter-spacing:-1.5px;margin-bottom:18px}.values-intro>p:last-child{color:var(--muted);font-size:16px;max-width:260px}.values-list{list-style:none;margin:0;padding:0}.values-list li{display:grid;grid-template-columns:28px 1fr;gap:20px;padding:24px 0;border-top:1px solid #bdcedf}.values-list li:first-child{border-top:2px solid var(--blue)}.value-number{font-size:11px;color:var(--blue);padding-top:5px}.values-list h3{font-size:21px;margin-bottom:10px;letter-spacing:-.4px}.values-list p{font-size:15px;line-height:1.65;color:var(--muted);margin:0;max-width:570px}.about-hero .breadcrumb{margin-bottom:40px}
@media(max-width:1000px){.about-hero-grid{grid-template-columns:1.5fr 1fr;gap:35px}.about-hero h1{font-size:43px}.purpose{gap:35px}.purpose article+article{padding-left:35px}.values-layout{gap:40px}}
@media(max-width:760px){.header{height:auto;min-height:108px;flex-wrap:wrap;padding:15px 0 6px;gap:10px}.header .brand{width:190px}.header nav{width:100%;justify-content:space-between;gap:15px}.header nav>a.about-nav:not(.nav-contact){display:block;padding:12px 0}.header nav .solutions-menu{margin-left:auto;margin-right:auto}.header nav>.nav-contact{padding:12px 0}.solutions-menu summary{padding:12px 0}.solutions-dropdown{right:50%;transform:translateX(50%)}.about-hero{padding-top:20px}.about-hero .breadcrumb{margin-bottom:30px}.about-hero-grid{grid-template-columns:1fr;gap:24px;padding-bottom:30px}.about-hero h1{font-size:40px;letter-spacing:-1.7px}.about-hero .sector-break{display:block}.about-lead{font-size:16px;max-width:none}.about-anchors{justify-content:space-between;gap:15px;padding:17px 0}.about-anchors a{font-size:12px}.about-anchors a span{margin-left:12px}.purpose{grid-template-columns:1fr;gap:35px;padding:42px 0}.purpose article+article{border-left:0;border-top:1px solid var(--line);padding:35px 0 0}.purpose-label{font-size:10px;margin-bottom:20px}.purpose h2{font-size:35px}.purpose p{font-size:16px;line-height:1.75}.values-section{padding:42px 0}.values-layout{grid-template-columns:1fr;gap:22px}.values-intro h2{font-size:34px}.values-intro>p:last-child{max-width:none}.values-list li{gap:12px;padding:23px 0}.values-list h3{font-size:21px}.values-list p{font-size:16px}.footer>a:last-child{margin-left:0}.footer>span{width:100%}}
/* Titular indicado por Andrés en la anotación del 29 de octubre. */
#titulo{font-size:clamp(34px,4.1vw,60px);letter-spacing:-1.8px;line-height:1.08}.headline-line{display:block}@media(max-width:760px){#titulo{font-size:clamp(30px,8.7vw,46px);letter-spacing:-1.3px}}

/* Hero con tres paneles expansibles y carrusel táctil. */
.hero-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:50px;padding-top:44px;padding-bottom:40px;align-items:center}
.hero-copy{display:block;max-width:500px}.hero-copy #titulo{font-size:clamp(34px,3.7vw,52px);margin-bottom:24px}.hero-copy .lead{max-width:410px;margin-bottom:25px}
.hero-gallery{min-width:0;width:100%}.gallery-track{display:flex;aspect-ratio:3 / 2;gap:4px;overflow:hidden;border-radius:5px;background:var(--deep)}
.gallery-panel{display:block;position:relative;flex:1 1 0;min-width:0;padding:0;border:0;background:var(--deep);overflow:hidden;cursor:pointer;transition:flex .45s ease}
.gallery-panel img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.gallery-track.is-expanded{gap:0}.gallery-track.is-expanded .gallery-panel{flex:0 1 0}.gallery-track.is-expanded .gallery-panel.is-active{flex:3 1 0}
.gallery-panel:focus-visible{outline:3px solid var(--cyan);outline-offset:-4px;z-index:1}
.gallery-nav{display:flex;align-items:center;gap:10px;margin-top:12px}.gallery-selectors{display:flex;flex:1;gap:5px}
.gallery-selectors a{flex:1;min-width:0;padding:12px 4px;background:none;color:#fff;border:0;border-bottom:2px solid #ffffff40;font:600 12px Arial,sans-serif;cursor:pointer;transition:border-color .2s,color .2s}
.gallery-selectors a[data-active="true"]{border-color:var(--cyan);color:var(--cyan)}.gallery-selectors a:focus-visible,.gallery-arrow:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.gallery-arrow{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px){.hero-grid{gap:28px}.hero-copy #titulo{font-size:36px}}
@media(max-width:760px){.hero-grid{grid-template-columns:1fr;padding-top:34px;padding-bottom:25px;gap:29px}.hero-copy #titulo{font-size:clamp(30px,8.7vw,46px)}.hero-gallery{max-width:550px}.gallery-track{aspect-ratio:auto;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;gap:0;border-radius:5px}.gallery-track::-webkit-scrollbar{display:none}.gallery-panel,.gallery-track.is-expanded .gallery-panel,.gallery-track.is-expanded .gallery-panel.is-active{flex:0 0 100%;aspect-ratio:3 / 2;scroll-snap-align:start;transition:none}.gallery-nav{gap:6px;margin-top:7px}.gallery-arrow{display:block;flex:none;width:32px;height:44px;background:none;border:0;color:#fff;font-size:20px;cursor:pointer}.gallery-selectors{gap:2px}.gallery-selectors a{font-size:11px;padding:14px 0}}
@media(prefers-reduced-motion:reduce){.gallery-panel,.gallery-selectors a{transition:none}}

.gallery-selectors a{text-align:center;display:block}.gallery-selectors a span{margin-left:5px;color:var(--cyan)}.gallery-selectors a:hover{color:var(--cyan);border-color:var(--cyan)}

/* Services, produits et navigation partagée. */
.header .brand{width:230px;flex:none}.header nav{gap:22px;font-size:13px}.header .solutions-menu summary{font-size:13px}.services-menu .solutions-dropdown{min-width:280px}.solutions-menu summary>a{padding:0}.solutions-menu summary>a:hover{color:var(--red)}.menu-toggle{display:none}.header nav>.nav-contact{padding:13px 15px}.nav-contact span{margin-left:10px}
.services-overview{display:grid;grid-template-columns:.8fr 1.3fr;gap:80px}.services-overview .section-intro h2{font-size:clamp(32px,3.2vw,44px)}.service-links{border-top:2px solid var(--blue)}.service-link{display:grid;grid-template-columns:25px 1fr 22px;gap:15px;border-bottom:1px solid var(--line);padding:25px 0;align-items:start}.service-link .service-no{padding-top:5px}.service-link h3{font-size:22px;letter-spacing:-.5px;margin:0 0 9px}.service-link p{font-size:15px;line-height:1.6;color:var(--muted);margin:0;max-width:475px}.service-arrow{font-size:23px;color:var(--blue)}.service-link:hover h3{text-decoration:underline;text-underline-offset:5px}.service-link:hover .service-arrow{color:var(--red)}
.products-teaser{padding:65px 0}.products-teaser>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.products-teaser h2{font-size:clamp(32px,3.2vw,44px)}.products-teaser p:not(.eyebrow){font-size:16px;color:var(--muted);max-width:430px}.products-teaser img{width:100%;height:auto;aspect-ratio:3 / 2;object-fit:contain;border-radius:5px}
.service-hero{padding:24px 0 50px;background:var(--blue);color:white}.service-hero .breadcrumb{margin-bottom:35px}.service-hero-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.service-hero h1{font-size:clamp(36px,3.7vw,52px);letter-spacing:-1.8px;line-height:1.1}.service-hero .eyebrow{color:var(--cyan)}.service-hero .lead{max-width:450px}.service-hero-layout>img{width:100%;height:auto;aspect-ratio:3 / 2;object-fit:contain;border-radius:5px}.service-related{display:flex;gap:25px;flex-wrap:wrap;align-items:center;padding:30px 0;border-bottom:1px solid var(--line)}.service-related>span{font-size:10px;letter-spacing:1.3px;color:var(--muted);margin-right:auto}.service-related>a{font-size:13px;font-weight:600;padding:10px 0}.service-related>a:hover{text-decoration:underline}
.products-hero{background:var(--blue);color:white;padding:24px 0 45px}.products-hero .breadcrumb{margin-bottom:35px}.products-hero h1{font-size:clamp(40px,4vw,58px);letter-spacing:-2px;margin-bottom:20px}.products-hero .lead{max-width:620px;margin-bottom:0}.products-catalog{padding:60px 0}.products-catalog>h2{font-size:35px;letter-spacing:-1px;margin-bottom:32px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}.product-item{background:var(--surface);border-radius:5px;overflow:hidden;display:flex;flex-direction:column}.product-item>img{display:block;width:100%;height:auto;aspect-ratio:3 / 2;object-fit:contain;background:white}.product-item>div{padding:25px;display:flex;flex-direction:column;flex:1}.product-item h3{font-size:24px;letter-spacing:-.7px;margin:0 0 13px}.product-item p{font-size:15px;color:var(--muted);line-height:1.65;margin:0 0 20px}.product-item a{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700;color:var(--blue);padding:13px 0 0;border-top:1px solid var(--line);margin-top:auto;min-height:44px}.product-item a:hover{text-decoration:underline}
@media(max-width:1100px){.header{height:auto;min-height:88px;flex-wrap:wrap;gap:0;padding:17px 0}.header .brand{width:210px}.menu-toggle{display:flex;align-items:center;gap:13px;margin-left:auto;border:1px solid var(--line);border-radius:4px;background:white;color:var(--ink);padding:12px 15px;font:600 13px Arial,sans-serif;cursor:pointer;min-height:44px}.menu-toggle:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.header nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;font-size:15px;padding-top:18px}.header.nav-open nav{display:flex}.header nav>a,.header nav>a.about-nav:not(.nav-contact){display:block;padding:15px 0;border-bottom:1px solid var(--line)}.header nav>.nav-contact{padding:15px 0;background:none}.header nav .solutions-menu{margin:0;width:100%;border-bottom:1px solid var(--line)}.header .solutions-menu summary{padding:15px 0;font-size:15px;justify-content:space-between}.header .solutions-dropdown{position:static;transform:none;width:100%;min-width:0;border:0;box-shadow:none;background:var(--surface);padding:7px;margin-bottom:10px}.header nav .solutions-dropdown a{font-size:14px;padding:14px}.services-overview{gap:40px}.service-hero-layout{gap:35px}.products-teaser>.wrap{gap:40px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.services-section{padding:42px 0}.services-overview{grid-template-columns:1fr;gap:24px}.services-overview .section-intro h2{font-size:34px}.service-link{gap:11px;grid-template-columns:20px 1fr 20px;padding:23px 0}.service-link h3{font-size:21px}.service-link p{font-size:16px}.products-teaser{padding:42px 0}.products-teaser>.wrap{grid-template-columns:1fr;gap:28px}.products-teaser h2{font-size:34px}.products-teaser h2 br{display:none}.service-hero{padding:20px 0 35px}.service-hero-layout{grid-template-columns:1fr;gap:30px}.service-hero h1{font-size:38px;letter-spacing:-1.5px}.service-hero .breadcrumb{font-size:10px;margin-bottom:28px}.service-hero .eyebrow{font-size:9px;letter-spacing:1.4px}.service-related{gap:5px 20px;padding:25px 0}.service-related>span{width:100%;margin-bottom:8px}.service-related>a{font-size:14px}.products-hero{padding:20px 0 35px}.products-hero h1{font-size:40px;letter-spacing:-1.5px}.products-hero .lead{font-size:16px}.products-catalog{padding:40px 0}.products-catalog>h2{font-size:30px}.product-grid{grid-template-columns:1fr;gap:24px}.product-item>div{padding:23px}.product-item p{font-size:16px}.product-item h3{font-size:25px}}

.sector-page-photo{height:auto;aspect-ratio:3 / 2;border-radius:5px;box-shadow:none}.sector-page-photo img{inset:0;width:100%;height:100%;object-fit:contain}

/* Servicios: correspondencia individual con páginas 4 a 21 del brochure. */
.services-complete{display:block}.services-complete .section-intro{max-width:700px;margin-bottom:30px}.services-complete .section-intro>p:not(.eyebrow){max-width:650px}.services-complete .service-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 35px}.services-complete .service-link{grid-template-columns:22px 1fr 20px;gap:12px;padding:23px 0}.services-complete .service-link h3{font-size:19px;line-height:1.3}.services-complete .service-link p{font-size:14px;line-height:1.55}
.services-menu .solutions-dropdown{left:auto;right:0;width:min(680px,calc(100vw - 64px));display:grid;grid-template-columns:1fr 1fr;gap:0 7px;max-height:65vh;overflow-y:auto;overscroll-behavior:contain}.services-menu .services-all{grid-column:1 / -1;border-bottom:1px solid var(--line);margin-bottom:5px}.header nav .services-menu .solutions-dropdown a{line-height:1.4;font-size:13px}
@media(max-width:1100px){.services-menu .solutions-dropdown{width:100%;grid-template-columns:1fr;max-height:60vh}.services-menu .services-all{grid-column:auto}.header nav .services-menu .solutions-dropdown a{font-size:14px}}
@media(max-width:760px){.services-complete .service-links{grid-template-columns:1fr}.services-complete .service-link h3{font-size:20px}.services-complete .service-link p{font-size:16px}.service-hero h1{font-size:34px}}

/* Seis familias; los servicios individuales se abren bajo demanda. */
.services-families{display:block}.services-families .section-intro{max-width:700px;margin-bottom:30px}.family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px;align-items:start;border-top:2px solid var(--blue)}
.service-family{min-width:0;border-bottom:1px solid var(--line)}.service-family>summary{display:grid;grid-template-columns:23px 1fr 24px;gap:14px;align-items:start;padding:27px 0;letter-spacing:0;min-height:130px}.family-number{font-size:10px;color:var(--blue);padding-top:5px}.family-copy strong{display:block;font-size:22px;letter-spacing:-.5px;line-height:1.25;margin-bottom:10px}.family-copy>span{display:block;font-size:15px;font-weight:400;line-height:1.6;color:var(--muted)}.family-toggle{position:relative;width:23px;height:23px;border:1px solid #a4b9d0;border-radius:50%;margin-top:2px}.family-toggle:before,.family-toggle:after{content:"";position:absolute;top:10px;left:6px;width:9px;height:1px;background:var(--blue)}.family-toggle:after{transform:rotate(90deg)}.service-family[open] .family-toggle:after{display:none}.service-family[open] .family-toggle{background:var(--blue);border-color:var(--blue)}.service-family[open] .family-toggle:before{background:#fff}.service-family[open]>summary{color:var(--blue)}
.family-links{list-style:none;margin:0 0 22px 37px;padding:0}.family-links a{display:flex;gap:20px;align-items:center;justify-content:space-between;min-height:44px;padding:11px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.5}.family-links a span{color:var(--blue);flex:none}.family-links a:hover{text-decoration:underline;text-underline-offset:3px}
.services-menu .menu-family{border-bottom:1px solid var(--line);min-width:0;align-self:start}.header .services-menu .menu-family>summary{font-size:14px;line-height:1.4;font-weight:600;padding:15px 10px;gap:15px;min-height:64px;display:flex;justify-content:space-between;align-items:center;letter-spacing:0}.menu-family ul{list-style:none;padding:0 5px 8px;margin:0}.header nav .menu-family ul a{display:flex;gap:15px;justify-content:space-between;font-size:13px;line-height:1.45;padding:11px 10px;min-height:44px}.menu-family ul a span{flex:none;color:var(--blue)}
@media(max-width:760px){.family-grid{grid-template-columns:1fr}.service-family>summary{min-height:0;padding:24px 0;gap:12px;grid-template-columns:20px 1fr 23px}.family-copy strong{font-size:21px}.family-copy>span{font-size:16px}.family-links{margin-left:32px}.family-links a{font-size:15px}.header .services-menu .menu-family>summary{min-height:54px}.header nav .menu-family ul a{font-size:14px}}
/* Relaciones entre sectores, servicios y catálogo. */
.sector-associations{padding-top:60px;padding-bottom:58px}.association-heading{margin-bottom:34px;max-width:680px}.association-heading h2{font-size:38px;line-height:1.14;letter-spacing:-1.3px;margin:0 0 18px}.association-heading>p:last-child{font-size:16px;line-height:1.65;color:var(--muted);margin:0}.association-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}.association-column{min-width:0}.association-column h3{font-size:25px;letter-spacing:-.6px;margin:0;padding:0 0 19px;border-bottom:2px solid var(--blue)}.association-column ul{list-style:none;margin:0;padding:0}.association-column li{border-bottom:1px solid var(--line)}.association-column li>a{display:flex;justify-content:space-between;gap:20px;padding:22px 0;min-height:114px;align-items:center}.association-column strong{display:block;font-size:18px;line-height:1.3;margin-bottom:7px}.association-column li>a>span>span{display:block;font-size:14px;line-height:1.55;color:var(--muted)}.association-arrow{font-size:23px;color:var(--blue);flex:none}.association-column li>a:hover strong{text-decoration:underline;text-underline-offset:4px}.association-all{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 0 8px;min-height:48px;font-weight:700;font-size:14px;color:var(--blue)}
.sector-needs{margin-top:38px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.sector-needs>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;font-size:18px;font-weight:600;letter-spacing:-.3px;list-style:none;cursor:pointer}.sector-needs>summary::-webkit-details-marker{display:none}.sector-needs[open] .family-toggle:after{display:none}.sector-needs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:0 0 28px}.sector-needs h3{font-size:17px;line-height:1.3;margin:0 0 10px}.sector-needs p{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 12px}.need-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;min-height:44px;font-size:13px;line-height:1.5;color:var(--blue);border-top:1px solid var(--line)}.need-links a span{flex:none}
.service-sectors{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding-top:0;padding-bottom:52px}.service-sectors h2{font-size:30px;line-height:1.18;letter-spacing:-.8px;margin:0;max-width:380px}.service-sector-context p{font-size:15px;line-height:1.6;color:var(--muted);margin:0 0 14px}.sector-links{display:flex;flex-wrap:wrap;gap:8px}.sector-links a{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:44px;padding:10px 14px;border:1px solid var(--line);font-size:13px;font-weight:600;line-height:1.3;color:var(--blue);border-radius:3px}.sector-links a:hover{background:var(--blue);color:white}.conditional-context{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.service-sector-context>.conditional-context:first-child{margin-top:0;padding-top:0;border-top:0}
.product-item[id]{scroll-margin-top:125px}.product-item:target{outline:2px solid var(--cyan);outline-offset:5px}.product-sectors{margin:0 0 24px;padding-top:18px;border-top:1px solid var(--line)}.application-label{display:block;font-size:10px;font-weight:700;letter-spacing:1.2px;color:var(--blue);margin-bottom:12px}.product-item .product-sectors p{font-size:13px;line-height:1.6;margin:0 0 12px}.product-item .sector-links a{display:inline-flex;margin:0;padding:9px 11px;border:1px solid var(--line);font-size:12px;min-height:44px;gap:9px}.product-sectors .conditional-context{margin-top:15px;padding-top:14px}.product-sectors>.conditional-context:first-of-type{margin-top:0;padding-top:0;border-top:0}.product-item .sector-links a:hover{color:white}
@media(max-width:1000px){.association-columns{gap:30px}.sector-needs-grid{gap:22px}.service-sectors{gap:30px}}
@media(max-width:760px){.sector-associations{padding-top:38px;padding-bottom:38px}.association-heading{margin-bottom:28px}.association-heading h2{font-size:30px}.association-columns{grid-template-columns:1fr;gap:33px}.association-column h3{font-size:24px}.association-column li>a{min-height:0;padding:20px 0}.association-column strong{font-size:18px}.association-column li>a>span>span{font-size:15px}.sector-needs{margin-top:28px}.sector-needs>summary{font-size:17px}.sector-needs-grid{grid-template-columns:1fr;gap:26px;padding-bottom:23px}.sector-needs p{font-size:15px}.need-links a{font-size:14px}.service-sectors{grid-template-columns:1fr;gap:24px;padding-bottom:36px}.service-sectors h2{font-size:28px}.product-item[id]{scroll-margin-top:95px}.product-item .product-sectors p{font-size:14px}}

/* Carrusel del catálogo en portada. */
.products-teaser>.wrap>*{min-width:0}
.product-carousel{position:relative;min-width:0;overflow:hidden;border-radius:5px;background:#fff}
.product-carousel-window{overflow:hidden}
.product-carousel-track{display:flex;transition:transform .65s cubic-bezier(.22,.61,.36,1)}
.product-slide{flex:0 0 100%;min-width:0;display:flex;flex-direction:column}
.products-teaser .product-slide img{display:block;width:100%;aspect-ratio:3 / 2;object-fit:contain;border-radius:0}
.product-slide-caption{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px;padding:14px 0;font-size:15px;font-weight:600;line-height:1.4;color:var(--blue);border-bottom:1px solid var(--line)}
.product-slide-caption>span{font-size:22px;flex:none}
.product-slide:hover .product-slide-caption{text-decoration:underline}
.product-slide:focus-visible{outline-offset:-3px}
.product-carousel-controls{position:absolute;inset:0 0 auto;aspect-ratio:3 / 2;display:flex;align-items:center;justify-content:space-between;padding:0 10px;pointer-events:none}
.product-carousel-controls[hidden]{display:none}
.product-carousel-controls button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fffffff2;color:var(--blue);box-shadow:0 2px 10px #09285f12;cursor:pointer;pointer-events:auto}
.product-carousel-controls button span{font:400 32px/1 Arial,sans-serif;transform:translateY(-1px)}
.product-carousel-controls button:hover{background:var(--surface);border-color:var(--blue)}
.product-carousel-controls button:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}
@media(max-width:760px){.product-slide-caption{font-size:14px;min-height:66px}.product-carousel-controls{padding-inline:6px}}
@media(prefers-reduced-motion:reduce){.product-carousel-track{transition:none}}

/* Servicios destacados junto a las seis familias. */
.services-families{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.services-families .section-intro{max-width:none;margin-bottom:0;min-width:0}
.services-families .family-grid{grid-template-columns:1fr;gap:0}
.services-families .service-family>summary{min-height:104px;padding:20px 0}
.services-families .family-copy strong{font-size:20px;margin-bottom:7px}
.services-families .family-copy>span{font-size:14px}
.service-highlights{margin-top:27px;background:transparent}
.service-highlights .product-slide img{display:block;width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;border-radius:5px}
.service-highlights .product-slide-caption{min-height:112px;align-items:flex-start;padding:17px 0;font-size:18px}
.service-highlight-copy{display:block;min-width:0;flex:1;font-weight:600}
.service-highlight-copy small{display:block;margin-top:9px;font-size:14px;line-height:1.55;font-weight:400;color:var(--muted)}
.service-highlights .product-slide-caption>span{padding-top:1px}
@media(max-width:1000px){.services-families{gap:35px}.services-families .section-intro h2{font-size:36px}}
@media(max-width:760px){.services-families{display:block}.services-families .section-intro{margin-bottom:30px}.services-families .section-intro h2{font-size:34px}.service-highlights{margin-top:25px}.service-highlights .product-slide-caption{min-height:112px}.services-families .service-family>summary{min-height:0;padding:24px 0}.services-families .family-copy strong{font-size:21px}.services-families .family-copy>span{font-size:16px}}

/* Galerías de imágenes en las páginas individuales de servicio. */
.service-image-gallery{width:100%;min-width:0;background:#0d3477;align-self:center}
.service-image-gallery .product-slide{margin:0;flex:0 0 100%;min-width:0}
.service-image-gallery .product-slide img{display:block;width:100%;height:auto;aspect-ratio:3 / 2;object-fit:contain;border-radius:5px}
.service-image-gallery .product-slide:focus-visible{outline:3px solid var(--cyan);outline-offset:-4px}

/* Tipografía Manrope aprobada por Andrés, 2026-10-30. */
@font-face {
  font-family: Manrope;
  src: url('/assets/fonts/manrope-latin-variable.woff2') format('woff2');
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}
body { font-family: Manrope, Arial, sans-serif; }
button, input, select, textarea, .menu-toggle, .gallery-selectors a { font-family: inherit; }
h1, h2, h3 { font-weight: 700; }
h1 { line-height: 1.08; letter-spacing: -.035em; text-wrap: balance; }
h2, .contact h2 { letter-spacing: -.035em; line-height: 1.12; text-wrap: balance; }
h3, .family-copy strong { letter-spacing: -.02em; }
.hero-copy #titulo { font-size: clamp(36px, 3.7vw, 54px); }
.lead, .service-hero .lead, .sector-hero .lead { font-size: 17px; line-height: 1.7; }
.header nav, .button { font-weight: 600; }
.service-hero h1 { font-size: clamp(34px, 3.35vw, 46px); line-height: 1.16; letter-spacing: -.03em; }
.sector-hero h1, .products-hero h1, .about-hero h1 { letter-spacing: -.035em; line-height: 1.12; }
.solution-row p { font-size: 17px; line-height: 1.7; }
@media (max-width: 1000px) and (min-width: 761px) {
  .header nav { gap: 22px; font-size: 13px; }
}
@media (max-width: 760px) {
  .hero-copy #titulo { font-size: clamp(32px, 8.6vw, 46px); line-height: 1.1; letter-spacing: -.035em; }
  .service-hero h1 { font-size: clamp(30px, 6.9vw, 38px); line-height: 1.16; letter-spacing: -.025em; }
  .sector-hero h1, .products-hero h1, .about-hero h1 { font-size: 36px; }
  .contact h2 { font-size: clamp(40px, 9vw, 61px); }
}
