@media (max-width: 560px) {
  .site-header {
    padding-inline: 1rem;
  }

  .logo {
    width: 148px;
    height: 64px;
  }

  .logo img {
    width: 148px;
    height: 148px;
    top: -36px;
  }

  .hero {
    min-height: 0;
    height: auto;
  }

  .hero-content {
    min-height: 650px;
    padding: 4.25rem 1.25rem 3rem;
  }

  .hero h1 {
    font-size: clamp(2.35rem, 11vw, 3rem);
    overflow-wrap: anywhere;
  }

  .hero-content > p {
    font-size: 1rem;
  }

  .hero-trust {
    position: relative;
    flex-wrap: wrap;
    gap: .7rem 1.15rem;
    padding: 1.15rem 1.25rem;
  }

  .hero-trust span {
    display: block;
    flex-basis: 100%;
  }

  .section {
    padding: 4rem 1.25rem;
  }

  .service-body {
    padding: 1.5rem;
  }

  .service-image {
    height: auto;
    aspect-ratio: 1.35 / 1;
  }

  .framework-photo {
    min-height: 0;
    aspect-ratio: 1 / 1;
  }

  .framework-photo img {
    object-position: 68% center;
  }

  .framework-copy {
    padding: 3.5rem 1.25rem;
  }

  .process-visual img {
    width: 100%;
    min-height: 0;
    transform: none;
  }

  footer {
    padding-inline: 1.25rem;
  }

  .branded-footer-art {
    margin-inline: -1.25rem;
  }

  .branded-footer-art img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .footer-details {
    padding-top: 1.75rem;
  }

  .footer-main > a:last-child {
    overflow-wrap: anywhere;
  }

  .dialog-layout aside,
  .dialog-layout form {
    padding-inline: 1.1rem;
  }
}
