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

*,
*::before,
*::after {
  box-sizing: border-box;
}

img,
video,
iframe,
svg {
  max-width: 100%;
  height: auto;
}

main,
section,
.container,
.form-container,
.form-card,
.content,
.page-wrap {
  max-width: 100%;
}

input,
select,
textarea,
button {
  max-width: 100%;
}

@media (max-width: 860px) {
  body {
    min-width: 0 !important;
  }

  .site-header,
  header {
    width: 100% !important;
    max-width: 100% !important;
  }

  .nav-wrap,
  .header-inner {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .nav-center,
  .desktop-nav {
    display: none !important;
  }

  .nav-center.mobile-open {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    position: absolute !important;
    left: 12px !important;
    right: 12px !important;
    top: calc(100% + 8px) !important;
    width: auto !important;
    max-width: none !important;
    background: #fff !important;
    border-radius: 14px !important;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.16) !important;
    z-index: 9999 !important;
  }

  .nav-center.mobile-open a {
    display: block !important;
    width: 100% !important;
    padding: 14px 18px !important;
    white-space: normal !important;
  }

  .form-container,
  .form-card {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 22px 16px !important;
  }

  .form-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .form-group,
  .form-row > * {
    min-width: 0 !important;
    width: 100% !important;
  }

  input,
  select,
  textarea {
    width: 100% !important;
    min-width: 0 !important;
    font-size: 16px !important;
  }

  button,
  .btn,
  .submit-btn {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
  }
}

@media (max-width: 520px) {
  h1 {
    font-size: clamp(2rem, 11vw, 3.2rem) !important;
    line-height: 1.08 !important;
  }

  h2 {
    font-size: clamp(1.5rem, 8vw, 2.2rem) !important;
    line-height: 1.15 !important;
  }
}
