@font-face{font-family:'Playfair Display';src:url('/fonts/PlayfairDisplay-VF.ttf') format('truetype');font-style:normal;font-weight:400 900;font-display:swap}
@font-face{font-family:'Playfair Display';src:url('/fonts/PlayfairDisplay-Italic-VF.ttf') format('truetype');font-style:italic;font-weight:400 900;font-display:swap}
@font-face{font-family:'Archivo Narrow';src:url('/fonts/ArchivoNarrow-VF.ttf') format('truetype');font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:'Archivo Narrow';src:url('/fonts/ArchivoNarrow-Italic-VF.ttf') format('truetype');font-style:italic;font-weight:400 700;font-display:swap}
:root{
  --paper:#EDE6D4;--ink:#1A1A1A;--muted:#5A554A;--stamp:#8B2E2E;--stamp-hover:#6F2424;
  --btn:#1A1A1A;--btn-lab:#EDE6D4;--btn-hover:#8B2E2E;--focus:#8B2E2E;
  --hair:#1A1A1A;--ht-opacity:.85;
}
body.theme-dark{
  --paper:#1A1A1A;--ink:#EDE6D4;--muted:#A39E90;--stamp:#D47272;--stamp-hover:#D47272;
  --btn:#EDE6D4;--btn-lab:#1A1A1A;--btn-hover:#D47272;--focus:#D47272;
  --hair:#EDE6D4;--ht-opacity:.35;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background-color:var(--paper);color:var(--ink);font-family:'Archivo Narrow',sans-serif;
  -webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh}
body:not(.theme-dark){background-image:url(/assets/paper.png);background-size:256px}
a{color:var(--stamp)} a:hover{color:var(--stamp-hover)}
.btn{display:inline-block;background:var(--btn);color:var(--btn-lab);text-decoration:none;
  font-weight:600;font-size:16px;letter-spacing:.06em;text-transform:uppercase;padding:13px 20px;border:0;cursor:pointer;
  font-family:inherit}
.btn:hover{background:var(--btn-hover);color:var(--btn-lab)}
body.theme-dark .btn:hover{color:#1A1A1A}
.btn:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.mast{padding:16px 18px 10px;border-bottom:3px double var(--hair)}
.mast img{height:32px;width:auto;display:block;margin:0 auto}
.login-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:28px 18px}
.col{width:100%;max-width:400px}
.col h1,.err-copy h1,.home-main h1{font-family:'Playfair Display',serif;font-weight:700;letter-spacing:-.02em;line-height:1.15}
.col h1{font-size:30px;margin:0 0 8px;text-align:center}
.hair{border:0;border-top:1px solid var(--hair);margin:0 0 22px}
label{display:block;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}
.req{color:var(--stamp)}
input{width:100%;font:400 16px 'Archivo Narrow',sans-serif;padding:10px 0 11px;border:0;
  border-bottom:1px solid var(--hair);background:transparent;color:var(--ink);outline:none;border-radius:0;
  caret-color:var(--ink)}
input::placeholder{color:var(--muted);opacity:.8}
input:focus{border-bottom-width:2px;border-bottom-color:var(--focus)}
.row{margin-bottom:24px}
.col .btn{width:100%;text-align:center}
.below{margin-top:16px;text-align:center;font-size:14px}
.below a{color:var(--muted);text-decoration:none}
.below a:hover{color:var(--stamp);text-decoration:underline}
footer.links,.home-foot{padding:12px 18px 16px;font-size:12px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
footer.links{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;border-top:1px solid var(--hair)}
footer.links a,.home-foot a{color:var(--muted);text-decoration:none}
footer.links a:hover,.home-foot a:hover{color:var(--stamp)}
.home-foot{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.home-foot .signin{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:400;color:var(--muted);text-decoration:none}
.home-foot .signin:hover{color:var(--stamp)}
.home-foot .signin:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.err-wrap,.home-main{flex:1;display:flex;flex-direction:column;justify-content:center;padding:20px 18px 32px}
.err-wrap{position:relative;overflow:hidden;align-items:flex-start}
.ht{position:absolute;right:-20px;top:10%;width:220px;height:220px;background:url(/assets/halftone.png) center/contain no-repeat;
  opacity:var(--ht-opacity);pointer-events:none}
.num{font-family:'Playfair Display',serif;font-weight:900;font-size:88px;line-height:.85;letter-spacing:-.05em;
  color:var(--ink);user-select:none;margin:0 0 18px;position:relative}
.kicker{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--stamp);margin-bottom:10px}
.err-copy h1{font-size:28px;max-width:14ch;margin:0 0 22px}
.home-main h1{font-size:56px;letter-spacing:-.035em;line-height:.95;margin:0;max-width:8ch}
.home-main h1 .dot{color:var(--stamp)}
.home-main .sub{font-family:'Playfair Display',serif;font-style:italic;font-size:20px;margin:12px 0 0}
.rule{border:0;border-top:2px solid var(--hair);width:72px;margin:22px 0 0}
.home-main .btn{margin-top:24px;align-self:flex-start}
@media (min-width:800px){
  .mast{padding:22px 48px 14px}
  .mast img{height:44px}
  .login-wrap{padding:48px}
  .col h1{font-size:40px}
  footer.links,.home-foot{padding:16px 48px 20px}
  .err-wrap,.home-main{padding:28px 64px 64px}
  .ht{width:360px;height:360px;right:8%;top:8%}
  .num{font-size:200px}
  .err-copy h1{font-size:44px;margin-bottom:28px}
  .home-main h1{font-size:108px}
  .home-main .sub{font-size:28px;margin-top:16px}
  .home-main .btn{margin-top:32px}
}
