
@media (min-width: 992px) and (max-width: 1199px) {
  .login-scene {
    padding-inline: 30px;
  }
  .login-layout {
    grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr);
    gap: 36px;
  }
  .hero-brand {
    width: 175px;
    margin-left: 22px;
  }
  .hero h1 {
    font-size: 27px;
  }
  .hero p {
    font-size: 13px;
    max-width: 310px;
  }
  .features {
    gap: 9px;
    max-width: 350px;
  }
  .feature {
    font-size: 10px;
  }
  .feature i {
    width: 52px;
    height: 52px;
    font-size: 26px;
  }
  .hero-footer {
    margin-top: 50px;
  }
  .login-card {
    max-width: 390px;
    padding: 24px;
  }
  .card-logo {
    width: 155px;
  }
}
@media (min-width: 1200px) and (max-width: 1399px) {
  .login-layout {
    gap: 56px;
  }
  .hero h1 {
    font-size: 29px;
  }
}
@media (min-width: 1400px) and (max-width: 1599px) {
  .login-layout {
    gap: 76px;
  }
  .hero h1 {
    font-size: 32px;
  }
}
@media (min-width: 1600px) and (max-width: 1919px) {
  .login-layout {
    max-width: 1520px;
  }
  .hero h1 {
    font-size: 36px;
  }
}
@media (min-width: 1920px) and (max-width: 2221px) {
  .login-layout {
    max-width: 1600px;
  }
}
@media (min-width: 2222px) and (max-width: 2559px) {
  .login-layout {
    max-width: 1600px;
    gap: 128px;
  }
}
@media (min-width: 2560px) and (max-width: 3439px) {
  .login-layout {
    max-width: 1600px;
    gap: 128px;
  }
  .login-scene {
    background-position: 50% 50%;
  }
}
@media (min-width: 3440px) {
  .login-layout {
    max-width: 1600px;
    gap: 128px;
  }
  .login-scene {
    background-position: 50% 50%;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .login-scene {
    padding: 28px 24px;
  }
  .login-layout {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 1fr);
    gap: 24px;
  }
  .hero-brand {
    width: 155px;
    margin: 0 0 24px 8px;
  }
  .hero h1 {
    font-size: 25px;
  }
  .hero p {
    font-size: 12px;
  }
  .features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 10px;
    max-width: 220px;
  }
  .feature {
    font-size: 10px;
  }
  .feature i {
    width: 48px;
    height: 48px;
    font-size: 24px;
  }
  .hero-footer {
    margin-top: 36px;
    font-size: 9px;
    letter-spacing: 1.5px;
  }
  .login-card {
    padding: 24px 20px;
  }
  .card-logo {
    width: 150px;
  }
  .login-card h2 {
    font-size: 23px;
  }
}

@media (min-width: 768px) and (max-width: 819px) and (orientation: portrait) {
  .login-layout {
    grid-template-columns: 1fr;
    gap: 28px;
    max-width: 460px;
  }
  .hero {
    text-align: center;
  }
  .hero-brand {
    margin: 0 auto 20px;
  }
  .hero h1 {
    font-size: 25px;
  }
  .hero p {
    margin: auto;
    max-width: 360px;
  }
  .features {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: 390px;
    margin: 20px auto 0;
  }
  .hero-footer {
    display: none;
  }
  .login-card {
    justify-self: center;
    max-width: 440px;
  }
  .card-logo {
    display: none;
  }
}
@media (max-width: 767px) {
  .login-scene {
    padding: 28px max(20px, env(safe-area-inset-right)) 28px
      max(20px, env(safe-area-inset-left));
    background-position: 56% center;
  }
  .login-layout {
    grid-template-columns: 1fr;
    gap: 26px;
    max-width: 440px;
  }
  .hero {
    text-align: center;
  }
  .hero-brand {
    width: 160px;
    margin: 0 auto 20px;
  }
  .hero h1 {
    font-size: 25px;
    letter-spacing: -0.4px;
  }
  .hero p {
    font-size: 12px;
    max-width: 330px;
    margin: auto;
  }
  .features {
    max-width: 360px;
    margin: 20px auto 0;
    gap: 10px;
  }
  .feature {
    font-size: 9px;
  }
  .feature i {
    width: 48px;
    height: 46px;
    font-size: 24px;
  }
  .hero-footer {
    display: none;
  }
  .login-card {
    justify-self: center;
    padding: 26px 24px;
    max-width: 440px;
  }
  .card-logo {
    display: none;
  }
  .login-card h2 {
    font-size: 25px;
  }
  .subtitle {
    font-size: 12px;
    margin-bottom: 25px;
  }
  .field label {
    font-size: 12px;
  }
  .input-wrap .form-control {
    height: 48px;
    font-size: 13px;
  }
  .password-toggle {
    height: 48px;
    width: 44px;
  }
  .login-options {
    font-size: 11px;
  }
  .sign-in,
  .google {
    min-height: 48px;
  }
  .sign-in {
    font-size: 14px;
  }
  .google {
    font-size: 12px;
  }
  .login-foot {
    font-size: 11px;
  }
  .login-foot a {
    display: block;
  }
  .helper-note,
  .form-status {
    font-size: 12px;
  }
}
@media (min-width: 576px) and (max-width: 767px) {
  .login-layout {
    max-width: 480px;
  }
  .hero h1 {
    font-size: 28px;
  }
  .hero p {
    max-width: 380px;
  }
  .login-card {
    max-width: 440px;
  }
  .features {
    max-width: 390px;
  }
}
@media (min-width: 375px) and (max-width: 575px) {
  .hero h1 {
    font-size: 25px;
  }
}
@media (min-width: 320px) and (max-width: 374px) {
  .login-scene {
    padding-inline: 14px;
  }
  .login-card {
    padding: 24px 18px;
  }
  .hero h1 {
    font-size: 22px;
  }
  .hero p {
    font-size: 11px;
  }
  .features {
    gap: 6px;
  }
  .feature {
    font-size: 8.5px;
  }
  .feature i {
    width: 44px;
    height: 44px;
    font-size: 22px;
  }
  .login-options {
    font-size: 10px;
  }
  .login-card h2 {
    font-size: 23px;
  }
}
@media (max-height: 600px) and (min-width: 992px) {
  .login-scene {
    padding-block: 20px;
  }
  .login-card {
    padding-block: 20px;
  }
  .card-logo {
    width: 140px;
    margin-bottom: 12px;
  }
  .subtitle {
    margin-bottom: 18px;
  }
  .field {
    margin-bottom: 14px;
  }
  .hero-footer {
    margin-top: 36px;
  }
}
@media (max-height: 550px) and (max-width: 991px) and (orientation: landscape) {
  .login-scene {
    padding-block: 24px;
  }
  .login-layout {
    align-items: start;
  }
  .hero-brand {
    margin-bottom: 14px;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *:before,
  *:after {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}

@media (min-width: 992px) {
  .login-layout {
    max-width: 1180px;
    grid-template-columns: minmax(0, 1.36fr) minmax(320px, 1fr);
    column-gap: clamp(40px, 5vw, 80px);
    justify-content: center;
  }
  .hero {
    max-width: 600px;
  }
  .login-card {
    justify-self: end;
  }
}

@media (min-width: 3000px) {
  .login-layout {
    width: 88%;
    max-width: 2200px;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
    column-gap: clamp(100px, 4vw, 180px);
  }
  .hero {
    max-width: 960px;
  }
  .hero-brand {
    width: 360px;
    margin: 0 0 44px 44px;
    padding: 10px 16px;
    border-radius: 12px;
  }
  .hero h1 {
    font-size: 56px;
    line-height: 1.18;
    letter-spacing: -1px;
    margin-bottom: 24px;
  }
  .hero p {
    max-width: 660px;
    font-size: 24px;
    line-height: 1.55;
  }
  .features {
    max-width: 680px;
    gap: 26px;
    margin-top: 40px;
  }
  .feature {
    font-size: 17px;
  }
  .feature i {
    width: 96px;
    height: 92px;
    font-size: 45px;
    margin-bottom: 14px;
    border-radius: 11px;
  }
  .hero-footer {
    margin-top: 96px;
    padding-left: 28px;
    font-size: 17px;
    letter-spacing: 3px;
  }
  .hero-footer:before {
    width: 4px;
    height: 44px;
    top: 10px;
  }
  .login-card {
    max-width: 700px;
    padding: 44px 48px 36px;
    border-radius: 20px;
  }
  .card-logo {
    width: 280px;
    margin-bottom: 28px;
  }
  .login-card h2 {
    font-size: 40px;
    letter-spacing: -0.7px;
  }
  .subtitle {
    font-size: 20px;
    margin-bottom: 40px;
  }
  .field {
    margin-bottom: 28px;
  }
  .form-label {
    font-size: 18px;
    margin-bottom: 12px;
  }
  .input-wrap .form-control {
    height: 72px;
    font-size: 20px;
    padding: 16px 68px 16px 58px;
    border-radius: 10px;
  }
  .input-wrap > .bi {
    left: 20px;
    font-size: 24px;
  }
  .password-toggle {
    height: 72px;
    width: 64px;
    font-size: 24px;
  }
  .field-error,
  .helper-note,
  .form-status {
    font-size: 18px;
  }
  .login-options {
    font-size: 17px;
    margin-bottom: 28px;
  }
  .remember {
    gap: 10px;
  }
  .remember input {
    width: 22px;
    height: 22px;
  }
  .text-button {
    min-height: 56px;
  }
  .sign-in {
    min-height: 72px;
    font-size: 22px;
    border-radius: 10px;
    gap: 16px;
  }
  .divider {
    font-size: 17px;
    gap: 22px;
    margin: 32px 0 26px;
  }
  .google {
    min-height: 72px;
    font-size: 19px;
    gap: 16px;
    border-radius: 10px;
  }
  .google .bi {
    font-size: 27px;
  }
  .login-foot {
    font-size: 17px;
    margin-top: 28px;
  }
}

@media (min-width: 3000px) and (max-height: 1000px) {
  .login-scene {
    padding-block: 28px;
  }
  .login-card {
    padding: 28px 40px;
  }
  .card-logo {
    width: 220px;
    margin-bottom: 18px;
  }
  .subtitle {
    margin-bottom: 26px;
  }
  .field {
    margin-bottom: 20px;
  }
  .input-wrap .form-control,
  .password-toggle {
    height: 60px;
  }
  .sign-in,
  .google {
    min-height: 60px;
  }
  .divider {
    margin: 22px 0 18px;
  }
  .login-foot {
    margin-top: 20px;
  }
  .hero-footer {
    margin-top: 64px;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .login-scene {
    padding: 30px max(24px, env(safe-area-inset-right)) 30px
      max(24px, env(safe-area-inset-left));
    background-position: 50% center;
  }
  .login-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: 24px;
    max-width: 460px;
    margin-inline: auto;
  }
  .hero {
    display: block;
    text-align: center;
    width: 100%;
    max-width: none;
  }
  .hero-brand {
    width: 190px;
    margin: 0 auto;
    padding: 6px 10px;
    border-radius: 8px;
  }
  .hero h1,
  .hero p,
  .hero .features,
  .hero .hero-footer {
    display: none;
  }
  .login-card {
    width: 100%;
    max-width: 440px;
    justify-self: center;
    padding: 26px 28px 22px;
    border-radius: 10px;
  }
  .card-logo {
    display: none;
  }
  .login-card h2 {
    font-size: 25px;
  }
  .subtitle {
    font-size: 12px;
    margin-bottom: 24px;
  }
  .field {
    margin-bottom: 17px;
  }
  .form-label {
    font-size: 12px;
  }
  .input-wrap .form-control {
    height: 46px;
    font-size: 12px;
  }
  .password-toggle {
    height: 46px;
  }
  .login-options {
    font-size: 11px;
    margin-bottom: 17px;
  }
  .sign-in,
  .google {
    min-height: 44px;
  }
  .login-foot {
    font-size: 10px;
    margin-top: 17px;
  }
  .login-foot a {
    display: inline;
  }
}

@media (max-width: 767px) {
  html,
  body {
    background: #fff;
  }
  .login-scene {
    background: #fff;
    min-height: 100vh;
    min-height: 100svh;
    padding: 28px max(22px, env(safe-area-inset-right)) 28px
      max(22px, env(safe-area-inset-left));
    padding-top: max(28px, env(safe-area-inset-top));
    padding-bottom: max(28px, env(safe-area-inset-bottom));
  }
  .login-layout {
    display: block;
    width: 100%;
    max-width: 390px;
    margin-inline: auto;
  }
  .hero {
    display: none;
  }
  .login-card {
    width: 100%;
    max-width: none;
    padding: 0;
    background: #fff;
    border-radius: 0;
    box-shadow: none;
  }
  .card-logo {
    display: block;
    width: 174px;
    max-width: 65%;
    height: auto;
    margin: 0 auto 20px;
  }
  .login-card h2 {
    font-size: 24px;
  }
  .subtitle {
    font-size: 12px;
    margin-bottom: 27px;
  }
  .field {
    margin-bottom: 20px;
  }
  .form-label {
    font-size: 12px;
  }
  .input-wrap .form-control {
    height: 46px;
    font-size: 12px;
  }
  .password-toggle {
    height: 46px;
    width: 44px;
  }
  .login-options {
    font-size: 10px;
    margin: 0 0 20px;
  }
  .remember {
    gap: 6px;
  }
  .remember input {
    width: 15px;
    height: 15px;
  }
  .text-button {
    min-height: 44px;
  }
  .sign-in {
    min-height: 46px;
    font-size: 14px;
  }
  .divider {
    margin: 23px 0 19px;
    font-size: 11px;
  }
  .google {
    min-height: 46px;
    font-size: 12px;
  }
  .login-foot {
    font-size: 11px;
    margin: 20px 0 0;
    line-height: 1.8;
  }
  .login-foot a {
    display: block;
  }
  .helper-note,
  .form-status {
    font-size: 11px;
  }
}
@media (max-width: 374px) {
  .login-scene {
    padding-inline: 18px;
  }
  .card-logo {
    width: 152px;
  }
  .login-card h2 {
    font-size: 23px;
  }
  .login-options {
    font-size: 9.5px;
  }
}

/* Wide desktops: match the larger reference composition from 1800px onward. */
@media(min-width:1800px){
.login-layout{width:100%;max-width:clamp(1480px,80vw,2200px);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);column-gap:clamp(96px,6vw,180px)}
.hero{max-width:960px}.hero-brand{width:clamp(280px,15vw,360px);margin:0 0 36px 40px;padding:8px 14px;border-radius:11px}
.hero h1{font-size:clamp(40px,2.1vw,56px);line-height:1.16;letter-spacing:-.8px;margin-bottom:20px}.hero p{max-width:660px;font-size:clamp(18px,1vw,24px);line-height:1.55}
.features{max-width:clamp(520px,28vw,680px);gap:24px;margin-top:32px}.feature{font-size:clamp(13px,.7vw,17px)}.feature i{width:clamp(76px,4.2vw,96px);height:clamp(74px,4vw,92px);font-size:clamp(36px,2vw,45px);margin-bottom:12px;border-radius:10px}
.hero-footer{margin-top:clamp(72px,5vw,96px);padding-left:24px;font-size:clamp(13px,.7vw,17px);letter-spacing:2.5px}.hero-footer:before{width:3px;height:36px;top:8px}
.login-card{width:100%;max-width:clamp(550px,29vw,700px);padding:clamp(32px,2vw,44px) clamp(36px,2vw,48px) 30px;border-radius:16px;justify-self:end}
.card-logo{width:clamp(215px,12vw,280px);margin-bottom:22px}.login-card h2{font-size:clamp(32px,1.7vw,40px);letter-spacing:-.6px}.subtitle{font-size:clamp(15px,.85vw,20px);margin-bottom:30px}
.field{margin-bottom:24px}.form-label{font-size:clamp(14px,.75vw,18px);margin-bottom:10px}.input-wrap .form-control{height:clamp(56px,3vw,72px);font-size:clamp(14px,.8vw,20px);padding:14px 60px 14px 48px;border-radius:8px}
.input-wrap>.bi{left:18px;font-size:clamp(18px,1vw,24px)}.password-toggle{height:clamp(56px,3vw,72px);width:56px;font-size:clamp(18px,1vw,24px)}
.field-error,.helper-note,.form-status{font-size:clamp(13px,.75vw,18px)}.login-options{font-size:clamp(12px,.7vw,17px);margin-bottom:24px}.remember{gap:8px}.remember input{width:18px;height:18px}.text-button{min-height:44px}
.sign-in{min-height:clamp(56px,3vw,72px);font-size:clamp(16px,.9vw,22px);border-radius:8px;gap:14px}.divider{font-size:clamp(12px,.7vw,17px);gap:20px;margin:26px 0 22px}
.google{min-height:clamp(56px,3vw,72px);font-size:clamp(14px,.8vw,19px);gap:14px;border-radius:8px}.google .bi{font-size:clamp(22px,1.2vw,27px)}.login-foot{font-size:clamp(12px,.65vw,17px);margin-top:22px}
}
/* Retain readable controls and allow scrolling on short wide-screen windows. */
@media(min-width:1800px) and (max-height:850px){.login-scene{padding-block:24px}.login-card{padding-block:26px}.card-logo{width:200px;margin-bottom:16px}.subtitle{margin-bottom:24px}.field{margin-bottom:20px}.divider{margin:22px 0 18px}.hero-footer{margin-top:64px}}
