.login-header { padding-bottom: 32px; }
.login-intro { position: relative; z-index: 1; display: flex; align-items: center; gap: 5px; min-height: 122px; margin: 15px 0 10px; }
.login-title { flex: 1; min-width: 0; }
.login-title h1 { margin: 0; font-size: clamp(30px, 9vw, 39px); line-height: 1.1; letter-spacing: -1px; }
.login-title p { margin: 8px 0 0; font-size: 14px; line-height: 1.4; }
.login-art { flex: 0 0 105px; width: 105px; height: auto; overflow: visible; }
.login-card { padding: 14px 18px 20px; }
.login-card .field { min-height: 49px; border-radius: 16px; }
.login-card .field input { min-height: 47px; }
.login-options { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 16px 3px 0; font-size: 13px; }
.login-options label { display: flex; align-items: center; gap: 6px; cursor: pointer; }
.login-options input { width: 19px; height: 19px; margin: 0; accent-color: #7500b8; }
.text-action { padding: 3px 0; border: 0; color: #6d00ab; background: none; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.login-card .signup-submit { min-height: 52px; margin-top: 20px; font-size: 18px; }
.login-card .social-heading { margin: 18px 0 14px; }
.login-social { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.login-social button { flex-direction: column; gap: 5px; min-width: 0; min-height: 73px; padding: 8px 3px; border-radius: 16px; }
.login-social .social-logo { position: static; width: 29px; height: 29px; }
.login-register { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 16px; margin-top: 23px; font-size: 14px; }
.login-shell .signup-waves { height: 90px; }
@media (max-width: 340px) { .login-art { flex-basis: 83px; width: 83px; } .login-title p { font-size: 13px; } .login-card { padding-right: 12px; padding-left: 12px; } .login-card .field input { font-size: 12px; } .login-options { font-size: 12px; } }
