@media (max-width: 1120px) {
  .hero-inner {
    grid-template-columns: 1fr;
  }

  .stat-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .solution-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 860px) {
  :root {
    --container: min(100vw - 28px, 720px);
  }

  .hero {
    min-height: min(920px, 100svh);
  }

  .hero-media {
    background-image:
      linear-gradient(180deg, rgba(9, 10, 12, .92) 0%, rgba(14, 16, 19, .84) 58%, rgba(14, 16, 19, .72) 100%),
      image-set(
        url("../img/hero/memold-hero.webp") type("image/webp"),
        url("../img/hero/memold-hero.jpg") type("image/jpeg")
      );
    background-position: center, 62% center;
    background-size: 100% 100%, cover;
    background-repeat: no-repeat;
  }

  .hero-inner {
    min-height: min(920px, 100svh);
    gap: 32px;
    padding-block: 66px 66px;
  }

  .hero-logo {
    width: min(69.7vw, 527px);
    margin-bottom: 28px;
  }

  .hero-precision {
    opacity: .38;
  }

  .hero-copy {
    font-size: 16px;
  }

  .hero-actions,
  .cta-inner {
    align-items: stretch;
  }

  .cta-inner {
    gap: 28px;
  }

  .cta-brand-card {
    justify-items: start;
    padding: 24px;
  }

  .two-column,
  .cta-inner,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .section-tight,
  .brand-section,
  .solutions,
  .final-cta {
    padding-block: 70px;
  }

  .solution-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 620px) {
  .hero {
    min-height: 100svh;
  }

  .hero-media {
    background-image:
      linear-gradient(180deg, rgba(9, 10, 12, .94) 0%, rgba(14, 16, 19, .88) 56%, rgba(14, 16, 19, .78) 100%),
      image-set(
        url("../img/hero/memold-hero-mobile.webp") type("image/webp"),
        url("../img/hero/memold-hero-mobile.jpg") type("image/jpeg")
      );
    background-position: center, 58% center;
    background-size: 100% 100%, cover;
    background-repeat: no-repeat;
  }

  .hero-inner {
    align-content: center;
    min-height: 100svh;
    padding-block: 96px 104px;
  }

  .hero-logo {
    width: min(70vw, 330px);
    margin-bottom: 22px;
  }

  .hero-lead {
    margin-bottom: 14px;
    font-size: 23px;
    line-height: 1.12;
  }

  .hero-copy {
    margin-bottom: 24px;
    font-size: 15px;
    line-height: 1.58;
  }

  .hero-actions {
    flex-direction: column;
    max-width: 320px;
  }

  .btn,
  .mini-link {
    width: 100%;
  }

  .stat-grid,
  .solution-grid,
  .check-list {
    grid-template-columns: 1fr;
  }

  .stat-card,
  .solution-card {
    min-height: auto;
  }

  .brand-copy {
    padding: 24px;
  }

  .footer-grid {
    gap: 30px;
    padding-block: 48px;
  }

  .footer-brand .brand-note {
    white-space: normal;
  }

  .footer-contact a {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    padding: 12px;
  }

  .footer-icon {
    width: 42px;
    height: 42px;
  }

  .social-links a {
    width: 44px;
    height: 44px;
  }

  .scroll-cue {
    bottom: 10px;
    width: 34px;
    height: 46px;
  }

  .back-to-top {
    right: 14px;
    bottom: 14px;
    width: 44px;
    height: 44px;
  }

  .legal-hero {
    padding-block: 118px 58px;
  }

  .not-found-page {
    padding-block: 112px 72px;
  }

  .not-found-page p:not(.eyebrow) {
    font-size: 16px;
  }

  .legal-section {
    padding-block: 54px 70px;
  }

  .legal-block {
    padding: 22px;
  }

  .copyright {
    align-items: flex-start;
    flex-direction: column;
  }

  .footer-legal-links {
    gap: 12px;
  }

  .cookie-consent {
    left: 12px;
    bottom: 12px;
    width: calc(100vw - 24px);
  }

  .cookie-actions {
    grid-template-columns: repeat(2, 1fr);
  }

  .cookie-btn {
    min-height: 58px;
    padding-inline: 8px;
    font-size: 13px;
  }
}

@media (max-width: 390px) {
  :root {
    --container: min(100vw - 22px, 360px);
  }

  .hero {
    min-height: 100svh;
  }

  .hero-inner {
    min-height: 100svh;
    padding-block: 88px 96px;
  }

  .hero-lead {
    font-size: 22px;
  }

  h2 {
    font-size: 31px;
  }
}
