.form {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  max-width: 32rem;
}

.contact-form-section__grid {
  display: grid;
  gap: var(--space-7);
}

.contact-form-section__card {
  max-width: none;
  padding: var(--space-6);
  border-radius: var(--radius-lg);
  background-color: var(--color-ink-elevated);
  box-shadow: var(--shadow-elevated);
}

.contact-form-section__intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
  text-align: center;
  background: linear-gradient(160deg, rgba(245, 241, 234, 0.1), rgba(245, 241, 234, 0.03));
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  border: 1px solid rgba(245, 241, 234, 0.14);
  border-radius: var(--radius-md);
  padding: var(--space-6);
  box-shadow: var(--shadow-elevated), inset 0 1px 0 rgba(245, 241, 234, 0.08);
}

.contact-form-section__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: rgba(245, 241, 234, 0.08);
  border: 1px solid rgba(245, 241, 234, 0.16);
  color: var(--color-sky);
  font-size: 1.5rem;
}

.form__group {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.form__label {
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}

.form__input,
.form__textarea,
.form__select {
  font-family: var(--font-body);
  font-size: 1rem;
  padding: var(--space-3) var(--space-4);
  background-color: var(--color-ink-elevated);
  border: 1px solid rgba(245, 241, 234, 0.12);
  border-radius: var(--radius-sm);
  color: var(--color-cream);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.form__textarea {
  min-height: 8rem;
  resize: vertical;
}

.form__input:focus-visible,
.form__textarea:focus-visible,
.form__select:focus-visible {
  outline: none;
  border-color: var(--color-sky);
  box-shadow: 0 0 0 3px rgba(77, 166, 255, 0.25);
}

.form__note {
  font-size: 0.85rem;
  color: var(--color-text-muted);
}

.form__status {
  font-weight: 600;
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-sm);
  background-color: rgba(77, 166, 255, 0.12);
  color: var(--color-sky-hover);
  display: none;
}

.form__status--visible {
  display: block;
  animation: rise 0.4s var(--ease-spring) both;
}

@media (min-width: 48rem) {
  .contact-form-section__grid {
    grid-template-columns: 1fr 1fr;
    align-items: center;
    column-gap: var(--space-8);
  }

  .contact-form-section .form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "name    email"
      "message message"
      "button  button"
      "status  status";
    column-gap: var(--space-5);
  }

  .contact-form-section .form__group:nth-of-type(1) {
    grid-area: name;
  }

  .contact-form-section .form__group:nth-of-type(2) {
    grid-area: email;
  }

  .contact-form-section .form__group:nth-of-type(3) {
    grid-area: message;
  }

  .contact-form-section .form .btn {
    grid-area: button;
    width: auto;
    max-width: 12rem;
  }

  .contact-form-section .form__status {
    grid-area: status;
  }
}
