:root {
  color-scheme: light;
  --navy:#081e3c;
  --burgundy:#58000e;
  --ivory:#f8f3e7;
  --gold:#d4af37;
  font: 16px/1.5 Lato, system-ui, sans-serif;
  color:var(--navy);
  background:var(--ivory);
}
* { box-sizing:border-box; }
body { min-height:100vh; margin:0; display:grid; place-items:center; padding:24px 16px; }
.access { width:min(100%,480px); border:1px solid #e2d9c6; border-radius:16px; overflow:hidden; background:#fffdf8; }
.access header { display:grid; place-items:center; padding:12px 20px 18px; border-bottom:2px solid var(--gold); background:var(--navy); color:var(--ivory); font-family:'Trajan Pro',Georgia,serif; font-weight:700; }
.access header img { box-sizing:content-box; width:96px; height:auto; padding:14.4px; }
.access section { padding:clamp(18px,5vw,32px); }
h1,h2 { font-family:'Trajan Pro',Georgia,serif; line-height:1.25; margin:0 0 8px; }
h1 { font-size:1.75rem; }
h2 { font-size:1.25rem; }
p { margin:0 0 14px; }
label { display:block; margin:12px 0 3px; font-weight:700; }
input,select,button { font:inherit; }
input,select { width:100%; padding:10px; border-radius:8px; border:1px solid #837a6a; color:inherit; background:white; }
button { min-height:44px; margin-top:16px; border-radius:8px; border:1px solid transparent; cursor:pointer; color:#fff; background:var(--burgundy); padding:8px 14px; font-weight:700; }
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible { outline:2px solid var(--burgundy); outline-offset:3px; }
a,.quiet { color:var(--burgundy); font-weight:700; }
.quiet { border-color:#e2d9c6; background:transparent; margin:0; }
.error,.notice { padding:10px; border-radius:8px; background:var(--ivory); }
.error { border-inline-start:3px solid var(--burgundy); }
.notice { border-inline-start:3px solid var(--gold); }
.notice code { display:block; overflow-wrap:anywhere; }
.account-section { margin-top:22px; padding-top:16px; border-top:1px solid #e2d9c6; }
footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; margin-top:22px; }
