:root{--navy:#062746;--navy-deep:#041c34;--yellow:#f4c400;--ink:#142d44;--muted:#5b6a79;--paper:#fff;--pale:#f3f5f7;--line:#d9e0e5}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit}button{font:inherit}img{max-width:100%;display:block}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #dfaa00;outline-offset:5px}.skip{position:fixed;left:20px;top:-100px;background:white;color:var(--navy);padding:10px;z-index:100}.skip:focus{top:10px}.wrap{max-width:1320px;margin:auto;padding:0 56px}.topbar{background:var(--navy-deep);color:#d6e0e8;font-size:11px;letter-spacing:.3px}.topbar .wrap{display:flex;justify-content:space-between;padding-top:9px;padding-bottom:9px}.topbar a{text-decoration:none}header{background:white;border-bottom:1px solid var(--line)}.navigation{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:16px;padding-bottom:16px}.brand{display:flex;align-items:center;gap:15px;text-decoration:none;font-size:24px;font-weight:900;letter-spacing:-.8px;line-height:1.1}.brand img{width:67px;height:67px;object-fit:contain;flex-shrink:0}.brand small{display:block;font-size:8px;letter-spacing:1.5px;margin-top:8px;font-weight:700}.navigation nav{display:flex;align-items:center;gap:30px;font-size:13px}.navigation nav a{text-decoration:none}.navigation nav a:hover{color:#826800}.navigation .nav-cta{border:1px solid var(--navy);padding:11px 16px;display:flex;gap:25px}.hero{background:var(--navy);color:white;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:55px;padding-top:56px;padding-bottom:56px;align-items:center}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;margin:0 0 22px;text-transform:uppercase}.hero .eyebrow{color:#e8c943;display:flex;align-items:center;gap:10px}.eyebrow span{width:23px;height:2px;background:var(--yellow)}h1{font-size:clamp(46px,5.2vw,70px);font-weight:700;letter-spacing:-3px;line-height:1.03;margin:0 0 25px}h1 em,h2 em{font-style:normal;color:var(--yellow)}.hero-slogan{font-size:20px;line-height:1.45;max-width:445px;margin:0 0 18px}.hero-intro{font-size:14px;color:#c1d1de;max-width:420px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:14px 20px;font-size:13px;font-weight:700;text-decoration:none;transition:background .2s}.button.yellow{background:var(--yellow);color:var(--navy-deep)}.button.yellow:hover{background:#ffda3a}.light-link{font-size:12px;color:white;text-underline-offset:6px}.hero-foot{display:flex;align-items:center;gap:16px;margin-top:40px;font-size:9px;letter-spacing:2px;color:#bdcddd}.hero-foot i{width:4px;height:4px;border-radius:50%;background:var(--yellow)}.hero-visual{position:relative;min-width:0;padding:0 0 20px 15px}.hero-visual>img{width:100%;height:520px;object-fit:cover;object-position:center;border-radius:2px}.photo-caption{display:flex;align-items:center;gap:11px;position:absolute;bottom:42px;left:35px;right:20px;background:var(--navy-deep);padding:10px 15px;font-size:10px;letter-spacing:.5px;color:#fff}.photo-line{width:22px;height:2px;background:var(--yellow)}.experience{position:absolute;top:30px;left:-25px;display:flex;align-items:center;gap:10px;background:var(--yellow);color:var(--navy);padding:12px 18px;box-shadow:0 6px 30px #041c3429}.experience strong{font-size:44px;letter-spacing:-3px;line-height:1}.experience strong span{font-size:26px}.experience>span{font-size:9px;font-weight:700;line-height:1.4;letter-spacing:1px}.service-strip{background:var(--yellow);color:var(--navy);font-size:10px;font-weight:700;letter-spacing:1.4px}.service-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:20px;padding-bottom:20px}.service-strip b{font-weight:400;opacity:.45}h2{font-size:clamp(31px,3.4vw,47px);font-weight:700;line-height:1.15;letter-spacing:-1.6px;margin:0 0 25px}h3{line-height:1.25;letter-spacing:-.5px}.about{display:grid;grid-template-columns:1fr 1fr;gap:85px;padding-top:100px;padding-bottom:100px;align-items:center}.about-image{position:relative;padding-bottom:30px}.about-image>img{width:100%;height:490px;object-fit:cover;object-position:40% center}.image-note{position:absolute;right:-25px;bottom:0;background:var(--navy);color:white;padding:22px 30px;font-size:15px;line-height:1.5}.image-note strong{color:var(--yellow);font-size:19px}.about-copy .eyebrow{color:#776000}.about h2 em{color:#9b7c00}.about p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:470px}.text-link{display:inline-flex;gap:28px;align-items:center;text-decoration:none;border-bottom:1px solid var(--navy);padding-bottom:6px;margin-top:15px;font-size:13px;font-weight:700}.services-section{background:var(--pale);padding:90px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:45px}.section-head h2{margin-bottom:0}.section-head>p{font-size:14px;color:var(--muted);max-width:330px;margin:0 0 3px}.section-head .eyebrow{color:#776000}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service{background:white;padding:30px;display:flex;flex-direction:column;align-items:flex-start}.service-heading{display:flex;justify-content:space-between;width:100%;font-size:12px;color:#65788a}.service-heading>span:last-child{font-size:20px;color:var(--ink)}.service h3{font-size:22px;margin:28px 0 16px}.service p{color:var(--muted);font-size:13px;margin:0 0 26px}.service a{font-size:11px;font-weight:700;display:flex;justify-content:space-between;width:100%;text-decoration:none;border-top:1px solid var(--line);padding-top:15px;margin-top:auto}.service.featured{background:var(--navy);color:white}.service.featured .service-heading,.service.featured p{color:#bfcedb}.service.featured .service-heading>span:last-child{color:var(--yellow)}.service.featured a{border-color:#3b5268;color:var(--yellow)}.projects{padding-top:95px;padding-bottom:90px}.gallery-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.gallery-filters button{font-size:12px;border:1px solid var(--line);background:white;color:var(--muted);padding:9px 16px;cursor:pointer}.gallery-filters button.active{background:var(--navy);border-color:var(--navy);color:white}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 22px}.gallery figure{margin:0;min-width:0}.gallery figure[hidden]{display:none}.photo-button{display:block;padding:0;border:0;width:100%;position:relative;cursor:zoom-in;background:var(--pale);overflow:hidden}.photo-button img{width:100%;height:285px;object-fit:cover;transition:transform .3s}.photo-button:hover img{transform:scale(1.04)}.photo-button>span{position:absolute;right:12px;bottom:12px;background:var(--yellow);color:var(--navy);width:30px;height:30px;display:grid;place-items:center;font-size:18px}.gallery figcaption{font-size:12px;color:var(--muted);padding-top:10px}.gallery-source{font-size:12px;color:var(--muted);margin:32px 0 0}.gallery-source a{text-underline-offset:4px}.process{background:var(--navy-deep);color:white;padding:75px 0}.process .eyebrow{color:var(--yellow)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:45px}.steps article{border-top:1px solid #355168;padding-top:20px}.steps article>span{color:var(--yellow);font-size:13px}.steps h3{font-size:19px;margin:18px 0 12px}.steps p{font-size:13px;color:#bbcad6}.questions{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;padding-top:90px;padding-bottom:90px}.questions .eyebrow{color:#776000}details{border-bottom:1px solid var(--line);padding:20px 0}details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;font-size:14px;font-weight:700}details p{font-size:13px;color:var(--muted);max-width:600px}.contact{background:var(--navy);color:white;padding:70px 0}.contact .eyebrow{color:var(--yellow)}.contact-head{display:flex;justify-content:space-between;align-items:center;gap:35px}.contact-head>p{color:#c1d1de;font-size:15px}.contact-countries{display:grid;grid-template-columns:1fr 1fr 1.1fr;margin-top:25px;border-top:1px solid #3a5268}.contact-countries article{display:flex;flex-direction:column;align-items:flex-start;padding:30px 22px 0 0;gap:18px;min-width:0}.contact-countries article+article{padding-left:28px;border-left:1px solid #3a5268}.country-tag{font-size:9px;letter-spacing:2px;color:#c1d1de}.phone{font-size:26px;font-weight:700;text-decoration:none;letter-spacing:-.8px;line-height:1.2}.email-contact>a:first-of-type{font-size:16px;overflow-wrap:anywhere}.email-contact .light-link{margin-top:5px}footer{padding:38px 0 25px;background:#fff}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:27px}.footer-top p{font-size:13px;color:var(--muted)}.footer-top .brand img{height:65px;width:65px}.legal{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.scope{font-size:10px;color:var(--muted)}.privacy{padding:12px 0 0;border:0}.privacy summary,.privacy p{font-size:11px;font-weight:400}.privacy p{max-width:950px}.privacy summary{color:var(--muted)}dialog{padding:50px 20px 20px;background:var(--navy-deep);color:white;border:1px solid #456078;max-width:94vw;max-height:94vh;overflow:auto}dialog::backdrop{background:#001528e8}dialog figure{margin:0}dialog img{max-height:75vh;max-width:85vw;object-fit:contain;margin:auto}dialog figcaption{font-size:12px;text-align:center;padding-top:10px}.close-photo{position:absolute;right:14px;top:10px;background:none;border:1px solid #8ba0b2;color:white;padding:5px 12px;font-size:12px;cursor:pointer}
@media(min-width:1600px){.hero-visual>img{height:580px}}
@media(max-width:1050px){.wrap{padding-left:32px;padding-right:32px}.navigation nav{gap:18px}.brand{font-size:22px}.hero-grid{gap:36px}.hero-visual>img{height:500px}.hero-actions{gap:18px}.about{gap:50px}.about-image>img{height:465px}.service{padding:25px}.contact-countries{grid-template-columns:1fr 1fr}.contact-countries article.email-contact{grid-column:1/-1;border-left:0;padding-left:0;margin-top:25px;border-top:1px solid #3a5268}.gallery{gap:22px 16px}.photo-button img{height:245px}}
@media(max-width:760px){html{scroll-padding-top:20px}.wrap{padding-left:22px;padding-right:22px}.topbar{font-size:9px}.topbar .wrap{gap:12px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}.navigation{flex-wrap:wrap;gap:14px;padding-top:12px;padding-bottom:12px}.brand{font-size:23px}.brand img{width:57px;height:57px}.brand small{font-size:7px}.navigation nav{width:100%;justify-content:space-between;gap:12px;font-size:11px}.navigation .nav-cta{padding:7px 11px;gap:10px}.hero-grid{grid-template-columns:1fr;padding-top:38px;padding-bottom:28px;gap:35px}.hero .eyebrow{font-size:9px;letter-spacing:1.6px}h1{font-size:52px;letter-spacing:-2.5px}.hero-slogan{font-size:19px;max-width:400px}.hero-intro{font-size:13px;max-width:480px}.hero-actions{margin-top:25px}.hero-foot{margin-top:28px}.hero-visual{padding:0 0 10px 12px}.hero-visual>img{height:420px;object-position:center 42%}.experience{left:0;top:20px;padding:10px 15px}.experience strong{font-size:39px}.photo-caption{left:25px;bottom:28px;font-size:9px}.service-strip .wrap{justify-content:center;flex-wrap:wrap;gap:10px 13px;padding-top:15px;padding-bottom:15px;font-size:8px;letter-spacing:1px}.about{grid-template-columns:1fr;gap:40px;padding-top:55px;padding-bottom:55px}.about-image{max-width:500px;padding-right:18px}.about-image>img{height:400px}.image-note{right:0;padding:18px 25px}.about h2{font-size:37px}.about-copy p:not(.eyebrow){max-width:100%}.eyebrow{margin-bottom:18px}.services-section{padding:55px 0}.section-head{display:block;margin-bottom:30px}.section-head>p{max-width:470px;margin-top:20px;font-size:13px}.section-head h2{font-size:36px}.service-grid{grid-template-columns:1fr 1fr}.service{padding:23px 20px}.service h3{font-size:19px;margin-top:22px}.service p{font-size:12px}.service a{font-size:10px}.projects{padding-top:55px;padding-bottom:55px}.gallery{grid-template-columns:1fr 1fr;gap:22px 13px}.photo-button img{height:220px}.gallery figcaption{font-size:11px}.gallery-filters{gap:7px}.gallery-filters button{font-size:11px;padding:8px 12px}.process{padding:55px 0}.steps{grid-template-columns:1fr;gap:18px;margin-top:30px}.steps h3{margin-top:10px}.steps p{max-width:500px}.questions{grid-template-columns:1fr;gap:20px;padding-top:55px;padding-bottom:55px}.questions h2{margin-bottom:10px}.contact{padding:50px 0}.contact-head{display:block}.contact-head h2{font-size:37px}.contact-head>p{font-size:13px}.contact-countries{grid-template-columns:1fr}.contact-countries article{padding:25px 0!important;border-left:0!important}.contact-countries article+article{border-top:1px solid #3a5268}.contact-countries article.email-contact{margin:0}.phone{font-size:27px}.contact-countries .button{width:100%;max-width:340px}.footer-top{align-items:flex-start;flex-direction:column;gap:15px}.footer-top p{margin:0}.legal{display:block;font-size:9px}.legal span{display:block;margin-bottom:8px}}
@media(max-width:420px){h1{font-size:45px}.hero-visual>img{height:365px}.hero-actions{align-items:flex-start;flex-direction:column}.gallery{grid-template-columns:1fr}.photo-button img{height:320px}.service-grid{grid-template-columns:1fr}.service{padding:26px}.service h3 br{display:none}.service h3{font-size:23px}.service p{font-size:13px}.service a{font-size:12px}.topbar a{font-size:9px}}
.whatsapp-float{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:40;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#25d366;color:white;box-shadow:0 4px 18px #00152840;text-decoration:none;border:2px solid white;transition:background .2s,transform .2s}.whatsapp-float svg{width:32px;height:32px}.whatsapp-float:hover{background:#128c4a;transform:translateY(-2px)}
.field-feature{position:relative;isolation:isolate;background:var(--navy);color:white;min-height:490px;display:flex;align-items:center;overflow:hidden}.field-feature>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;z-index:-2}.field-feature::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#041c34f5 0%,#041c34d9 30%,#041c3440 68%,#041c341a 100%);z-index:-1}.field-feature-copy{width:100%;padding-top:65px;padding-bottom:65px}.field-feature .eyebrow{color:var(--yellow)}.field-feature h2{max-width:570px}.field-feature-copy>p:not(.eyebrow){max-width:340px;color:#e0e8ef;font-size:14px;margin-bottom:25px}.gallery figure:has(img[src="assets/trabajo-con-agua.jpg"]) img{object-position:center 35%}
@media(max-width:760px){.field-feature{min-height:480px}.field-feature>img{object-position:58% center}.field-feature::before{background:linear-gradient(90deg,#041c34ed,#041c34a6 65%,#041c3459)}.field-feature h2{font-size:34px;max-width:350px}.field-feature-copy{padding-top:55px;padding-bottom:55px}.field-feature .eyebrow{font-size:9px}}
.navigation .brand small{white-space:nowrap;font-size:7px;letter-spacing:1px}
@media(max-width:760px){.navigation .brand small{font-size:6.5px;letter-spacing:.75px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.country-with-flag{display:flex;align-items:center;gap:12px;color:white}.country-with-flag img{width:42px;height:28px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px #ffffff30}
