html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

img {
  max-width: 100%;
  height: auto;
}

.auth-shell,
.auth-showcase,
.auth-card,
.stack-form,
.stack-form label,
.stack-form input,
.stack-form button {
  min-width: 0;
}

@media (max-width: 768px) {
  .auth-shell {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    overflow: visible;
  }

  .auth-showcase {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    padding: 24px 22px 32px;
    gap: 24px;
    justify-content: flex-start;
    overflow: visible;
  }

  .login-logo {
    width: auto;
    max-width: min(240px, 100%);
    margin: 0;
    padding: 10px 14px;
    overflow: visible;
  }

  .login-logo img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    object-fit: contain;
    object-position: center;
  }

  .auth-showcase h1 {
    max-width: 100%;
    margin: 0 0 14px;
    font-size: clamp(2.5rem, 11vw, 3rem);
    line-height: 1.04;
    letter-spacing: -.045em;
    overflow-wrap: anywhere;
  }

  .auth-showcase p {
    max-width: 100%;
    margin-bottom: 0;
    font-size: .96rem;
    line-height: 1.5;
  }

  .auth-card {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    padding: 32px 22px 36px;
    justify-content: flex-start;
    overflow: visible;
  }

  .auth-card h2 {
    margin-bottom: 8px;
    font-size: clamp(1.65rem, 8vw, 2rem);
  }

  .auth-card > .muted {
    margin-bottom: 20px;
  }

  .stack-form {
    width: 100%;
    max-width: 100%;
    gap: 14px;
  }

  .stack-form label,
  .stack-form input,
  .stack-form button,
  .stack-form .button {
    width: 100%;
    max-width: 100%;
  }

  .stack-form input,
  .stack-form button {
    box-sizing: border-box;
  }

  .support {
    max-width: 100%;
    margin: 18px 0 0;
    line-height: 1.45;
  }

  .flash-wrap {
    right: 20px;
    left: 20px;
    max-width: none;
  }
}

@media (max-width: 360px) {
  .auth-showcase,
  .auth-card {
    padding-right: 20px;
    padding-left: 20px;
  }

  .auth-showcase h1 {
    font-size: clamp(2.35rem, 12vw, 2.7rem);
  }
}
