    .page-wrap {
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 100px 2.5rem 80px;
      position: relative;
      z-index: 1;
      text-align: center;
    }

    .soon-label {
      font-size: 0.625rem;
      font-weight: 500;
      color: var(--purple);
      letter-spacing: 0.14em;
      text-transform: uppercase;
      margin-bottom: 1.25rem;
    }

    .soon-title {
      font-size: clamp(2.5rem, 6vw, 4.5rem);
      font-weight: 600;
      letter-spacing: -0.03em;
      color: var(--text);
      line-height: 1.05;
      margin-bottom: 1.25rem;
    }

    .soon-sub {
      font-size: 1rem;
      font-weight: 300;
      color: var(--text-2);
      max-width: 400px;
      line-height: 1.7;
      margin-bottom: 2.75rem;
    }

    /* Email form */
    .notify-form {
      display: flex;
      gap: 0.625rem;
      width: 100%;
      max-width: 400px;
      flex-wrap: wrap;
      justify-content: center;
    }

    .notify-input {
      flex: 1;
      min-width: 220px;
      padding: 0.7rem 1.125rem;
      font-size: 0.875rem;
      font-family: inherit;
      font-weight: 400;
      color: var(--text);
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 7px;
      outline: none;
      transition: border-color 0.2s;
      -webkit-appearance: none;
    }
    .notify-input::placeholder { color: var(--text-3); }
    .notify-input:focus { border-color: oklch(0.62 0.12 290 / 0.5); }
    .notify-input.is-error {
      border-color: oklch(0.65 0.18 25 / 0.7);
      animation: shake 0.3s ease;
    }

    .notify-btn {
      padding: 0.7rem 1.25rem;
      font-size: 0.875rem;
      font-weight: 500;
      font-family: inherit;
      color: #0a0a0f;
      background: oklch(0.92 0.008 285);
      border: none;
      border-radius: 7px;
      cursor: pointer;
      white-space: nowrap;
      transition: opacity 0.2s;
    }
    .notify-btn:hover { opacity: 0.80; }

    .form-note {
      margin-top: 1rem;
      font-size: 0.6875rem;
      color: var(--text-3);
      font-weight: 300;
      transition: color 0.2s;
    }
    .form-note[data-state="error"]   { color: oklch(0.65 0.18 25); }
    .form-note[data-state="success"] { color: oklch(0.72 0.14 150); }

    @keyframes shake {
      0%, 100% { transform: translateX(0); }
      25%       { transform: translateX(-4px); }
      75%       { transform: translateX(4px); }
    }

    .divider {
      width: 1px;
      height: 48px;
      background: var(--border-dim);
      margin: 3rem auto;
    }

    .back-link {
      font-size: 0.8125rem;
      color: var(--text-3);
      text-decoration: none;
      font-weight: 400;
      transition: color 0.2s;
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
    }
    .back-link:hover { color: var(--text-2); }
