@font-face {
  font-family: "Onest";
  src: url("/static/fonts/Onest-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

.signup-page {
  margin: 0;
  color: #f5f5ef;
  background: #232520;
  font-family: "Onest", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  color-scheme: dark;
}

.signup-page *, .signup-page *::before, .signup-page *::after { box-sizing: border-box; }
.signup-page a { color: inherit; }
.signup-page a, .signup-page button, .signup-page input { -webkit-tap-highlight-color: transparent; }
.signup-page :focus-visible { outline: 2px solid #d2ddb7; outline-offset: 5px; }
.signup-page > .axh-footer { display: none; }

.signup-skip-link { position: absolute; z-index: 2; left: 24px; top: -80px; padding: 12px 20px; border-radius: 6px; background: #f5f5ef; color: #232520 !important; }
.signup-skip-link:focus { top: 16px; }
.signup-layout { display: grid; grid-template-columns: 46% 54%; min-height: 100vh; min-height: 100svh; }
.signup-form-panel { display: flex; flex-direction: column; min-width: 0; padding: 36px clamp(36px, 5.6vw, 100px) 40px; }
.signup-brand { display: inline-flex; align-items: center; gap: 10px; align-self: flex-start; text-decoration: none; font-size: 25px; font-weight: 750; letter-spacing: -.9px; line-height: 1; }
.signup-brand svg { width: 23px; height: 26px; }
.signup-form-wrap { display: flex; align-items: center; flex: 1; padding: 68px 0 80px; }
.signup-form-content { width: 100%; max-width: 420px; margin-inline: auto; }
.signup-heading { margin-bottom: 30px; }
.signup-heading h1 { margin: 0 0 14px; font-size: clamp(30px, 2.55vw, 38px); font-weight: 550; letter-spacing: -1.35px; line-height: 1.12; text-wrap: balance; }
.signup-heading p { max-width: 350px; margin: 0; color: #b9bcb3; font-size: 15px; line-height: 1.55; }
.signup-social { display: flex; flex-direction: column; gap: 12px; }
.signup-provider { display: flex; justify-content: center; align-items: center; gap: 12px; min-height: 54px; padding: 12px 16px; border: 1px solid transparent; border-radius: 8px; background: #363832; font-size: 15px; font-weight: 550; text-decoration: none; transition: background-color 150ms, border-color 150ms; }
.signup-provider:hover { background: #42453d; border-color: #565b4e; }
.signup-provider-icon { flex: 0 0 22px; width: 22px; height: 22px; }
.signup-divider { display: flex; align-items: center; gap: 16px; margin: 25px 0; color: #b9bcb3; font-size: 13px; }
.signup-divider::before, .signup-divider::after { content: ""; height: 1px; flex: 1; background: #484b43; }
.signup-form label { display: block; margin-bottom: 9px; font-size: 14px; font-weight: 500; }
.signup-form input { display: block; width: 100%; min-height: 56px; padding: 14px 16px; border: 1px solid #65685f; border-radius: 8px; color: #f5f5ef; background: #232520; font: inherit; transition: border-color 150ms; }
.signup-form input::placeholder { color: #90958a; opacity: 1; }
.signup-form input:hover { border-color: #92978a; }
.signup-form input:focus { border-color: #d2ddb7; }
.signup-password-field { position: relative; }
.signup-password-field input { padding-right: 116px; }
.signup-password-toggle { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); min-width: 96px; min-height: 40px; border: 0; border-radius: 6px; color: #f5f5ef; background: #363832; font: inherit; font-size: 13px; cursor: pointer; }
.signup-password-toggle:hover { background: #484b43; }
.signup-field-hint { margin: 10px 0 24px; color: #b9bcb3; font-size: 13px; line-height: 1.5; }
.signup-submit { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; min-height: 54px; padding: 14px 20px; border: 1px solid transparent; border-radius: 8px; color: #232520; background: #f5f5ef; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; transition: background-color 150ms; }
.signup-submit:hover { background: #dce3ce; }
.signup-submit svg { width: 19px; height: 19px; }
.signup-login { margin: 26px 0 0; text-align: center; font-size: 14px; color: #b9bcb3; }
.signup-login a { color: #f5f5ef; text-underline-offset: 3px; margin-left: 3px; }
.signup-login a:hover { color: #d2ddb7; }
.signup-error { padding: 14px 16px; margin-bottom: 22px; border: 1px solid #986658; border-radius: 8px; color: #ffd8ca; background: #402f28; font-size: 14px; overflow-wrap: anywhere; }
.signup-notice { margin: 0 0 22px; color: #d2ddb7; font-size: 14px; }
.login-password-label { margin-top: 20px; }
.login-submit { margin-top: 24px; }
.login-link-option { margin-top: 28px; border-top: 1px solid #484b43; padding-top: 20px; }
.login-link-option summary { color: #f5f5ef; font-size: 14px; font-weight: 550; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.login-link-option > p { margin: 16px 0 20px; color: #b9bcb3; font-size: 14px; }
.login-link-submit { margin-top: 20px; background: #363832; color: #f5f5ef; }
.login-link-submit:hover { background: #484b43; }
.login-choices > p { margin: 0 0 16px; color: #b9bcb3; }
.login-choice { display: flex; flex-direction: column; gap: 3px; margin-bottom: 10px; padding: 14px 16px; border: 1px solid #65685f; border-radius: 8px; text-decoration: none; }
.login-choice:hover { border-color: #d2ddb7; }
.login-choice small { color: #b9bcb3; }
.login-story .signup-story-content { max-width: 650px; }
.login-story .signup-collage { margin-top: 30px; }
.signup-story { display: flex; align-items: center; min-width: 0; padding: 56px clamp(32px, 3.7vw, 72px) 30px; border-left: 1px solid #3a3d35; background: #30322e; }
.signup-story-content { width: 100%; max-width: 740px; margin-inline: auto; }
.signup-story h2 { margin: 0; font-size: clamp(31px, 2.95vw, 48px); font-weight: 500; letter-spacing: -1.65px; line-height: 1.13; }
.signup-benefits { display: grid; gap: 12px; margin: 25px 0 24px; padding: 0; list-style: none; }
.signup-benefits li { display: flex; align-items: flex-start; gap: 12px; font-size: 15px; line-height: 1.5; color: #e1e4db; }
.signup-benefits svg { width: 19px; height: 19px; flex: 0 0 19px; margin-top: 2px; color: #c9d4b5; }
.signup-collage { margin: 0; }
.signup-collage img { display: block; width: 100%; height: auto; }
.signup-collage figcaption { margin-top: 16px; color: #b9bcb3; font-size: 13px; text-align: center; }

@media (min-width: 1600px) {
  .signup-form-panel { padding-inline: 80px; }
  .signup-story { padding-block: 56px; }
}

@media (min-width: 1800px) {
  .signup-form-wrap { justify-content: flex-end; }
  .signup-form-content, .signup-story-content { margin-inline: 0; }
  .signup-story { padding-inline: 80px; }
}

@media (max-width: 1050px) {
  .signup-layout { grid-template-columns: 1fr; }
  .signup-form-panel { padding: 30px 36px 56px; }
  .signup-form-wrap { padding: 60px 0 0; }
  .signup-heading h1 { font-size: 36px; }
  .signup-story { padding: 56px 48px 36px; border-left: 0; border-top: 1px solid #3a3d35; }
  .signup-story-content { max-width: 620px; }
  .signup-story h2 { font-size: 39px; }
}

@media (max-width: 540px) {
  .signup-form-panel { padding: 25px 24px 40px; }
  .signup-brand { font-size: 23px; }
  .signup-brand svg { width: 21px; height: 24px; }
  .signup-form-wrap { padding-top: 42px; }
  .signup-heading { margin-bottom: 25px; }
  .signup-heading h1 { max-width: 290px; font-size: 33px; letter-spacing: -1.15px; }
  .signup-heading p { font-size: 14px; max-width: 285px; }
  .signup-divider { margin-block: 22px; }
  .signup-login { margin-top: 24px; }
  .signup-story { padding: 38px 24px 28px; }
  .signup-story h2 { font-size: 30px; letter-spacing: -1px; }
  .signup-benefits { margin: 23px 0 24px; gap: 13px; }
  .signup-benefits li { gap: 10px; font-size: 14px; }
  .signup-collage { margin-inline: -8px; }
  .signup-collage figcaption { margin-top: 13px; padding-inline: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .signup-page *, .signup-page *::before, .signup-page *::after { transition: none; }
}
