.page-auth { background: var(--paper); }
.auth-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(400px,.9fr) minmax(520px,1.1fr); }
.auth-story { position: relative; overflow: hidden; padding: 34px clamp(28px,5vw,76px); display: flex; flex-direction: column; justify-content: space-between; background: var(--sage-dark); color: #fff; }
.auth-story::before, .auth-story::after { content: ""; position: absolute; border-radius: 45% 55% 58% 42%; background: rgba(255,255,255,.055); }
.auth-story::before { width: 320px; height: 320px; inset-inline-end: -90px; inset-block-start: -90px; }
.auth-story::after { width: 240px; height: 240px; inset-inline-start: -95px; inset-block-end: 40px; }
.auth-story .brand { color: #fff; position: relative; z-index: 2; }
.auth-story__content { position: relative; z-index: 2; max-width: 610px; }
.auth-story h2 { color: #fff; font-size: clamp(2.2rem,4.6vw,3.7rem); }
.auth-story p { color: rgba(255,255,255,.72); font-size: 1.03rem; }
.auth-benefits { list-style: none; padding: 0; display: grid; gap: 12px; margin-block-start: 26px; }
.auth-benefits li { display: flex; align-items: center; gap: 9px; color: rgba(255,255,255,.87); }
.auth-benefits svg { color: var(--gold); }
.auth-road { position: relative; z-index: 2; height: 70px; border-block: 14px solid rgba(255,255,255,.14); transform: rotate(-7deg); }
.auth-road span { position: absolute; top: 50%; width: 24%; border-top: 3px dashed rgba(255,255,255,.68); }
.auth-road span:nth-child(1) { inset-inline-start: 4%; }.auth-road span:nth-child(2) { inset-inline-start: 38%; }.auth-road span:nth-child(3) { inset-inline-start: 72%; }
.auth-panel { padding: 24px clamp(24px,5vw,80px) 50px; display: flex; flex-direction: column; }
.auth-panel__top { min-height: 56px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.auth-home-link { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); }
.auth-mobile-logo { display: none; }
.auth-form-wrap { width: min(100%, 520px); margin: auto; padding-block: 38px; }
.auth-card { padding: clamp(25px,4vw,38px); }
.auth-card--compact { max-width: 500px; }
.auth-card__heading { margin-block-end: 24px; }
.auth-card__heading p { margin-bottom: 0; }
.auth-card__icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 18px; background: var(--sage-soft); color: var(--sage-dark); margin-block-end: 18px; }
.auth-switch { margin-block-start: 22px; padding-block-start: 18px; border-top: 1px solid var(--border); text-align: center; color: var(--muted); }
.auth-switch a { color: var(--clay-dark); font-weight: 750; }
