@media screen and (max-width: 920px) {
  html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
  }

  body {
    overflow-x: hidden;
  }

  .top-blocks {
    position: sticky;
    top: 0;
    z-index: 60;
  }

  .block-header {
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(13, 20, 26, 0.08);
  }

  .block-header-layout-mobile {
    min-height: 64px;
    padding: 14px 18px !important;
  }

  .block-header__hamburger-menu,
  .block-header__hamburger-menu button {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .block-header-layout-mobile__dropdown {
    border-top: 1px solid rgba(13, 20, 26, 0.08);
  }

  .block-header-layout-mobile__dropdown--open {
    align-items: stretch !important;
    max-height: calc(100dvh - 64px) !important;
    padding: 18px !important;
    gap: 14px !important;
    box-shadow: 0 16px 36px rgba(13, 20, 26, 0.14) !important;
  }

  .block-header-layout-mobile .block-header__nav-links {
    width: 100%;
    gap: 8px !important;
    text-align: left !important;
  }

  .block-header-layout-mobile .block-header__nav-links > *,
  .block-header-layout-mobile .block-header-item {
    width: 100%;
  }

  .block-header-layout-mobile .item-content-wrapper,
  .block-header-layout-mobile .item-content,
  .block-header-layout-mobile .language-switcher__button {
    min-height: 44px;
    min-width: 44px;
    width: 100%;
    align-items: center;
    justify-content: flex-start !important;
    text-align: left !important;
  }

  .social-icons__link {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .block {
    overflow: hidden;
  }

  .block-layout--layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 22px;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    max-width: 100% !important;
    min-height: 0 !important;
    padding: 46px 22px !important;
  }

  .layout-element--layout {
    left: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .layout-element__component {
    max-width: 100%;
  }

  .text-box h1,
  .text-box h2,
  .text-box h3 {
    text-wrap: balance;
  }

  .text-box p {
    line-height: 1.55;
  }

  .grid-button--primary,
  .grid-button-primary-mobile,
  .form__button {
    min-height: 48px !important;
    justify-content: center;
    white-space: normal !important;
    margin-inline: auto;
    justify-self: center;
  }

  .layout-element__component--GridButton {
    justify-self: center;
  }

  .form,
  .form__control {
    width: 100%;
  }

  .input__component,
  .input__component--textarea {
    min-height: 48px;
    font-size: 16px !important;
  }

  .image,
  .image__image,
  .video,
  iframe {
    max-width: 100% !important;
  }

  .image {
    margin-inline: auto;
  }

  #ai-0JZD9S .block-layout--layout {
    min-height: calc(100svh - 64px) !important;
    justify-content: center;
    gap: 18px;
    padding: 58px 24px 42px !important;
  }

  #ai-0JZD9S .block-background__overlay {
    opacity: 0.58 !important;
  }

  #ai-gtGUJX h1 {
    font-size: clamp(32px, 9vw, 44px) !important;
    line-height: 1.12 !important;
  }

  #ai-Mcy5F- p {
    max-width: 32rem;
    margin-inline: auto;
    font-size: 16px !important;
  }

  #ai-0JZD9S .grid-button--primary {
    min-width: 172px;
    margin-inline: auto;
    box-shadow: 0 14px 30px rgba(182, 22, 122, 0.28);
  }

  #z3ZNYF .block-layout--layout,
  #bhG3pu .block-layout--layout,
  #ai-3DLWhw .block-layout--layout,
  #zSymAH .block-layout--layout,
  #zE86sk .block-layout--layout,
  #zzXyB6 .block-layout--layout,
  #z9t6or .block-layout--layout,
  #z-DoH6 .block-layout--layout,
  #zSiG-O .block-layout--layout {
    padding-block: 42px !important;
  }

  #zSiG-O .block-layout--layout {
    gap: 16px;
  }

  #zSiG-O .form__button {
    width: 100%;
  }

  #z-DoH6 .layout-element--layout:has(#zgknWS) {
    order: 1;
  }

  #z-DoH6 .layout-element--layout:has(#z4uMGu) {
    order: 2;
  }

  #z-DoH6 .layout-element--layout:has(#zEweLh) {
    order: 3;
  }
}

@media screen and (max-width: 380px) {
  .block-layout--layout {
    padding-inline: 18px !important;
  }

  #ai-gtGUJX h1 {
    font-size: 30px !important;
  }
}
