.auth-page{background:#fafaf9;color:#0b0d0c}.auth-layout{display:grid;grid-template-columns:55% 45%;min-height:100vh}.auth-panel{padding:36px 7.5% 20px;display:flex;flex-direction:column}.auth-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:25px;border-bottom:1px solid #aeb4ae}.auth-header .logo{font-size:34px;letter-spacing:-1.3px}.auth-header>a:last-child{font-size:14px;color:#555e60}.auth-content{max-width:680px;width:100%;margin:38px auto}.auth-eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:#778078;line-height:1.6;margin-bottom:23px}.auth-content h1{font-size:clamp(52px,5.8vw,89px);letter-spacing:-.055em;line-height:.98}.auth-content h1 span{color:#cde54a}.auth-intro{font-size:19px;color:#57615c;margin:20px 0 30px}.auth-content form>label{display:block;font-size:14px;font-weight:600;margin:18px 0 8px}.auth-content input{width:100%;border:1px solid #ccd2cd;background:#fff9;border-radius:5px;font:inherit;font-size:14px;padding:14px 16px;min-height:48px;color:#172019}.auth-content input:focus{outline:2px solid #9aa957;outline-offset:2px}.password-field{position:relative}.password-field input{padding-right:55px}.password-field button{position:absolute;right:5px;top:4px;width:42px;height:40px;padding:10px;background:transparent;color:#4a5550}.password-help{font-size:12px;color:#687168;margin-top:9px}.legal-note{font-size:12px;color:#5f6860;margin:20px 0;line-height:1.6}.legal-note button{background:none;padding:0;color:#253429;text-decoration:underline}.auth-submit{width:100%;display:flex;align-items:center;justify-content:space-between;background:#101513;color:#fff;border-radius:5px;padding:17px 22px;font-size:16px;font-weight:700;margin-top:24px;min-height:56px}.auth-submit span{color:#e6ff83;font-size:28px;line-height:1}.auth-submit:hover{background:#283027}.auth-notice{font-size:11px;color:#697266;margin-top:13px;line-height:1.5}.auth-switch{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:14px;color:#5a635b;margin-top:25px}.auth-switch a{text-decoration:underline;color:#152019;text-underline-offset:3px}.auth-switch>span{font-size:12px}.auth-footer{margin-top:auto;padding-top:20px;font-size:11px;color:#798175;display:flex;justify-content:space-between}.auth-photo{position:relative;min-height:100%;background:#101511;overflow:hidden}.auth-photo>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.login .auth-photo>img{object-position:72% center}.photo-caption{position:absolute;top:10%;right:8%;font-size:25px;font-weight:700;color:#e7ff8c;line-height:1.12;text-shadow:0 2px 10px #000}.photo-caption span{display:block;width:44px;height:5px;background:#e7ff8c;margin-top:19px}.login .photo-caption{background:#131b14d9;border:1px solid #929d76;border-radius:6px;padding:18px;font-size:18px;top:24%}.login .photo-caption span{display:none}.login .auth-content{margin:auto;padding:48px 0}.forgot{display:block;margin:14px 0 24px auto;color:#566157;background:none;text-decoration:underline;font-size:13px}.form-status{font-size:13px;color:#354e1c;line-height:1.5;margin-top:12px}.form-status:empty{display:none}.close-auth{position:absolute;right:15px;top:12px;background:none;color:#fff;font-size:27px}.auth-page dialog h2{font-size:33px;line-height:1.1}.auth-page dialog .auth-submit{background:#e6ff83;color:#111}.auth-page dialog .auth-submit span{color:#111}@media(max-width:1000px){.auth-layout{grid-template-columns:58% 42%}.auth-panel{padding:28px 7% 20px}.auth-header .logo{font-size:27px}.auth-content h1{font-size:58px}.auth-intro{font-size:16px}.photo-caption{font-size:20px}}@media(max-width:700px){.auth-layout{display:block}.auth-panel{padding:25px 6%;min-height:100vh}.auth-photo{display:none}.auth-header .logo{font-size:28px}.auth-header>a:last-child{font-size:12px}.auth-content{margin:34px auto}.auth-content h1{font-size:clamp(49px,12vw,75px)}.auth-intro{font-size:17px}.login .auth-content{padding:38px 0}.auth-content input{font-size:16px}.auth-switch{font-size:13px}.auth-notice{font-size:12px}}

/* Account pages scale with available window height, rather than screen width. */
@media(min-width:701px){
 .auth-layout{min-height:100svh}
 .auth-panel{padding:20px 7% 14px;min-width:0}
 .auth-header{padding-bottom:14px;gap:16px}
 .auth-header .logo{font-size:28px}
 .auth-header>a:last-child{font-size:12px}
 .auth-content,.login .auth-content{max-width:540px;margin:auto;padding:18px 0}
 .auth-eyebrow{font-size:10px;margin-bottom:12px;letter-spacing:1.8px}
 .auth-content h1{font-size:clamp(38px,6.5svh,62px);line-height:.98}
 .auth-intro{font-size:15px;margin:12px 0 18px}
 .auth-content form>label{font-size:12px;margin:11px 0 5px}
 .auth-content input{min-height:40px;height:40px;padding:10px 12px;font-size:13px}
 .password-field input{padding-right:48px}
 .password-field button{height:34px;width:36px;top:3px;padding:8px}
 .password-help{font-size:11px;margin-top:5px}
 .legal-note{font-size:11px;margin:12px 0;line-height:1.4}
 .auth-submit{min-height:44px;padding:12px 16px;font-size:14px;margin-top:15px}
 .auth-submit span{font-size:23px}
 .auth-notice{font-size:10px;margin-top:8px;line-height:1.4}
 .auth-switch{font-size:12px;margin-top:14px;gap:8px;justify-content:flex-start}
 .auth-switch>span{font-size:11px;margin-left:auto}
 .auth-footer{font-size:10px;padding-top:10px}
 .forgot{font-size:12px;margin:10px 0 15px auto}
 .photo-caption{font-size:21px}
 .login .photo-caption{font-size:15px;padding:14px}
}
@media(min-width:701px) and (max-height:680px){
 .auth-panel{padding-top:12px;padding-bottom:10px}
 .auth-header{padding-bottom:10px}
 .auth-header .logo{font-size:24px}
 .auth-content,.login .auth-content{padding:10px 0;max-width:510px}
 .auth-eyebrow{font-size:9px;margin-bottom:8px}
 .auth-content h1{font-size:36px}
 .auth-intro{font-size:13px;margin:8px 0 10px}
 .auth-content form>label{font-size:11px;margin:8px 0 4px}
 .auth-content input{height:34px;min-height:34px;padding:7px 10px;font-size:12px}
 .password-field button{height:30px;top:2px;padding:7px}
 .password-help{font-size:10px;margin-top:4px}
 .legal-note{font-size:10px;margin:8px 0}
 .auth-submit{min-height:38px;margin-top:10px;padding:9px 14px;font-size:13px}
 .auth-notice{font-size:10px;margin-top:6px}
 .auth-switch{margin-top:10px;font-size:11px}
 .auth-footer{padding-top:5px}
 .forgot{margin:8px 0 10px auto}
}
@media(max-width:700px){
 .auth-panel{padding:20px 6%}
 .auth-content{margin:24px auto}
 .login .auth-content{padding:24px 0}
 .auth-content h1{font-size:clamp(40px,10vw,56px)}
 .auth-eyebrow{margin-bottom:14px}
 .auth-intro{margin:14px 0 22px}
 .auth-switch{justify-content:flex-start}
}
