@font-face{font-family:"Barlow";font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/barlow-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:500;font-style:normal;font-display:swap;src:url(/assets/fonts/barlow-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:600;font-style:normal;font-display:swap;src:url(/assets/fonts/barlow-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Semi Condensed";font-weight:600;font-style:normal;font-display:swap;src:url(/assets/fonts/barlow-semi-condensed-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Semi Condensed";font-weight:700;font-style:normal;font-display:swap;src:url(/assets/fonts/barlow-semi-condensed-latin-700-normal.woff2) format("woff2")}

:root{
  --verde:#89BE47;
  --oliva:#49513A;
  --oliva-escuro:#2B3022;
  --palha:#C0CDAD;
  --fundo-claro:#F4F6EF;
  --chip:#EEF2E6;
  --borda:#DDE3D2;
  --texto-suave:#5E6A45;
  --texto-claro:#DCE3D0;
  --max:1200px;
  --titulo:"Barlow Semi Condensed",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:"Barlow",system-ui,sans-serif;font-size:17px;line-height:1.55;color:var(--oliva-escuro);background:#fff}
img{max-width:100%;display:block}
a{color:var(--oliva-escuro)}
a:hover{color:var(--oliva)}
:focus-visible{outline:3px solid var(--verde);outline-offset:2px}
h1,h2,h3{font-family:var(--titulo);font-weight:700;line-height:1.1;margin:0;color:var(--oliva-escuro)}
p{margin:0}
.container{max-width:var(--max);margin:0 auto;padding-left:24px;padding-right:24px}
.skip{position:absolute;left:-9999px;top:0;background:#fff;padding:8px 12px;z-index:10}
.skip:focus{left:8px}

/* Cabeçalho */
.site-header{background:#fff;border-bottom:1px solid #E3E8DA;position:sticky;top:0;z-index:5}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;padding-bottom:12px}
.logo img{height:52px;width:auto}
.nav{display:flex;align-items:center;gap:4px 24px;font-weight:500;font-size:16px}
.nav a{text-decoration:none}
.nav a[aria-current="page"]{font-weight:600;box-shadow:inset 0 -3px 0 var(--verde)}
.menu-toggle{display:none}
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 24px;border-radius:6px;font-weight:600;text-decoration:none;border:1px solid transparent;font-size:17px}
.btn-verde{background:var(--verde);color:var(--oliva-escuro)}
.btn-verde:hover{background:#7DB03E;color:var(--oliva-escuro)}
.btn-escuro{background:var(--oliva-escuro);color:#fff}
.btn-escuro:hover{background:#3A412E;color:#fff}
.btn-contorno{border-color:currentColor;color:var(--oliva-escuro);background:transparent}
.btn-contorno-claro{border-color:#fff;color:#fff;background:transparent}
.btn-contorno-claro:hover{background:rgba(255,255,255,.12);color:#fff}
.nav .btn{min-height:44px;padding:10px 20px;font-size:16px}

@media (max-width:960px){
  .menu-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid var(--borda);border-radius:6px;background:#fff;font:inherit;font-weight:600;color:var(--oliva-escuro);cursor:pointer}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid #E3E8DA;flex-direction:column;align-items:stretch;padding:8px 24px 20px;gap:0}
  .nav a{padding:12px 0;border-bottom:1px solid #EEF1E8}
  .nav a[aria-current="page"]{box-shadow:none;color:var(--texto-suave)}
  .nav .btn{margin-top:12px;justify-content:center;border-bottom:0}
  .site-header.aberto .nav{display:flex}
  .logo img{height:44px}
}

/* Seções */
.secao{padding:88px 0}
.secao-clara{background:var(--fundo-claro)}
.secao-escura{background:var(--oliva-escuro);color:#fff}
.secao-escura h2,.secao-escura h3{color:#fff}
.sobretitulo{font-family:var(--titulo);font-weight:600;font-size:18px;letter-spacing:.08em;text-transform:uppercase;color:var(--texto-suave);margin-bottom:12px}
.titulo-secao{font-size:40px;margin-bottom:8px}
.intro{color:var(--oliva);max-width:640px;margin-bottom:40px}
.grade{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.grade-5{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}

/* Hero da página inicial */
.hero{position:relative;min-height:600px;display:flex;align-items:flex-end;background:var(--oliva-escuro);color:#fff}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:rgba(26,30,20,.55)}
.hero .container{position:relative;z-index:1;width:100%;padding-top:96px;padding-bottom:72px}
.hero .sobretitulo{color:var(--palha)}
.hero h1{color:#fff;font-size:64px;line-height:1.02;max-width:760px}
.hero p.lead{margin-top:20px;max-width:620px;font-size:20px;color:#F1F4EA}
.acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

/* Cabeçalho de página interna */
.page-hero{background:var(--fundo-claro)}
.page-hero .container{display:flex;flex-wrap:wrap;align-items:center;gap:48px;padding-top:64px;padding-bottom:64px}
.page-hero .texto{flex:999 1 440px}
.page-hero h1{font-size:56px;line-height:1.04}
.page-hero .lead{margin-top:20px;max-width:560px;font-size:20px;color:var(--oliva)}
.page-hero img{flex:1 1 420px;width:100%;max-width:560px;height:400px;object-fit:cover;border-radius:10px}

/* Cartões */
.cartao{display:flex;flex-direction:column;border:1px solid var(--borda);border-radius:10px;overflow:hidden;background:#fff}
.cartao>img{width:100%;height:300px;object-fit:cover}
.cartao .corpo{padding:28px 28px 32px;display:flex;flex-direction:column;gap:14px;flex-grow:1}
.cartao .rotulo{font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--texto-suave)}
.cartao h3{font-size:32px}
.cartao ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.cartao .link{margin-top:auto;font-weight:600}
.mini{text-decoration:none;color:var(--oliva-escuro);background:#fff;border-radius:8px;overflow:hidden;border:1px solid var(--borda);display:flex;flex-direction:column}
.mini:hover{border-color:var(--verde)}
.mini img{width:100%;height:150px;object-fit:cover}
.mini span{padding:16px 18px 20px;display:flex;flex-direction:column;gap:4px}
.mini strong{font-size:18px;line-height:1.25}
.mini small{font-size:15px;color:var(--oliva)}

/* Números */
.numeros{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));padding-top:56px;padding-bottom:56px}
.numeros strong{display:block;white-space:nowrap;font-family:var(--titulo);font-weight:700;font-size:42px;line-height:1;color:var(--verde)}
.numeros span{display:block;margin-top:8px;color:var(--texto-claro)}

/* Chips */
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{background:var(--chip);border:1px solid var(--palha);border-radius:999px;padding:8px 18px;font-weight:600}
.trio h2{font-size:32px;margin-bottom:16px}

/* Citação */
.citacao .container{display:flex;flex-wrap:wrap;align-items:center;gap:48px}
.citacao img{flex:1 1 380px;max-width:520px;width:100%;height:420px;object-fit:cover;border-radius:10px}
.citacao figure{flex:999 1 420px;margin:0}
.citacao blockquote{margin:16px 0 24px;font-family:var(--titulo);font-weight:600;font-size:34px;line-height:1.2}
.citacao figcaption{color:var(--oliva)}
.citacao figcaption strong{color:var(--oliva-escuro)}

/* Faixa de contato */
.faixa-cta{background:var(--verde)}
.faixa-cta .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding-top:64px;padding-bottom:64px}
.faixa-cta h2{font-size:44px;line-height:1.05}
.faixa-cta p{margin-top:8px;font-size:19px}

/* Listas de serviço */
.blocos{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.bloco{border-top:4px solid var(--verde);padding-top:20px}
.bloco h3{font-size:26px;margin-bottom:10px}
.bloco ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.servico{display:flex;flex-wrap:wrap;gap:40px;align-items:center;padding:56px 0;border-bottom:1px solid var(--borda);scroll-margin-top:96px}
.servico:last-child{border-bottom:0}
.servico img{flex:1 1 360px;max-width:480px;width:100%;height:320px;object-fit:cover;border-radius:10px}
.servico .texto{flex:999 1 420px}
.servico h2{font-size:34px;margin-bottom:6px}
.servico .destaque{font-weight:600;color:var(--texto-suave);margin-bottom:16px}
.servico ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}

/* Etapas */
.etapas{list-style:none;margin:0;padding:0;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.etapas li{display:flex;flex-direction:column;gap:12px}
.etapas img,.etapas .grafico{width:100%;height:200px;object-fit:cover;border-radius:8px}
.etapas .grafico{background:var(--oliva-escuro);display:flex;align-items:center;justify-content:center}
.etapas .num{font-family:var(--titulo);font-weight:700;font-size:15px;color:var(--texto-suave)}
.etapas strong{font-size:20px;line-height:1.2}
.etapas small{font-size:15px;color:var(--oliva)}
.selo{display:inline-block;background:var(--verde);color:var(--oliva-escuro);font-weight:600;font-size:14px;padding:4px 12px;border-radius:999px;margin-bottom:8px}

/* Valores */
.valores{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.valor{background:#fff;border:1px solid var(--borda);border-radius:8px;padding:22px 24px}
.valor h3{font-size:22px;margin-bottom:6px}
.valor p{color:var(--oliva);font-size:16px}
.mv{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));margin-bottom:48px}
.mv div{background:var(--oliva-escuro);color:#fff;border-radius:10px;padding:32px}
.mv h3{color:var(--verde);font-size:28px;margin-bottom:10px}
.mv p{color:var(--texto-claro);font-size:18px}

/* Contato */
.contatos{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.contato-item{border:1px solid var(--borda);border-radius:10px;padding:24px;display:flex;flex-direction:column;gap:8px}
.contato-item h2{font-size:24px}
.contato-item a{font-weight:600;font-size:19px;word-break:break-word}

/* Texto longo */
.texto-longo{max-width:760px}
.texto-longo h2{font-size:28px;margin:40px 0 12px}
.texto-longo p,.texto-longo ul{margin:0 0 14px}

/* Rodapé */
.site-footer{background:var(--oliva-escuro);color:var(--texto-claro);font-size:15px}
.site-footer a{color:var(--texto-claro);text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.rodape-grade{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));padding-top:56px;padding-bottom:32px}
.rodape-grade div{display:flex;flex-direction:column;gap:8px}
.rodape-grade .marca{font-family:var(--titulo);font-weight:700;font-size:24px;color:#fff}
.rodape-grade .titulo{font-weight:600;color:#fff}
.rodape-base{border-top:1px solid var(--oliva);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:20px;padding-bottom:32px;font-size:14px}
.icone{display:inline-flex;align-items:center;gap:8px}

@media (max-width:640px){
  body{font-size:16px}
  .secao{padding:56px 0}
  .hero{min-height:520px}
  .hero h1{font-size:42px}
  .hero p.lead{font-size:18px}
  .page-hero h1{font-size:40px}
  .page-hero img{height:260px}
  .titulo-secao{font-size:32px}
  .faixa-cta h2{font-size:34px}
  .citacao blockquote{font-size:26px}
  .citacao img{height:300px}
  .numeros strong{font-size:40px}
  .servico img{height:240px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
