:root{--ink:#061b27;--petrol:#0a3545;--accent:#13b7c5;--muted:#56666d;--paper:#f4f6f6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:white;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}figure{margin:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12}h1{font-size:clamp(45px,5.6vw,82px);letter-spacing:-.058em;margin-bottom:28px;font-weight:600}h2{font-size:clamp(32px,3.3vw,49px);letter-spacing:-.045em;font-weight:500;margin-bottom:28px}h3{font-size:23px;letter-spacing:-.025em;font-weight:500}h2 span{color:var(--muted)}p{color:var(--muted)}em{font-style:normal;color:var(--accent)}.wrap{width:min(1280px,calc(100% - 112px));margin:auto;padding-top:96px;padding-bottom:96px}.eyebrow{font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:#077782;margin-bottom:24px}.button{display:inline-flex;gap:24px;align-items:center;justify-content:space-between;background:var(--accent);padding:17px 23px;color:var(--ink);font-size:14px;font-weight:700;line-height:1.4;transition:background .2s}.button:hover{background:#6ad6df}.button span{font-size:21px}a:focus-visible,button:focus-visible{outline:3px solid #e89720;outline-offset:5px}.skip{position:fixed;left:15px;top:-100px;background:white;padding:10px;z-index:20}.skip:focus{top:15px}header{height:98px;padding:14px 4%;display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--ink);color:white;border-bottom:1px solid #ffffff20}.brand-main{width:144px;background:#fff;flex-shrink:0;padding:6px 12px}.brand-main img{width:100%;height:62px;object-fit:contain}header nav{display:flex;gap:27px;font-size:13px}header nav a:hover{color:var(--accent)}.header-cta{padding:13px 17px}.menu-toggle{display:none}.hero{background:var(--ink);color:white;display:grid;grid-template-columns:1.2fr .85fr;min-height:690px;padding:68px 4% 48px;gap:5%;align-items:center}.hero .eyebrow{color:#89c9d1;font-size:10px}.hero .intro{max-width:590px;color:#b9c8ce;font-size:16px;line-height:1.8}.actions{display:flex;align-items:center;gap:26px;margin-top:33px;flex-wrap:wrap}.text-link{font-size:13px;border-bottom:1px solid #52707d;padding:14px 0}.text-link span{margin-left:10px}.hero-foot{border-top:1px solid #ffffff25;padding-top:27px;margin-top:48px;margin-bottom:0;font-size:12px;color:#b9c8ce;display:flex;gap:10px;align-items:center}.dot{width:6px;height:6px;background:var(--accent);border-radius:50%}.hero-image{align-self:stretch;display:flex;flex-direction:column;min-width:0}.hero-image img{width:100%;height:100%;max-height:530px;object-fit:cover;object-position:center;flex:1}.hero-image figcaption{padding-top:15px;font-size:10px;color:#b9c8ce;display:flex;justify-content:space-between;gap:10px}.partners{padding-top:54px;padding-bottom:60px;border-bottom:1px solid #dce3e5}.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:90px;align-items:end;margin-bottom:40px}.section-heading p{max-width:450px;font-size:15px;margin-bottom:4px}.section-heading h2{margin:0}.compact h2{font-size:26px;letter-spacing:-.035em}.compact{gap:50px;margin-bottom:30px}.compact p{font-size:13px}.brands{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.brand{display:flex;align-items:center;justify-content:center;height:100px;padding:20px;background:#f5f7f7}.brand img{width:100%;height:60px;object-fit:contain}.brand.dark{background:#0a2937}.services{display:grid;grid-template-columns:1fr 1fr;column-gap:70px}.service{padding:32px 0;border-top:1px solid #d3dddf;display:grid;grid-template-columns:35px 1fr;gap:12px}.number{font-size:13px;color:#0a818c;letter-spacing:.06em}.service h3{font-size:23px;margin-bottom:15px}.service p{font-size:14px;margin-bottom:0}.service-link{grid-column:2;font-size:12px;font-weight:700;display:flex;justify-content:space-between;margin-top:10px}.service-link:hover{color:#087e89}.project-callout{background:var(--paper);padding:28px 32px;display:flex;justify-content:space-between;gap:40px;align-items:center;margin-top:24px}.project-callout h3{font-size:19px;margin-bottom:9px}.project-callout p{font-size:13px;margin:0}.project-callout .button{flex-shrink:0}.portfolio{background:var(--paper)}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:40px 0 32px}.filters button{border:1px solid #ccd8da;background:transparent;padding:10px 18px;border-radius:30px;font-size:12px;color:var(--ink)}.filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:42px 28px}.project:first-child{grid-row:span 2}.photo-button{display:block;position:relative;width:100%;border:0;padding:0;background:#d9e1e1;overflow:hidden}.photo-button img{width:100%;height:290px;object-fit:cover;transition:transform .4s}.project:first-child .photo-button img{height:720px}.photo-button:hover img{transform:scale(1.025)}.zoom{position:absolute;bottom:16px;right:16px;background:white;width:42px;height:42px;display:grid;place-items:center;font-size:23px}.project h3{font-size:22px;margin:20px 0 8px}.project p{font-size:13px;margin:0}.project[hidden]{display:none}.gallery.filtered .project:first-child{grid-row:auto}.gallery.filtered .project:first-child .photo-button img{height:290px}.about{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.about figure img{width:100%;height:620px;object-fit:cover}.about figcaption{font-size:11px;color:var(--muted);margin-top:13px}.about p{font-size:15px}.highlights{list-style:none;padding:22px 0 0;border-top:1px solid #d6dfe1;display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:12px}.highlights li:before{content:'↗';color:#00818c;margin-right:12px}.process{padding-top:0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin:45px 0 32px}.steps article{border-top:1px solid #bcced2;padding-top:22px}.steps .number{display:block;margin-bottom:25px}.steps h3{font-size:20px}.steps p{font-size:14px}.region{background:var(--petrol);color:white}.region-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px}.region h2{margin:0}.region .eyebrow{color:#6bd3dc}.region p{color:#c2d1d5;font-size:15px}.region .button{margin-top:16px}.faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.faq h2{font-size:38px}.faq-list article{border-bottom:1px solid #d7e0e2}.faq-list article:first-child{border-top:1px solid #d7e0e2}.faq h3{margin:0}.faq button{width:100%;text-align:left;padding:23px 0;border:0;background:none;color:var(--ink);font-size:16px;display:flex;justify-content:space-between;gap:25px}.faq button span{font-size:22px;color:#07828d}.faq-list p{font-size:14px;padding-right:30px}.contact{background:var(--ink);color:white}.contact h2{font-size:clamp(44px,6vw,80px);letter-spacing:-.055em}.contact .eyebrow{color:#85cbd2}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:15%;margin-top:40px}.contact p{color:#bccbd0;font-size:15px;max-width:520px}.contact .small{font-size:11px;margin-top:18px}.contact address{font-style:normal;border-left:1px solid #ffffff25;padding-left:40px;display:flex;flex-direction:column;align-items:flex-start}.contact address span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#86abb6;margin-bottom:6px}.contact address a{font-size:26px;margin-bottom:22px}.contact address p{font-size:14px}.footer-top{display:grid;grid-template-columns:1.3fr .6fr 1fr;gap:60px}.footer-top strong{font-size:18px}.footer-top p{font-size:12px;margin-top:14px}.footer-top nav{display:flex;flex-direction:column;font-size:13px;gap:6px}.copyright{border-top:1px solid #dbe2e4;margin:35px 0 0;padding-top:25px;font-size:11px}footer.wrap{padding-top:55px;padding-bottom:30px}.floating{position:fixed;bottom:20px;right:20px;background:#0a3545;color:white;border:1px solid #80cdd4;box-shadow:0 4px 20px #061b2730;border-radius:30px;font-size:12px;padding:12px 18px;z-index:4}.floating span{margin-left:10px}dialog{width:min(1000px,94vw);max-height:95vh;padding:52px 24px 18px;border:0;background:var(--ink);color:white}dialog::backdrop{background:#00121be8}dialog img{width:100%;height:65vh;object-fit:contain}dialog h2{font-size:22px;margin:16px 0 6px}dialog p{font-size:13px;color:#c0d0d7;margin:0}.close{position:absolute;right:20px;top:10px;background:none;color:white;border:0;padding:6px}.modal-open{overflow:hidden}.modal-open .floating{display:none}
@media(min-width:1600px){.hero{padding-left:max(4%,calc((100% - 1400px)/2));padding-right:max(4%,calc((100% - 1400px)/2))}}@media(max-width:1050px){header{gap:15px}header nav{gap:15px}.header-cta{display:none}.wrap{width:calc(100% - 64px)}.hero{gap:30px}.section-heading{gap:35px}.brands{grid-template-columns:repeat(4,1fr)}.about{gap:40px}.about figure img{height:550px}.region-grid,.faq{gap:40px}.steps{gap:20px}.project-callout{align-items:flex-start;flex-direction:column;gap:20px}}
@media(max-width:700px){html{scroll-padding-top:20px}header{height:88px;padding:10px 22px;position:relative}.brand-main{width:116px;padding:3px 8px}.brand-main img{height:60px}.menu-toggle{display:block;border:1px solid #526b77;background:none;color:white;padding:9px 13px;font-size:13px}.menu-toggle span{margin-left:10px}header nav{display:none;position:absolute;top:88px;left:0;right:0;background:var(--ink);padding:25px;z-index:5;border-bottom:1px solid #53707d}header nav.open{display:flex;flex-direction:column;font-size:17px;gap:18px}.hero{padding:38px 22px 30px;display:block;min-height:0}.hero .eyebrow{font-size:9px;letter-spacing:.1em;max-width:300px;margin-bottom:22px}h1{font-size:48px;margin-bottom:23px}.hero .intro{font-size:14px;line-height:1.7}.actions{gap:12px;margin-top:23px;align-items:flex-start}.button{padding:15px 19px;font-size:13px}.text-link{font-size:12px}.hero-foot{margin-top:25px;padding-top:20px;font-size:11px}.hero-image{margin-top:30px}.hero-image img{height:270px;flex:none}.hero-image figcaption{font-size:9px}.wrap{width:calc(100% - 44px);padding-top:64px;padding-bottom:64px}h2{font-size:34px}.section-heading{display:block;margin-bottom:30px}.section-heading p{margin-top:22px;font-size:14px}.compact h2{font-size:25px}.compact p{font-size:12px}.partners{padding-top:35px;padding-bottom:40px}.brands{grid-template-columns:repeat(2,1fr);gap:9px}.brand{height:100px}.brands .brand:last-child{grid-column:1/-1}.brands .brand:last-child img{max-width:130px}.services{display:block}.service{padding:27px 0;grid-template-columns:27px 1fr}.service h3{font-size:21px}.project-callout{padding:25px 22px}.project-callout .button{width:100%}.gallery{display:block}.project{margin-bottom:32px}.project:first-child .photo-button img,.photo-button img{height:340px}.project h3{font-size:21px}.filters{gap:8px;margin:30px 0 25px}.filters button{font-size:11px;padding:9px 13px}.about{display:flex;flex-direction:column-reverse;gap:30px}.about figure{width:100%}.about figure img{height:420px}.about p{font-size:14px}.process{padding-top:0}.steps{grid-template-columns:1fr 1fr;gap:22px}.steps h3{font-size:18px}.steps p{font-size:13px}.steps .number{margin-bottom:17px}.region-grid,.faq,.contact-grid{display:block}.region-grid h2{margin-bottom:28px}.region p{font-size:14px}.faq h2{font-size:33px;margin-bottom:32px}.faq button{font-size:15px}.contact h2{font-size:47px}.contact address{padding-left:0;border-left:0;border-top:1px solid #ffffff25;margin-top:35px;padding-top:28px}.footer-top{grid-template-columns:1fr;gap:24px}.footer-top p{margin-bottom:0}.footer-top nav{flex-direction:row;flex-wrap:wrap;gap:15px;font-size:12px}.copyright{padding-bottom:50px}.floating{bottom:14px;right:14px;padding:10px 15px}dialog{padding-left:15px;padding-right:15px}dialog img{height:58vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Refinamentos de identidade e apresentação */
.brand-main{background:transparent;padding:0;width:125px}.brand-main img{filter:none;height:68px;opacity:1}
.button{border-radius:12px;transition:background .2s,box-shadow .2s}.button:hover{box-shadow:0 5px 18px #061b2720}.menu-toggle{border-radius:9px}.zoom{border-radius:50%}.hero-image img{object-position:center 58%;border-radius:14px}.about figure img{height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px}.photo-button[data-image="assets/alambrado-quadra.webp"] img{object-position:center bottom}
.partners-controls{display:flex;justify-content:flex-end;margin:0 0 12px}.partners-toggle{border:0;background:transparent;color:#56666d;font-size:11px;padding:6px 0}.partners-toggle span{margin-left:8px}.brands-window{overflow:hidden;width:100%;border-radius:10px}.brands-track{display:flex;width:max-content;animation:partners-scroll 38s linear infinite}.brands-track .brands{display:flex;flex-shrink:0;gap:14px;padding-right:14px}.brands-track .brand{flex:0 0 174px;width:174px;height:108px;border-radius:9px}.brands-track .brand img{max-width:134px;height:65px}.brands-window:hover .brands-track,.brands-window:focus-within .brands-track,.brands-window.paused .brands-track{animation-play-state:paused}
@keyframes partners-scroll{to{transform:translateX(-50%)}}
@media(max-width:700px){.brand-main{width:110px;padding:0}.brand-main img{height:60px}.hero-image img{height:370px;object-position:center 58%}.about figure img{height:auto;aspect-ratio:4/3}.brands-track .brand{flex-basis:154px;width:154px;height:98px}.brands-track .brand img{max-width:120px}.button{border-radius:11px}}
@media(prefers-reduced-motion:reduce){.brands-window{overflow-x:auto}.brands-track{animation:none}.brands-copy{display:none!important}.partners-controls{display:none}}

/* Cabeçalho claro: cores e lettering originais da marca */
header{background:#f4f6f6;color:#061b27;border-bottom:1px solid #dce5e7}
header .brand-main{background:transparent;width:136px}
header nav a{font-weight:500}
header nav a:hover{color:#087c88}
header .header-cta{background:#0a3545;color:#fff}
header .header-cta:hover{background:#115064}
header .menu-toggle{color:#0a3545;border-color:#b9ccd1;background:transparent}
header .menu-toggle:hover{background:#e7eef0}
@media(max-width:700px){header .brand-main{width:122px}header .brand-main img{height:65px}header nav{background:#f4f6f6;color:#061b27;border-bottom:1px solid #cddcdf;box-shadow:0 14px 24px #061b2712}}
