@media (max-width: 640px) {
  .section.contact {
    padding-bottom: 0;
  }

  .final-cta {
    padding: 39px 0 20px;
  }

  .desktop-top-mobile .hero__actions .btn {
    min-height: 50px;
    padding: 14px 26px;
    font-size: 17px;
  }

  .desktop-top-mobile .hero__actions .btn img {
    width: 18px;
    height: 18px;
  }

  .desktop-top-mobile .hero__actions .btn span {
    font-size: 22px;
  }

  .final-machines figcaption {
    position: relative;
    display: block;
    padding: 5px 3px 4px 17px;
  }

  .final-machines figcaption::before {
    position: absolute;
    top: 50%;
    left: 3px;
    display: grid;
    width: 10px;
    height: 10px;
    margin: 0;
    place-items: center;
    transform: translateY(-50%);
  }

  .final-machines small {
    padding-left: 0;
  }

  .site-footer {
    padding: 20px 0;
  }

  .footer-grid {
    grid-template-columns: 1.15fr 0.65fr 1fr;
    gap: 10px;
    align-items: start;
  }

  .footer-grid > div:first-child {
    grid-column: auto;
  }

  .footer-logo {
    width: 126px;
    margin-bottom: 5px;
  }

  .footer-grid p {
    margin: 0;
    font-size: 8px;
    line-height: 1.4;
  }

  .footer-grid nav,
  .footer-contact-links {
    display: grid;
    gap: 2px;
  }

  .footer-grid .footer-link {
    min-height: 26px;
    gap: 5px;
    margin: 0;
    font-size: 8px;
    line-height: 1.2;
  }

  .footer-grid .footer-link img {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    object-fit: contain;
  }
}
