/* Shared navigation: scoped to the component, independent of page CSS. */
.sb-site-header { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.sb-site-header .brand { white-space: nowrap; }
.sb-primary-nav { display: flex; align-items: center; gap: 18px; }
.sb-primary-nav a { display: inline-flex; align-items: center; min-height: 44px; color: #404c65; text-decoration: none; font-size: .84rem; font-weight: 700; white-space: nowrap; }
.sb-site-header a[aria-current="page"] { text-decoration: underline; text-underline-offset: .4em; }
.sb-site-header .sb-partners-link { padding-inline: 13px; border: 1px solid #d4d1fb; border-radius: 10px; background: #eeefff; color: #3730a3; }
.sb-site-header .sb-account-link { padding-inline: 13px; border: 1px solid #c8d1e2; border-radius: 10px; color: #28334c; }
.sb-site-header .mobile-nav { display: none; }
.sb-site-header .mobile-nav { position: relative; }
.sb-site-header .mobile-nav-toggle { min-height: 44px; display: inline-flex; align-items: center; gap: 9px; padding: 8px 11px; border: 1px solid #c8d1e2; border-radius: 10px; color: #303a52; background: white; cursor: pointer; font-size: .82rem; font-weight: 760; list-style: none; }
.sb-site-header .mobile-nav-toggle::-webkit-details-marker { display: none; }
.sb-site-header .mobile-nav-toggle::marker { content: ""; }
.sb-site-header .mobile-nav-icon { width: 19px; display: grid; gap: 4px; }
.sb-site-header .mobile-nav-icon > span { height: 2px; border-radius: 2px; background: currentColor; }
.sb-site-header .mobile-nav-menu { position: absolute; z-index: 60; top: calc(100% + 10px); right: 0; width: min(280px, calc(100vw - 28px)); display: grid; gap: 4px; padding: 9px; border: 1px solid #d9e0ec; border-radius: 13px; background: white; box-shadow: 0 20px 50px rgba(25, 35, 63, .18); }
.sb-site-header .mobile-nav-menu a { min-height: 44px; display: flex; align-items: center; padding: 9px 12px; border-radius: 8px; color: #303a52; text-decoration: none; font-size: .88rem; font-weight: 720; }
.sb-site-header .mobile-nav-menu { max-height: min(75vh, 560px); overflow-y: auto; }
.sb-site-header :where(a, summary):focus-visible { outline: 3px solid #675ff0; outline-offset: 3px; }
.sb-site-footer { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(0, 1.3fr); gap: 24px 40px; padding: 34px 0 24px; }
.sb-site-footer > div p, .sb-footer-legal { margin: 12px 0 0; color: #545f75; font-size: .78rem; }
.sb-site-footer nav { display: flex; flex-wrap: wrap; align-content: start; justify-content: flex-end; gap: 6px 22px; }
.sb-site-footer nav a { display: inline-flex; align-items: center; min-height: 36px; color: #404c65; font-size: .82rem; }
.sb-footer-legal { grid-column: 1 / -1; border-top: 1px solid #d9e0ec; padding-top: 18px; }
@media (max-width: 1100px) {
  .sb-site-header .sb-primary-nav { display: none; }
  .sb-site-header .mobile-nav { display: block; }
}
@media (max-width: 680px) {
  .sb-site-header { min-height: 72px; gap: 12px; }
  .sb-site-footer { grid-template-columns: minmax(0, 1fr); }
  .sb-site-footer nav { justify-content: flex-start; }
}
@media (forced-colors: active) { .sb-site-header a { border-color: ButtonText; } }
/* GROWTH-01: a compact labelled promotion, not an overlay or form gate. */
.partner-promo { margin: 18px 0 0; padding: 13px 17px; border: 1px solid #d9def0; border-radius: 12px; color: #303a52; background: #f0f2fb; }
.partner-promo p { margin: 0; }
.partner-promo-copy { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; font-size: .87rem; line-height: 1.5; }
.partner-promo-label { color: #525c75; font-size: .63rem; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
.partner-promo a { color: #3730a3; font-weight: 720; text-underline-offset: 3px; }
.partner-promo-fine { margin-top: 5px !important; color: #525c75; font-size: .73rem; line-height: 1.5; }
.partner-promo :focus-visible { outline: 3px solid #4f46e5; outline-offset: 4px; border-radius: 2px; }
@media (max-width: 520px) { .partner-promo { padding: 12px 14px; } .partner-promo-copy { gap: 4px 9px; } .partner-promo-label { flex-basis: 100%; } }
@media (forced-colors: active) { .partner-promo { border-color: CanvasText; } .partner-promo a { color: LinkText; } }
