#auth-screen {
  overflow-x: hidden !important;
}

#landing-page,
.landing-nav,
.landing-nav-brand,
.landing-nav-actions,
.landing-split,
.landing-left,
.landing-right,
.landing-auth-card,
.landing-cta-row,
.landing-trust-row,
.landing-feature-grid,
#auth-tabs,
#form-login,
#form-signup,
#signup-confirm {
  min-width: 0;
}

#landing-page {
  overflow-x: clip;
}

.landing-nav {
  gap: 0.9rem;
  flex-wrap: wrap;
}

.landing-nav-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.landing-nav-actions > *,
.landing-cta-row > *,
.landing-feature-grid > *,
#auth-tabs > * {
  min-width: 0;
  max-width: 100%;
}

.landing-title,
.landing-subtitle,
.landing-brand-label,
.landing-trust-row > span,
.landing-feature-grid > div,
.landing-auth-card :is(button, a, label, input, p, div, h3, strong) {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.landing-subtitle {
  max-width: min(100%, 460px) !important;
}

.landing-feature-grid {
  width: 100%;
  max-width: 520px;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
}

.landing-right {
  width: min(100%, 400px) !important;
}

.landing-auth-card {
  width: 100% !important;
  max-width: 100%;
  margin: 0 auto;
}

#auth-tabs {
  flex-wrap: wrap;
}

#auth-tabs > .auth-tab {
  white-space: normal;
}

@media (max-width: 1100px) {
  .landing-left {
    max-width: none !important;
    padding: 3rem 2rem 2rem 2.25rem !important;
  }

  .landing-right {
    padding: 2rem 2rem 2rem 1.25rem !important;
  }
}

@media (max-width: 900px) {
  .landing-split {
    flex-direction: column !important;
  }

  .landing-left {
    max-width: 100% !important;
    padding: 2.5rem 1.5rem 1.5rem !important;
  }

  .landing-right {
    width: 100% !important;
    border-left: none !important;
    border-top: 1px solid rgba(255,255,255,.06) !important;
    padding: 1.5rem !important;
  }

  .landing-title {
    font-size: 2rem !important;
  }
}

@media (max-width: 640px) {
  .landing-nav {
    padding: 1rem !important;
    align-items: flex-start !important;
  }

  .landing-nav-brand,
  .landing-nav-actions {
    width: 100%;
  }

  .landing-nav-actions {
    justify-content: flex-start !important;
  }

  #lp-nav-login,
  #lp-nav-signup {
    flex: 1 1 0;
  }

  .landing-left {
    padding: 1.75rem 1rem 1.25rem !important;
  }

  .landing-title {
    font-size: clamp(1.65rem, 8vw, 2rem) !important;
    line-height: 1.15 !important;
  }

  .landing-subtitle {
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
    max-width: none !important;
  }

  .landing-cta-row {
    flex-direction: column;
  }

  .landing-cta-row > button {
    width: 100%;
  }

  .landing-trust-row {
    gap: 0.8rem !important;
  }

  .landing-feature-grid {
    max-width: none !important;
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
  }

  .landing-right {
    padding: 1rem !important;
  }

  .landing-auth-card {
    padding: 1.35rem 1rem !important;
    border-radius: 18px !important;
  }
}

@media (max-width: 390px) {
  .landing-nav {
    padding: 0.95rem 0.9rem !important;
  }

  .landing-brand-label {
    font-size: 1.05rem !important;
  }

  .landing-left {
    padding: 1.5rem 0.9rem 1rem !important;
  }

  .landing-right {
    padding: 0.9rem !important;
  }

  .landing-auth-card {
    padding: 1.15rem 0.9rem !important;
  }

  #lp-nav-login,
  #lp-nav-signup {
    padding: 0.48rem 0.8rem !important;
  }
}

@media (max-width: 320px) {
  .landing-nav {
    padding: 0.85rem 0.75rem !important;
  }

  .landing-nav-actions {
    gap: 0.45rem !important;
  }

  .landing-title {
    font-size: 1.5rem !important;
  }

  .landing-subtitle {
    font-size: 0.9rem !important;
  }

  .landing-left {
    padding: 1.35rem 0.75rem 1rem !important;
  }

  .landing-right {
    padding: 0.75rem !important;
  }

  .landing-auth-card {
    padding: 1rem 0.8rem !important;
  }
}
