:root {
  --cj-ink: #111827;
  --cj-mint: #14b8a6;
  --cj-mint-dark: #0f766e;
  --cj-coral: #fb7a64;
}

body[data-cj-route="sign-up"] {
  background: #07131a;
}

body[data-cj-route="sign-up"] [data-cj-auth-shell] {
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  height: auto !important;
  isolation: isolate;
  overflow: hidden;
  background-color: #07131a;
  background-image: url("/brand-home/assets/hero-city-desktop.webp");
  background-position: center;
  background-size: cover;
}

body[data-cj-route="sign-up"] [data-cj-auth-shell]::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: rgba(3, 11, 17, 0.52);
  content: "";
}

body[data-cj-route="sign-up"] [data-cj-auth-container] {
  position: relative;
  z-index: 2;
  display: flex;
  width: 100%;
  max-width: none;
  min-height: 100vh;
  min-height: 100svh;
  align-items: center;
  justify-content: flex-end;
  padding: 40px clamp(36px, 7vw, 112px);
}

body[data-cj-route="sign-up"] [data-cj-auth-panel] {
  width: min(100%, 456px);
  margin: 0;
  padding: clamp(28px, 4vw, 42px);
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.25);
  color: var(--cj-ink);
  backdrop-filter: blur(14px);
}

body[data-cj-route="sign-up"] [data-cj-auth-content] {
  width: 100%;
}

body[data-cj-route="sign-up"] [data-cj-auth-content] h1,
body[data-cj-route="sign-up"] [data-cj-auth-content] h2,
body[data-cj-route="sign-up"] [data-cj-auth-content] h3,
body[data-cj-route="sign-up"] [data-cj-auth-content] label {
  color: var(--cj-ink);
}

body[data-cj-route="sign-up"] [data-cj-auth-content] h2 {
  font-size: clamp(26px, 3vw, 34px);
  font-weight: 720;
  letter-spacing: 0;
}

body[data-cj-route="sign-up"] [data-cj-auth-content] input {
  min-height: 44px;
  border-radius: 6px;
  border-color: #d7dedc;
  background: #ffffff;
  color: var(--cj-ink);
}

body[data-cj-route="sign-up"] [data-cj-auth-content] input:focus {
  border-color: var(--cj-mint);
  box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.14);
}

body[data-cj-route="sign-up"] [data-cj-auth-content] button[type="submit"] {
  min-height: 46px;
  border-radius: 6px;
  border-color: var(--cj-mint);
  background: var(--cj-mint);
  color: #04130f;
  font-weight: 720;
}

body[data-cj-route="sign-up"] [data-cj-auth-content] button[type="submit"]:hover {
  border-color: #2dd4bf;
  background: #2dd4bf;
}

body[data-cj-route="sign-up"] [data-cj-auth-content] a {
  color: var(--cj-mint-dark);
}

body[data-cj-route="sign-up"] [data-cj-brand] {
  position: absolute;
  z-index: 1;
  left: clamp(36px, 7vw, 112px);
  bottom: clamp(54px, 10vh, 112px);
  width: min(520px, 44vw);
  color: #ffffff;
}

body[data-cj-route="sign-up"] [data-cj-brand] strong {
  display: block;
  max-width: 500px;
  font-size: clamp(38px, 4.2vw, 64px);
  font-weight: 720;
  line-height: 1.12;
  letter-spacing: 0;
  text-wrap: balance;
}

body[data-cj-route="sign-up"] [data-cj-brand] p {
  max-width: 460px;
  margin: 20px 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 17px;
  line-height: 1.7;
}

body[data-cj-route="sign-up"] [data-cj-brand] span {
  display: block;
  width: 52px;
  height: 3px;
  margin-bottom: 24px;
  border-radius: 2px;
  background: var(--cj-coral);
}

body[data-cj-route="sign-up"] [data-cj-home-link] {
  z-index: 4;
}

[data-cj-hidden-user-id] {
  display: none !important;
}

@media (max-width: 960px) {
  body[data-cj-route="sign-up"] [data-cj-auth-container] {
    justify-content: center;
    padding-right: 28px;
    padding-left: 28px;
  }

  body[data-cj-route="sign-up"] [data-cj-brand] {
    display: none;
  }
}

@media (max-width: 560px) {
  body[data-cj-route="sign-up"] [data-cj-auth-shell] {
    overflow: auto;
    background-image: url("/brand-home/assets/hero-city-mobile.webp");
    background-position: center;
  }

  body[data-cj-route="sign-up"] [data-cj-auth-shell]::before {
    background: rgba(3, 11, 17, 0.58);
  }

  body[data-cj-route="sign-up"] [data-cj-auth-container] {
    min-height: 100vh;
    min-height: 100svh;
    padding: 76px 16px 24px;
  }

  body[data-cj-route="sign-up"] [data-cj-auth-panel] {
    padding: 26px 20px;
    background: rgba(255, 255, 255, 0.97);
  }

  body[data-cj-route="sign-up"] [data-cj-auth-content] h2 {
    font-size: 28px;
  }
}

@media (prefers-reduced-motion: no-preference) {
  body[data-cj-route="sign-up"] [data-cj-auth-shell] {
    animation: cj-city-breathe 18s ease-in-out infinite alternate;
  }

  body[data-cj-route="sign-up"] [data-cj-auth-panel] {
    animation: cj-panel-enter 420ms ease-out both;
  }
}

@keyframes cj-city-breathe {
  from { background-size: 100% auto; }
  to { background-size: 104% auto; }
}

@keyframes cj-panel-enter {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-aspect-ratio: 4 / 3) {
  @keyframes cj-city-breathe {
    from { background-size: auto 100%; }
    to { background-size: auto 104%; }
  }
}
