@media (max-width: 1180px) {
  .hero {
    flex-basis: 63.5%;
    padding: 32px 38px;
  }

  .brand-logo {
    height: 48px;
  }

  .brand-sub {
    font-size: 10.5px;
  }

  .brand-divider {
    height: 42px;
  }

  .brand-product {
    font-size: 26px;
    gap: 9px;
  }

  .brand-version {
    padding: 5px 12px;
    font-size: 15px;
  }

  .card-brand h2 {
    font-size: 30px;
    white-space: nowrap;
  }

  .hero-copy {
    margin-top: 44px;
  }

  .hero-features {
    left: 0;
    right: 0;
    gap: 20px;
    padding: 22px 38px;
  }

  .panel {
    padding: 24px;
  }

  .login-card {
    padding: 30px 32px;
  }
}

@media (max-width: 900px) {
  .login-shell {
    flex-direction: column;
  }

  .hero {
    flex: none;
    min-height: 430px;
    padding: 26px 24px 30px;
  }

  .hero-copy {
    margin-top: 34px;
  }

  .hero-copy h1 span {
    display: inline;
    font-size: 27px;
  }

  .hero-copy h1 span + span::before {
    content: " ";
  }

  .brand-logo {
    height: 44px;
  }

  .brand-product {
    font-size: 22px;
  }

  .hero-copy {
    max-width: 560px;
  }

  .hero-copy p {
    font-size: 15px;
  }

  .hero-copy p br {
    display: none;
  }

  .hero-features {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 24px;
    padding: 14px 16px;
    border-radius: 16px;
    background: var(--teal-dark);
    gap: 12px;
  }

  .hero-feature {
    width: 100%;
  }

  .feature-icon {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }

  .feature-icon svg {
    width: 20px;
    height: 20px;
  }

  .hero-feature strong {
    font-size: 12.5px;
  }

  .feature-sep {
    display: none;
  }

  .hero-features::before {
    display: none;
  }

  .panel {
    min-height: 560px;
    padding: 28px 18px 36px;
  }
}

@media (max-width: 520px) {
  .hero {
    min-height: 390px;
  }

  .brand-divider,
  .brand-product {
    display: none;
  }

  .hero-copy h1 span {
    font-size: 30px;
  }

  .hero-feature strong {
    font-size: 12px;
  }

  .login-card {
    padding: 28px 22px 26px;
    border-radius: 20px;
  }

  .card-brand h2 {
    font-size: 26px;
  }
}

@media (max-height: 820px) and (min-width: 901px) {
  .login-card {
    padding: 30px 40px 30px;
  }

  .card-brand img {
    height: 42px;
  }

  .card-brand .brand-sub {
    font-size: 10.5px;
  }

  .card-brand h1 {
    margin-top: 20px;
    font-size: 19px;
  }

  .card-brand h2 {
    font-size: 30px;
    white-space: nowrap;
  }

  .card-brand p {
    font-size: 13px;
  }

  .login-form {
    margin-top: 22px;
  }

  .field {
    margin-bottom: 12px;
  }

  .field input,
  .btn-login {
    height: 50px;
  }

  .form-row {
    margin: 4px 0 14px;
  }

  .divider {
    margin: 16px 0 12px;
  }

  .btn-public {
    height: 46px;
  }

  .hero-copy {
    margin-top: 54px;
  }

  .hero-copy h1 span {
    font-size: clamp(30px, 2.9vw, 44px);
  }
}

@media (max-height: 700px) and (min-width: 901px) {
  .login-card {
    padding: 24px 30px;
  }

  .card-brand img {
    height: 40px;
  }

  .card-brand .brand-sub {
    font-size: 10px;
  }

  .card-brand h1 {
    margin-top: 16px;
    font-size: 17px;
  }

  .card-brand h2 {
    font-size: 27px;
  }

  .card-brand p {
    margin-top: 6px;
    font-size: 12.5px;
  }

  .login-form {
    margin-top: 18px;
  }

  .field {
    margin-bottom: 10px;
  }

  .field input,
  .btn-login {
    height: 46px;
  }

  .form-row {
    margin: 4px 0 12px;
  }

  .divider {
    margin: 14px 0 10px;
  }

  .btn-public {
    height: 44px;
  }
}
