.contact-hero {
  position: relative;
}
.contact-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: var(--grid-gap-xl);
  align-items: center;
}
.contact-hero-copy {
  min-width: 0;
}
.contact-hero-meta {
  margin-top: var(--space-lg);
}
.contact-hero-media {
  min-width: 0;
}
.contact-details {
  position: relative;
}
.contact-details-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: var(--grid-gap-lg);
  align-items: stretch;
}
.contact-details-card,
.contact-shortcut-card {
  height: 100%;
}
.contact-details-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-lg);
  margin-bottom: var(--space-md);
}
.contact-details-item {
  flex: 1 1 200px;
  min-width: 0;
}
.contact-details-label {
  font-size: var(--fs-xs);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin-bottom: var(--space-2xs);
}
.contact-details-text {
  font-size: var(--fs-sm);
  color: var(--color-text-soft);
}
.contact-details-note {
  margin-top: var(--space-sm);
}
.contact-link {
  word-break: break-all;
}
.contact-list {
  list-style: disc;
  padding-left: 1.1rem;
  margin: 0 0 var(--space-md);
  font-size: var(--fs-sm);
  color: var(--color-text-soft);
}
.contact-list li {
  margin-bottom: 0.3rem;
}
.contact-form-section {
  position: relative;
}
.contact-form-shell {
  max-width: 720px;
  margin: 0 auto;
}
.contact-form {
  padding: var(--space-xl);
  border-radius: var(--radius-card-lg);
  background: radial-gradient(circle at 0 0, rgba(229, 57, 53, 0.22), transparent 65%), radial-gradient(circle at 100% 100%, rgba(0, 200, 83, 0.22), transparent 65%), rgba(5, 6, 11, 0.9);
  box-shadow: var(--shadow-soft), var(--shadow-border-glass);
  border: 1px solid var(--color-border-subtle);
}
.contact-form .form-field:last-of-type {
  margin-bottom: var(--space-md);
}
.form-actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  align-items: flex-start;
}
.contact-submit-btn {
  max-width: 100%;
}
.form-status {
  margin-top: var(--space-sm);
  font-size: var(--fs-sm);
}
.form-status-success {
  color: var(--color-success);
}
.form-status-error {
  color: var(--color-danger);
}
.contact-form .input-error,
.contact-form .textarea-error {
  transform: translateY(0);
}
@media (max-width: 1024px) {
  .contact-hero-grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: var(--grid-gap-lg);
  }
  .contact-details-grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  }
}
@media (max-width: 768px) {
  .contact-hero-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .contact-details-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .contact-form {
    padding: var(--space-lg);
  }
}
@media (max-width: 480px) {
  .contact-hero-meta {
    flex-direction: column;
    align-items: stretch;
  }
  .contact-hero-meta .btn {
    width: 100%;
  }
  .form-actions {
    align-items: stretch;
  }
}
