.hero--contact {
  min-height: 60vh;
}

.hero__slider {
  position: absolute;
  inset: 0;
  z-index: -2;
}

.hero__slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity var(--transition-slow);
}

.hero__slide--1 {
  background-image: linear-gradient(rgba(15, 23, 42, 0.45), rgba(95, 187, 89, 0.85));
}

.hero__slide--2 {
  background-image: linear-gradient(rgba(15, 23, 42, 0.45), rgba(47, 68, 119, 0.85));
}

.hero__slide--3 {
  background-image: linear-gradient(rgba(15, 23, 42, 0.45), rgba(156, 52, 106, 0.85));
}

.hero__slide.is-active {
  opacity: 1;
}

.hero__subtitle {
  max-width: 720px;
  margin: var(--space-4) auto 0;
  color: rgba(249, 250, 251, 0.9);
}

.hero__cta-group {
  margin-top: var(--space-6);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
}

.section--contact-main {
  padding-top: var(--space-12);
}

.section--contact-grid {
  align-items: flex-start;
  gap: var(--space-10);
}

.contact-card {
  height: 100%;
}

.contact-list {
  display: grid;
  gap: var(--space-4);
  margin-top: var(--space-2);
}

.contact-list__item dt {
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 2px;
}

.contact-list__item dd {
  margin: 0;
  color: var(--color-text-soft);
}

.contact-highlights {
  margin-top: var(--space-6);
  padding-top: var(--space-4);
  border-top: 1px solid var(--gray-200);
  display: grid;
  gap: var(--space-4);
}

.contact-highlights h3 {
  font-size: var(--font-size-lg);
  margin-bottom: 4px;
}

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

.contact-form__field {
  display: flex;
  flex-direction: column;
}

.contact-form__privacy {
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
}

.contact-form__actions {
  display: flex;
  justify-content: flex-start;
}

.section--availability-grid {
  gap: var(--space-6);
}

.section-card h2 {
  margin-bottom: var(--space-3);
}

.section-card p + p {
  margin-top: var(--space-3);
}

.section--cta-final {
  padding-top: var(--space-12);
  padding-bottom: var(--space-16);
}

.cta-final {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  align-items: flex-start;
}

.cta-final__content p {
  max-width: 640px;
}

.cta-final__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

@media (max-width: 767px) {
  .hero--contact {
    min-height: 70vh;
  }

  .section--contact-main {
    padding-top: var(--space-8);
  }

  .cta-final {
    text-align: left;
  }
}
