.inclua-contact-section {
  background: var(--color-surface-default);
  color: var(--color-text-primary);
  padding-block: var(--spacing-20);

  & .inclua-contact-section__inner {
    align-items: flex-start;
    display: grid;
    gap: var(--spacing-16);
    grid-template-columns: minmax(0, 29rem) minmax(0, 32.75rem);
    justify-content: space-between;
  }

  & .inclua-contact-section__content {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-8);
  }

  & .inclua-contact-section__title {
    color: #31302e;
    font-size: var(--font-size-heading-1);
    font-weight: 800;
    line-height: var(--line-height-heading-1);
    margin: 0;
    max-width: 19rem;
    text-wrap: balance;
  }

  & .inclua-contact-section__text {
    color: #31302e;
    font-size: var(--font-size-body);
    font-weight: 400;
    line-height: var(--line-height-body);
    margin: 0;
    max-width: 29rem;
    text-wrap: pretty;
  }

  & .inclua-contact-section__card {
    align-items: center;
    align-self: flex-start;
    background: var(--color-surface-default);
    border-radius: var(--radius-control);
    display: flex;
    gap: var(--spacing-4);
    margin-top: var(--spacing-2);
    padding: var(--spacing-4) var(--spacing-15) var(--spacing-4) var(--spacing-5);
  }

  & .inclua-contact-section__icon {
    align-items: center;
    background: #31302e;
    border: 1px solid #31302e;
    border-radius: var(--radius-sm);
    color: #fff;
    display: inline-flex;
    flex: 0 0 var(--spacing-12);
    height: var(--spacing-12);
    justify-content: center;
    width: var(--spacing-12);
  }

  & .inclua-contact-section__icon svg {
    height: var(--spacing-4);
    width: var(--spacing-4);
  }

  & .inclua-contact-section__details {
    color: #31302e;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-3);
    justify-content: center;
  }

  & .inclua-contact-section__label {
    font-size: var(--font-size-label);
    font-weight: 400;
    line-height: var(--line-height-label);
    margin: 0;
  }

  & .inclua-contact-section__email {
    color: inherit;
    font-size: var(--font-size-body);
    font-weight: 400;
    line-height: var(--line-height-body);
    overflow-wrap: anywhere;
    text-decoration: none;
  }

  & .inclua-contact-section__email:is(:hover, :focus-visible) {
    text-decoration: underline;
    text-underline-offset: var(--spacing-1);
  }

  & .inclua-contact-section__form {
    background: var(--color-surface-default);
    border-radius: var(--radius-md);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-6);
    padding: var(--spacing-8);
    width: 100%;
  }

  & .inclua-contact-section__row {
    display: grid;
    gap: var(--spacing-8);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  & .inclua-contact-section__field {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-3);
  }

  & .inclua-contact-section__field-label {
    color: #31302e;
    font-size: var(--font-size-label);
    font-weight: 600;
    line-height: var(--line-height-label);
  }

  & :is(.inclua-contact-section__input, .inclua-contact-section__textarea) {
    background: var(--color-surface-default);
    border: 1px solid #31302e;
    border-radius: var(--radius-control);
    box-shadow: var(--shadow-control);
    color: #31302e;
    font-family: inherit;
    font-size: var(--font-size-body);
    font-weight: 400;
    line-height: var(--line-height-body);
    padding: var(--spacing-4);
    width: 100%;
  }

  & :is(.inclua-contact-section__input, .inclua-contact-section__textarea)::placeholder {
    color: #31302e;
    font-size: var(--font-size-label);
    opacity: 1;
  }

  & :is(.inclua-contact-section__input, .inclua-contact-section__textarea):focus-visible {
    outline: 2px solid var(--color-action-primary);
    outline-offset: var(--spacing-1);
  }

  & :is(.inclua-contact-section__input, .inclua-contact-section__textarea):user-invalid {
    border-color: #a62b24;
  }

  & .inclua-contact-section__input {
    min-height: var(--spacing-14);
  }

  & .inclua-contact-section__textarea {
    min-height: 5.75rem;
    resize: vertical;
  }

  & .inclua-contact-section__submit {
    align-self: flex-start;
  }
}

@media (max-width: 70rem) {
  .inclua-contact-section {
    & .inclua-contact-section__inner {
      grid-template-columns: 1fr;
    }

    & .inclua-contact-section__content {
      max-width: 36rem;
    }

    & .inclua-contact-section__form {
      max-width: 40rem;
      padding-inline: 0;
    }
  }
}

@media (max-width: 45rem) {
  .inclua-contact-section {
    padding-block: var(--spacing-14);

    & .inclua-contact-section__title {
      font-size: var(--font-size-heading-2);
      line-height: var(--line-height-heading-2);
    }

    & .inclua-contact-section__row {
      grid-template-columns: 1fr;
    }

    & .inclua-contact-section__card {
      padding-right: var(--spacing-5);
    }
  }
}
