html, body {
  overflow-x: hidden;
}
body {
  margin: 0;
  background: #FBFAF7;
}
a {
  color: #0D7A69;
}
a:hover {
  color: #12A894;
}

/* Header nav */
.mp-nav-link {
  position: relative;
  text-decoration: none;
}
.mp-nav-link:hover {
  color: #0D7A69 !important;
}
.mp-hamburger {
  display: none;
}

/* Buttons / cards hover states */
.mp-cta {
  transition: all .2s;
}
.mp-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px -10px rgba(13, 122, 105, 0.55) !important;
}
.mp-card {
  transition: all .25s;
}
.mp-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -20px rgba(20, 40, 54, 0.18) !important;
}
.mp-spec-card {
  transition: all .25s;
}
.mp-spec-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -20px rgba(20, 40, 54, 0.16) !important;
}
.mp-step {
  transition: all .25s;
}
.mp-step:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -20px rgba(20, 40, 54, 0.16) !important;
}
.mp-input:focus {
  outline: none;
  border-color: #12A894 !important;
}

/* Responsive rules (same breakpoints used across every page in the original design) */
@media (max-width: 920px) {
  .mp-nav-desktop {
    display: none !important;
  }
  .mp-hamburger {
    display: flex !important;
  }
}
@media (max-width: 880px) {
  .mp-r2 {
    grid-template-columns: 1fr !important;
  }
  .mp-r3 {
    grid-template-columns: 1fr !important;
  }
  .mp-r4 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .mp-collage {
    grid-template-columns: 1fr !important;
  }
  .mp-cols2 {
    columns: 1 !important;
  }
  h1 {
    font-size: 34px !important;
  }
}
@media (max-width: 760px) {
  .mp-footer-grid {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 520px) {
  .mp-r4 {
    grid-template-columns: 1fr !important;
  }
}

/* ===== Interatividade: revelação ao rolar ===== */
.mp-reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);
  will-change: opacity, transform;
}
.mp-reveal.mp-in {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .mp-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .mp-cta, .mp-cta::before { animation: none !important; }
}

/* ===== Botões com gradiente em movimento ===== */
.mp-cta {
  position: relative;
  overflow: hidden;
  background-image: linear-gradient(100deg, #12A894, #0D7A69, #17C4AC, #12A894) !important;
  background-size: 300% 100% !important;
  animation: mp-grad 7s ease-in-out infinite;
}
.mp-cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: -60%;
  width: 45%;
  height: 100%;
  background: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.35) 50%, rgba(255,255,255,0) 100%);
  transform: skewX(-18deg);
  animation: mp-shine 4.5s ease-in-out infinite;
  pointer-events: none;
}
@keyframes mp-grad {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
@keyframes mp-shine {
  0% { left: -60%; }
  55%, 100% { left: 130%; }
}

/* ===== Números animados ===== */
.mp-stat-num {
  font-family: 'Source Serif 4', serif;
  font-weight: 600;
  font-size: 40px;
  line-height: 1;
  color: #12A894;
  font-variant-numeric: tabular-nums;
}
