/* v87 · bienvenida/login sin desbordes: capa final */
html,
body{
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}
body.is-login{
  min-height:100svh!important;
  overflow-x:hidden!important;
}
body.is-login .app-shell.login-shell,
body.is-login .login-shell{
  width:100%!important;
  max-width:100vw!important;
  min-height:100svh!important;
  padding:clamp(12px,2.4vw,28px)!important;
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
body.is-login .landing-stage{
  width:min(1120px,calc(100vw - 28px))!important;
  max-width:calc(100vw - 28px)!important;
  min-height:0!important;
  max-height:none!important;
  margin:0 auto!important;
  grid-template-columns:minmax(0,1.05fr) minmax(260px,.78fr)!important;
  gap:clamp(14px,2.4vw,28px)!important;
  align-items:center!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
body.is-login .landing-card{
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  padding:clamp(26px,4vw,48px)!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
body.is-login .landing-yinyang{
  flex:0 0 auto!important;
  width:clamp(58px,6vw,78px)!important;
  height:clamp(58px,6vw,78px)!important;
  margin:0 0 clamp(14px,2vw,20px)!important;
}
body.is-login .landing-kicker{
  font-size:clamp(.72rem,1vw,.84rem)!important;
  letter-spacing:clamp(.14em,.9vw,.28em)!important;
  margin-bottom:clamp(8px,1.2vw,12px)!important;
}
body.is-login .landing-card h1{
  max-width:12.5ch!important;
  font-size:clamp(3rem,5.6vw,5.35rem)!important;
  line-height:.94!important;
  letter-spacing:-.075em!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
body.is-login .landing-copy{
  max-width:62ch!important;
  margin-top:clamp(14px,2vw,20px)!important;
  font-size:clamp(.98rem,1.25vw,1.14rem)!important;
  line-height:1.55!important;
}
body.is-login .landing-actions{
  margin-top:clamp(16px,2.2vw,24px)!important;
}
body.is-login .landing-actions .mct-btn{
  min-height:48px!important;
  padding:0 22px!important;
}
body.is-login .landing-insights{
  min-width:0!important;
  width:100%!important;
  gap:clamp(12px,1.8vw,16px)!important;
}
body.is-login .landing-insights div{
  padding:clamp(16px,2.4vw,22px)!important;
  border-radius:24px!important;
  min-width:0!important;
}
body.is-login .landing-orbit{
  inset:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
body.is-login .landing-orbit span:nth-child(1){
  width:min(300px,30vw)!important;
  height:min(300px,30vw)!important;
  right:1%!important;
  top:0!important;
}
body.is-login .landing-orbit span:nth-child(2){
  width:min(170px,22vw)!important;
  height:min(170px,22vw)!important;
}

@media (max-height:820px) and (min-width:901px){
  body.is-login .app-shell.login-shell,
  body.is-login .login-shell{
    padding:14px!important;
  }
  body.is-login .landing-stage{
    width:min(1040px,calc(100vw - 28px))!important;
    gap:18px!important;
  }
  body.is-login .landing-card{
    padding:26px 34px!important;
  }
  body.is-login .landing-yinyang{
    width:58px!important;
    height:58px!important;
    margin-bottom:12px!important;
  }
  body.is-login .landing-card h1{
    font-size:clamp(3rem,4.85vw,4.7rem)!important;
    max-width:13ch!important;
    line-height:.95!important;
  }
  body.is-login .landing-copy{
    margin-top:14px!important;
    font-size:1rem!important;
    line-height:1.45!important;
  }
  body.is-login .landing-actions{
    margin-top:16px!important;
  }
  body.is-login .landing-insights div{
    padding:16px 18px!important;
  }
}

@media (max-height:680px) and (min-width:901px){
  body.is-login .landing-card h1{
    font-size:clamp(2.7rem,4.2vw,4rem)!important;
    max-width:14ch!important;
  }
  body.is-login .landing-copy{
    display:none!important;
  }
}

@media (max-width:900px){
  body.is-login .app-shell.login-shell,
  body.is-login .login-shell{
    place-items:start center!important;
    align-content:start!important;
  }
  body.is-login .landing-stage{
    width:min(720px,calc(100vw - 24px))!important;
    max-width:calc(100vw - 24px)!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  body.is-login .landing-card h1{
    max-width:100%!important;
    font-size:clamp(2.45rem,10vw,4rem)!important;
    line-height:.98!important;
  }
  body.is-login .landing-insights{
    grid-template-columns:1fr!important;
  }
}

@media (max-width:520px){
  body.is-login .app-shell.login-shell,
  body.is-login .login-shell{
    padding:10px!important;
  }
  body.is-login .landing-stage{
    width:calc(100vw - 20px)!important;
    max-width:calc(100vw - 20px)!important;
  }
  body.is-login .landing-card{
    padding:18px!important;
    border-radius:22px!important;
  }
  body.is-login .landing-yinyang{
    width:56px!important;
    height:56px!important;
  }
  body.is-login .landing-card h1{
    font-size:clamp(2.15rem,12vw,3rem)!important;
    letter-spacing:-.055em!important;
  }
}
