

body {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  background: radial-gradient(
    ellipse 1100px 900px at 16% -8%,
    #ffffff 0%,
    #f6f3ec 24%,
    #efe7d8 46%,
    #d8c9b5 70%,
    #c7b79c 100%
  );
  animation: none; 
}


body::before {
  content: "";
  position: absolute;
  inset: -18%;
  transform-origin: 16% 4%;
  background: conic-gradient(
    from 205deg at 16% 4%,
    transparent 0deg,
    rgba(255, 252, 240, 0.75) 2deg,
    transparent 8deg,
    transparent 17deg,
    rgba(255, 252, 240, 0.45) 19deg,
    transparent 25deg,
    transparent 35deg,
    rgba(255, 252, 240, 0.62) 37deg,
    transparent 43deg,
    transparent 55deg,
    rgba(255, 252, 240, 0.35) 57deg,
    transparent 63deg,
    transparent 76deg,
    rgba(255, 252, 240, 0.55) 78deg,
    transparent 84deg,
    transparent 98deg,
    rgba(255, 252, 240, 0.3) 100deg,
    transparent 106deg,
    transparent 360deg
  );
  mix-blend-mode: screen;
  -webkit-mask-image: radial-gradient(
    ellipse 1000px 900px at 16% 4%,
    #000 0%,
    rgba(0, 0, 0, 0.7) 42%,
    transparent 78%
  );
  mask-image: radial-gradient(
    ellipse 1000px 900px at 16% 4%,
    #000 0%,
    rgba(0, 0, 0, 0.7) 42%,
    transparent 78%
  );
  pointer-events: none;
  z-index: 0;
  animation: rays-drift 50s ease-in-out infinite alternate;
}

@keyframes rays-drift {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(5deg);
  }
}

.soon-wrap {
  position: relative;
  z-index: 1;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.soon-header {
  display: flex;
  justify-content: center;
  padding: 50px 24px 0;
}
.soon-badge {
  width: 108px;
  height: 108px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid rgba(181, 154, 98, 0.4);
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow:
    0 18px 34px -22px rgba(40, 39, 33, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.6);
}
.soon-badge .word {
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  font-size: 1.05rem;
  letter-spacing: 0.16em;
  color: var(--mauve-heading);
}
.soon-badge .sub {
  font-family: var(--font-mono);
  font-size: 0.42rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--muted);
  margin-top: 5px;
}
.soon-main {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 60px 24px;
  position: relative;
  overflow: hidden;
}
.soon-main::before,
.soon-main::after {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  pointer-events: none;
}
.soon-main::before {
  top: -80px;
  left: -80px;
  background: radial-gradient(circle, rgba(216, 201, 181, 0.32), transparent 70%);
}
.soon-main::after {
  bottom: -100px;
  right: -80px;
  background: radial-gradient(circle, rgba(181, 154, 98, 0.16), transparent 70%);
}
.soon-inner {
  position: relative;
  z-index: 2;
  max-width: 540px;
}
.soon-sparkle {
  width: 34px;
  height: 34px;
  color: var(--gold);
  margin: 0 auto 22px;
}
.soon-eyebrow {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.72rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--mauve-dark);
  margin-bottom: 18px;
}
.soon-inner h1 {
  font-size: clamp(1.9rem, 4.2vw, 2.8rem);
  color: var(--ink);
  line-height: 1.3;
  margin-bottom: 26px;
}
.soon-inner h1 .script {
  display: block;
  color: var(--script-color);
  font-size: 1.15em;
  margin-top: 2px;
}
.soon-inner p {
  color: var(--muted);
  font-size: 1.02rem;
  margin-bottom: 16px;
  line-height: 1.7;
}
.soon-divider {
  margin: 28px 0;
}
.soon-notify {
  margin-top: 34px;
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
}
.soon-notify input[type="email"] {
  border: 1px solid var(--line);
  background: var(--cream);
  border-radius: 999px;
  padding: 13px 22px;
  font-family: "Poppins", sans-serif;
  font-size: 0.88rem;
  color: var(--ink);
  min-width: 240px;
}
.soon-notify input[type="email"]:focus {
  outline: none;
  border-color: var(--mauve);
  box-shadow: 0 0 0 3px rgba(181, 154, 98, 0.22);
}
.soon-footer {
  text-align: center;
  padding: 30px 24px 40px;
}
.soon-footer .word {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.3rem;
  letter-spacing: 0.2em;
  color: var(--mauve-heading);
  font-weight: 600;
}
.soon-footer .sub {
  font-size: 0.6rem;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 4px 0 14px;
}
.soon-social {
  display: flex;
  gap: 12px;
  justify-content: center;
}
.soon-social a {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--mauve);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.25s ease;
}
.soon-social a:hover {
  background: var(--btn-hover);
}
.soon-social svg {
  width: 15px;
  height: 15px;
  color: var(--mauve-dark);
}
.soon-social a:hover svg {
  color: #fff;
}
.soon-legal {
  margin-top: 16px;
  display: flex;
  gap: 18px;
  justify-content: center;
}
.soon-legal a {
  font-family: var(--font-mono);
  font-size: 0.62rem;
  letter-spacing: 0.06em;
  color: var(--muted);
  transition: color 0.25s ease;
}
.soon-legal a:hover {
  color: var(--mauve-detail);
}

