.hero--contact {
  padding-block: clamp(110px, 16vh, 160px);
}
.hero--contact .hero__banner--contact {
  background:
    linear-gradient(135deg, rgba(242, 54, 168, 0.45), rgba(91, 73, 255, 0.65)),
    radial-gradient(circle at 10% 0%, rgba(255, 116, 208, 0.35), transparent 55%),
    radial-gradient(circle at 90% 100%, rgba(155, 59, 255, 0.45), transparent 60%);
  opacity: 0.75;
}
.contact-layout {
  align-items: flex-start;
}
.contact-panel {
  position: relative;
}
.contact-details {
  display: grid;
  gap: 12px;
  margin-bottom: var(--space-24);
}
.contact-details__row {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 10px;
  font-size: var(--font-size-sm);
}
.contact-details dt {
  color: var(--color-text-soft);
}
.contact-details dd {
  color: var(--color-text);
}
.contact-meta {
  margin-top: var(--space-16);
  padding-top: var(--space-16);
  border-top: 1px solid var(--color-border-subtle);
}
.contact-links {
  margin-top: var(--space-24);
  display: grid;
  gap: 10px;
}
.contact-phone {
  justify-content: flex-start;
  width: fit-content;
}
.contact-form {
  display: grid;
  gap: var(--space-16);
}
.contact-form__footer {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: var(--font-size-xs);
  color: var(--color-text-soft);
}
.checkbox-label input[type="checkbox"] {
  margin-top: 3px;
}
.contact-info-grid {
  align-items: stretch;
}
.link-list {
  display: grid;
  gap: 6px;
  padding-left: 0;
}
.link-list a {
  font-size: var(--font-size-sm);
  color: var(--color-primary-soft);
}
.link-list a:hover {
  color: #fff !important;
}
.contact-map-section {
  align-items: stretch;
}
.contact-map-card {
  padding: 0;
  display: flex;
  flex-direction: column;
}
.contact-map-card .contact-map-embed {
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  overflow: hidden;
}
.contact-map-embed iframe {
  width: 100%;
  border: 0;
  min-height: 260px;
}
.contact-map-card .form-helper {
  padding: var(--space-16) var(--space-24) var(--space-20);
}
.section-cta-final .card {
  max-width: 860px;
  margin-inline: auto;
}
@media (max-width: 900px) {
  .contact-details__row {
    grid-template-columns: minmax(0, 1fr);
  }
  .contact-phone {
    width: 100%;
    justify-content: center;
  }
}
@media (max-width: 600px) {
  .contact-map-embed iframe {
    min-height: 220px;
  }
}
