/* Contact page composition. Every selector requires the public-site root. */
.public-site .public-contact {
  overflow: clip;
}

.public-site .public-contact__hero {
  border-bottom: 1px solid var(--vk-public-color-border);
}

.public-site .public-contact__hero-grid,
.public-site .public-contact__form-layout,
.public-site .public-contact__information-grid,
.public-site .public-contact__scope-grid,
.public-site .public-contact__final-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(var(--vk-public-space-6), 6vw, var(--vk-public-space-9));
  align-items: start;
}

.public-site .public-contact__hero-copy,
.public-site .public-contact__form-introduction,
.public-site .public-contact__section-heading,
.public-site .public-contact__information-grid > div,
.public-site .public-contact__scope-grid > div,
.public-site .public-contact__final-grid > div {
  min-width: 0;
}

.public-site .public-contact__hero-copy h1 {
  max-width: 15ch;
}

.public-site .public-contact__hero-actions,
.public-site .public-contact__final-actions {
  display: grid;
  gap: var(--vk-public-space-3);
  justify-items: stretch;
  width: min(100%, 34rem);
}

.public-site .public-contact__hero-actions .vk-public-button,
.public-site .public-contact__final-actions .vk-public-button {
  width: 100%;
}

.public-site .public-contact__section,
.public-site .public-contact__anchor,
.public-site #contact-form {
  scroll-margin-top: var(--vk-public-space-6);
}

.public-site .public-contact__section-heading {
  margin-bottom: var(--vk-public-space-6);
}

.public-site .public-contact__method-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--vk-public-space-5);
}

.public-site .public-contact__method {
  min-width: 0;
  border-top: 0.25rem solid var(--vk-public-color-primary);
  background: var(--vk-public-color-surface);
  box-shadow: var(--vk-public-shadow-subtle);
  padding: clamp(var(--vk-public-space-5), 4vw, var(--vk-public-space-7));
}

.public-site .public-contact__method > :last-child {
  margin-bottom: 0;
}

.public-site .public-contact__method a,
.public-site .public-contact__services-link {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  overflow-wrap: anywhere;
  font-weight: var(--vk-public-weight-bold);
}

.public-site .public-contact__form-layout {
  align-items: start;
}

.public-site .public-contact__form-introduction {
  max-width: var(--vk-public-width-reading);
}

.public-site .public-contact__form-panel {
  min-width: 0;
  border: 1px solid var(--vk-public-color-border);
  background: var(--vk-public-color-surface);
  box-shadow: var(--vk-public-shadow-subtle);
  padding: clamp(var(--vk-public-space-5), 4vw, var(--vk-public-space-7));
}

.public-site .public-contact__status[data-contact-status="idle"] {
  display: none;
}

.public-site .public-contact__status:not([data-contact-status="idle"]) {
  margin-bottom: var(--vk-public-space-5);
}

.public-site .public-contact__status-message {
  border-left-width: 0.4rem;
}

.public-site .public-contact__status-message--success {
  border-left-color: var(--vk-public-color-success);
  background: var(--vk-public-color-success-soft);
}

.public-site .public-contact__status-message--error {
  border-left-color: var(--vk-public-color-error);
  background: var(--vk-public-color-error-soft);
}

.public-site .public-contact__status-message > :last-child {
  margin-bottom: 0;
}

.public-site .public-contact__status-message a {
  font-weight: var(--vk-public-weight-bold);
}

.public-site .public-contact__field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--vk-public-space-4);
}

.public-site .public-contact__verification-input {
  max-width: 9rem;
}

.public-site .public-contact__submit {
  justify-self: start;
  min-width: 12rem;
}

.public-site .public-contact__information-list {
  display: grid;
  gap: var(--vk-public-space-3);
  margin: 0;
  padding-left: var(--vk-public-space-5);
}

.public-site .public-contact__safety-note {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: var(--vk-public-space-6);
  align-items: start;
}

.public-site .public-contact__safety-note > div {
  min-width: 0;
}

.public-site .public-contact__scope-grid > p {
  margin: 0;
  font-size: var(--vk-public-font-size-body-large);
}

.public-site .public-contact__final {
  border-top: 1px solid var(--vk-public-color-border);
}

@media (max-width: 64rem) {
  .public-site .public-contact__hero-grid,
  .public-site .public-contact__form-layout,
  .public-site .public-contact__information-grid,
  .public-site .public-contact__scope-grid,
  .public-site .public-contact__final-grid {
    gap: var(--vk-public-space-6);
  }

  .public-site .public-contact__safety-note {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 44rem) {
  .public-site .public-contact__hero-grid,
  .public-site .public-contact__form-layout,
  .public-site .public-contact__information-grid,
  .public-site .public-contact__scope-grid,
  .public-site .public-contact__final-grid,
  .public-site .public-contact__method-grid,
  .public-site .public-contact__field-grid,
  .public-site .public-contact__safety-note {
    grid-template-columns: minmax(0, 1fr);
  }

  .public-site .public-contact__hero-actions,
  .public-site .public-contact__final-actions,
  .public-site .public-contact__submit {
    width: 100%;
  }
}
