.site-shell .reference-header {
  position: relative;
  z-index: 30;
  border-bottom: 0;
  background: #fff;
  backdrop-filter: none;
  color: #0b205e;
}
.site-shell :is(.reference-header, .reference-footer) > .container { width: min(1200px, calc(100% - 64px)); }
.site-shell .reference-header .header-inner { position: relative; display: flex; flex-wrap: nowrap; min-height: 74px; gap: 32px; padding-block: 8px; }
.site-shell .reference-header .brand-picture { width: 250px; }
.site-shell .reference-header .reference-nav { display: flex; align-items: center; gap: 30px; margin-left: 12px; font-size: 14px; }
.site-shell .reference-nav > a, .site-shell .home-loan-menu > summary { position: relative; display: flex; align-items: center; min-height: 44px; color: #0b205e; white-space: nowrap; font-weight: 500; }
.home-page .reference-nav > .home-nav-cards,
.site-shell .reference-nav > a[aria-current], .site-shell .home-loan-menu.is-current > summary { font-weight: 650; }
.home-page .reference-nav > .home-nav-cards::after,
.site-shell .reference-nav > a[aria-current]::after,
.site-shell .home-loan-menu.is-current > summary::before { position: absolute; right: 2px; bottom: 1px; left: 2px; height: 3px; border-radius: 2px; background: #008887; content: ""; }
.site-shell .home-loan-menu { position: relative; }
.site-shell .home-loan-menu > summary { gap: 10px; cursor: pointer; list-style: none; }
.site-shell .home-loan-menu > summary::-webkit-details-marker,
.site-shell .home-search > summary::-webkit-details-marker,
.site-shell .home-policy-links > summary::-webkit-details-marker { display: none; }
.site-shell .home-loan-menu > summary::after { width: 6px; height: 6px; margin-top: -4px; border-right: 1.5px solid; border-bottom: 1.5px solid; transform: rotate(45deg); content: ""; }
.site-shell .home-loan-menu[open] > summary::after { margin-top: 3px; transform: rotate(225deg); }
.site-shell .home-loan-links { position: absolute; top: calc(100% + 8px); left: -16px; z-index: 32; width: 230px; padding: 8px; border: 1px solid #dde6ee; border-radius: 12px; background: #fff; box-shadow: 0 12px 30px #11235d18; }
.site-shell .home-loan-links a { display: flex; align-items: center; min-height: 44px; padding: 8px 12px; border-radius: 7px; font-size: 14px; }
.site-shell .home-loan-links a:hover, .site-shell .home-search-panel a:hover, .site-shell .home-policy-links a:hover { background: #eff8f8; color: #007e80; }
.site-shell .home-loan-links a[aria-current], .site-shell .home-policy-links a[aria-current], .site-shell .reference-header .mobile-nav a[aria-current] { background: #eff8f8; color: #006f72; font-weight: 650; }
.site-shell .home-search { position: relative; flex: 0 1 240px; min-width: 150px; margin-left: auto; }
.site-shell .home-search > summary { min-height: 40px; display: flex; align-items: center; gap: 14px; padding: 7px 16px; border: 1px solid #e4ebf3; border-radius: 24px; background: #f5f8fc; color: #5b6c8e; font-size: 13px; list-style: none; cursor: pointer; }
.site-shell .home-search > summary svg { flex: 0 0 17px; width: 17px; height: 17px; fill: none; stroke: #334a82; stroke-width: 1.7; }
.site-shell .home-search-panel { position: absolute; z-index: 34; top: calc(100% + 12px); right: 0; width: 390px; max-width: calc(100vw - 40px); padding: 20px; border: 1px solid #dde6ee; border-radius: 14px; background: #fff; color: #11235d; box-shadow: 0 12px 40px #11235d20; }
.site-shell .home-search-panel label { display: block; margin-bottom: 10px; font-size: 15px; font-weight: 650; }
.site-shell .home-search-panel input { display: block; width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #bdccd9; border-radius: 8px; background: #fff; color: #11235d; font: inherit; font-size: 15px; }
.site-shell .home-search-status { margin: 10px 0 6px; color: #61718b; font-size: 12px; }
.site-shell .home-search-panel ul { max-height: min(350px, 50vh); margin: 0; padding: 0; overflow: auto; list-style: none; }
.site-shell .home-search-panel li[hidden] { display: none; }
.site-shell .home-search-panel a { display: flex; align-items: center; min-height: 44px; padding: 9px 10px; border-radius: 7px; font-size: 14px; line-height: 1.5; }
.site-shell .reference-header .nav-disclosure { display: none; }
.site-shell .reference-footer { padding: 25px 0 20px; border-top: 1px solid #f0f5f8; background: #fff; color: #102c66; }
.site-shell .reference-footer-row { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; }
.site-shell .reference-footer .brand-picture { width: 215px; }
.site-shell .reference-footer-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 26px; font-size: 12px; }
.site-shell .reference-footer-links > a, .site-shell .home-policy-links > summary { display: flex; align-items: center; min-height: 44px; padding: 0; color: #102c66; line-height: 1.5; white-space: nowrap; }
.site-shell .reference-footer-links a + a::before { display: none; }
.site-shell .home-policy-links { position: relative; grid-column: auto; font-size: inherit; }
.site-shell .home-policy-links > summary { cursor: pointer; list-style: none; }
.site-shell .home-policy-links nav { position: absolute; z-index: 20; bottom: calc(100% + 6px); right: 0; display: grid; gap: 0; width: 250px; max-width: calc(100vw - 40px); padding: 8px; border: 1px solid #dde6ee; border-radius: 12px; background: #fff; box-shadow: 0 -8px 35px #11235d18; }
.site-shell .home-policy-links nav a { min-height: 40px; padding: 8px 12px; border-radius: 6px; color: #102c66; font-size: 13px; white-space: normal; line-height: 1.5; }
.site-shell .home-product-links nav { right: auto; left: 0; max-height: min(520px, 70vh); overflow-y: auto; }
.site-shell .home-footer-caption { justify-self: end; color: #6a7797; font-size: 11px; line-height: 1.45; }
.site-shell .home-footer-caption .footer-site-note { display: flex; align-items: center; gap: 2px; margin: 0; color: inherit; font-size: inherit; }
.site-shell .home-footer-caption .info-note { margin: 0; }
.site-shell .home-footer-rule { display: block; width: 24px; height: 3px; margin: 2px 0 8px; background: #008786; }
.site-shell .home-footer-caption small { font-size: 10px; }
.site-shell .analytics-settings { padding: 0 18px 8px; background: #fff; }
.site-shell .analytics-settings:has(> button[hidden]) { display: none; }
.site-shell .analytics-settings button { color: #61718b; font-size: 11px; }
.site-shell .reference-header :is(a, summary, input):focus-visible,
.site-shell .reference-footer :is(a, summary):focus-visible { outline: 3px solid #008887; outline-offset: 4px; }
@media (max-width: 1150px) {
  .site-shell .reference-header .header-inner { gap: 23px; }
  .site-shell .reference-header .brand-picture { width: 226px; }
  .site-shell .reference-header .reference-nav { gap: 24px; margin-left: 0; font-size: 13px; }
  .site-shell .home-search { flex-basis: 205px; }
  .site-shell .reference-footer-row { gap: 22px; }
  .site-shell .reference-footer-links { gap: 20px; }
}
@media (max-width: 920px) {
  .site-shell .reference-header .reference-nav { display: none; }
  .site-shell .reference-header .nav-disclosure { display: block; margin-left: 0; }
  .site-shell .reference-header .nav-disclosure > summary { border-color: #dce6ed; color: #0b205e; font-weight: 600; }
  .site-shell .home-search { flex-basis: 210px; }
  .site-shell .reference-header .mobile-nav { z-index: 32; top: calc(100% - 2px); border-color: #dde6ee; color: #11235d; box-shadow: 0 12px 30px #11235d18; }
  .site-shell .reference-footer-row { grid-template-columns: 1fr auto; gap: 14px 24px; }
  .site-shell .home-footer-caption { grid-column: 1 / -1; justify-self: start; }
  .site-shell .home-footer-rule { display: none; }
}
@media (max-width: 960px) {
  .site-shell :is(.reference-header, .reference-footer) > .container { width: calc(100% - 48px); }
}
@media (max-width: 720px) {
  .site-shell .reference-footer-row { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .site-shell .reference-footer-links { justify-content: flex-start; }
  .site-shell .home-footer-caption { grid-column: auto; }
}
@media (max-width: 620px) {
  .site-shell :is(.reference-header, .reference-footer) > .container { width: calc(100% - 36px); }
  .site-shell .reference-header .header-inner { min-height: 68px; gap: 10px; padding-block: 8px; }
  .site-shell .reference-header .header-inner > .brand { flex: 1 1 auto; }
  .site-shell .reference-header .header-inner > .brand .brand-picture { width: 210px; max-width: 100%; }
  .site-shell .reference-header .header-inner > .brand .brand-lockup { aspect-ratio: 575 / 128; }
  .site-shell .home-search { position: static; flex: 0 0 40px; min-width: 40px; margin-left: 0; }
  .site-shell .home-search > summary { min-height: 42px; width: 42px; justify-content: center; padding: 8px; border-radius: 50%; }
  .site-shell .home-search > summary span { display: none; }
  .site-shell .home-search-panel { top: calc(100% - 2px); right: 0; width: calc(100vw - 40px); }
  .site-shell .reference-header .nav-disclosure > summary { min-width: 60px; padding-inline: 8px; font-size: 13px; }
  .site-shell .reference-footer { padding-block: 22px; }
  .site-shell .reference-footer-row { grid-template-columns: 1fr; gap: 10px; }
  .site-shell .reference-footer-links { position: relative; justify-content: flex-start; gap: 4px 20px; }
  .site-shell .home-footer-caption { grid-column: auto; }
  .site-shell .home-policy-links { position: static; }
  .site-shell .home-policy-links nav { right: auto; left: 0; width: min(330px, calc(100vw - 36px)); }
}
@media (max-width: 360px) {
  .site-shell .reference-header .header-inner { gap: 8px; }
  .site-shell .reference-header .header-inner > .brand .brand-picture { width: 170px; }
  .site-shell .reference-footer-links { gap: 16px; }
}
@media print {
  .site-shell .home-search, .site-shell .reference-nav, .site-shell .reference-header .nav-disclosure { display: none; }
  .site-shell .reference-footer { color: #111; }
}
