:root {
  --design-height: 1400;
}

.coming-soon-page {
  position: relative;
  width: 100%;
  height: calc(var(--design-height) * 1px);
  background: #f7f5f2;
  color: var(--color-ink, #1e1e1e);
  --gutter: max(0px, (100vw - var(--page-width, 1425px)) / 2);
  --footer-top: 717px;
  --footer-height: 683px;
}

.soon {
  position: relative;
  height: 717px;
  padding: 200px 80px 80px;
  overflow: hidden;
  font-family: var(--font-light);
  background: #f7f5f2;
}

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

.soon__art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.28;
  filter: saturate(0.35) contrast(0.92) brightness(1.35);
}

.soon__art::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(247, 245, 242, 0.96) 0%, rgba(247, 245, 242, 0.78) 46%, rgba(247, 245, 242, 0.42) 100%),
    linear-gradient(180deg, rgba(249, 54, 61, 0.06) 0%, transparent 48%);
}

.soon__eyebrow,
.soon__title,
.soon__lead,
.soon__actions {
  position: relative;
  z-index: 1;
}

.soon__eyebrow {
  margin: 0 0 16px;
  font-family: var(--font-light);
  font-size: 12px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--color-primary);
}

.soon__title {
  margin: 0 0 20px;
  max-width: 760px;
  font-family: var(--font-light);
  font-size: 56px;
  font-weight: 400;
  line-height: 1.1;
  color: var(--color-ink, #1e1e1e);
}

.soon__accent {
  color: var(--color-primary);
}

.soon__lead {
  margin: 0 0 36px;
  max-width: 520px;
  font-family: var(--font-light);
  font-size: 18px;
  line-height: 1.45;
  color: rgba(30, 30, 30, 0.72);
}

.soon__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.soon__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 44px;
  padding: 0 22px;
  border-radius: 348px;
  background: var(--color-primary);
  color: #fff;
  font-family: var(--font-light);
  font-size: 16px;
}

.soon__cta img {
  width: 16px;
  height: 16px;
}

.soon__cta--ghost {
  background: transparent;
  border: 1px solid rgba(30, 30, 30, 0.22);
  color: var(--color-ink, #1e1e1e);
}

@media (max-width: 768px) {
  .coming-soon-page {
    height: auto;
  }

  .soon {
    height: auto;
    min-height: 0;
    padding: 140px 20px 64px;
  }

  .soon__title {
    font-size: 36px;
  }

  .soon__lead {
    font-size: 16px;
  }
}
