html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

main,
.topbar,
footer {
  width: 100%;
}

.section,
.difference,
.cta,
footer {
  overflow: hidden;
}

.float-whatsapp {
  width: auto;
  min-width: 166px;
  height: 58px;
  padding: 0 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 999px;
  color: #102417;
  font: 700 15px Manrope;
  letter-spacing: -.01em;
  animation: whatsapp-pulse 2.8s ease-in-out infinite;
}

.float-whatsapp svg {
  width: 23px;
  height: 23px;
  fill: currentColor;
}

.float-whatsapp:hover {
  transform: translateY(-3px);
  background: #36e478;
  animation-play-state: paused;
}

@keyframes whatsapp-pulse {
  0%, 72%, 100% { box-shadow: 0 8px 30px rgba(0, 0, 0, .27); }
  78% { box-shadow: 0 8px 30px rgba(0, 0, 0, .27), 0 0 0 0 rgba(37, 211, 102, .32); }
  84% { box-shadow: 0 8px 30px rgba(0, 0, 0, .27), 0 0 0 11px rgba(37, 211, 102, 0); }
}

@media (max-width: 1180px) {
  .topbar nav {
    position: absolute;
    top: 82px;
    left: 0;
    right: 0;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
    padding: 24px clamp(22px, 5vw, 76px) 28px;
    background: #171713;
    border-top: 1px solid rgba(255, 255, 255, .12);
    box-shadow: 0 18px 30px rgba(0, 0, 0, .18);
  }

  .topbar nav.open {
    display: flex;
  }

  .topbar nav a {
    width: 100%;
  }

  .menu {
    display: block;
  }
}

@media (max-width: 780px) {
  .topbar nav {
    top: 70px;
  }

  .float-whatsapp {
    right: 14px;
    bottom: 14px;
    min-width: 154px;
    height: 54px;
    padding: 0 18px;
    font-size: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .float-whatsapp {
    animation: none;
  }
}
