@font-face{font-family:"Instrument Serif";src:url(/assets/fonts/instrument-serif-italic.woff2) format("woff2");font-style:italic;font-weight:400;font-display:swap}
:root {
  /* Night, the site's default */
  --nlm-page: #050B10;
  --nlm-glow-a: rgba(36, 92, 112, 0.30);
  --nlm-glow-b: rgba(168, 122, 60, 0.17);
  --nlm-glow-c: rgba(20, 48, 68, 0.45);
  --nlm-stars: 0.95;
  --nlm-ink: #EFF3F5;
  --nlm-soft: #A9B6BF;
  --nlm-line: #293641;
  --nlm-gold: #D1B275;
  --nlm-chip-on: rgba(209, 178, 117, 0.12);
  --nlm-monogram: #DEDACC;
  --nlm-dot: #C9AF79;
  --nlm-orbit-gold: #C9AF79;
  --nlm-orbit-teal: #5C9AA2;
  --nlm-orbit-slate: #8FA3AE;
  --nlm-halo: rgba(209, 178, 117, 0.55);
  --nlm-serif: "Instrument Serif", "Iowan Old Style", Georgia, "Times New Roman", serif;
  --nlm-sans: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    --nlm-page: #C7CBCF;
    --nlm-glow-a: rgba(255, 255, 255, 0.88);
    --nlm-glow-b: rgba(255, 255, 255, 0.6);
    --nlm-glow-c: rgba(236, 241, 244, 0.55);
    --nlm-stars: 0.5;
    --nlm-ink: #12232E;
    --nlm-soft: #3F5361;
    --nlm-line: #A3B2BC;
    --nlm-gold: #8E6B2E;
    --nlm-chip-on: rgba(142, 107, 46, 0.12);
    --nlm-monogram: #314854;
    --nlm-dot: #CDB27A;
    --nlm-orbit-gold: #B4975E;
    --nlm-orbit-teal: #5E8E97;
    --nlm-orbit-slate: #73899A;
    --nlm-halo: rgba(180, 151, 94, 0.5);
  }
}
:root[data-theme="light"] {
  --nlm-page: #C7CBCF;
  --nlm-glow-a: rgba(255, 255, 255, 0.88);
  --nlm-glow-b: rgba(255, 255, 255, 0.6);
  --nlm-glow-c: rgba(236, 241, 244, 0.55);
  --nlm-stars: 0.5;
  --nlm-ink: #12232E;
  --nlm-soft: #3F5361;
  --nlm-line: #A3B2BC;
  --nlm-gold: #8E6B2E;
  --nlm-chip-on: rgba(142, 107, 46, 0.12);
  --nlm-monogram: #314854;
  --nlm-dot: #CDB27A;
  --nlm-orbit-gold: #B4975E;
  --nlm-orbit-teal: #5E8E97;
  --nlm-orbit-slate: #73899A;
  --nlm-halo: rgba(180, 151, 94, 0.5);
}

/* ---- the mark ---- */
.nl-mark {
  --nl-mark-size: clamp(232px, 70vw, 400px);
  position: relative;
  width: var(--nl-mark-size);
  height: var(--nl-mark-size);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: none;
  color: var(--nlm-monogram);
  display: grid;
  place-items: center;
  overflow: visible;
  font: inherit;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.nl-mark:focus-visible { outline: 2px solid var(--nlm-gold); outline-offset: 4px; }
.nl-mark__orbits {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  opacity: 0.9;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.nl-mark:hover .nl-mark__orbits { opacity: 1; }
.nl-mark__orbits ellipse, .nl-mark__ring { fill: none; stroke-width: 2.2; }
.nl-mark__planet { stroke: none; }
.nl-mark__planet--gold { fill: var(--nlm-orbit-gold); }
.nl-mark__planet--teal { fill: var(--nlm-orbit-teal); }
.nl-mark__planet--slate { fill: var(--nlm-orbit-slate); }
.nl-mark__g-gold stop { stop-color: var(--nlm-orbit-gold); }
.nl-mark__g-teal stop { stop-color: var(--nlm-orbit-teal); }
.nl-mark__g-slate stop { stop-color: var(--nlm-orbit-slate); }
.nl-mark__orbits .s0 { stop-opacity: 0; }
.nl-mark__orbits .s1 { stop-opacity: 0.95; }
.nl-mark__orbits .s2 { stop-opacity: 0.45; }
.nl-mark__ripple { fill: none; }
.nl-mark__ripple--1 { stroke: var(--nlm-orbit-gold); }
.nl-mark__ripple--2 { stroke: var(--nlm-orbit-teal); }
.nl-mark__ripple--3 { stroke: var(--nlm-orbit-slate); }

/* The logo slot: any N fits here (text, inline SVG or an image), sized from the mark. */
.nl-mark__logo {
  position: relative;
  display: grid;
  place-items: center;
  font-size: calc(var(--nl-mark-size) * 0.28);
  line-height: 1;
  color: var(--nlm-monogram);
  pointer-events: none;
}
.nl-mark__logo svg, .nl-mark__logo img { display: block; width: 0.9em; height: 0.9em; object-fit: contain; }
.nl-mark__n {
  padding: 0 0.08em;
  font-family: var(--nlm-serif);
  font-style: italic;
  font-weight: 400;
  font-size: 1em;
  line-height: 0.9;
  letter-spacing: -0.02em;
}
.nl-mark__dot { margin-left: 0.04em; font-size: 0.58em; font-style: normal; color: var(--nlm-dot); }
.nl-mark__dot-shape { fill: var(--nlm-dot); }
.nl-mark__logo.is-chiming { animation: nl-mark-glow 1.5s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
@keyframes nl-mark-glow {
  0% { transform: scale(1); filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0)); }
  16% { transform: scale(1.05); filter: drop-shadow(0 0 14px var(--nlm-halo)); }
  100% { transform: scale(1); filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0)); }
}

.nl-mark-hint {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 600 10.5px/1.3 var(--nlm-sans);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--nlm-soft);
}
.nl-mark-hint svg { flex: none; color: var(--nlm-gold); }

@media (prefers-reduced-motion: reduce) {
  .nl-mark__orbits { transition: none; }
  .nl-mark__logo.is-chiming { animation-name: nl-mark-glow-still; }
  @keyframes nl-mark-glow-still {
    0%, 100% { filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0)); }
    16% { filter: drop-shadow(0 0 14px var(--nlm-halo)); }
  }
}

.signature-placement{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;isolation:isolate}
.signature-login .nl-mark{--nl-mark-size:clamp(180px,48vw,260px)}
.signature-signoff .nl-mark{--nl-mark-size:clamp(200px,56vw,300px)}
.signature-signoff{padding:20px 20px 65px;position:relative;z-index:1;background:var(--bg)}
.login-introduction{display:grid;grid-template-columns:260px minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,70px);margin-bottom:3rem}
.login-introduction .access-heading{margin-bottom:0}
.nl-mark-hint{font-family:Arial,Helvetica,sans-serif}
@media(max-width:760px){.login-introduction{grid-template-columns:1fr;gap:18px}.signature-login{justify-self:center}.login-introduction .access-heading{width:100%}.access-shell:has(.login-introduction){padding-top:2.5rem}.signature-signoff{padding-bottom:45px}}
@media print{.signature-placement{display:none}}
