/* Serviços: composição mais compacta e objetiva. */
.servicos-section {
  padding: 78px 0 !important;
}

.servicos-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  max-width: 1120px;
  margin: 32px auto 0 !important;
}

.servico-card {
  min-height: 0 !important;
  padding: 30px 32px !important;
  border-radius: 16px !important;
  box-shadow: 0 9px 22px rgba(91, 27, 0, .17) !important;
}

.servico-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 14px 28px rgba(91, 27, 0, .22) !important;
}

.servico-icon {
  width: 64px !important;
  height: 64px !important;
  margin-bottom: 18px !important;
  font-size: 1.55rem !important;
}

.servico-card h3 {
  font-size: clamp(1.38rem, 1.75vw, 1.65rem) !important;
  line-height: 1.28;
  margin-bottom: 12px !important;
}

.servico-card p {
  font-size: .94rem;
  line-height: 1.58 !important;
  margin-bottom: 14px !important;
}

.servico-features {
  margin-bottom: 22px !important;
}

.servico-features li {
  padding: 7px 0 !important;
  padding-left: 24px !important;
  font-size: .9rem;
  line-height: 1.45;
}

.servico-features li::before {
  font-size: 1.05rem !important;
}

.btn-servico {
  justify-content: center;
  padding: 12px 18px !important;
  font-size: .94rem !important;
}

@media (max-width: 960px) {
  .servicos-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 640px) {
  .servicos-section { padding: 64px 0 !important; }
  .servicos-grid { grid-template-columns: 1fr !important; }
  .servico-card { padding: 26px !important; }
}

/* Mapa de cobertura: escala mais equilibrada dentro da página. */
.mapa-section { padding: 82px 0 !important; }
.mapa-container { max-width: 840px !important; }
.mapa-iframe { height: 420px !important; }

@media (max-width: 640px) {
  .mapa-section { padding: 64px 0 !important; }
  .mapa-iframe { height: 340px !important; }
}
