:root{--teal:#008d83;--teal-dark:#006c65;--blue:#07529b;--ink:#153c4b;--muted:#526c75;--pale:#edf7f6;--line:#d6e5e6;--white:#fff;--radius:6px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:128px}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;background:white}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}img{max-width:100%;display:block}p{margin:0 0 1.2em}h1,h2,h3{line-height:1.13;letter-spacing:-.035em;margin:0}h1{font-size:clamp(2.8rem,4.25vw,4.45rem);font-weight:700;color:var(--blue)}h2{font-size:clamp(2rem,3.1vw,3.05rem);font-weight:600}h3{font-size:1.48rem;letter-spacing:-.025em}em{font-style:normal;color:var(--teal)}.container{width:min(1240px,calc(100% - 96px));margin:auto}.topbar{background:var(--ink);color:white;font-size:.8125rem}.topbar-inner{display:flex;justify-content:space-between;padding:8px 0}.topbar-inner>div{display:flex;gap:28px}.topbar a:hover{text-decoration:underline}.header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}.header-inner{min-height:118px;display:flex;justify-content:space-between;align-items:center;gap:30px}.brand{width:290px;display:flex;flex-direction:column;align-items:center;flex-shrink:0;line-height:1.2}.brand img{width:100%;height:64px;object-fit:contain}.brand span{font-size:.65rem;letter-spacing:.1em;margin-top:3px;color:var(--ink)}.brand small{font-size:.75rem;color:#617780;letter-spacing:.035em;margin-top:5px}.header nav{display:flex;align-items:center;gap:29px;font-size:.925rem;font-weight:600}.header nav>a:not(.button){padding:10px 0;border-bottom:2px solid transparent}.header nav>a:hover:not(.button){color:var(--teal);border-color:var(--teal)}.button{display:inline-flex;justify-content:center;align-items:center;padding:16px 25px;min-height:52px;background:var(--teal);color:white;border:1px solid var(--teal);font-weight:600;font-size:.95rem;border-radius:var(--radius);line-height:1.3;transition:background .2s,transform .2s}.button:hover{background:var(--teal-dark);border-color:var(--teal-dark);transform:translateY(-1px)}.button.small{font-size:.875rem;padding:13px 20px;min-height:46px}.menu-toggle{display:none}.hero{position:relative;overflow:hidden;background:var(--pale);min-height:635px;isolation:isolate}.slides,.slide,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.slide{object-fit:cover;object-position:center 44%;opacity:0;transition:opacity 1.1s ease}.slide.active{opacity:1}.hero-shade{background:linear-gradient(90deg,rgba(241,248,248,.98) 0%,rgba(241,248,248,.93) 32%,rgba(241,248,248,.5) 49%,rgba(241,248,248,0) 68%)}.hero-content{position:relative;padding-top:83px;padding-bottom:35px;min-height:635px;display:flex;flex-direction:column;justify-content:space-between}.eyebrow{font-size:.75rem;letter-spacing:.15em;font-weight:700;color:var(--teal);margin-bottom:23px}.hero h1{margin-bottom:24px}.hero-description{font-size:1.16rem;line-height:1.65;color:#37565f}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:30px}.text-link{font-size:.95rem;font-weight:600;border-bottom:1px solid var(--teal);padding:5px 0;color:var(--teal-dark)}.text-link:hover{color:var(--blue);border-color:var(--blue)}.slider-controls{display:flex;align-items:center;gap:10px;margin-top:38px;font-size:.75rem;color:#405d66}.slide-dot{border:0;width:28px;min-height:36px;padding:0;background:transparent;position:relative}.slide-dot:after{content:"";display:block;width:25px;height:3px;background:#9dbabc}.slide-dot.active:after{background:var(--teal)}#slide-caption{margin-left:8px}#slide-pause{font-size:.75rem;border:0;background:transparent;color:#365b66;padding:7px 10px;text-decoration:underline}.hero-note{position:absolute;right:40px;bottom:36px;font-size:.65rem;letter-spacing:.18em;color:white;text-shadow:0 1px 8px #173440}.value-strip{border-bottom:1px solid var(--line);background:#fff}.values{display:grid;grid-template-columns:repeat(3,1fr);padding:30px 0}.values>div{display:flex;flex-direction:column;align-items:center;border-right:1px solid var(--line)}.values>div:first-child{align-items:flex-start}.values>div:last-child{border:0}.values strong{font-weight:600;font-size:1.2rem;color:var(--blue)}.values span{font-size:.875rem;color:var(--muted)}.section{padding:105px 0}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:46px}.section-heading>p{max-width:330px;color:var(--muted);margin:0}.section-heading .eyebrow{margin-bottom:17px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service{padding:30px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;scroll-margin-top:140px;transition:border-color .2s,box-shadow .2s}.service:hover{border-color:#77bcb5;box-shadow:0 8px 30px #1c57600a}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.service-icon{width:53px;height:53px;display:flex;align-items:center;justify-content:center;color:var(--teal);background:var(--pale);border-radius:50%}.service-icon svg{width:30px;height:30px}.number{color:#6e8d95;font-size:.8rem}.service h3{margin-bottom:17px}.service>p{color:var(--muted);font-size:.95rem;line-height:1.7;flex:1}.service-subtitle{font-size:.82rem;color:var(--teal-dark);margin-top:-10px;margin-bottom:12px;font-weight:600}.service details{border-top:1px solid var(--line);margin-top:10px}.service summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:var(--teal-dark);font-weight:600;padding-top:17px;gap:10px}.service summary::-webkit-details-marker{display:none}.service summary span{font-size:1.4rem;font-weight:400;line-height:1}.service details[open] summary span{transform:rotate(45deg)}.service-details{padding-top:22px;font-size:.875rem;color:var(--muted)}.service-details strong{color:var(--ink)}.service-details ul{padding-left:18px;margin:16px 0}.service-details li{margin-bottom:8px}.service-request{color:var(--teal-dark);text-decoration:underline;text-underline-offset:4px;font-weight:600}.services-footnote{text-align:center;margin:30px 0 0;font-size:.925rem;color:var(--muted)}.services-footnote a{color:var(--teal-dark);text-decoration:underline;text-underline-offset:4px}.about{background:var(--pale)}.about-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:85px;align-items:center}.about-visual{position:relative;padding-bottom:46px}.about-visual>img{height:485px;width:100%;object-fit:cover;object-position:80% center;border-radius:var(--radius)}.since{position:absolute;bottom:0;left:-24px;background:var(--teal);color:white;padding:30px 40px;width:245px;display:flex;flex-direction:column}.since span{font-size:.72rem;letter-spacing:.07em}.since strong{font-size:4.1rem;font-weight:500;line-height:1.15;letter-spacing:-.06em;margin:10px 0}.about-copy h2{margin-bottom:27px}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:.96rem}.about-principles{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:28px 0}.about-principles span{display:block;color:var(--teal);font-size:.8rem;margin-bottom:8px}.about-principles strong{font-size:.92rem;display:block;line-height:1.5}.about-principles p{font-size:.85rem;color:var(--muted);margin:5px 0}.cta-band{background:var(--teal);color:#fff;padding:55px 0}.cta-band>.container{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta-band .eyebrow{color:#def7f3;margin-bottom:18px}.cta-band h2{font-size:2.65rem}.button.light{background:white;color:var(--teal-dark);border-color:white}.button.light:hover{background:#e3f4f1}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.contact-copy h2{margin-bottom:25px}.contact-copy>p:not(.eyebrow){color:var(--muted);font-size:.96rem}.contact-item{margin-top:28px}.contact-item>span{display:block;font-size:.7rem;letter-spacing:.12em;font-weight:700;color:var(--muted);margin-bottom:7px}.contact-item>a:not(.map-link){font-size:1.2rem;font-weight:600;color:var(--blue);overflow-wrap:anywhere}.contact-item small{display:block;color:var(--muted);font-size:.75rem}.contact-item p{margin-bottom:5px}.contact-item a:hover{text-decoration:underline}.map-link{color:var(--teal-dark);font-size:.875rem;text-decoration:underline;text-underline-offset:4px}.facebook{display:flex;align-items:center;gap:13px;font-size:.875rem;color:var(--teal-dark);margin-top:28px}.facebook span{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;font-weight:700;font-size:1.2rem}.contact-form{padding:37px;background:#f5f9f9;border:1px solid var(--line);border-radius:var(--radius)}.contact-form h3{font-size:1.35rem;margin-bottom:10px}.form-intro{font-size:.8rem;color:var(--muted);margin-bottom:23px}.contact-form label:not(.consent){display:flex;flex-direction:column;gap:7px;font-size:.85rem;font-weight:600;margin-bottom:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}input,select,textarea{width:100%;min-width:0;border:1px solid #c8d9dd;border-radius:4px;background:#fff;color:var(--ink);padding:12px 13px;font-size:1rem;font-weight:400;line-height:1.5;outline-offset:2px}input:focus,select:focus,textarea:focus{outline:2px solid var(--teal);border-color:var(--teal)}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#71858c;opacity:1;font-size:.875rem}.form-note{font-size:.75rem;color:var(--muted);margin:-6px 0 20px}.consent{display:flex;align-items:flex-start;gap:11px;font-size:.8rem;color:var(--muted);line-height:1.55}.consent input{width:18px;height:18px;flex-shrink:0;margin:3px 0 0;accent-color:var(--teal)}.consent a{color:var(--teal-dark);text-decoration:underline}.submit{width:100%;margin-top:24px}.button:disabled{opacity:.6;cursor:wait;transform:none}.form-status{font-size:.85rem;margin:13px 0 0}.form-status:empty{display:none}.form-status.error{color:#a72d2d}.form-status.success{color:var(--teal-dark);font-weight:600}.trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}footer{background:#f2f7f7;border-top:1px solid var(--line);padding:35px 0 15px}.footer-main{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-bottom:35px}.footer-brand{width:245px}.footer-brand img{height:57px}.footer-brand span{font-size:.57rem}.footer-main>p{font-size:.925rem;margin:0;color:var(--muted)}.back-top{font-size:.8rem;color:var(--teal-dark)}.back-top span{margin-left:12px;font-size:1.2rem}.footer-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;gap:20px;font-size:.7rem;color:var(--muted)}.footer-bottom>div{display:flex;gap:22px}.footer-bottom a:hover{text-decoration:underline}.privacy-fallback{margin:12px 0 0;font-size:.75rem;color:var(--muted)}.js .privacy-fallback{display:none}dialog{border:0;border-radius:10px;padding:0;width:min(780px,calc(100% - 30px));max-height:88vh;color:var(--ink);box-shadow:0 20px 100px #0004}dialog::backdrop{background:#103c4db3}.dialog-bar{position:sticky;top:0;background:white;padding:17px 28px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;z-index:1;font-weight:600}.dialog-close{border:0;background:var(--pale);padding:8px 15px;border-radius:4px;color:var(--teal-dark)}.dialog-content{padding:32px}.policy-content{font-size:.95rem;line-height:1.7}.policy-content h2{font-size:2rem;margin-bottom:22px}.policy-content h3{font-size:1.1rem;margin:26px 0 12px}.policy-content a{color:var(--teal-dark);text-decoration:underline;overflow-wrap:anywhere}.skip{position:fixed;top:-100px;left:15px;padding:12px;background:white;color:var(--blue);z-index:100}.skip:focus{top:10px}
@media(min-width:1600px){.hero,.hero-content{min-height:710px}.hero-content{padding-top:110px}.hero .slide{object-position:center 40%}}
@media(max-width:1100px){.container{width:calc(100% - 56px)}.header nav{gap:18px}.brand{width:250px}.header nav>a{font-size:.85rem}.header .button{padding:12px}.about-grid{gap:48px}.contact-grid{gap:45px}.service{padding:25px}.footer-bottom{flex-wrap:wrap}.hero-note{display:none}.about-copy h2 br{display:none}}
@media(max-width:850px){html{scroll-padding-top:110px}.topbar-inner>span{display:none}.topbar-inner{justify-content:center}.header-inner{min-height:104px}.brand{width:245px}.brand img{height:57px}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:22px 28px;border-bottom:1px solid var(--line);box-shadow:0 10px 20px #133b4910;flex-direction:column;align-items:stretch;gap:6px}.header nav.open{display:flex}.header nav>a{font-size:1rem}.menu-toggle{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;width:45px;height:45px;border:1px solid var(--line);border-radius:4px;background:white}.menu-toggle span{height:2px;width:21px;background:var(--teal)}.hero,.hero-content{min-height:620px}.hero-content{padding-top:70px}.hero-shade{background:linear-gradient(90deg,#eff7f7 0%,#eff7f7e8 40%,#eff7f750 80%)}.hero .slide{object-position:65% center}.hero-text{max-width:560px}h1{font-size:3.5rem}.services-grid{grid-template-columns:1fr 1fr}.section{padding:75px 0}.section-heading{gap:28px}.section-heading>p{max-width:250px;font-size:.925rem}.about-grid{grid-template-columns:1fr;gap:50px}.about-visual{max-width:610px;padding-bottom:30px}.about-visual>img{height:365px}.since{left:0;bottom:0;padding:23px 30px;width:210px}.since strong{font-size:3.4rem}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-copy{max-width:560px}.footer-main{flex-wrap:wrap}.footer-main>p{max-width:240px}.cta-band h2{font-size:2.3rem}.footer-bottom{font-size:.75rem}}
@media(max-width:560px){.container{width:calc(100% - 40px)}.topbar{font-size:.72rem}.topbar-inner>div{gap:22px}.header-inner{min-height:98px;gap:14px}.brand{width:222px}.brand img{height:51px}.brand span{font-size:.53rem}.brand small{font-size:.67rem}.hero,.hero-content{min-height:680px}.hero-content{padding-top:42px;padding-bottom:19px;justify-content:space-between}.hero .slide{object-fit:cover;object-position:73% bottom;height:54%;top:auto;bottom:0}.hero-shade{background:linear-gradient(180deg,#eef7f7 0%,#eef7f7 41%,#eef7f7ed 48%,#eef7f722 66%,#edf7f710 85%,#edf7f7ed 100%)}.hero h1{font-size:2.7rem;line-height:1.09;margin-bottom:18px}.hero .eyebrow{font-size:.61rem;letter-spacing:.13em;margin-bottom:17px}.hero-description{font-size:1rem;line-height:1.5;margin-bottom:20px}.hero-actions{gap:18px;flex-wrap:wrap;margin-top:18px}.hero-actions .button{font-size:.79rem;min-height:45px;padding:13px 16px}.hero-actions .text-link{font-size:.8rem}.slider-controls{margin-top:170px;gap:6px;flex-wrap:wrap}.slider-controls #slide-caption{font-size:.69rem;margin-left:3px}.value-strip .container{width:100%}.values{padding:22px 10px;gap:5px}.values>div,.values>div:first-child{align-items:center;text-align:center;padding:0 7px}.values strong{font-size:.8rem}.values span{font-size:.66rem;line-height:1.5;margin-top:5px}.section{padding:60px 0}h2{font-size:2rem}.section-heading{display:block;margin-bottom:30px}.section-heading>p{max-width:none;margin-top:22px;font-size:.95rem}.section-heading h2 br{display:none}.eyebrow{font-size:.68rem;margin-bottom:16px}.services-grid{grid-template-columns:1fr;gap:16px}.service{padding:25px}.service-top{margin-bottom:19px}.service h3{font-size:1.45rem}.service>p{font-size:.95rem}.services-footnote{font-size:.85rem}.about-visual>img{height:325px}.about-grid{gap:39px}.about-copy h2{font-size:2rem}.about-principles{grid-template-columns:1fr;gap:18px}.about-principles span{display:inline-block;float:left;margin:0 15px 24px 0}.about-principles p{margin-left:33px}.cta-band{padding:40px 0}.cta-band>.container{align-items:flex-start;flex-direction:column;gap:23px}.cta-band h2{font-size:2rem}.cta-band .eyebrow{font-size:.6rem}.contact-grid{gap:30px}.contact-copy h2{font-size:2rem}.contact-form{padding:25px 20px}.contact-form h3{font-size:1.23rem}.form-row{grid-template-columns:1fr;gap:0}.footer-main{flex-direction:column;align-items:flex-start;gap:25px;padding-bottom:25px}.footer-main>p{max-width:none}.footer-bottom{flex-direction:column;gap:16px}.footer-bottom>div{flex-wrap:wrap;gap:12px 20px}.footer-brand{width:235px}.dialog-content{padding:25px 20px}.dialog-bar{padding:14px 20px}.policy-content h2{font-size:1.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Legibilidade dos elementos secundários, incluindo em ecrãs pequenos. */
.brand span,.footer-brand span{font-size:12px;letter-spacing:0}.brand small{font-size:12px}.eyebrow,.hero .eyebrow,.cta-band .eyebrow{font-size:12px}.contact-item>span,.footer-bottom,.values span,.topbar,.slider-controls #slide-caption{font-size:12px}.hero-note{font-size:12px}
@media(max-width:560px){.hero h1{font-size:clamp(1.9rem,8.8vw,2.25rem)}.hero-actions{gap:12px 20px}.hero .eyebrow{font-size:12px;letter-spacing:.09em}.hero-content{min-height:680px}.hero .slide{height:53%}.hero-shade{background:linear-gradient(180deg,#eef7f7 0%,#eef7f7 38%,#eef7f7eb 47%,#eef7f710 62%,#edf7f708 86%,#edf7f7ed 100%)}}
/* Enquadramento da imagem de construção: manter os capacetes visíveis. */
.hero .slide[src*="construcao-simbolos.webp"]{object-position:center 12%}
@media(max-width:850px){.hero .slide[src*="construcao-simbolos.webp"]{object-position:65% 12%}}
@media(max-width:560px){.hero .slide[src*="construcao-simbolos.webp"]{object-position:73% bottom}}
