:root{
  --verde:#015455; --dourado:#c9a227; --azul:#2f7f8f; --azul-esc:#256b79;
  --texto:#3b4248; --cinza:#6b737a; --linha:#4a4f55; --fundo:#ffffff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fundo);color:var(--texto);font:16px/1.65 "Noto Sans",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--azul)}
img{max-width:100%}

/* topo */
.topo{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;gap:24px;padding:18px 24px;border-bottom:1px solid #eef0f2}
.menu{display:flex;gap:34px;flex-wrap:wrap;justify-content:center}
.menu a{color:#2b3036;text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:15px;font-weight:400;padding:4px 0;border-bottom:2px solid transparent}
.menu a:hover{border-bottom-color:var(--dourado)}
.menu a.ativo{font-weight:700}
.portal{position:absolute;right:24px;display:inline-flex;align-items:center;gap:8px;background:var(--verde);color:#fff;text-decoration:none;font-size:14px;font-weight:600;padding:9px 16px;border-radius:6px}
.portal svg{width:16px;height:16px}
.portal:hover{background:#003f40}
.menu-btn{display:none}

.logo-wrap{text-align:center;padding:56px 16px 24px}
.logo{width:400px;max-width:80%;height:auto}

main{max-width:1180px;margin:0 auto;padding:0 24px 40px}
.chamada{text-align:center;font-size:19px;font-weight:600;color:#4a5157;max-width:780px;margin:24px auto 60px}

.secao{margin:40px 0 70px}
.titulo{font-family:Montserrat,Arial,sans-serif;font-weight:600;font-size:26px;color:#2b3036;margin:0 0 40px;padding-bottom:14px;border-bottom:1px solid var(--linha)}
h2,h3{font-weight:400;color:#2b3036}
h2{font-size:24px;line-height:1.3;margin:0 0 22px}
h3{font-size:24px;margin:0 0 18px}
p{margin:0 0 14px}
.intro{color:var(--cinza)}
.item{margin:0 0 6px}
.item strong{color:#3b4248}
ul{margin:4px 0 0;padding-left:22px}
li{margin:2px 0}

/* cards da pagina inicial */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 48px}
.card{text-decoration:none;color:inherit;display:block}
.card h2{margin:22px 0 12px;font-size:24px}
.card p{color:var(--cinza)}
.card:hover h2{color:var(--verde)}
.foto{position:relative;width:100%;max-width:340px;aspect-ratio:1;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#e6f0ef,#cfe2e0)}
.foto img,.sobre-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--verde);opacity:.55}
.ph svg{width:34%;height:34%}

/* sobre */
.sobre{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.sobre-texto p{color:var(--cinza)}
.sobre-foto{position:relative;min-height:520px;background:linear-gradient(135deg,#eef3f3,#d9e7e6);overflow:hidden}
.lista-curta{margin-top:20px}

/* contato */
.contato{text-align:center}
.contato .titulo{text-align:left}
.contato p{color:var(--cinza)}
.empresa{font-size:24px;color:#2b3036 !important;margin-top:28px}
.cinza{color:var(--cinza)}
.tel{text-decoration:none;font-size:17px}
.portal-box{margin:40px auto 0;max-width:620px;padding:24px;border:1px solid #dfe6e6;border-radius:10px;background:#f6faf9}

/* botoes */
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--azul);color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:15px;padding:16px 34px;border-radius:2px;margin-top:10px}
.btn:hover{background:var(--azul-esc)}
.btn-whats{text-transform:none;letter-spacing:0;background:#34495e;border-radius:4px;padding:14px 28px;margin:16px 0 8px}
.btn-whats svg{width:22px;height:22px;color:#25d366}
.btn-claro{background:var(--verde);letter-spacing:.08em}
.cta .forte{font-weight:700;color:#4a5157;font-size:17px}
.cta p{color:var(--cinza)}

/* colunas */
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-bottom:56px}
.cols3 p{color:var(--cinza)}
.coluna{max-width:900px;margin:0 auto}
.coluna h2{margin-top:36px}
.coluna p{color:var(--cinza)}

/* rodape */
.rodape{background:var(--azul);color:#fff;margin-top:40px}
.rodape-in{max-width:1180px;margin:0 auto;padding:44px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.rodape p{margin:0;font-size:14px}
.sociais{display:flex;gap:14px}
.sociais a{color:#fff}
.sociais svg{width:24px;height:24px}
.rodape-portal{color:#fff;font-size:14px;font-weight:600}

.whats-flutuante{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.2);z-index:30}
.whats-flutuante svg{width:32px;height:32px}

/* celular / tablet */
@media (max-width:1100px){
  .topo{justify-content:space-between}
  .portal{position:static}
  .menu{gap:22px}
  .menu a{font-size:13px}
}
@media (max-width:860px){
  .menu-btn{display:flex;flex-direction:column;gap:5px;background:none;border:0;padding:8px;cursor:pointer}
  .menu-btn span{display:block;width:24px;height:2px;background:#2b3036}
  .menu{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:8px 16px 16px;border-bottom:1px solid #eef0f2}
  .menu a{padding:12px 0;font-size:14px;border-bottom:1px solid #f0f2f4}
  .menu-aberto .menu{display:flex}
  .topo{padding:12px 16px}
  .portal{font-size:13px;padding:8px 12px}
  main{padding:0 16px 30px}
  .logo-wrap{padding:32px 16px 8px}
  .cards,.cols3,.sobre{grid-template-columns:1fr;gap:36px}
  .foto{max-width:280px;margin:0 auto}
  .card{text-align:center}
  .sobre-foto{min-height:380px}
  .titulo{font-size:22px}
  h2,h3{font-size:21px}
  .chamada{font-size:17px;margin-bottom:36px}
  .rodape-in{flex-direction:column;text-align:center}
  .btn{padding:14px 22px;letter-spacing:.08em}
}

/* enquadramento das fotos */
.foto img{object-position:50% 25%}
img[src$="foto-mei.jpg"]{object-position:50% 40%}
.sobre-foto img{object-position:72% 30%}
