@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/lato-400.woff2') format('woff2')}@font-face{font-family:'Lato';font-style:italic;font-weight:400;font-display:swap;src:url('assets/fonts/lato-400-italic.woff2') format('woff2')}@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/lato-700.woff2') format('woff2')}@font-face{font-family:'Lato';font-style:normal;font-weight:900;font-display:swap;src:url('assets/fonts/lato-900.woff2') format('woff2')}
:root{--navy:#0a2440;--graphite:#243746;--steel:#98adba;--blue:#2f6f8f;--ice:#eaf0f3;--white:#fff;--line:#d8e0e4;--font:'Lato',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;color:var(--graphite);font-family:var(--font);font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.container{width:min(1180px,calc(100% - 64px));margin:auto}.site-header{height:104px;background:rgba(255,255,255,.95);position:sticky;top:0;z-index:20;border-bottom:1px solid #e3e9ec;backdrop-filter:blur(10px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;width:340px;height:88px;align-items:center;overflow:hidden}.brand img{width:100%;height:auto;object-fit:contain}.main-nav{display:flex;align-items:center;gap:36px;font-size:15px;font-weight:700;color:#40515e}.main-nav>a:not(.nav-contact){transition:color .2s}.main-nav>a:hover{color:var(--blue)}.nav-contact{padding:13px 19px;background:var(--navy);color:#fff}.nav-contact span{margin-left:13px}.menu-toggle{display:none}.hero{min-height:640px;height:min(720px,calc(100vh - 104px));max-height:780px;position:relative;display:flex;align-items:center;overflow:hidden;background:var(--navy);color:#fff}.hero-photo,.hero-shade{position:absolute;inset:0}.hero-photo{background-image:url('assets/img/obra-hero.jpg');background-size:cover;background-position:center 52%;transform:scale(1.01)}.hero-shade{background:linear-gradient(90deg,rgba(5,25,45,.92) 0%,rgba(5,25,45,.72) 45%,rgba(5,25,45,.12) 100%),linear-gradient(0deg,rgba(5,25,45,.36),transparent 35%)}.hero-content{position:relative;z-index:1;padding:30px 0 100px}.eyebrow{display:flex;align-items:center;gap:11px;margin:0 0 26px;color:var(--blue);font-size:10px;font-weight:800;letter-spacing:2px}.eyebrow>span{width:26px;height:1px;background:currentColor}.eyebrow.light{color:#b6ccd8}.hero h1,.section-heading h2,.intro h2,.approach h2,.contact h2{font-size:clamp(48px,6.3vw,78px);line-height:.99;letter-spacing:-2.8px;margin:0;font-weight:800;color:var(--navy)}h1 em,h2 em{font-weight:400;font-style:italic;color:var(--blue)}.hero h1{color:#fff;font-size:clamp(56px,7.2vw,92px)}.hero h1 em{color:#b7ceda}.hero-copy{max-width:500px;margin:28px 0 38px;font-size:19px;line-height:1.65;color:#e1e8ec}.hero-actions{display:flex;align-items:center;gap:28px}.button{display:inline-flex;align-items:center;gap:29px;padding:16px 20px;font-size:12px;font-weight:800;letter-spacing:.2px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-accent{color:white;background:var(--blue)}.button-accent:hover{background:#245d79}.button span{font-size:17px}.text-link{font-size:12px;font-weight:700;color:white}.text-link span{margin-left:10px}.hero-bar{position:absolute;z-index:2;left:0;right:0;bottom:0;border-top:1px solid rgba(255,255,255,.22)}.hero-bar .container{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:20px;padding-bottom:20px;color:#d4dfe5;font-size:11px;font-weight:800;letter-spacing:1.6px}.hero-bar a{color:#d4dfe5}.hero-bar a:hover{color:#fff}.hero-bar a span{margin-left:8px}.section-pad{padding:112px 0}.intro-grid{display:grid;grid-template-columns:1fr .8fr;gap:90px;align-items:end}.intro h2,.section-heading h2,.contact h2{font-size:clamp(43px,5vw,64px)}.intro-copy{max-width:490px;padding-bottom:4px}.intro-copy p,.section-heading>p,.contact-side>p{font-size:16px;line-height:1.8;color:#667782;margin:0 0 16px}.under-link{display:inline-flex;gap:26px;align-items:center;margin-top:12px;padding-bottom:8px;border-bottom:1px solid var(--blue);font-size:12px;font-weight:800;color:var(--navy)}.principles{display:grid;grid-template-columns:repeat(3,1fr);margin-top:76px;border-top:1px solid var(--line)}.principle{padding:23px 28px 0 0;position:relative}.principle+.principle{padding-left:28px;border-left:1px solid var(--line)}.principle>span,.service-no{display:block;margin-bottom:19px;color:var(--blue);font-size:10px;font-weight:800;letter-spacing:1.3px}.principle strong{display:block;color:var(--navy);font-size:16px}.principle p{margin:8px 0 0;color:#75848d;font-size:13px}.services{background:var(--ice)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:50px}.section-heading>p{max-width:300px;margin:0 0 5px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d5dfe4;border:1px solid #d5dfe4}.service-card{position:relative;min-height:245px;background:#fff;padding:30px 32px 28px;border-top:3px solid transparent;transition:border-color .2s}.service-card:hover{border-top-color:var(--blue)}.service-no{margin-bottom:38px}.service-card h3{font-size:21px;color:var(--navy);margin:0 0 10px;font-weight:800}.service-card p{max-width:290px;margin:0;color:#71808a;font-size:13px;line-height:1.7}.approach{display:grid;grid-template-columns:1fr 1fr;min-height:620px;background:var(--navy);color:white}.approach-image{filter:saturate(.38);background-image:linear-gradient(0deg,rgba(10,36,64,.08),rgba(10,36,64,.08)),url('assets/img/obra-planos.jpg');background-size:cover;background-position:center}.approach-panel{padding:90px clamp(45px,9vw,145px) 80px 8vw;align-self:center}.approach h2{color:white;font-size:clamp(52px,6vw,76px)}.approach h2 em{color:#adc5d2}.approach-panel>p:not(.eyebrow){max-width:430px;margin:24px 0;color:#c8d4da;font-size:14px;line-height:1.8}.approach-points{margin:28px 0 32px;border-top:1px solid rgba(255,255,255,.2)}.approach-points div{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:12px;font-weight:700}.approach-points span{display:inline-block;width:42px;color:#91afbf;font-size:10px}.button-outline{border:1px solid rgba(255,255,255,.55);color:#fff}.button-outline:hover{background:rgba(255,255,255,.1)}.contact-inner{display:grid;grid-template-columns:1.1fr .7fr;gap:100px;align-items:center}.contact-side{max-width:400px}.contact-side>p{margin-bottom:24px}.button-dark{background:var(--navy);color:#fff}.button-dark:hover{background:#153653}.footer{background:var(--navy);color:#fff}.footer-top{display:flex;align-items:center;justify-content:space-between;padding:36px 0 29px;border-bottom:1px solid rgba(255,255,255,.18)}.footer-brand{display:flex;width:258px;height:74px;align-items:center;overflow:hidden;background:var(--navy)}.footer-brand img{width:100%;height:auto;object-fit:contain}.footer-top p{font-size:12px;line-height:1.6;color:#bac9d1;margin:0 auto 0 32px}.back-top{font-size:11px;font-weight:800;color:#fff}.footer-bottom{display:flex;justify-content:space-between;padding:18px 0 23px;color:#a8bbc6;font-size:9px;letter-spacing:1px}.footer-bottom span:last-child{color:#d4dfe5;font-weight:800}.menu-toggle span{display:block;width:22px;height:2px;background:var(--navy);margin:5px}@media(max-width:900px){.site-header{height:84px}.header-inner{position:relative}.brand{width:280px;height:72px}.menu-toggle{display:grid;align-content:center;gap:5px;width:46px;height:46px;padding:10px;border:1px solid var(--line);border-radius:2px;background:#fff;cursor:pointer}.menu-toggle span{display:block;width:22px;height:2px;background:var(--navy);margin:0;transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.main-nav{display:none;position:absolute;top:83px;left:0;right:0;z-index:25;background:#fff;padding:12px 20px 20px;box-shadow:0 14px 22px #0a24401a;flex-direction:column;align-items:stretch;gap:0;border:1px solid #e3e9ec}.main-nav.open{display:flex}.main-nav>a{padding:15px 5px;border-bottom:1px solid #edf1f3}.main-nav .nav-contact{margin-top:12px;padding:15px;border-bottom:0;text-align:center}}@media(max-width:800px){.container{width:min(100% - 42px,620px)}.site-header{height:84px}.brand{width:280px;height:72px}.main-nav{gap:22px}.hero{height:650px;min-height:0;max-height:none}.hero-content{padding-bottom:45px}.hero-content{padding-bottom:100px}.section-pad{padding:82px 0}.intro-grid{grid-template-columns:1fr;gap:28px}.intro-copy{max-width:590px}.principles{margin-top:52px}.section-heading{align-items:start;gap:24px;flex-direction:column;margin-bottom:34px}.section-heading>p{max-width:460px}.service-grid{grid-template-columns:repeat(2,1fr)}.approach{min-height:0}.approach-panel{padding:65px 36px}.contact-inner{grid-template-columns:1fr;gap:28px}}@media(max-width:560px){.container{width:calc(100% - 40px)}.brand{width:min(280px,calc(100vw - 112px));height:72px}.main-nav{left:-20px;right:-20px;padding:18px 20px 24px}.hero{height:620px}.hero-photo{background-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(5,25,45,.9),rgba(5,25,45,.48)),linear-gradient(0deg,rgba(5,25,45,.48),transparent 55%)}.hero h1{font-size:clamp(50px,14vw,68px);letter-spacing:-2px}.hero-copy{font-size:15px;max-width:350px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-bar .container{font-size:9px;letter-spacing:1px}.eyebrow{font-size:9px;letter-spacing:1.5px}.intro h2,.section-heading h2,.contact h2{font-size:45px;letter-spacing:-1.7px}.principles{grid-template-columns:1fr;margin-top:42px}.principle,.principle+.principle{padding:18px 0;border-left:0;border-bottom:1px solid var(--line)}.principle>span{margin-bottom:10px}.service-grid{grid-template-columns:1fr}.service-card{min-height:205px;padding:24px}.service-no{margin-bottom:24px}.approach{grid-template-columns:1fr}.approach-image{min-height:310px}.approach-panel{padding:60px 25px 65px}.approach h2{font-size:59px}.footer-top{flex-wrap:wrap;gap:14px}.footer-brand{width:205px;height:59px}.footer-top p{margin-left:8px;flex:1}.back-top{width:100%;text-align:right}.footer-bottom{font-size:8px;letter-spacing:.5px}.footer-bottom span:last-child{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.main-nav>a[aria-current="page"]{color:var(--blue)}.contact-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.contact-actions .under-link{margin-top:0}.footer-links{display:flex;gap:26px;flex-wrap:wrap;font-size:11px;font-weight:800}.footer-links a{color:#fff}.footer-links a:hover{color:#b7ceda}
.page-hero{position:relative;padding:110px 0 96px;background:linear-gradient(90deg,rgba(5,25,45,.95),rgba(5,25,45,.78)),url('assets/img/obra-hero.jpg') center 55%/cover;color:#fff}.page-hero h1{margin:0;font-size:clamp(48px,6.3vw,80px);line-height:.99;letter-spacing:-2.6px;font-weight:800}.page-hero h1 em{color:#b7ceda}.page-hero-copy{max-width:520px;margin:26px 0 0;font-size:18px;line-height:1.65;color:#e1e8ec}
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}.contact-info h2{margin:0;font-size:clamp(38px,4vw,52px);line-height:1;letter-spacing:-1.8px;font-weight:800;color:var(--navy)}.contact-list{list-style:none;margin:40px 0 0;padding:0;border-top:1px solid var(--line)}.contact-list li{display:grid;gap:6px;padding:18px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--graphite)}.contact-list a{font-weight:700;color:var(--navy)}.contact-list a:hover{color:var(--blue)}.contact-label{color:var(--blue);font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}.contact-steps{margin-top:40px;padding:26px 28px;background:var(--ice)}.contact-steps div{display:flex;padding:10px 0;font-size:13px;font-weight:700;color:var(--navy)}.contact-steps span{flex:0 0 38px;padding-top:2px;color:var(--blue);font-size:10px}
.form-wrap{background:#fff;border:1px solid var(--line);border-top:3px solid var(--blue);padding:44px 44px 40px;box-shadow:0 24px 50px #0a24400f}.form-head h2{margin:0;font-size:28px;font-weight:800;color:var(--navy);letter-spacing:-.6px}.form-head p{margin:8px 0 30px;font-size:13px;color:#71808a}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}.field{display:grid;gap:8px}.field-full{grid-column:1/-1}.field label{font-size:12px;font-weight:800;color:var(--navy);letter-spacing:.2px}.field input,.field select,.field textarea{width:100%;padding:13px 14px;font:inherit;font-size:15px;color:var(--graphite);background:#fbfcfd;border:1px solid #c9d5db;border-radius:2px;transition:border-color .2s,box-shadow .2s}.field textarea{resize:vertical;min-height:140px}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #2f6f8f26;background:#fff}.field [aria-invalid="true"]{border-color:#b3261e;box-shadow:0 0 0 3px #b3261e1f}.field-check{grid-template-columns:auto 1fr;align-items:start;gap:12px}.field-check input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--blue)}.field-check label{font-weight:400;font-size:13px;line-height:1.5;color:#55666f}.field-hp{position:absolute;left:-9999px}.form-foot{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:30px}.form-foot .button{border:0;cursor:pointer;font-family:inherit}.form-foot .button:disabled{opacity:.6;cursor:wait;transform:none}.form-status{margin:0;font-size:14px;font-weight:700}.form-status[data-type="ok"]{color:#1e6b3c}.form-status[data-type="error"]{color:#b3261e}.form-status[data-type="pending"]{color:#667782}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr;gap:56px}}@media(max-width:560px){.page-hero{padding:80px 0 70px}.page-hero h1{font-size:clamp(46px,13vw,62px);letter-spacing:-1.8px}.page-hero-copy{font-size:15px}.form-wrap{padding:30px 22px}.form-grid{grid-template-columns:1fr}.footer-links{width:100%;justify-content:flex-end;gap:18px}}
.footer-legal{display:flex;gap:22px;flex-wrap:wrap;font-size:11px;letter-spacing:.3px}.footer-legal a{color:#d4dfe5;font-weight:700}.footer-legal a:hover{color:#fff;text-decoration:underline}.footer-bottom{gap:14px;flex-wrap:wrap;align-items:center}
.page-hero-compact{padding:90px 0 76px}.page-hero-compact .page-hero-copy{font-size:13px;letter-spacing:.3px;color:#b6ccd8}
.legal{max-width:780px;color:#4a5b66;font-size:16px;line-height:1.8}.legal-lead{font-size:18px;color:var(--graphite);margin:0 0 12px}.legal h2{margin:48px 0 14px;font-size:24px;font-weight:900;letter-spacing:-.4px;color:var(--navy);line-height:1.25}.legal p{margin:0 0 14px}.legal ul,.legal ol{margin:0 0 14px;padding-left:22px}.legal li{margin-bottom:8px}.legal a{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:3px}.legal strong{color:var(--graphite)}.legal code{font-size:14px;background:var(--ice);padding:2px 6px}.legal-table{overflow-x:auto;margin:6px 0 18px}.legal table{width:100%;min-width:560px;border-collapse:collapse;font-size:14px;line-height:1.55}.legal th,.legal td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--line)}.legal th{background:var(--ice);color:var(--navy);font-size:12px;letter-spacing:.4px}
.form-legal{margin:22px 0 0;padding:16px 18px;background:var(--ice);font-size:12px;line-height:1.65;color:#55666f}.form-legal a,.field-check a{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:2px}
@media(max-width:560px){.footer-bottom span:last-child{display:inline}.footer-bottom{font-size:10px}.footer-legal{gap:14px}.legal{font-size:15px}.legal h2{font-size:21px;margin-top:38px}}
.cookie-banner{position:fixed;z-index:50;left:24px;right:24px;bottom:24px;max-width:980px;margin:0 auto;display:flex;align-items:center;gap:28px;padding:22px 26px;background:var(--navy);color:#fff;border-top:3px solid var(--blue);box-shadow:0 20px 50px #0a244059;animation:cookie-in .3s ease-out}.cookie-banner.is-hiding{opacity:0;transform:translateY(12px);transition:opacity .25s,transform .25s}.cookie-text strong{display:block;font-size:15px;font-weight:900;margin-bottom:6px}.cookie-text p{margin:0;font-size:13px;line-height:1.6;color:#c8d4da}.cookie-text a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:2px}.cookie-actions{display:flex;gap:10px;flex-shrink:0}.cookie-btn{padding:13px 18px;font:inherit;font-size:12px;font-weight:900;letter-spacing:.2px;cursor:pointer;border:1px solid rgba(255,255,255,.55);transition:background .2s}.cookie-btn-secondary{background:transparent;color:#fff}.cookie-btn-secondary:hover{background:rgba(255,255,255,.1)}.cookie-btn-primary{background:#fff;color:var(--navy);border-color:#fff}.cookie-btn-primary:hover{background:var(--ice)}.cookie-settings{padding:0;background:none;border:0;font:inherit;color:#d4dfe5;font-weight:700;cursor:pointer}.cookie-settings:hover{color:#fff;text-decoration:underline}@keyframes cookie-in{from{opacity:0;transform:translateY(16px)}}
@media(max-width:760px){.cookie-banner{left:12px;right:12px;bottom:12px;flex-direction:column;align-items:stretch;gap:16px;padding:20px}.cookie-actions{flex-direction:column-reverse}.cookie-btn{width:100%;padding:14px}}
.legal-inline-btn{padding:0;background:none;border:0;font:inherit;color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
