@media (max-width: 1199px) {
  .mobile-navigation {
    position: fixed;
    inset: 5rem 0 auto;
    z-index: 60;
    max-height: calc(100dvh - 5rem);
    overflow-y: auto;
    background: #fff;
    box-shadow: 0 12px 24px rgba(15, 36, 56, 0.16);
    padding: 1rem;
  }

  .mobile-navigation a {
    display: flex;
    min-height: 44px;
    align-items: center;
    padding: 0.625rem 0.75rem;
  }

  .mobile-navigation .mobile-submenu {
    padding-left: 0.75rem;
    border-left: 2px solid #dce9ff;
  }

  body.mobile-menu-open {
    overflow: hidden;
  }

  aside.fixed.right-0 {
    display: none;
  }
}

@media (max-width: 768px) {
  main {
    overflow: clip;
  }

  h1 {
    overflow-wrap: anywhere;
  }

  input,
  select,
  textarea,
  button {
    font-size: 16px;
  }
}

@media (max-width: 414px) {
  footer .flex {
    flex-wrap: wrap;
  }
}

@media (max-width: 375px) {
  header .h-20 {
    padding-inline: 0.75rem;
  }
}

@media (max-width: 320px) {
  header .h-20 {
    padding-inline: 0.5rem;
  }
}
