.hero--contact {
  background-image: radial-gradient(circle at 20% 0%, rgba(255, 0, 60, 0.4), transparent 55%),
    radial-gradient(circle at 80% 100%, rgba(255, 0, 60, 0.3), transparent 60%),
    linear-gradient(130deg, #050507 0%, #101015 40%, #050507 100%);
}

.hero__subtext {
  max-width: 640px;
  margin: 0 auto;
  margin-top: var(--space-4);
  color: var(--color-text-muted);
}

.contact-layout {
  align-items: flex-start;
}

.contact-form__form {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.contact-form__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
}

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

.contact-form__field--full {
  width: 100%;
}

.contact-form__chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.contact-chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: 0.4rem 0.9rem;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(10, 10, 16, 0.9);
  font-size: var(--font-size-xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: border-color var(--transition-base), box-shadow var(--transition-base),
    background-color var(--transition-base), transform var(--transition-fast);
}

.contact-chip input {
  accent-color: var(--color-primary);
}

.contact-chip span {
  white-space: nowrap;
}

.contact-chip:hover {
  border-color: rgba(255, 0, 60, 0.7);
  box-shadow: var(--shadow-soft);
  transform: translateY(-1px);
}

.checkbox-line {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.checkbox-line input[type="checkbox"] {
  margin-top: 4px;
  accent-color: var(--color-primary);
}

.checkbox-line a {
  text-decoration: underline;
}

.contact-form__actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.contact-form__note {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.contact-aside {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.contact-card {
  height: 100%;
}

.contact-card--secondary {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.015), transparent 45%),
    var(--color-surface-alt);
}

.contact-card--social {
  background: linear-gradient(145deg, rgba(255, 0, 60, 0.1), transparent 50%),
    var(--color-surface);
}

.contact-details {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

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

.contact-details__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
}

.contact-heading {
  font-size: var(--font-size-lg);
}

.contact-subheading {
  font-size: var(--font-size-sm);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-text-muted);
}

.contact-map-placeholder {
  margin-top: var(--space-2);
  border-radius: var(--radius-md);
  border: 1px dashed rgba(255, 255, 255, 0.28);
  padding: var(--space-4);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
  background: radial-gradient(circle at 0 0, rgba(255, 0, 60, 0.18), transparent 55%),
    radial-gradient(circle at 100% 100%, rgba(255, 255, 255, 0.05), transparent 55%),
    #050507;
}

.contact-meta {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.contact-meta__item {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.contact-meta__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
}

.contact-social-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-3);
}

.contact-social-link {
  font-size: var(--font-size-sm);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding-bottom: 2px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.28);
}

.contact-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.contact-extra .card {
  min-height: 100%;
}

.contact-cta__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: flex-start;
}

.contact-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

@media (min-width: 768px) {
  .contact-form__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-form__field--full {
    grid-column: 1 / -1;
  }

  .contact-details__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-meta__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 960px) {
  .contact-cta__inner {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}

@media (max-width: 767.98px) {
  .contact-chip span {
    white-space: normal;
  }

  .checkbox-line {
    align-items: center;
  }
}
