/* Mobile authentication only. Desktop and the signed-in workspace keep their layout. */
@media (max-width:760px){
 .landing{min-height:100svh;min-height:100dvh;overflow-x:clip;background-position:center top;background-attachment:scroll}
 .landing>.nav{height:auto;min-height:60px;padding:8px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left));gap:10px;flex-wrap:wrap}
 .landing .nav .logo{min-height:44px;gap:7px;flex-shrink:0}
 .landing .nav .logo img{width:44px;height:28px}
 .landing .nav .logo strong{font-size:16px;letter-spacing:.8px}
 .landing .navlinks{min-width:0;max-width:42%;margin-left:auto}
 .landing .navlinks>.environment{display:inline-flex;max-width:100%;padding:4px 8px;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .landing .hero{display:flex;flex-direction:column;align-items:center;gap:18px;min-height:0;max-width:520px;padding:18px max(16px,env(safe-area-inset-right)) 24px max(16px,env(safe-area-inset-left))}
 .landing .hero-copy{width:100%;max-width:440px;min-width:0;align-self:auto}
 .landing .hero-copy .year{margin:0 0 8px;font-size:10px;letter-spacing:2px;gap:10px}
 .landing .hero-copy .year:before{width:22px;flex-shrink:0}
 .landing .hero h1{font-size:clamp(26px,7.2vw,32px);line-height:1.35;letter-spacing:2px;white-space:normal}
 .landing .hero h1 br{display:none}
 .landing .hero h1 em{margin-left:10px;display:inline-block}
 .landing .hero-copy>p,.landing .hero-motto{display:none}
 .landing .login-card{width:100%;min-width:0;max-width:440px;padding:20px;margin:0;border-radius:16px;backdrop-filter:none;box-shadow:0 12px 32px var(--shadow)}
 .landing .login-card:before,.landing .login-card:after{display:none}
 .landing .login-card>.eyebrow{display:none}
 .landing .login-card h2{font-size:25px;line-height:1.4;letter-spacing:2px;margin:0 0 5px}
 .landing .login-card>.small{font-size:12px;line-height:1.7}
 .landing .login-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0 12px}
 .landing .login-tabs button{min-height:44px;font-size:14px;padding:9px 4px;text-align:center}
 .landing .login-card form{min-width:0}
 .landing .login-card label{font-size:13px;line-height:1.6;gap:6px;margin:12px 0}
 .landing .login-card input:not([type=checkbox]),.landing .login-card select{display:block;min-width:0;max-width:100%;min-height:48px;padding:11px 12px;font-size:16px;line-height:1.5;border-radius:10px;scroll-margin-block:24px}
 .landing .login-card input[type=checkbox]{width:20px;height:20px;flex:0 0 20px}
 .landing .remember-choice{min-height:44px;gap:10px;align-items:center;font-size:12px;line-height:1.6}
 .landing .remember-choice>span{min-width:0;overflow-wrap:anywhere}
 .landing #account-guidance{font-size:12px;line-height:1.7;margin:12px 0 4px;overflow-wrap:anywhere}
 .landing .form-error{min-height:0;margin:0;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
 .landing .form-error:not(:empty){margin:10px 0}
 .landing .login-card form>.primary{min-height:48px;padding:12px;font-size:16px;line-height:1.5;border-radius:10px;margin-top:4px}
 .landing .login-card>.notice{font-size:11px;line-height:1.8;margin-top:14px}
 .landing .login-card>.separator{margin:14px 0 0}
 .landing .login-help{min-height:44px;padding:10px 0;font-size:12px;text-align:left}
 .landing .features{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;max-width:520px;padding:0 20px 24px}
 .landing .feature{margin:0;padding-top:14px;gap:14px}
 .landing .feature .symbol{font-size:24px}
 .landing .feature h3{font-size:16px;letter-spacing:2px;margin-bottom:4px}
 .landing .feature p{font-size:12px;line-height:1.8;max-width:none}
 .landing footer{padding:14px max(20px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));font-size:10px;line-height:1.8;overflow-wrap:anywhere}
 .landing footer span{margin:0}
}
@media (max-width:360px){
 .landing>.nav{padding-left:12px;padding-right:12px;gap:6px}
 .landing .nav .logo{gap:5px}
 .landing .nav .logo img{width:38px}
 .landing .nav .logo strong{font-size:15px;letter-spacing:.5px}
 .landing .navlinks>.environment{font-size:9px;padding:4px 6px}
 .landing .hero{padding:14px 12px 20px;gap:14px}
 .landing .login-card{padding:18px}
 .landing .login-card h2{font-size:23px}
}
/* A shortened visual viewport must scroll naturally, never pin the form under the keyboard. */
@media (max-width:760px) and (max-height:560px){
 .landing>.nav{min-height:52px;padding-top:4px;padding-bottom:4px}
 .landing .hero{padding-top:10px;gap:12px}
 .landing .hero-copy .year{display:none}
 .landing .hero h1{font-size:24px}
}
