@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex-sans-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand-navy:#123858;--brand-green:#08a184;--bg-primary:#fff;--bg-secondary:#f4f6f8;--bg-tertiary:#eef1f6;--bg-card:#fff;--bg-card-hover:#f8f9fb;--accent-dark:var(--brand-navy);--accent:var(--brand-green);--accent-light:#3cc4a8;--accent-hover:#067a64;--text-accent:#067a64;--accent-press:#05614f;--text-primary:var(--brand-navy);--text-secondary:#475569;--text-muted:#64748b;--border:#e2e8f0;--border-hover:#cbd5e1;--info-bg:#f0f4f8;--info-border:#c8d4e0;--ok-bg:#e8f6f2;--ok-border:#a9dccf;--ok-text:var(--accent-press);--warn-bg:#fffbeb;--warn-border:#fde68a;--warn-text:#92400e;--danger:#991b1b;--danger-bg:#fef2f2;--danger-border:#fecaca;--veil:#123858b8;--font-heading:"IBM Plex Sans", system-ui, sans-serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--font-friendly:"IBM Plex Sans", system-ui, sans-serif;--shadow-sm:0 1px 3px #12385814;--shadow-md:0 4px 12px #1238581a;--shadow-lg:0 8px 24px #1238581f;--shadow-glow:none;--container:1200px;--radius:8px;--radius-sm:4px;--ease:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none;transition:color .2s}a:hover{color:var(--text-accent)}img,svg{max-width:100%;display:block}.container{max-width:var(--container);margin:0 auto;padding:0 24px}.nav{z-index:1000;background:0 0;padding:18px 0;transition:background-color .2s,padding .2s,box-shadow .2s;position:fixed;top:0;left:0;right:0}.nav.scrolled{box-shadow:0 1px 0 var(--border);background:#fff;padding:10px 0}.nav-container{max-width:var(--container);justify-content:space-between;align-items:center;gap:24px;margin:0 auto;padding:0 24px;display:flex}.nav-logo{flex-shrink:0;align-items:center;display:flex}.nav-logo img{width:176px;height:auto;transition:width .2s}.nav.scrolled .nav-logo img{width:132px}.nav-menu{align-items:center;gap:30px;display:flex}.nav-menu a{font-family:var(--font-heading);letter-spacing:0;color:var(--brand-navy);font-size:.95rem;font-weight:600}.nav-menu a:hover{color:var(--text-accent)}.nav-cta{font-family:var(--font-heading);border-radius:var(--radius-sm);background:var(--accent-hover);color:#fff;flex-shrink:0;padding:12px 18px;font-size:.95rem;font-weight:600;transition:background-color .2s;box-shadow:inset 0 -3px #0000002e}.nav-cta:hover{background:var(--accent-press);color:#fff}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:6px;padding:4px;display:none}.nav-toggle span{background:var(--accent-dark);border-radius:2px;width:26px;height:2.5px;transition:all .3s}.logo-text{font-family:var(--font-heading);letter-spacing:-.015em;color:var(--accent-dark);font-size:1.6rem;font-weight:700;line-height:1}.logo-x{color:var(--accent)}.btn{font-family:var(--font-heading);border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;padding:14px 24px;font-size:1rem;font-weight:600;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.btn-primary{background:var(--accent-hover);color:#fff;box-shadow:inset 0 -3px #0000002e}.btn-primary:hover{background:var(--accent-press);color:#fff}.btn-primary:active{box-shadow:inset 0 2px #0003}.btn-secondary{color:var(--accent-dark);border:1.5px solid var(--border-hover);background:#fff}.btn-secondary:hover{border-color:var(--accent-dark);color:var(--accent-dark)}.hero{background:linear-gradient(to bottom, #fff 0, #fff 110px, #fff0 280px, #12385866 50%, #123858d9 100%), url(/imagens/obra-torres.webp) center 20% / cover no-repeat, var(--brand-navy);justify-content:center;align-items:center;padding:250px 0 130px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";background:inherit;animation:hero-photo 1.6s var(--ease) both;position:absolute;inset:0}.hero-content{z-index:1;max-width:var(--container);text-align:center;width:100%;padding:0 24px;position:relative}.hero-content>*{animation:hero-rise .7s var(--ease) both}.hero-subtitle{animation-delay:.12s}.hero-actions{animation-delay:.24s}@keyframes hero-photo{0%{transform:scale(1.06)}}@keyframes hero-rise{0%{opacity:0;transform:translateY(16px)}}.hero-title{text-wrap:balance;max-width:1100px;font-family:var(--font-heading);letter-spacing:-.02em;color:#fff;margin:0 auto 26px;font-size:clamp(2.8rem,6.4vw,5.4rem);font-weight:700;line-height:1.02}.hero-title em{color:var(--accent-light);font-style:normal}.hero-subtitle{max-width:620px;font-family:var(--font-body);color:#ffffffe6;margin:0 auto 36px;font-size:clamp(1.05rem,1.8vw,1.2rem);line-height:1.75}.hero-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.section{padding:100px 0;position:relative}.section-header{text-align:center;max-width:700px;margin:0 auto 64px}.section-label{font-family:var(--font-friendly);text-transform:uppercase;letter-spacing:.1em;color:var(--text-accent);margin-bottom:16px;font-size:.78rem;font-weight:700;display:inline-block}.section-title{font-family:var(--font-heading);letter-spacing:-.015em;color:var(--accent-dark);margin-bottom:20px;font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1.15}.section-title em{color:var(--text-accent);font-style:normal}.section-desc{font-family:var(--font-body);color:var(--text-secondary);font-size:1.08rem;line-height:1.75}#conteudo>.section:first-child{padding-top:168px}#evolucao .section-header,#dna .section-header,#servicos .section-header{max-width:760px;margin:0 auto 56px}#servicos .section-header{max-width:960px}#evolucao .section-title,#dna .section-title,#servicos .section-title{text-wrap:balance;font-size:clamp(2.1rem,4.2vw,3rem);line-height:1.08}#evolucao{background:linear-gradient(var(--veil), var(--veil)), url(/imagens/obra-estrutura.webp) center / cover no-repeat, var(--brand-navy);padding:120px 0}#evolucao .section-title{color:#fff}#evolucao .section-title em{color:var(--accent-light)}#evolucao .section-desc{color:#ffffffe0}.steps{grid-template-columns:repeat(4,1fr);gap:40px;display:grid}.step{flex-direction:column;gap:14px;display:flex}.step-number{font-family:var(--font-heading);color:var(--accent-light);font-size:2.6rem;font-weight:700;line-height:1}.step-content h3{font-family:var(--font-heading);color:#fff;margin-bottom:10px;font-size:1.15rem;font-weight:600}.step-content p{font-family:var(--font-body);color:#ffffffd1;font-size:.95rem;line-height:1.65}#dna{background:var(--bg-primary);padding:120px 0}.dna-grid{grid-template-columns:repeat(4,1fr);display:grid}.dna-card{padding:28px 32px 0 0}.dna-card+.dna-card{border-left:1px solid var(--border);padding-left:28px}.dna-letter{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--brand-navy);margin-bottom:20px;font-size:5.5rem;font-weight:700;line-height:.9}.dna-card-highlight .dna-letter{color:var(--accent)}.dna-card h3{font-family:var(--font-heading);color:var(--accent-dark);margin-bottom:14px;font-size:1.15rem;font-weight:700}.dna-card p{font-family:var(--font-body);color:var(--text-secondary);font-size:.92rem;line-height:1.65}#servicos{background:var(--bg-secondary);padding:112px 0}.svc-layout{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:72px;display:grid}.svc-aside{position:sticky;top:120px}.svc-ic{width:40px;height:40px;color:var(--accent-hover);fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.svc-obra{background:var(--brand-navy);border-top:4px solid var(--brand-green);color:#fff;padding:32px}.svc-obra .svc-ic{width:36px;height:36px;color:var(--accent-light);margin-bottom:16px}.svc-obra h3{font-family:var(--font-heading);margin-bottom:8px;font-size:1.2rem;font-weight:700}.svc-obra p{color:#ffffffd1;margin-bottom:18px;font-size:.95rem}.svc-tags{flex-wrap:wrap;gap:8px;margin-bottom:24px;list-style:none;display:flex}.svc-tags li{border:1px solid #ffffff47;border-radius:3px;padding:5px 10px;font-size:.84rem}.svc-list{border-top:2px solid var(--brand-navy);list-style:none}.svc-row{border-bottom:1px solid var(--border-hover);grid-template-columns:48px minmax(0,1fr) 210px;align-items:start;gap:24px;padding:30px 0;display:grid}.svc-body h3{font-family:var(--font-heading);color:var(--accent-dark);margin-bottom:6px;font-size:1.2rem;font-weight:700}.svc-body p{color:var(--text-secondary);font-size:.95rem}.svc-items{border-left:1px solid var(--border-hover);padding-left:20px;list-style:none}.svc-items li{color:var(--accent-dark);padding:3px 0;font-size:.9rem}.cta{background:linear-gradient(90deg, #123858e6 0, #1238588c 70%, #12385859 100%), url(/imagens/obra-grua.webp) right 30% / cover no-repeat, var(--brand-navy);padding:140px 0}.cta-box{text-align:center;max-width:760px;margin:0 auto}.cta-title{font-family:var(--font-heading);letter-spacing:-.015em;color:#fff;margin-bottom:18px;font-size:clamp(2.1rem,4.2vw,3rem);font-weight:700;line-height:1.1}.cta-title em{color:var(--accent-light);font-style:normal}.cta-desc{max-width:600px;font-family:var(--font-body);color:#ffffffe0;margin-bottom:36px;margin-left:auto;margin-right:auto;font-size:1.08rem;line-height:1.75}.cta-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.cta .btn-secondary{color:#fff;background:0 0;border:1.5px solid #ffffffb3}.cta .btn-secondary:hover{color:#fff;background:#ffffff1a;border-color:#fff}.footer{background:var(--brand-navy)}.footer svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.footer-contact-grid{grid-template-columns:repeat(3,auto);justify-content:space-between;display:grid}.footer-contact-item{color:#fff;align-items:center;gap:14px;padding:28px 32px;display:flex}.footer-contact-item:first-child{padding-left:0}.footer-contact-item:last-child{padding-right:0}.footer-contact-item+.footer-contact-item{border-left:1px solid #ffffff1f}.footer-contact-icon{color:var(--accent-light);flex:none;place-items:center;display:grid}.footer-contact-icon svg{width:26px;height:26px}.footer-contact-item small{color:#ffffffa6;font-size:.78rem;display:block}.footer-contact-item strong{font-family:var(--font-heading);white-space:nowrap;font-size:.95rem;font-weight:600;display:block}.footer-contact-item:hover{color:var(--accent-light)}.footer-bottom{background:#0c2a44}.footer-bottom-row{font-family:var(--font-body);color:#ffffffb3;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;padding-top:18px;padding-bottom:18px;font-size:.86rem;display:flex}.footer-bottom-row p a{color:#fff;text-underline-offset:3px;margin-left:14px;text-decoration:underline}.back-to-top{color:#ffffffb3}.footer-bottom a:hover,.back-to-top:hover{color:var(--accent-light)}.wa-float{z-index:1500;background:var(--accent-hover);color:#fff;border-radius:50%;place-items:center;width:56px;height:56px;transition:background-color .2s;display:grid;position:fixed;bottom:20px;right:20px;box-shadow:0 2px 8px #12385840}body:has(.wa-float) .footer-bottom-row{padding-right:88px}.wa-float:hover{background:var(--accent-press);color:#fff}.wa-float svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linejoin:round;width:28px;height:28px}@media (width<=1024px){.nav-menu{gap:20px}.steps{grid-template-columns:1fr 1fr}.dna-grid{grid-template-columns:repeat(2,1fr)}.dna-card:nth-child(3){border-left:0;padding-left:0}.dna-card:nth-child(n+3){border-top:1px solid var(--border);margin-top:28px}.svc-layout{grid-template-columns:1fr;gap:48px}.svc-aside{position:static}.footer-contact-grid{grid-template-columns:1fr 1fr;justify-content:stretch}.footer-contact-item,.footer-contact-item:last-child{padding:24px 20px}.footer-contact-item:nth-child(odd){border-left:0;padding-left:0}.footer-contact-item:nth-child(n+3){border-top:1px solid #ffffff1f}.footer-contact-item:last-child:nth-child(odd){grid-column:1/-1}}@media (width<=768px){.nav-logo img{width:132px}}@media (width<=1120px){.nav-menu{border-bottom:1px solid var(--border);box-shadow:var(--shadow-md);background:#fff;flex-direction:column;align-items:flex-start;gap:18px;padding:24px;display:none;position:absolute;top:100%;left:0;right:0}.nav-menu a{font-size:.9rem}.nav-menu.active{display:flex}.nav-cta{display:none}.nav-toggle{display:flex}.nav-toggle.active span:first-child{transform:rotate(45deg)translate(5px,5px)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}}@media (width<=768px){.hero{background:linear-gradient(to bottom, #fff 0, #fff 90px, #fff0 200px, #1238588c 320px, #123858d9 100%), url(/imagens/obra-torres.webp) center 20% / cover no-repeat, var(--brand-navy);padding:170px 0 96px}#evolucao,#dna{padding:88px 0}#conteudo>.section:first-child{padding-top:128px}.steps{grid-template-columns:1fr;gap:32px}.dna-grid{grid-template-columns:1fr}.dna-card,.dna-card+.dna-card{border-left:0;grid-template-columns:72px 1fr;column-gap:16px;padding:24px 0 0;display:grid}.dna-card+.dna-card{border-top:1px solid var(--border);margin-top:24px}.dna-letter{grid-row:span 2;margin:0;font-size:3.6rem}#servicos{padding:88px 0}.svc-obra{padding:26px 22px}.svc-row{grid-template-columns:36px minmax(0,1fr);gap:16px;padding:24px 0}.svc-row .svc-ic{width:32px;height:32px}.svc-items{border-left:0;grid-column:2;padding-left:0}.svc-items li{display:inline}.svc-items li+li:before{content:" · ";color:var(--text-muted)}.cta{padding:96px 0}.footer-contact-grid{grid-template-columns:1fr}.footer-contact-item,.footer-contact-item:last-child,.footer-contact-item+.footer-contact-item{border-left:0;padding:18px 0}.footer-contact-item+.footer-contact-item{border-top:1px solid #ffffff1f}.footer-bottom-row{flex-direction:column;align-items:flex-start}.footer-bottom-row p a{width:fit-content;margin:6px 0 0;display:block}.wa-float{bottom:16px;right:12px}}@media (width<=480px){.hero-title{font-size:clamp(2rem,10vw,2.8rem)}.hero-actions .btn,.cta-actions .btn{width:100%}.footer-contact-item strong{white-space:normal;overflow-wrap:anywhere}}.skip-link{z-index:200;background:var(--accent-dark);color:#fff;font-family:var(--font-heading);border-radius:0 0 var(--radius-sm) var(--radius-sm);transition:transform var(--duration-base,.25s) var(--ease);padding:12px 24px;font-size:.9rem;font-weight:600;position:absolute;top:0;left:50%;transform:translate(-50%,-150%)}.skip-link:focus{color:#fff;transform:translate(-50%)}:focus-visible{outline:3px solid var(--accent-dark);outline-offset:2px;border-radius:2px}.hero :focus-visible,#evolucao :focus-visible,.svc-obra :focus-visible,.cta :focus-visible,.footer :focus-visible{outline-color:#fff}[id]{scroll-margin-top:96px}.nav-portal{color:var(--accent-hover)!important;font-weight:700!important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.empty-state{text-align:center;color:var(--text-secondary);padding:60px 20px}.empty-state-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:60px 32px}.empty-state-card h2{font-family:var(--font-heading);color:var(--accent-dark);margin-bottom:12px;font-size:1.4rem}.empty-state-card p{max-width:480px;margin:0 auto 28px}.notice{border-radius:var(--radius-sm);font-family:var(--font-body);margin-bottom:24px;padding:16px 20px;font-size:.92rem}.notice strong{font-family:var(--font-heading);margin-bottom:4px;font-weight:700;display:block}.notice-info{background:var(--info-bg);border:1px solid var(--info-border);color:var(--accent-dark)}.notice-ok{background:var(--ok-bg);border:1px solid var(--ok-border);color:var(--ok-text)}.notice-warn{background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn-text)}.auth-error{background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius-sm);color:var(--danger);margin-bottom:20px;padding:12px 16px;font-size:.9rem}.field{flex-direction:column;gap:8px;min-width:0;display:flex}.field-label{font-family:var(--font-friendly);color:var(--accent-dark);font-size:.85rem;font-weight:700}.input{width:100%;font-family:var(--font-body);color:var(--text-primary);background:var(--bg-primary);border:1.5px solid var(--text-muted);border-radius:var(--radius-sm);min-height:48px;transition:border-color .2s var(--ease);padding:12px 14px;font-size:1rem}.input:focus{border-color:var(--accent)}.input[type=file]{cursor:pointer;padding:10px 12px}.input[readonly]{background:var(--bg-secondary)}.textarea{resize:vertical;min-height:400px;font-family:ui-monospace,Consolas,monospace;font-size:.92rem;line-height:1.6}.field-hint{font-family:var(--font-body);color:var(--text-muted);font-size:.82rem}.field-hint.field-error{color:var(--danger)}.field-hint code{background:var(--bg-tertiary);overflow-wrap:anywhere;border-radius:3px;padding:1px 5px}button[aria-busy=true]{cursor:progress;opacity:.7;transform:none!important}
