/* ==========================================================================
   Project: Contact CTA
   ========================================================================== */

.p-contact-cta {
  position: relative;
  padding: var(--section-padding-sp) 0;
  overflow: hidden;
  background: linear-gradient(
    145deg,
    var(--color-bg-fv-start) 0%,
    var(--color-bg-fv-mid) 42%,
    var(--color-bg-fv-end) 100%
  );
}

@media (min-width: 768px) {
  .p-contact-cta {
    padding: var(--section-padding-pc) 0;
  }
}

.p-contact-cta__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.p-contact-cta__bg .p-fv__bg-video {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0.25;
}

@media (prefers-reduced-motion: reduce) {
  .p-contact-cta__bg .p-fv__bg-video {
    display: none;
  }
}

.p-contact-cta__bg-text {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  margin: 0;
  font-family: var(--font-script);
  font-size: clamp(80px, 20vw, 200px);
  line-height: 1;
  color: rgba(118, 199, 192, 0.1);
  white-space: nowrap;
  transform: translate(-50%, -50%);
  user-select: none;
}

.p-contact-cta__inner {
  position: relative;
  z-index: 1;
}

.p-contact-cta__content {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
}

.p-contact-cta__lead {
  font-family: var(--font-serif);
  font-size: clamp(22px, 4vw, 24px);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.08em;
  color: var(--color-text);
  margin-bottom: var(--space-md);
}

.p-contact-cta__lead-sub {
  margin-bottom: var(--space-lg);
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.04em;
  color: var(--color-text-muted);
}

@media (min-width: 768px) {
  .p-contact-cta__lead-sub {
    font-size: 15px;
  }
}

.p-contact-cta__content .c-btn {
  margin-top: var(--space-lg);
}
