/* ─────────────────────────────────────────────────────────────
   Shared site chrome for the 2026-07 brand system.
   Loaded AFTER site.css and each page's inline styles, so it owns
   the announcement bar, floating pill nav, navy footer, and the
   brand buttons that ship inside that chrome. Legacy per-page
   styles keep styling the page bodies until each page is rebuilt.
   navy #0A2342 · azure #2F6BFF · white
   ───────────────────────────────────────────────────────────── */
:root {
  --rs-navy-950: #071830;
  --rs-navy-900: #0A2342;
  --rs-navy-800: #0E2D55;
  --rs-azure: #2F6BFF;
  --rs-azure-600: #2456D9;
  --rs-ink: #0A2342;
  --rs-body: #46546E;
  --rs-muted: #7C8AA5;
  --rs-line: #E3E9F2;
  --rs-bg-soft: #F7F9FC;
}

/* Eyebrow/kicker labels are retired site-wide: they restate the heading. */
.eyebrow, .kicker { display: none !important; }

/* ---- Buttons used by the chrome ---- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 50px; padding: 0 26px; border-radius: 999px;
  font-weight: 600; font-size: 15px; white-space: nowrap;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .15s ease, box-shadow .2s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn-azure {
  background: linear-gradient(180deg, #4A7EFF 0%, #2F6BFF 58%, #2A62F0 100%);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.22), 0 1px 2px rgba(7,24,48,0.2);
}
.btn-azure:hover { background: linear-gradient(180deg, #3D71F2 0%, #2456D9 60%, #204FC8 100%); }
.btn-sm { height: 42px; padding: 0 20px; font-size: 14px; }
.arrow { flex: none; }

/* ---- Announcement bar ---- */
.annc {
  background: var(--rs-navy-950); color: #8AA3CF;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 11.5px; letter-spacing: 0.04em;
}
.annc a {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  padding: 10px 16px; transition: color .15s ease;
  white-space: nowrap; overflow: hidden; text-decoration: none; color: inherit;
}
.annc a:hover { color: #fff; }
.annc .chip {
  flex: none; background: var(--rs-azure); color: #fff; font-weight: 700; font-size: 10px;
  letter-spacing: 0.1em; padding: 2px 8px; border-radius: 999px;
}
.annc .annc-txt { overflow: hidden; text-overflow: ellipsis; }

/* ---- Floating pill nav (dark form: sub pages are light from the top) ---- */
.nav-shell { position: fixed; inset-inline: 0; top: 48px; z-index: 50; padding: 0 16px; }
.nav-pill {
  max-width: 1200px; margin: 0 auto; height: 62px;
  display: flex; align-items: center; gap: 28px;
  border-radius: 999px; padding: 0 12px 0 24px;
  transition: box-shadow .25s ease;
}
.nav-pill.nav-dark {
  background: var(--rs-navy-900);
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: 0 2px 4px rgba(7,24,48,0.18), 0 24px 54px -22px rgba(7,24,48,0.55);
}
.nav-pill.nav-dark.scrolled { box-shadow: 0 3px 6px rgba(7,24,48,0.2), 0 28px 60px -22px rgba(7,24,48,0.62); }
.nav-brand { display: flex; align-items: center; gap: 10px; flex: none; text-decoration: none; }
.nav-brand img { height: 30px; width: 30px; display: block; }
.nav-name {
  font-family: "Plus Jakarta Sans", Inter, system-ui, sans-serif;
  font-weight: 700; font-size: 18.5px; letter-spacing: -0.02em; color: #fff;
}
.nav-links { display: none; align-items: center; gap: 26px; font-size: 14.5px; font-weight: 500; color: #C7D3EC; list-style: none; margin: 0; padding: 0; }
.nav-links a { transition: color .15s ease; text-decoration: none; color: inherit; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: #fff; }
.nav-cta { margin-left: auto; display: flex; align-items: center; gap: 6px; }
.nav-signin { display: none; font-size: 14.5px; font-weight: 500; color: #C7D3EC; padding: 0 12px; transition: color .15s ease; text-decoration: none; }
.nav-signin:hover { color: #fff; }
.nav-pill .menu-btn {
  display: grid; place-items: center; width: 42px; height: 42px;
  border-radius: 999px; border: 1px solid rgba(255,255,255,0.24); color: #fff;
  background: none; cursor: pointer;
}
@media (min-width: 1024px) {
  .nav-links { display: flex; }
  .nav-signin { display: inline-block; }
  .nav-pill .menu-btn { display: none; }
}

/* ---- Navy footer (the page visibly ends on brand color) ---- */
footer.rs-foot { background: var(--rs-navy-900); padding: 76px 24px 40px; }
.rs-foot .wrap { max-width: 1200px; margin: 0 auto; }
.rs-foot .foot-grid { display: grid; gap: 40px; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 720px) { .rs-foot .foot-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1100px) { .rs-foot .foot-grid { grid-template-columns: 1.7fr repeat(5, 1fr); } }
.rs-foot .foot-brand { grid-column: 1 / -1; max-width: 320px; }
@media (min-width: 1100px) { .rs-foot .foot-brand { grid-column: auto; } }
.rs-foot .brand-lockup { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.rs-foot .brand-lockup img { height: 26px; width: 26px; display: block; }
.rs-foot .brand-lockup span { font-family: "Plus Jakarta Sans", Inter, system-ui, sans-serif; font-weight: 700; font-size: 18px; letter-spacing: -0.02em; color: #fff; }
.rs-foot .foot-brand > p { margin: 16px 0 0; font-size: 14px; line-height: 1.6; color: #9FB2D4; }
.rs-foot .foot-social { margin-top: 20px; display: flex; gap: 16px; color: #7E8FB0; }
.rs-foot .foot-social a { transition: color .15s ease; color: inherit; }
.rs-foot .foot-social a:hover { color: #fff; }
.rs-foot .foot-social svg { display: block; }
.rs-foot .foot-col .cap {
  margin: 0; font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: #7E8FB0;
}
.rs-foot .foot-col ul { margin: 16px 0 0; padding: 0; list-style: none; display: grid; gap: 11px; font-size: 14px; font-weight: 500; color: #C7D3EC; }
.rs-foot .foot-col a { transition: color .15s ease; text-decoration: none; color: inherit; }
.rs-foot .foot-col a:hover { color: #fff; }
.rs-foot .foot-bottom {
  margin-top: 56px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.12);
  display: flex; flex-direction: column; gap: 8px;
  font-size: 12.5px; color: #7E8FB0;
}
.rs-foot .foot-bottom p { margin: 0; }
.rs-foot .foot-bottom .mono { font-family: "JetBrains Mono", ui-monospace, monospace; }
@media (min-width: 640px) { .rs-foot .foot-bottom { flex-direction: row; align-items: center; justify-content: space-between; } }
