@font-face{font-family:Manrope;src:url("/assets/fonts/manrope-latin-variable.woff2") format("woff2");font-weight:600 700;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("/assets/fonts/source-sans-3-latin-variable.woff2") format("woff2");font-weight:400 600;font-style:normal;font-display:swap}
:root{--petrol:#163a46;--ivory:#f6f3ec;--graphite:#252d31;--sage:#78958a;--white:#fff;--muted:#536064;--line:#cbd1cc;--font-heading:Manrope,Arial,sans-serif;--font-body:"Source Sans 3",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:var(--ivory);color:var(--graphite);font-family:var(--font-body);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-underline-offset:5px}
button{font:inherit;cursor:pointer}
button,a{touch-action:manipulation}
a:focus-visible,button:focus-visible{outline:3px solid var(--petrol);outline-offset:6px}
.solutions-section a:focus-visible,.contact-section a:focus-visible{outline-color:var(--ivory)}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--font-heading);font-weight:700}
h1,h2{letter-spacing:-.055em}
h2{font-size:clamp(36px,3.55vw,52px);line-height:1.14}
h3{font-size:22px;line-height:1.3;letter-spacing:-.025em}
p+p{margin-top:18px}
section[id]{scroll-margin-top:28px}
.container{width:min(1280px,calc(100% - 112px));margin-inline:auto}
.section{padding-block:108px}
.eyebrow,.small-label{font-size:13px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;line-height:1.6}
.eyebrow{margin-bottom:30px}
.accent-line{width:42px;height:3px;background:var(--sage);display:inline-block;margin-right:15px;vertical-align:middle}
.preview-note{min-height:28px;padding:4px 16px;text-align:center;background:var(--petrol);color:var(--ivory);font-size:12px;letter-spacing:.05em}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:132px;border-bottom:1px solid var(--line)}
.brand{display:block;flex-shrink:0;width:320px;max-width:100%;text-decoration:none}
.brand img,.footer-brand img{display:block;width:100%;height:auto}
nav{display:flex;align-items:center;gap:30px;font-size:15px;font-weight:600}
nav a{text-decoration:none;white-space:nowrap;padding-block:12px}
nav a:hover{text-decoration:underline}
.nav-contact{border-bottom:1px solid var(--petrol);display:flex;gap:18px}
.menu-toggle{display:none}
.hero{padding-top:55px}
.hero>.eyebrow{margin-bottom:40px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:52px;align-items:center}
h1{font-weight:700;color:var(--petrol);font-size:clamp(52px,5.35vw,78px);line-height:1.12}
h1>span{color:var(--graphite)}
.hero-copy{max-width:635px;font-size:22px;line-height:1.55;margin-top:34px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:36px}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;padding:16px 22px;min-height:56px;border:1px solid transparent;font-weight:600;font-size:16px;line-height:1.4;text-decoration:none;transition:background-color .15s,color .15s}
.button-dark{background:var(--petrol);color:var(--ivory)}
.button-dark:hover{background:var(--graphite)}
.button-light{background:var(--ivory);color:var(--petrol)}
.button-light:hover{background:var(--white)}
.button>span,.text-link>span{font-size:22px;line-height:1}
.text-link{font-weight:600;font-size:16px;display:inline-flex;gap:18px;align-items:center;min-height:48px}
.text-link:hover{text-decoration-thickness:2px}
.connections{border-left:1px solid var(--sage);padding-left:30px;padding-block:16px;margin-top:6px}
.connections>.small-label{font-size:11px;letter-spacing:.1em}
.connections ul{list-style:none;padding:0;margin:24px 0}
.connections li{font-family:var(--font-heading);font-weight:700;font-size:23px;letter-spacing:-.04em;padding:12px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px}
.connections li span{font-family:var(--font-body);font-size:11px;letter-spacing:0;color:var(--muted)}
.connections>p:last-child{font-size:15px;color:var(--muted);line-height:1.5}
.hero-bottom{border-top:1px solid var(--line);margin-top:64px;padding-block:20px 24px;display:flex;justify-content:space-between;gap:20px;font-size:14px}
.hero-bottom>span{color:var(--muted)}
.hero-bottom a{text-decoration:none;display:flex;align-items:center;gap:28px}
.hero-bottom a:hover{text-decoration:underline}
.context-section{background:var(--white)}
.context-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:100px}
.section-intro{max-width:335px;margin-top:26px;color:var(--muted)}
.situations article{display:grid;grid-template-columns:30px 1fr;gap:22px;border-top:1px solid var(--line);padding:26px 0}
.situations article:last-child{padding-bottom:0}
.situations h3{font-size:22px}
.situations p{margin-top:12px;color:var(--muted);max-width:490px}
.index{font-size:13px;line-height:2.3;color:var(--petrol)}
.solutions-section{background:var(--petrol);color:var(--ivory)}
.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:end;margin-bottom:58px}
.section-heading>p{max-width:430px;font-size:19px}
.solutions-section .eyebrow{color:var(--ivory)}
.service-row{display:grid;grid-template-columns:52px 1fr 1.1fr;gap:32px;padding-block:40px;border-top:1px solid var(--sage)}
.service-number{font-size:13px;padding-top:4px}
.service-title .small-label{color:var(--ivory);font-size:11px;margin-bottom:12px}
.service-title h3{font-size:32px;line-height:1.22;letter-spacing:-.035em}
.service-copy p{max-width:490px;font-size:18px;line-height:1.6}
.service-link{display:inline-flex;gap:28px;justify-content:space-between;align-items:center;min-height:44px;margin-top:18px;font-size:16px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--sage);padding-bottom:3px}
.service-link span[aria-hidden]{font-size:23px}
.service-link:hover{border-bottom-color:var(--ivory);text-decoration:underline}
.scope-note{border-top:1px solid var(--sage);padding-top:25px;font-size:15px;max-width:100%;color:var(--ivory)}
.method-section .section-heading>p{color:var(--muted)}
.method-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);padding:0;margin:0;gap:48px}
.method-steps li{border-top:1px solid var(--sage);padding-top:25px}
.step-number{font-family:var(--font-heading);font-weight:700;font-size:52px;line-height:1;color:var(--petrol);letter-spacing:-.05em}
.method-steps h3{font-size:25px;margin:28px 0 18px;min-height:66px}
.method-steps p{color:var(--muted);max-width:330px}
.method-note{margin-top:54px;padding-top:26px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:48px;font-size:16px}
.method-note>span{font-weight:600;color:var(--petrol)}
.method-note>p{color:var(--muted)}
.people-section{background:var(--white)}
.people-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.people-lead{font-size:24px;line-height:1.45;letter-spacing:-.025em}
.people-content>p:nth-child(2){color:var(--muted);max-width:445px}
.people-profiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:58px}
.person-profile{background:var(--ivory);border-top:1px solid var(--sage);padding:36px}
.person-profile h3{font-size:32px;letter-spacing:-.04em;color:var(--petrol);margin-bottom:26px}
.person-profile p{font-size:18px;line-height:1.6}
.contact-section{background:var(--petrol);color:var(--ivory)}
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:120px;align-items:center}
.contact-grid h2{font-size:clamp(44px,4.8vw,68px)}
.contact-grid>div:first-child>p:last-child{max-width:400px;margin-top:28px;font-size:20px}
.contact-state{border-left:1px solid var(--sage);padding-left:44px}
.status-mark{display:block;width:40px;height:3px;background:var(--sage);margin-bottom:25px}
.contact-state h3{font-size:25px}
.contact-state>p{margin-top:16px;max-width:350px;font-size:17px}
.contact-state .contact-detail{font-size:14px;color:var(--ivory)}
.contact-state .button{margin-top:28px}
.site-footer{padding-block:34px}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.footer-brand{display:block;flex-shrink:0;min-width:0;width:528px;max-width:100%}
.footer-inner span,.footer-inner a,.footer-preview{font-size:14px}
.footer-inner a{padding-block:12px;display:flex;gap:16px}
.footer-preview{text-align:right;color:var(--muted)}
.skip-link{position:fixed;top:10px;left:10px;z-index:10;transform:translateY(-200%);padding:12px 18px;background:var(--white);color:var(--petrol)}
.skip-link:focus{transform:translateY(0)}
.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}
@media(min-width:1600px){.hero-grid{grid-template-columns:minmax(0,1fr) 230px;gap:52px}}
@media(min-width:1024px){.footer-brand{width:528px}}
@media(max-width:1199px){
  .container{width:calc(100% - 72px)}
  .header-inner{gap:20px}
  nav{gap:20px;font-size:14px}
  .hero-grid{grid-template-columns:minmax(0,1fr) 190px;gap:40px}
  h1{font-size:clamp(47px,5.1vw,62px)}
  .connections{padding-left:23px}
  .connections li{font-size:21px;gap:15px}
  .hero-copy{font-size:20px}
  .context-grid,.section-heading,.people-grid{gap:60px}
  .service-row{grid-template-columns:32px 1fr 1.15fr;gap:24px}
  .service-title h3{font-size:28px}
  .contact-grid{gap:70px}
}
@media(max-width:900px){
  .header-inner{flex-wrap:wrap;gap:0;min-height:110px;padding-bottom:16px}
  .js .menu-toggle{display:flex;align-items:center;gap:18px;padding:8px 0 8px 12px;min-height:48px;border:0;background:transparent;color:var(--petrol);font-weight:600}
  .menu-toggle span{font-size:28px;font-weight:400}
  nav{width:100%;justify-content:space-between}
  .js nav{display:none}
  .js nav.is-open{display:flex}
  .hero{padding-top:46px}
  .hero-grid{grid-template-columns:1fr;gap:40px}
  h1{font-size:clamp(47px,7.2vw,65px)}
  .hero-copy{max-width:630px}
  .connections{display:none}
  .section{padding-block:78px}
  .context-grid{grid-template-columns:1fr 1.1fr;gap:40px}
  .context-grid h2{font-size:35px}
  .situations h3{font-size:20px}
  .situations article{gap:12px}
  .section-heading{gap:40px}
  .section-heading>p{font-size:18px}
  .service-row{grid-template-columns:24px 1fr 1.1fr;gap:20px}
  .service-title h3{font-size:24px}
  .service-copy p{font-size:17px}
  .service-link{font-size:15px;gap:16px}
  .method-steps{gap:28px}
  .method-steps h3{font-size:21px}
  .method-steps p{font-size:17px}
  .method-note{gap:28px}
  .people-grid{gap:45px}
  .people-profiles{grid-template-columns:1fr;gap:24px;margin-top:44px}
  .contact-grid{gap:45px}
  .contact-state{padding-left:30px}
  .contact-state .button{gap:18px}
}
@media(max-width:600px){
  .container{width:calc(100% - 40px)}
  .preview-note{font-size:10px;min-height:26px}
  .header-inner{padding-top:4px;padding-bottom:10px;gap:0;justify-content:center}
  .js .menu-toggle{border-top:1px solid var(--line);width:100%;justify-content:space-between;padding:5px 0;font-size:14px}
  nav,.js nav.is-open{display:flex;flex-direction:column;gap:0;align-items:stretch;padding-bottom:8px}
  .js nav{display:none}
  nav a{padding:14px 0;border-top:1px solid var(--line);font-size:16px}
  .nav-contact{justify-content:space-between;border-bottom:0}
  .hero{padding-top:36px}
  .hero>.eyebrow{font-size:10px;letter-spacing:.1em;margin-bottom:27px}
  .accent-line{width:25px;margin-right:8px}
  h1{font-size:clamp(38px,9.8vw,56px);line-height:1.15;letter-spacing:-.055em}
  h1>span{display:inline-block;margin-top:12px}
  .hero-copy{font-size:19px;line-height:1.55;margin-top:26px}
  .hero-actions{gap:15px;margin-top:28px;align-items:flex-start;flex-direction:column}
  .button{padding:16px 20px;font-size:16px}
  .hero-actions>.button{width:100%}
  .text-link{font-size:16px}
  .hero-bottom{margin-top:32px;padding-block:20px;display:block;font-size:13px}
  .hero-bottom>span{display:none}
  .hero-bottom>a{justify-content:space-between;min-height:28px}
  .section{padding-block:62px}
  h2{font-size:37px}
  .eyebrow{font-size:11px;margin-bottom:24px}
  .context-grid,.section-heading,.people-grid,.contact-grid{grid-template-columns:1fr;gap:34px}
  .context-grid h2{font-size:37px}
  .context-grid h2 br:nth-child(2){display:none}
  .section-intro{max-width:100%;font-size:18px}
  .situations article{padding-block:23px;grid-template-columns:22px 1fr;gap:15px}
  .situations h3{font-size:21px}
  .situations p{font-size:17px}
  .section-heading{margin-bottom:36px;gap:25px}
  .section-heading>p{font-size:18px}
  .service-row{grid-template-columns:23px 1fr;gap:14px;padding-block:30px}
  .service-title h3{font-size:29px}
  .service-title .small-label{font-size:10px;letter-spacing:.1em;margin-bottom:10px}
  .service-copy{grid-column:2}
  .service-copy p{font-size:18px}
  .service-link{font-size:16px;line-height:1.4}
  .scope-note{font-size:15px;padding-top:22px}
  .method-steps{grid-template-columns:1fr;gap:28px}
  .method-steps li{display:grid;grid-template-columns:48px 1fr;column-gap:24px;row-gap:14px;padding-top:25px}
  .step-number{font-size:38px;grid-row:1 / 3}
  .method-steps h3{font-size:24px;margin:0;min-height:0}
  .method-steps h3 br{display:none}
  .method-steps p{font-size:18px;max-width:100%}
  .method-note{margin-top:34px;grid-template-columns:1fr;gap:10px}
  .people-lead{font-size:23px}
  .people-profiles{margin-top:34px}
  .person-profile{padding:28px 24px}
  .person-profile h3{font-size:29px;margin-bottom:22px}
  .contact-grid{gap:35px}
  .contact-grid h2{font-size:48px}
  .contact-grid>div:first-child>p:last-child{font-size:19px;margin-top:24px}
  .contact-state{border-left:0;border-top:1px solid var(--sage);padding:30px 0 0}
  .status-mark{display:none}
  .contact-state h3{font-size:25px}
  .contact-state .button{width:100%}
  .footer-inner{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
  .footer-inner a{width:max-content}
  .footer-preview{text-align:left}
}
@media(max-width:359px){
  h1{font-size:34px}
  h2,.context-grid h2{font-size:32px}
  .hero>.eyebrow{font-size:9px}
  .service-title h3{font-size:25px}
  .button{gap:16px;font-size:15px}
  .service-link{font-size:15px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* Revisão local: assinatura oficial completa, sem recorte, em toda largura. */
@media(max-width:1023px){.footer-inner{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.footer-preview{text-align:left}.footer-inner a{width:max-content;max-width:100%}}
@media(max-width:600px){.site-footer>.footer-inner{width:calc(100% - 24px)}.footer-brand{width:100%;max-width:528px}}
