:root{--paper:#faf7f1;--paper-deep:#f2ece2;--paper-receipt:#fffdf9;--ink:#201916;--muted:#6d5d58;--rule:#20191624;--accent:#8b2252;--accent-soft:#8b225224;--success:#466b43;--good:#5e7051;--warn:#9a6c12;--caution:#ad7e2f;--bad:#8b2252;--risk:#a13131;--font-display:"Cormorant Garamond", Georgia, serif;--font-body:"DM Sans", system-ui, sans-serif;--text-hero:clamp(2.75rem, 12vw, 4.5rem);--text-tagline:clamp(1.35rem, 4.5vw, 1.85rem);--text-body-lg:clamp(1.05rem, 2.5vw, 1.2rem);--text-body:clamp(1rem, 2vw, 1.08rem);--text-small:.88rem;--text-micro:.72rem;--leading-display:.95;--leading-tight:1.2;--leading-body:1.55;--leading-relaxed:1.65;--tracking-display:-.04em;--tracking-heading:-.03em;--tracking-body:.01em;--tracking-eyebrow:.22em;--space-2xs:.35rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.25rem;--space-2xl:3.5rem;--space-3xl:4.5rem;--pad-inline:1.25rem;--pad-block-section:var(--space-2xl);--touch-min:2.75rem;--max-width:1180px;--max-width-ops:none;--max-width-prose:36rem;--pad-inline-wide:clamp(1.25rem, 3vw, 2.75rem);--ops-sidebar-width:16rem;--ops-sidebar-break:64rem;--ease-premium:cubic-bezier(.2, .8, .2, 1);--focus-ring:2px solid var(--accent);--focus-offset:2px;--grain-opacity:.035}.login{gap:var(--space-xl);max-width:28rem;padding:clamp(3rem, 10vh, 6rem) var(--pad-inline) var(--space-3xl);box-sizing:border-box;grid-template-columns:1fr;align-items:center;min-height:100vh;margin:0 auto;display:grid}.login__hero{text-align:center}.login__label{margin:0 0 var(--space-sm);font-size:var(--text-micro);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--muted);font-weight:500}.login__brand{font-family:var(--font-display);font-size:clamp(3.2rem,10vw,5rem);font-weight:500;line-height:var(--leading-display);letter-spacing:var(--tracking-display);color:var(--ink);margin:0}.login__panel{padding:var(--space-xl) var(--space-lg);background:var(--paper-deep);border:1px solid var(--rule);border-radius:4px}.login__header{margin-bottom:var(--space-lg)}.login__eyebrow{margin:0 0 var(--space-2xs);font-size:var(--text-micro);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--accent);font-weight:500}.login__lead{max-width:32ch;color:var(--muted);font-size:var(--text-small);margin:0}.login__error{margin:var(--space-lg) 0 0;padding:var(--space-sm) var(--space-md);font-size:var(--text-small);line-height:var(--leading-body);color:var(--risk);background:color-mix(in srgb, var(--risk) 10%, var(--paper-receipt));border:1px solid color-mix(in srgb, var(--risk) 22%, var(--rule));border-left:3px solid var(--risk);border-radius:2px}.login__form{gap:var(--space-md);margin-top:var(--space-lg);display:grid}.login__field{gap:var(--space-xs);display:grid}.login__field span{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:500}.login__field input{min-height:var(--touch-min);font:inherit;font-size:var(--text-body);color:var(--ink);background:var(--paper-receipt);border:1px solid var(--rule);transition:border-color .18s var(--ease-premium), box-shadow .18s var(--ease-premium);border-radius:3px;padding:.55rem .85rem}.login__field input::placeholder{color:color-mix(in srgb, var(--muted) 60%, transparent)}.login__field input:focus{outline:var(--focus-ring);outline-offset:var(--focus-offset);border-color:color-mix(in srgb, var(--accent) 50%, var(--rule));box-shadow:0 0 0 3px var(--accent-soft)}.login__form button{min-height:var(--touch-min);font:inherit;font-weight:500;font-size:var(--text-small);letter-spacing:.06em;color:var(--paper-receipt);background:var(--accent);cursor:pointer;transition:background .18s var(--ease-premium), transform .12s var(--ease-premium);border:0;border-radius:3px}.login__form button:hover{background:color-mix(in srgb, var(--accent) 88%, var(--ink))}.login__form button:active{transform:scale(.98)}.login__footer{font-size:var(--text-small);color:var(--muted);text-align:center;margin-top:0}.login__footer a{font-weight:500}.login__notice{margin:var(--space-lg) 0 0;padding:var(--space-sm) var(--space-md);font-size:var(--text-small);line-height:var(--leading-body);color:var(--ink);background:var(--paper-deep);border:1px solid var(--rule);border-left:3px solid var(--accent);border-radius:2px}.login__hint{font-size:var(--text-small);color:var(--muted);margin:0}.login__switch{margin:var(--space-lg) 0 0;font-size:var(--text-small);text-align:center}.login__switch a{color:var(--accent);font-weight:500}
