.hero-contact {
  padding-top: clamp(4rem, 9vw, 6rem);
}

.hero-contact-shell {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.hero-contact-label-row {
  display: flex;
  justify-content: center;
}

.hero-contact-invitation {
  max-width: 960px;
  margin-inline: auto;
}

.hero-contact-inner {
  text-align: center;
}

.hero-contact-eyebrow {
  font-size: var(--text-sm);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--gray-600);
  margin-bottom: var(--space-3);
}

.hero-contact-title {
  margin-bottom: var(--space-3);
}

.hero-contact-lead {
  font-size: var(--text-lg);
  margin-bottom: var(--space-5);
}

.hero-contact-cta-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}

.hero-contact-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-2);
}

.hero-contact-faq-link {
  cursor: pointer;
}

.hero-floating-label {
  font-weight: 600;
  margin-bottom: 0.25rem;
}

.hero-floating-text {
  color: var(--color-text-soft);
}

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

.contact-card {
  margin-bottom: var(--space-4);
}

.contact-languages p,
.contact-offline-note p,
.contact-extra-texts p {
  margin-bottom: var(--space-3);
}

.contact-offline-note {
  margin-top: var(--space-3);
}

.contact-offline-note .badge {
  margin-bottom: 0.4rem;
}

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

.contact-form {
  border-radius: var(--radius-xl);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(226, 237, 248, 0.9));
  padding: var(--space-5);
  box-shadow: var(--shadow-soft);
}

.contact-help-text {
  font-size: var(--text-xs);
  color: var(--gray-600);
  margin-top: 0.35rem;
}

.contact-privacy-text {
  font-size: var(--text-xs);
  color: var(--gray-600);
  margin-bottom: 0;
}

.contact-form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
}

.contact-response-note {
  font-size: var(--text-sm);
  color: var(--gray-600);
}

.contact-follow-section {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.contact-follow-header {
  max-width: 640px;
}

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

.contact-ribbon {
  align-items: stretch;
}

.contact-ribbon-text {
  max-width: 360px;
}

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

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

.contact-strip {
  padding-top: var(--space-4);
}

.contact-strip-item-1 {
  background-image: linear-gradient(135deg, #26436f, #f29c8f);
}

.contact-strip-item-2 {
  background-image: linear-gradient(135deg, #f7e3c9, #e2edf8);
}

.contact-strip-item-3 {
  background-image: linear-gradient(135deg, #1f2430, #f7e3c9);
}

.contact-strip-item-4 {
  background-image: linear-gradient(135deg, #e2edf8, #26436f);
}

@media (max-width: 960px) {
  .hero-contact-invitation {
    padding: var(--space-4);
  }

  .hero-contact-inner {
    padding: var(--space-4);
  }

  .hero-contact-cta-row {
    justify-content: flex-start;
  }

  .hero-contact-meta {
    justify-content: flex-start;
  }

  .hero-floating-card {
    display: none;
  }

  .contact-form {
    padding: var(--space-4);
  }
}

@media (max-width: 640px) {
  .contact-links-row,
  .contact-form-actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .strip-gallery-item {
    width: 180px;
    height: 120px;
  }
}
