/* Acabamento visual da área principal — o rodapé não é alterado por este arquivo */
:root {
  --main-ink: #172235;
  --main-muted: #637085;
  --main-line: rgba(23,34,53,.11);
  --main-surface: #f5f7fc;
  --main-accent: #19b875;
  --main-accent-dark: #0d8051;
  --main-navy: #172235;
}
#main {
  width: min(1200px, calc(100% - 2rem));
  margin: 0 auto;
  padding-bottom: 2rem;
}
#main #welcome {
  display: grid;
  grid-template-columns: minmax(260px, .82fr) minmax(0, 1.18fr);
  align-items: center;
  gap: clamp(1.5rem, 5vw, 4.5rem);
  margin: 1.5rem 0 2.25rem;
  padding: clamp(1.8rem, 4vw, 3.25rem);
  border: 1px solid var(--main-line);
  border-radius: 24px;
  background: linear-gradient(135deg, #ffffff 0%, #f7f9fd 100%);
  box-shadow: 0 18px 46px rgba(23,34,53,.08);
}
#main #welcome > div:first-child { text-align: center; }
#main #welcome > div:first-child > span { color: var(--main-ink); }
#main #welcome > div:first-child strong { color: var(--main-navy); }
#main #welcome > div:last-child p { color: var(--main-muted); line-height: 1.75; }
#main #welcome > div:last-child strong { color: var(--main-ink); }
#main #services {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 1.15rem;
  margin: 0 0 3rem;
}
#main #services .service_item {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--main-line);
  border-radius: 20px;
  background: var(--main-surface);
  box-shadow: 0 10px 26px rgba(23,34,53,.07);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
#main #services .service_item:hover {
  transform: translateY(-4px);
  border-color: rgba(25,184,117,.34);
  box-shadow: 0 18px 34px rgba(23,34,53,.12);
}
#main #services .service-label {
  position: absolute;
  top: .8rem;
  left: .8rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .38rem .6rem;
  border-radius: 999px;
  background: #ffd72f;
  color: #3b3100;
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
#main #services .sTitle {
  display: flex;
  min-height: 222px;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  margin: 0;
  padding: 2.6rem 1.1rem .65rem;
  color: var(--main-ink);
  font-size: 1.12rem;
  line-height: 1.25;
  text-align: center;
}
#main #services .sTitle br { display: none; }
#main #services .sImage {
  display: block;
  width: 116px !important;
  height: 116px !important;
  flex: 0 0 116px;
  margin: 0 auto .8rem;
  object-fit: contain;
}
#main #services .sDescription {
  display: block;
  min-height: 8.2rem;
  flex: 1 1 auto;
  margin: 0;
  padding: .6rem 1.15rem 1.25rem;
  color: var(--main-muted);
  font-size: .91rem;
  line-height: 1.7;
  text-align: center;
}
#main #services .sButton {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  margin-top: auto;
  padding: .75rem 1rem;
  background: var(--main-navy);
  color: #fff;
  font-size: .84rem;
  font-weight: 800;
  text-align: center;
  transition: background .2s ease, color .2s ease;
}
#main #services .sButton:hover { background: var(--main-accent); color: #09271b; }
#main #services .sButton i { margin-right: .35rem; }
#main #services + div,
#main #services + div + div {
  width: min(100%, 1050px);
  margin: 0 auto 2.5rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--main-line);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(23,34,53,.06);
}
#main #services + div h2,
#main #services + div + div h2 { color: var(--main-ink); }
#main #services + div h3 { color: var(--main-ink); }
@media (max-width: 1050px) {
  #main #services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  #main { width: min(100% - 1rem, 42rem); }
  #main #welcome { grid-template-columns: 1fr; gap: 1rem; padding: 1.4rem 1rem; }
  #main #services { grid-template-columns: 1fr; gap: .9rem; }
  #main #services .sTitle { min-height: 196px; }
  #main #services .sDescription { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  #main #services .service_item, #main #services .sButton { transition: none; }
}
