/* TM-REGISTER v1.38: canonical public navigation geometry, shared across STAGE.
   Each page retains its own content typography, cards, and other styles. */
html body { margin: 0 !important; padding: 0 !important; }
body > .page {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 1512px !important;
  margin: 0 auto !important;
  padding: 15px clamp(15px, 3vw, 47px) 30px !important;
}
body > .page > .site-nav {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  height: 68px !important;
  min-height: 68px !important;
  margin: 0 !important;
  padding: 0 20px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  position: relative !important;
  z-index: 50 !important;
  border: 1px solid #174372 !important;
  border-radius: 15px !important;
  background: rgba(3,17,41,.86) !important;
  box-shadow: 0 6px 28px rgba(0,65,180,.10) !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  color: #f4f7ff !important;
}
body > .page > .site-nav .site-brand {
  box-sizing: border-box !important; display: flex !important; align-items: center !important;
  gap: 10px !important; flex: 0 0 auto !important; min-width: max-content !important;
  margin: 0 !important; text-decoration: none !important;
}
body > .page > .site-nav .site-brand img {
  display: block !important; width: 43px !important; height: 43px !important;
  flex: 0 0 43px !important; padding: 0 !important;
  object-fit: contain !important; border: 0 !important; box-shadow: none !important;
}
body > .page > .site-nav .site-brand strong {
  display: inline !important; margin: 0 !important; padding: 0 !important;
  font-size: 14px !important; letter-spacing: .14em !important;
  line-height: 1.2 !important; font-weight: 850 !important; color: #fff !important;
}
body > .page > .site-nav .site-links {
  display: flex; align-items: center !important; gap: clamp(7px,1.1vw,19px) !important;
  flex-wrap: nowrap !important; margin: 0 !important; padding: 0 !important;
  background: transparent; border: 0; box-shadow: none;
}
body > .page > .site-nav .site-links > a {
  display: inline-flex; align-items: center; white-space: nowrap; padding: 0;
  margin: 0; font-size: 12px !important; line-height: 1.25 !important;
  font-weight: 500; color: #cbd9ed; text-decoration: none !important;
}
body > .page > .site-nav .site-links > a:hover,
body > .page > .site-nav .site-links > a[aria-current="page"] {color: #5ddaff !important;}
body > .page > .site-nav .site-links > a[aria-current="page"] {font-weight: 750 !important;}
body > .page > .site-nav .site-links > a.account {
  gap: 10px !important; padding: 10px 16px !important;
  border: 1px solid #218df5 !important; border-radius: 10px !important;
  color: #fff !important; font-weight: 750 !important;
}
body > .page > .site-nav .site-links .account svg {width: 18px; height: 18px;}
body > .page > .site-nav .menu-toggle {
  display: none; padding: 9px; line-height: 0; color: #eaf5ff;
  border: 1px solid #27518a; background: #0a1c38; border-radius: 9px;
}
body > .page > .site-nav .menu-toggle svg {width: 22px; height: 22px;}
@media(max-width:1200px) {
  body > .page > .site-nav {padding: 0 13px !important;}
  body > .page > .site-nav .site-links {gap: 9px !important;}
  body > .page > .site-nav .site-links > a {font-size: 11px !important;}
}
@media(max-width:980px) {
  body > .page > .site-nav .site-links {
    display: none; position: absolute; top: 73px; left: 0; right: 0;
    flex-direction: column !important; align-items: stretch !important;
    gap: 0 !important; padding: 9px 15px 15px !important;
    background: #06162f !important; border: 1px solid #23508b !important;
    border-radius: 14px !important; box-shadow: 0 19px 30px rgba(0,0,0,.52) !important;
  }
  body > .page > .site-nav .site-links.is-open {display: flex !important;}
  body > .page > .site-nav .site-links > a,
  body > .page > .site-nav .site-links > a.account {padding: 12px !important; font-size: 14px !important; border-radius: 9px !important;}
  body > .page > .site-nav .menu-toggle {display: block !important;}
}
@media(max-width:680px) {
  body > .page {padding: 12px 15px 20px !important;}
  body > .page > .site-nav {height: 60px !important; min-height: 60px !important; padding: 0 12px !important;}
  body > .page > .site-nav .site-brand img {width: 40px !important; height: 40px !important; flex-basis: 40px !important;}
  body > .page > .site-nav .site-brand strong {font-size: 12px !important;}
  body > .page > .site-nav .site-links {top: 65px;}
}
/* Shared public footer: fixed horizontal geometry, regardless of page-local CSS. */
body > .page > .site-bottom {
  display: block !important; box-sizing: border-box !important;
  width: 100% !important; max-width: none !important;
  margin: 18px 0 0 !important; padding: 18px 0 4px !important;
  border-top: 1px solid rgba(40,110,218,.26) !important;
  background: transparent !important; border-radius: 0 !important;
}
body > .page > .site-bottom .quick-links {
  display: flex !important; flex-wrap: wrap !important;
  justify-content: center !important; gap: 15px !important;
  margin: 0 0 8px !important; padding: 0 !important;
}
body > .page > .site-bottom .quick-links a {
  font-size: 12px !important; font-weight: 500 !important;
  color: #a6d6ff !important; text-decoration: none !important;
}
body > .page > .site-bottom p {
  margin: 6px auto !important; max-width: 970px !important;
  color: #8fa1bb !important; font-size: 11px !important;
  font-weight: 400 !important; line-height: 1.57 !important; text-align: center !important;
}
body > .page > .tmr-site-footer {
  display: block !important; width: 100% !important; max-width: 1160px !important;
  margin: 16px auto 0 !important; padding: 15px 0 6px !important;
  border-top: 1px solid rgba(43,106,198,.20) !important;
  color: #8fa4c4 !important; background: transparent !important;
  font-size: 10px !important; line-height: 1.9 !important;
  font-weight: 400 !important; text-align: center !important;
}
body > .page > .tmr-site-footer a {
  color: #a7c6e7 !important; font: inherit !important; text-decoration: none !important;
}
body > .page > .tmr-site-footer a:hover,
body > .page > .site-bottom .quick-links a:hover {text-decoration: underline !important;}
/* The reusable SVG icon libraries must never occupy layout space. */
svg.sr-only, svg.tmr-circle-component-icons {
  position: absolute !important; display: block !important;
  width: 0 !important; height: 0 !important; min-width: 0 !important;
  overflow: hidden !important; pointer-events: none !important;
}
