:root {
    color-scheme: light;
    --ink: #292720;
    --muted: #706b5e;
    --gold: #c99820;
    --gold-dark: #8f6810;
    --paper: #fbfaf6;
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; color: var(--ink); background: var(--paper); font-family: "DM Sans", sans-serif; }
.auth-stage { min-height: 100vh; display: grid; grid-template-columns: minmax(380px, .9fr) minmax(480px, 1.1fr); }
.editorial-panel {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 64px 7vw;
    color: white;
    background: linear-gradient(180deg, rgba(25,24,20,.18), rgba(25,24,20,.88)), url("/img/bg-hero.jpg") center/cover;
}
.editorial-panel::after { content: ""; position: absolute; inset: 26px; border: 1px solid rgba(255,255,255,.42); pointer-events: none; }
.brand { position: absolute; z-index: 1; top: 58px; left: 7vw; padding: 12px 18px; background: rgba(255,255,255,.94); }
.brand img { display: block; width: 170px; max-height: 62px; object-fit: contain; }
blockquote { z-index: 1; max-width: 620px; margin: 0 0 24px; font: 400 clamp(42px, 5vw, 72px)/1.04 "Libre Caslon Display", serif; }
.editorial-panel > p { z-index: 1; max-width: 520px; font-size: 17px; line-height: 1.7; }
.form-panel { display: flex; align-items: center; justify-content: center; padding: 54px; }
.form-inner { width: min(500px, 100%); }
.back-link, .auth-switch a { color: var(--gold-dark); font-weight: 600; text-decoration: none; }
.section-label { margin: 58px 0 10px; color: var(--gold-dark); font-size: 12px; font-weight: 600; text-transform: uppercase; }
h1 { margin: 0; font: 400 58px "Libre Caslon Display", serif; }
.intro { color: var(--muted); line-height: 1.7; }
form { margin-top: 34px; }
label { display: block; margin: 19px 0 8px; font-weight: 600; }
input {
    width: 100%;
    height: 54px;
    padding: 0 14px;
    border: 0;
    border-bottom: 1px solid #bdb6a4;
    border-radius: 0;
    background: transparent;
    color: var(--ink);
    font: inherit;
}
input:focus { outline: 0; border-bottom: 2px solid var(--gold); }
small { color: var(--muted); }
.password-field { position: relative; }
.password-field input { padding-right: 76px; }
.password-toggle { position: absolute; right: 0; top: 8px; height: 38px; border: 0; background: transparent; color: var(--gold-dark); font-weight: 600; cursor: pointer; }
.primary-action {
    width: 100%;
    height: 56px;
    margin-top: 32px;
    border: 1px solid var(--gold);
    background: var(--gold);
    color: white;
    font: 600 16px "DM Sans", sans-serif;
    cursor: pointer;
}
.primary-action:hover { background: var(--gold-dark); border-color: var(--gold-dark); }
.primary-action:disabled { opacity: .6; cursor: wait; }
.auth-switch { margin-top: 28px; color: var(--muted); }
.message { margin-top: 22px; padding: 12px 14px; border: 1px solid #c75858; color: #8b2929; background: #fff5f4; }
@media (max-width: 840px) {
    .auth-stage { display: block; }
    .editorial-panel { min-height: 310px; padding: 120px 36px 42px; }
    .editorial-panel::after { inset: 16px; }
    .brand { top: 34px; left: 36px; }
    blockquote { font-size: 42px; }
    .form-panel { padding: 42px 24px 56px; }
    .section-label { margin-top: 20px; }
}
