
  .map-container {
    width: 100%;
    height: 270px;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #e7e7e7;
    margin-top: 30px;
  }
  .contact-section {
    margin: 0 auto;
    padding: 0 0 40px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .contact-wrapper {
    display: grid;
    grid-template-columns: 50% 50%;
    gap: 20px;
    align-items: stretch;
  }

  .contact-info,
  .form-section {
    display: flex;
    flex-direction: column;
  }

  .info-container,
  .form-container {
    flex: 1;
    display: flex;
    flex-direction: column;
  }

  .info-container {
    border-radius: 20px;
    border: 1px solid var(--Base-04, #e7e7e7);
    padding: 28px 30px;
  }

  .info-content {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .office-title {
    font: 600 20px/1.2 Raleway, sans-serif;
    color: rgba(25, 40, 48, 0.9);
    margin: 0 0 20px;
  }

  .office-hours {
    font: 400 14px/1.4 Raleway, sans-serif;
    color: rgba(25, 40, 48, 0.9);
    margin: 0;
  }

  .contact-details {
    margin-top: 30px;
  }

  .address-wrapper,
  .phone-wrapper,
  .email-wrapper {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
  }

  .icon-button {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #00a6aa;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }

  .icon-container {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }

  .icon {
    width: 16px;
    height: 16px;
    object-fit: contain;
  }

  .contact-text {
    font: 400 14px/1.4 Raleway, sans-serif;
    color: rgba(25, 40, 48, 0.9);
    margin: 0;
  }

  .divider {
    height: 1px;
    background: #e7e7e7;
    margin: 30px 0;
  }

  .social-section {
    margin-bottom: 30px;
  }

  .social-title {
    font: 400 14px/1.4 Raleway, sans-serif;
    color: rgba(25, 40, 48, 0.9);
    margin: 0 0 20px;
  }

  .social-icons {
    display: flex;
    gap: 10px;
  }

  .social-button {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #00a6aa;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s;
  }

  .social-button:hover {
    opacity: 0.8;
  }

  .map-image {
    width: 100%;
    height: auto;
    border-radius: 10px;
    margin-top: auto;
  }

  .form-container {
    background: #f6f6f6;
    border-radius: 24px;
    padding: 30px;
  }

  .form-title {
    font: 600 20px/1.2 Raleway, sans-serif;
    color: rgba(25, 40, 48, 0.9);
    margin: 0 0 30px;
  }

  .form-content {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .form-group {
    margin-bottom: 20px;
  }

  .form-group:has(.message-area) {
    flex: 1;
    display: flex;
    flex-direction: column;
    margin-bottom: 20px;
  }

  .input-label {
    display: block;
    font: 400 14px/1.4 Raleway, sans-serif;
    color: rgba(27, 31, 59, 0.65);
    margin-bottom: 4px;
  }

  .input-field {
    width: 100%;
    height: 44px !important;
    border: 1px solid #e7e7e7;
    border-radius: 10px;
    padding: 0 16px;
    font: 400 14px/1.4 Raleway, sans-serif;
    color: rgba(25, 40, 48, 0.9);
    background: #fff;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 10px;
    background-clip: padding-box;
    font-feature-settings: "tnum" on;
    font-variant-numeric: tabular-nums;
  }

  .input-field:focus {
    outline: none;
    border-color: #00a6aa;
  }

  .phone-mask {
    font-family: monospace;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.5px;
    line-height: normal;
  }

  .message-area {
    flex: 1;
    min-height: 120px;
    padding: 12px 16px;
    resize: vertical;
  }

  .region-select {
    position: relative;
  }

  .select-field {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 40px;
    background: #fff;
  }

  .select-icon {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: rgba(25, 40, 48, 0.9);
    transition: transform 0.2s;
  }

  .select-field:focus + .select-icon {
    transform: translateY(-50%) rotate(180deg);
  }

  .checkbox-wrapper {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 30px;
  }

  .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
  }

  .checkbox {
    width: 24px;
    height: 24px;
    /* Чекбокс - флекс-элемент рядом с длинной подписью, без этого его сжимает. */
    flex: 0 0 24px;
    border-radius: 6px;
    background: #00a6aa;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.2s;
  }

  .checkbox-icon {
    opacity: 0;
    transition: opacity 0.2s;
  }

  input:checked + .checkbox .checkbox-icon {
    opacity: 1;
  }

  .checkbox-label {
    font: 500 14px/1.4 Raleway, sans-serif;
    color: rgba(25, 40, 48, 0.9);
  }

  .link-style {
    color: #00a6aa;
    text-decoration: none;
  }

  .submit-button {
    background: #00a6aa;
    border-radius: 10px;
    border: none;
    height: 44px;
    padding: 0 30px;
    font: 700 15px/1.6 Raleway, sans-serif;
    color: #fff;
    cursor: pointer;
    transition: opacity 0.2s;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }

  .submit-button:hover {
    opacity: 0.8;
  }

  @media (max-width: 991px) {
    .contact-wrapper {
      grid-template-columns: 1fr;
      gap: 40px;
    }

    .info-container,
    .form-container {
      padding: 20px;
    }

    .input-field {
      transform: translateZ(0);
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      transform: translate3d(0, 0, 0);
      perspective: 1000px;
    }
  }

  .form-actions {
    display: flex;
    justify-content: flex-end;
  }

  .submit-button {
    background: #00a6aa;
    border-radius: 10px;
    border: none;
    height: 44px;
    padding: 0 30px;
    font: 700 15px/1.6 Raleway, sans-serif;
    color: #fff;
    cursor: pointer;
    transition: opacity 0.2s;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }