:root{--u:clamp(.72px,.052083333vw,1px);--paper:#efefef;--ink:#323232;--body:#626262;--navy:#1e374e;--gold:#f2d589;--font:'Host Grotesk',Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:max(16px,calc(22 * var(--u)));line-height:1.28}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h2,h3{font-size:calc(52 * var(--u));line-height:1.2;font-weight:800}p{color:var(--body)}a{color:inherit}button,input,textarea{font:inherit}a,button,input,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #009dd3;outline-offset:5px}.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}.skip-link{position:absolute;top:12px;left:12px;z-index:5;background:#fff;padding:12px;transform:translateY(-200%)}.skip-link:focus{transform:none}.dark{background:linear-gradient(160deg,#203241,#1d3a53);color:white}.dark p{color:white}.hero{height:calc(600 * var(--u));min-height:340px;background:#213b4b url('assets/hero.webp') center/cover no-repeat;position:relative;display:grid;place-items:center}.brand-panel{width:calc(495 * var(--u));padding:calc(57 * var(--u)) calc(60 * var(--u));border-radius:calc(18 * var(--u));background:linear-gradient(115deg,#425660a6,#b7b7b786);border:1px solid #ffffff65;backdrop-filter:blur(14px);transform:translateY(calc(16 * var(--u)))}.brand-panel img{width:100%}.ribbon{position:absolute;bottom:calc(29 * var(--u));left:0;right:0;white-space:nowrap;overflow:hidden;font-size:calc(24 * var(--u));font-weight:400;color:white;line-height:1.4}.ribbon span{display:block;width:max-content;transform:translateX(-110px)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:calc(14 * var(--u)) calc(34 * var(--u));border:0;border-radius:3px;font-family:Montserrat,Arial,sans-serif;font-size:max(12px,calc(13 * var(--u)));font-weight:500;letter-spacing:1px;line-height:1.3;text-decoration:none;cursor:pointer;transition:background .18s,box-shadow .18s}.button-gold{background:var(--gold);color:#1f3449}.button-gold:hover{background:#f7df9e;box-shadow:0 3px 14px #0002}.button-blue{background:#304c79;color:white}.button-blue:hover{background:#203d69}
.about{min-height:calc(627 * var(--u));padding:calc(18 * var(--u)) 24px calc(70 * var(--u))}.about-inner{max-width:calc(1171 * var(--u));margin:auto;display:grid;grid-template-columns:calc(525 * var(--u)) 1fr;gap:calc(91 * var(--u));align-items:center;position:relative;left:calc(27 * var(--u))}.about-collage{width:100%}.about-copy h2{letter-spacing:.1em;margin-bottom:calc(24 * var(--u))}.about-copy p{text-align:justify;margin-bottom:calc(29 * var(--u))}.purpose{position:relative;padding:calc(100 * var(--u)) 24px calc(71 * var(--u));isolation:isolate;min-height:calc(891 * var(--u))}.purpose:before{content:'';position:absolute;inset:0;z-index:-1;background:url('assets/obra-fundo.webp') center 55%/cover no-repeat;mix-blend-mode:luminosity;opacity:.2;mask-image:linear-gradient(transparent 20%,#000)}.purpose-inner{max-width:calc(1097 * var(--u));margin:auto;text-align:center}.purpose-cards{display:grid;grid-template-columns:1fr 1fr;gap:calc(35 * var(--u))}.purpose-card{padding:calc(24 * var(--u)) calc(76 * var(--u)) calc(29 * var(--u));border-radius:calc(16 * var(--u));background:var(--paper);color:var(--ink);text-align:left;min-height:calc(260 * var(--u))}.purpose-card h2,.values-card h2{letter-spacing:.1em}.purpose-card p{color:var(--body);font-size:max(16px,calc(18 * var(--u)));text-align:justify;line-height:1.22;margin-top:calc(13 * var(--u))}.values-card{background:var(--paper);color:var(--ink);width:72%;margin:calc(32 * var(--u)) auto calc(41 * var(--u));padding:calc(20 * var(--u)) calc(73 * var(--u)) calc(53 * var(--u));border-radius:calc(16 * var(--u))}.values-card ul{padding:0;margin:calc(24 * var(--u)) 0 0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:calc(8 * var(--u))}.values-card li{padding:calc(14 * var(--u)) 10px;border-radius:50px;background:var(--navy);color:white;font-weight:500}
.specialties{padding:calc(130 * var(--u)) 24px calc(190 * var(--u))}.specialties>h2{text-align:center;font-size:calc(86 * var(--u));line-height:1.03;letter-spacing:.03em;margin-bottom:calc(205 * var(--u))}.services{width:calc(1139 * var(--u));max-width:100%;margin:auto;position:relative;left:calc(93 * var(--u))}.service{display:grid;grid-template-columns:calc(525 * var(--u)) calc(525 * var(--u));gap:calc(89 * var(--u));align-items:start}.service h3{letter-spacing:.03em;line-height:1.22;margin-bottom:calc(20 * var(--u))}.service p{max-width:calc(380 * var(--u));margin-bottom:calc(29 * var(--u))}.service-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:calc(16 * var(--u))}.service-list li{border:1px solid var(--navy);border-radius:10px;padding:calc(17 * var(--u)) calc(23 * var(--u));font-size:max(14px,calc(16 * var(--u)));color:var(--body);line-height:1.35;max-width:100%}.service-photos{display:grid;gap:calc(18 * var(--u))}.service-photos img{width:100%;border-radius:12px}.construction{margin-top:calc(122 * var(--u));align-items:center}.construction .service-copy{grid-column:2;grid-row:1}.construction .service-photos{grid-column:1;grid-row:1;gap:calc(13 * var(--u))}.construction h3 span{display:block;font-weight:400;font-size:calc(36 * var(--u));white-space:nowrap}.construction .service-list li{padding-inline:calc(19 * var(--u))}
.clients{min-height:calc(984 * var(--u));padding:calc(130 * var(--u)) 24px calc(160 * var(--u));position:relative;text-align:center}.clients h2{font-size:calc(61 * var(--u));letter-spacing:.1em}.clients-copy{max-width:calc(940 * var(--u));margin:calc(33 * var(--u)) auto calc(61 * var(--u))}.clients-copy p+p{margin-top:calc(30 * var(--u))}.client-logos{width:calc(978 * var(--u));border-radius:calc(40 * var(--u));margin:auto}.clients .ribbon{bottom:calc(26 * var(--u))}.contact{min-height:calc(952 * var(--u));padding:calc(218 * var(--u)) 24px calc(170 * var(--u));text-align:center}.contact h2{letter-spacing:.03em}.contact-intro{margin:calc(32 * var(--u)) auto calc(64 * var(--u))}form{max-width:calc(1146 * var(--u));margin:auto;text-align:left}.form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(34 * var(--u))}input,textarea{display:block;width:100%;border:1px solid #bcc6d8;border-radius:2px;background:#f6f7f8;color:#323232;font-family:Poppins,Arial,sans-serif;font-size:13px;padding:14px 19px;min-width:0}input{height:48px}input::placeholder,textarea::placeholder{color:#323232;opacity:1}.message-label{display:block;margin:calc(19 * var(--u)) 0 calc(40 * var(--u))}textarea{height:calc(152 * var(--u));min-height:130px;resize:vertical}#form-status{font-size:16px;margin-top:15px;min-height:1.3em}.location{min-height:calc(984 * var(--u));padding:calc(117 * var(--u)) 24px calc(147 * var(--u));text-align:center}.location h2{letter-spacing:.03em}.location address{font-style:normal;margin:calc(30 * var(--u)) 0 calc(64 * var(--u))}.map-link{display:block;position:relative;width:calc(1028 * var(--u));max-width:100%;margin:auto;border-radius:calc(64 * var(--u));overflow:hidden}.map-link img{width:100%}.map-tooltip{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);background:#fff;color:#1f3449;padding:10px 18px;border-radius:30px;white-space:nowrap;font-size:14px;opacity:0;transition:opacity .18s}.map-link:hover .map-tooltip,.map-link:focus-visible .map-tooltip{opacity:1}
@media(min-width:1921px){.hero{background-size:cover}.about-inner,.services{left:0}}
@media(max-width:1199px){.about-inner,.services{left:0}.about-inner{grid-template-columns:1fr 1fr;gap:45px}.service{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}.services{width:min(100%,920px)}.purpose-card{padding:26px 32px}.purpose-inner{max-width:920px}.specialties{padding-block:85px 100px}.specialties>h2{margin-bottom:100px}.construction h3 span{white-space:normal}.about-copy h2{letter-spacing:.055em}}
@media(max-width:700px){:root{--u:.72px}body{font-size:17px;line-height:1.45}.hero{height:390px;min-height:0;background-size:auto 390px;background-position:28% center}.brand-panel{width:280px;padding:34px 31px;transform:translateY(-2px);border-radius:15px}.ribbon{font-size:17px;bottom:21px}.about{padding:30px 24px 60px}.about-inner{display:flex;flex-direction:column;gap:28px;max-width:520px}.about-collage{width:min(100%,420px)}h2,h3{font-size:34px;line-height:1.18}.about-copy h2{text-align:left;letter-spacing:.045em;margin-bottom:20px}.about-copy p{text-align:left;margin-bottom:25px}.button{font-size:12px;padding:15px 23px}.purpose{padding:54px 24px;min-height:0}.purpose-cards{grid-template-columns:1fr;gap:20px}.purpose-card{padding:28px;min-height:0}.purpose-card h2,.values-card h2{letter-spacing:.05em}.purpose-card p{font-size:17px;line-height:1.45;text-align:left;margin-top:15px}.values-card{width:100%;margin:20px 0 28px;padding:28px 16px}.values-card ul{gap:9px;margin-top:24px}.values-card li{font-size:15px;padding:13px 6px}.specialties{padding:65px 24px 70px}.specialties>h2{font-size:clamp(27px,7vw,44px);letter-spacing:.01em;margin-bottom:48px;line-height:1.08}.service{display:flex;flex-direction:column;gap:27px}.service h3{font-size:34px;margin-bottom:18px}.service p{max-width:none;margin-bottom:23px}.service-copy,.service-photos{width:100%}.service-list{gap:12px}.service-list li{font-size:15px;line-height:1.4;padding:13px 16px;width:100%}.service-photos{gap:12px}.service-photos img{border-radius:10px}.construction{margin-top:54px}.construction h3 span{font-size:25px;margin-top:7px}.clients{padding:64px 20px 90px;min-height:0}.clients h2{font-size:32px;letter-spacing:.055em}.clients-copy{margin:25px auto 35px}.clients-copy p+p{margin-top:25px}.client-logos{width:100%;border-radius:19px}.clients .ribbon{font-size:15px;bottom:22px}.contact{padding:67px 24px 58px;min-height:0}.contact h2{font-size:34px}.contact-intro{margin:25px 0 34px}.desktop-break{display:none}.form-row{grid-template-columns:1fr;gap:14px}input{height:51px}input,textarea{font-size:16px}.message-label{margin:14px 0 24px}textarea{min-height:150px}.location{padding:65px 24px 65px;min-height:0}.location h2{font-size:30px}.location address{margin:25px auto 30px;max-width:330px}.map-link{border-radius:25px}.map-link img{height:auto}.map-tooltip{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.contact-whatsapp{margin:-20px auto 36px}.contact-whatsapp .button{min-height:48px}

.contact-note{font-size:14px;margin-top:14px;line-height:1.45}
