.signin-page { position:relative;isolation:isolate;display:flex;justify-content:center;padding:48px 24px 72px;min-height:620px; }
.signin-page::before { content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(#f5f1e7e8,#f5f1e7d9),url('/images/tld2-hero-gems.webp') center bottom/cover no-repeat; }
.signin-panel { width:100%;max-width:420px; }
.signin-page h1 { font-family:Cartographer,Georgia,serif;color:var(--ink);font-size:44px; }
.signin-page p { color:var(--muted);font-size:14px;line-height:1.6; }
.signin-card { padding:30px;background:#faf7ef;border:1px solid #bcb3a1;border-radius:8px; }
.signin-card label { color:var(--ink); }
.signin-card input { background:#fffdf8;border-color:#bcb5a6;color:var(--ink);min-height:48px; }
.signin-card input::placeholder { color:#777b71; }
.signin-card input:focus-visible { outline:2px solid var(--forest);outline-offset:2px;box-shadow:none; }
#step-phone > .flex > div { background:#eae5d9;color:var(--ink);border-color:var(--line); }
#btn-send-pin,#btn-verify-pin { background:var(--ruby);color:#fff;border-radius:6px;box-shadow:none;transform:none;min-height:48px; }
#btn-send-pin:hover,#btn-verify-pin:hover { background:#80171b; }
#btn-send-pin:disabled,#btn-verify-pin:disabled { cursor:wait; }
.signin-page #phone-error,.signin-page #pin-error { color:#a91f23;font-weight:500; }
#btn-back { color:var(--forest);font-size:14px;min-height:44px; }
#btn-back:hover { text-decoration:underline; }
.signin-page a { color:var(--forest);text-underline-offset:3px; }
@media(max-width:599px) {
 .signin-page { padding:32px 0 48px;min-height:520px; }
 .signin-page h1 { font-size:38px; }
 .signin-card { padding:24px 18px; }
 .signin-page::before { background-size:auto,auto 300px;background-position:center,center bottom; }
}
