/* LandMuk Campus · Login Premium — scoped to login page */
main.wrap:has(.lm-login-layout){max-width:none!important;width:100%!important;padding:14px!important;margin:0!important;background:#f0f4fa!important}
.lm-login-layout,.lm-login-layout *{box-sizing:border-box}
.lm-login-layout{display:grid;grid-template-columns:1fr 1fr;max-width:1510px;margin:0 auto;background:#fff;border:12px solid #edf2f9;border-radius:27px;overflow:hidden;min-height:min(890px,calc(100vh - 115px));color:#172a4d;font-family:inherit}
.lm-login-story{background:#13274f;color:#fff;padding:24px 24px 18px;display:flex;flex-direction:column;min-width:0}
.lm-login-brand{display:flex;align-items:center;gap:15px;font-size:clamp(19px,2vw,25px);font-weight:600;letter-spacing:-.025em}
.lm-login-brand-icon{display:grid;place-items:center;background:#4c60e8;width:58px;height:58px;border-radius:12px;flex:none}
.lm-login-brand-icon svg{width:30px;height:30px}
.lm-login-story h1{color:#fff!important;font-size:clamp(25px,2.65vw,38px);line-height:1.15;letter-spacing:-.035em;margin:22px 0 14px;font-weight:800}
.lm-login-intro{color:#c2d2ee!important;font-size:clamp(15px,1.6vw,21px);line-height:1.4;margin:0 0 22px}
.lm-login-photo{display:block;width:100%;height:clamp(290px,49vw,780px);max-height:680px;min-height:0;object-fit:cover;object-position:center;border-radius:13px}
.lm-login-note{margin:19px 0 0;color:#c5d5ef!important;font-size:16px;display:flex;align-items:center;gap:10px}
.lm-login-note span{border:2px solid #b7cfff;border-radius:50%;width:21px;height:21px;display:grid;place-items:center;font-size:13px;flex:none}
.lm-login-access{display:flex;align-items:center;justify-content:center;padding:55px clamp(22px,3vw,60px)}
.lm-login-access-inner{width:100%;max-width:610px}
.lm-login-eyebrow{display:block;color:#315cf4;font-weight:750;letter-spacing:.065em;font-size:16px;margin-bottom:10px}
.lm-login-access h2{color:#172a4d!important;font-size:clamp(28px,2.8vw,38px);letter-spacing:-.04em;line-height:1.15;margin:0 0 10px}
.lm-login-subtitle{font-size:clamp(16px,1.55vw,21px);color:#6b7f9d!important;margin:0 0 25px}
.lm-login-form{display:flex;flex-direction:column;gap:0;margin:0}
.lm-login-form label{font-size:18px;font-weight:500;color:#20365a!important;margin:0 0 8px}
.lm-login-form input{display:block;width:100%;height:65px;border:1.5px solid #d4dff1!important;background:#fff!important;border-radius:10px!important;box-shadow:none!important;font-size:17px;padding:15px 20px!important;color:#172a4d!important;margin:0 0 25px}
.lm-login-form input::placeholder{color:#91a3bd}
.lm-login-form input:focus{outline:3px solid #315cf42b!important;border-color:#4d69ec!important}
.lm-login-password-wrap{position:relative}
.lm-login-password-wrap input{padding-right:60px!important}
.lm-login-eye{position:absolute;right:12px;top:9px;width:46px;height:46px;display:grid;place-items:center;background:transparent;border:0;color:#90a2bc;cursor:pointer;padding:9px}
.lm-login-eye svg{width:23px;height:23px}
.lm-login-submit{width:100%;min-height:65px;background:#355be9!important;color:#fff!important;border:0!important;border-radius:10px!important;font-size:19px;font-weight:650;cursor:pointer;margin:0 0 18px;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:none!important}
.lm-login-submit:hover{background:#244bd4!important}
.lm-login-google{display:flex;align-items:center;justify-content:center;gap:13px;width:100%;min-height:65px;border:1.5px solid #d4dff1;border-radius:10px;background:#fff;color:#20365a!important;text-decoration:none!important;font-size:18px;font-weight:550}
.lm-login-google:hover{background:#f6f8fd}
.lm-login-google svg{width:23px;height:23px}
.lm-login-register{margin:20px 0 0;text-align:center;color:#7386a3!important;font-size:16px}
.lm-login-register a{color:#315cf4!important;text-decoration:none;font-weight:600}
@media(max-width:800px){main.wrap:has(.lm-login-layout){padding:8px!important}.lm-login-layout{grid-template-columns:1fr;border-width:7px;min-height:0}.lm-login-story{padding:22px}.lm-login-story h1{margin-top:17px}.lm-login-photo{height:230px;max-height:none}.lm-login-note{font-size:14px;margin-top:12px}.lm-login-access{padding:35px 23px 45px}.lm-login-form input,.lm-login-submit,.lm-login-google{min-height:55px;height:55px}.lm-login-form label{font-size:16px}.lm-login-eyebrow{font-size:13px}}
@media(max-width:420px){.lm-login-photo{height:190px}.lm-login-brand-icon{width:46px;height:46px}.lm-login-story{padding:18px}.lm-login-access{padding:28px 17px 36px}}

/* LANDMUK LOGIN V2 - compact desktop, mobile-first access */
@media(min-width:801px){
 main.wrap:has(.lm-login-layout){padding:10px 14px!important}
 .lm-login-layout{min-height:0!important;max-width:1400px;border-width:9px;border-radius:24px}
 .lm-login-story{padding:22px 25px 17px}
 .lm-login-brand-icon{width:48px;height:48px}
 .lm-login-brand-icon svg{width:26px;height:26px}
 .lm-login-story h1{font-size:clamp(25px,2.2vw,33px);margin:17px 0 10px}
 .lm-login-intro{font-size:clamp(15px,1.35vw,18px);line-height:1.35;margin-bottom:15px}
 .lm-login-photo{height:clamp(260px,31vw,430px)!important;max-height:430px;object-position:center 45%}
 .lm-login-note{margin-top:12px;font-size:14px}
 .lm-login-access{padding:30px clamp(22px,3vw,52px)}
 .lm-login-eyebrow{font-size:13px;margin-bottom:7px}
 .lm-login-access h2{font-size:clamp(27px,2.5vw,35px);margin-bottom:7px}
 .lm-login-subtitle{font-size:clamp(15px,1.35vw,18px);margin-bottom:20px}
 .lm-login-form label{font-size:16px;margin-bottom:6px}
 .lm-login-form input{height:54px!important;margin-bottom:17px;font-size:16px}
 .lm-login-submit{min-height:54px;font-size:17px;margin-bottom:13px}
 .lm-login-google{min-height:54px;font-size:16px}
 .lm-login-register{font-size:14px;margin-top:16px}
}
.lm-login-eye{background:transparent!important;color:#8194b2!important;border:0!important;box-shadow:none!important;border-radius:8px!important;width:38px;height:38px;right:9px;top:8px;padding:7px!important}
.lm-login-eye:hover,.lm-login-eye:focus-visible{background:#edf2fb!important;color:#345be8!important}
.lm-login-eye svg{width:22px;height:22px}
@media(max-width:800px){
 .lm-login-layout{display:flex;flex-direction:column}
 .lm-login-access{order:0;padding:28px 22px 34px}
 .lm-login-story{order:1;padding:19px 22px}
 .lm-login-story h1{font-size:24px;margin:14px 0 8px}
 .lm-login-intro{font-size:15px;margin-bottom:12px}
 .lm-login-photo{height:155px!important;object-position:center 42%}
 .lm-login-note{margin-top:10px}
 .lm-login-form input{margin-bottom:15px}
 .lm-login-subtitle{margin-bottom:20px}
}
@media(max-width:420px){
 .lm-login-photo{height:120px!important}
 .lm-login-access{padding:25px 17px 30px}
 .lm-login-story{padding:17px}
 .lm-login-register{font-size:14px}
}

/* V3: fotografía íntegra en todas las pantallas; sin recorte */
.lm-login-story .lm-login-photo{
  display:block!important;
  width:100%!important;
  height:clamp(290px,34vw,490px)!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#20365d!important;
  border-radius:13px!important;
}
@media (min-width:801px) and (max-width:1100px){
 .lm-login-story .lm-login-photo{height:clamp(280px,37vw,420px)!important}
}
@media (max-width:800px){
 .lm-login-story .lm-login-photo{
  height:clamp(260px,58vw,390px)!important;
  object-fit:contain!important;
 }
}
@media (max-width:420px){
 .lm-login-story .lm-login-photo{height:300px!important;object-fit:contain!important}
}

/* V4 — fotografía sin recorte real, responsive */
.lm-login-story .lm-login-photo{
  width:100%!important; height:auto!important; min-height:0!important;
  max-height:none!important; aspect-ratio:auto!important;
  object-fit:contain!important; object-position:center!important;
  display:block!important; background:transparent!important;
}
@media(max-width:800px){
  .lm-login-layout{display:flex!important;flex-direction:column!important;min-height:0!important}
  .lm-login-access{order:0!important}
  .lm-login-story{order:1!important;padding:18px!important}
  .lm-login-story .lm-login-photo{height:auto!important;max-height:none!important}
  .lm-login-story h1{margin:14px 0 9px!important}
  .lm-login-story .lm-login-intro{margin-bottom:14px!important}
  .lm-login-story .lm-login-note{margin-top:13px!important}
}
@media(max-width:480px){
  .lm-login-story .lm-login-photo{height:auto!important;max-height:none!important}
  .lm-login-story{padding:15px!important}
  .lm-login-access{padding:25px 17px 28px!important}
}
