/* Riverstone brand palette (from riverstone-portals tailwind.config.ts) */
:root {
  --river: #15283d; --deep: #0b1623; --ink: #0f1c2a;
  --ochre: #c5a173; --ochre-ink: #7d5f35;
  --paper: #f5f1ea; --paper-2: #ede7dc; --dim: #5a6473;
}
*, *::before, *::after { box-sizing: border-box; }
html { font-size: 100%; }
body {
  margin: 0; min-height: 100vh; display: flex; flex-direction: column;
  background: var(--paper); color: var(--ink);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  line-height: 1.5;
}
.skip { position: absolute; left: -9999px; top: 0; }
.skip:focus { left: 1rem; top: 1rem; z-index: 10; background: #fff; color: var(--river); padding: .5rem 1rem; border: 2px solid var(--river); }
.top { padding: 2.5rem 1.5rem 1rem; text-align: center; }
/* Official lockup, as on riverstoneservicing.com: mark + wordmark ("-light" files = for light backgrounds) */
.lockup { display: inline-flex; align-items: center; gap: .9rem; max-width: 92vw; }
.lk-mark { height: 72px; width: auto; }
.lk-word { height: 44px; width: auto; max-width: 70vw; object-fit: contain; }
@media (max-width: 420px) { .lk-mark { height: 52px; } .lk-word { height: 30px; } }
main { flex: 1; width: 100%; max-width: 44rem; margin: 0 auto; padding: 1rem 1.5rem 3rem; text-align: center; }
h1 { font-size: 1.75rem; font-weight: 600; color: var(--river); margin: 1rem 0 .5rem; }
.lede { color: var(--dim); margin: 0 0 2rem; font-size: 1.0625rem; }
.choices { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 36rem) { .choices { grid-template-columns: 1fr 1fr; } }
.choice {
  display: flex; flex-direction: column; gap: .25rem; align-items: center; justify-content: center;
  min-height: 7rem; padding: 1.25rem 1rem; border-radius: .5rem;
  background: var(--river); color: #fff; text-decoration: none;
  border: 2px solid var(--river); border-bottom: 4px solid var(--ochre);
  transition: background-color .15s ease;
}
.choice:hover { background: var(--deep); }
.choice:focus-visible { outline: 3px solid var(--ochre-ink); outline-offset: 3px; }
.choice-title { font-size: 1.375rem; font-weight: 600; }
.choice-sub { font-size: .9375rem; color: #e3dacb; }
.foot { text-align: center; padding: 1.5rem; color: var(--dim); font-size: .9375rem; border-top: 1px solid var(--paper-2); }
.foot p { margin: .25rem 0; }
.foot a { color: var(--river); }
.foot a:focus-visible { outline: 3px solid var(--ochre-ink); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .choice { transition: none; } }
/* Staff sign-in: modest footer link */
.foot .staff { margin-top: .75rem; font-size: .8125rem; }
.foot .staff a { color: var(--dim); }
.foot .staff a:hover { color: var(--river); }
