/* Approved desktop concept A: ceramic DNA artwork, with live text and form controls. */
body.auth-page { background:#fafbfa; color:#193c30; }
.auth-page .login-layout { min-height:100dvh; grid-template-columns:minmax(550px,1.3fr) minmax(430px,1fr); background:#fafbfa; color:#193c30; }
.auth-page .login-story { min-height:100dvh; padding:44px clamp(44px,4.6vw,88px); border:0; background:#d5dfd8; isolation:isolate; overflow:hidden; }
.auth-page .login-story::before,.auth-page .login-story::after { content:none; display:none; animation:none; }
.auth-page .login-brand { gap:13px; color:#193c30; width:fit-content; }
.auth-page .login-brand img { box-shadow:none; width:36px; height:36px; }
.auth-page .login-brand>span { font-size:28px; letter-spacing:.05em; }
.auth-page .login-brand small { color:#4c6257; font-size:13px; letter-spacing:.04em; margin-top:7px; }
.auth-page .login-intro { position:relative; padding:0; margin:clamp(86px,12vh,136px) 0 auto; z-index:2; }
.auth-page .login-intro h1 { font-family:inherit; font-size:clamp(38px,3.5vw,62px); line-height:1.45; letter-spacing:0; font-weight:650; color:#193c30; text-shadow:none; margin:0; }
.auth-page .login-science-plate { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:60% center; z-index:0; pointer-events:none; }
.auth-page .login-entry { padding:42px clamp(42px,4.5vw,86px) 26px; background:#fafbfa; }
.auth-page .login-form-wrap { width:100%; max-width:480px; margin:auto 0; padding:24px 0; background:none; border:0; border-radius:0; box-shadow:none; }
.auth-page .login-entry h2 { font-size:clamp(32px,2.8vw,44px); color:#182e29; letter-spacing:0; margin:0 0 14px; }
.auth-page .login-description { color:#52635d; font-size:15px; margin-bottom:36px; line-height:1.8; }
.auth-page .login-entry form>label { color:#253e34; font-size:15px; margin:22px 0 9px; }
.auth-page .login-entry input { height:56px; border:1px solid #a8b9af; border-radius:6px; background:#fff; color:#193c30; font-size:16px; box-shadow:none; }
.auth-page .login-entry input::placeholder { color:#67796c; }
.auth-page .login-entry input:focus { background:#fff; outline:2px solid #315e48; outline-offset:3px; border-color:#315e48; box-shadow:none; }
.auth-page .login-password button { color:#315e48; font-size:14px; top:6px; }
.auth-page .login-entry .login-submit { color:#fff; background:#285340; border:1px solid #285340; border-radius:6px; min-height:56px; font-size:16px; font-weight:600; box-shadow:none; }
.auth-page .login-entry .login-submit:hover { background:#1f402f; }
.auth-page .login-entry button:focus-visible { outline:2px solid #315e48; outline-offset:3px; }
.auth-page .login-entry #login-error { color:#9e352b; min-height:22px; font-size:14px; margin:10px 0; }
.auth-page .login-help,.auth-page .login-entry>footer { color:#52635d; font-size:13px; }
.auth-page .login-help { margin:24px 0 0; line-height:1.8; }
@media(max-height:800px) and (min-width:1000px) {
 .auth-page .login-story { padding-top:32px; padding-bottom:32px; }
 .auth-page .login-intro { margin-top:80px; }
 .auth-page .login-entry { padding-top:28px; padding-bottom:20px; }
 .auth-page .login-description { margin-bottom:24px; }
}
