body {
  color: #000;
}

main {
  padding: clamp(32px, 4vw, 80px) clamp(20px, 2.2vw, 48px) clamp(20px, 2.2vw, 48px) clamp(40px, 5.5vw, 120px);
  max-width: 80vw;
  min-height: 60vh;
}

.contact-text {
  font-family: 'Source Serif 4', Georgia, serif;
  font-weight: 300;
  font-size: 20px; /* overridden by JS fitText */
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: #000;
  max-width: 75%;
  margin-bottom: clamp(48px, 5vw, 100px);
}

.secondary {
  display: flex;
  gap: clamp(40px, 4vw, 80px);
}

.secondary-col h3 {
  font-size: clamp(11px, 0.75vw, 13px);
  font-weight: 600;
  color: #000;
  letter-spacing: 0.03em;
  margin-bottom: clamp(8px, 0.6vw, 12px);
}

.secondary-col p,
.secondary-col a {
  font-size: clamp(12px, 0.9vw, 16px);
  color: #000;
  line-height: 1.6;
  text-decoration: none;
  transition: color 0.3s ease;
}

.secondary-col a:hover {
  color: #000;
}

.secondary-col a {
  display: block;
}

.contact-video {
  margin-top: clamp(48px, 5vw, 100px);
}

.contact-video video {
  width: 100%;
  display: block;
  border-radius: 2px;
}

/* Mobile */
@media (max-width: 768px) {
  main {
    padding: 32px 20px;
    max-width: none;
    min-height: 50vh;
  }

  .secondary {
    flex-direction: column;
    gap: 24px;
  }
}
