/* Shared page title and navigation. Explicit units isolate the shell from legacy rem sizing. */
html { scroll-padding-top: 90px; }
html body .main h1 {
 font-family: Lato, Arial, sans-serif !important;
 font-size: 42px !important; font-weight: 700 !important; line-height: 1.18 !important;
 letter-spacing: -1px !important; color: #203b45 !important;
}
html body #main-content.main { padding-top: 28px !important; }
html body > header#financ-header {
 position: sticky; top: 0; left: 0; width: 100%; max-width: none;
 height: auto; margin: 0; background: #203b45; color: white;
 text-align: left; z-index: 10000; box-shadow: 0 1px 0 #ffffff18, 0 3px 15px #152e3912;
 font: 400 16px/1.4 Lato, Arial, sans-serif;
}
#financ-header::before { display: none; }
#financ-header *, #financ-header *::before, #financ-header *::after { box-sizing: border-box; }
#financ-header .fn-bar { max-width: 1180px; margin: auto; padding: 0 24px; min-height: 76px; display: flex; align-items: center; gap: 24px; }
#financ-header .fn-brand { display: flex; align-items: center; margin-right: auto; min-height: 48px; flex-shrink: 0; }
#financ-header .fn-brand img { position: static; width: 130px; height: auto; margin: 0; display: block; }
#financ-header .fn-shortcuts { display: flex; align-items: center; gap: 6px; }
#financ-header a { color: white; text-decoration: none; }
#financ-header .fn-shortcuts a { display: flex; align-items: center; min-height: 44px; padding: 10px 15px; border-radius: 10px; font-size: 16px; font-weight: 600; }
#financ-header .fn-shortcuts a:hover, #financ-header .fn-shortcuts a[aria-current] { background: #ffffff14; color: #b5edda; }
#financ-header .fn-menu-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 10px 16px; margin: 0; border: 1px solid #ffffff40; border-radius: 10px; background: transparent; color: white; font: 700 16px/1.4 Lato, Arial, sans-serif; cursor: pointer; }
#financ-header .fn-menu-button:hover, #financ-header .fn-menu-button[aria-expanded=true] { background: #ffffff14; border-color: #91d8bf; }
#financ-header .fn-menu-icon { width: 18px; height: 12px; border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; position: relative; }
#financ-header .fn-menu-icon::before { content: ''; position: absolute; top: 3px; left: 0; width: 18px; border-top: 2px solid currentColor; }
#financ-header .fn-menu-button[aria-expanded=true] .fn-menu-icon { border-color: transparent; }
#financ-header .fn-menu-button[aria-expanded=true] .fn-menu-icon::before, #financ-header .fn-menu-button[aria-expanded=true] .fn-menu-icon::after { content: ''; position: absolute; top: 3px; left: 0; width: 18px; border-top: 2px solid currentColor; transform: rotate(45deg); }
#financ-header .fn-menu-button[aria-expanded=true] .fn-menu-icon::after { transform: rotate(-45deg); }
#financ-navigation { background: #fff; color: #203b45; border-top: 1px solid #dae4e5; max-height: calc(100vh - 76px); max-height: calc(100dvh - 76px); overflow-y: auto; overscroll-behavior: contain; box-shadow: 0 12px 24px #203b4520; }
#financ-navigation[hidden] { display: none; }
#financ-header .fn-navigation-inner { max-width: 1180px; margin: auto; padding: 28px 24px 32px; display: grid; grid-template-columns: 1.2fr 1fr 1.2fr 1fr; gap: 28px; }
#financ-header .fn-nav-group summary { font: 700 16px/1.4 Lato, Arial, sans-serif; color: #203b45; margin: 0 0 12px; padding: 0 0 12px; cursor: pointer; border-bottom: 1px solid #e3ebeb; }
#financ-header .fn-nav-group ul { margin: 0; padding: 0; list-style: none; }
#financ-header .fn-nav-group li { margin: 0; padding: 0; }
#financ-header .fn-nav-group a { display: block; padding: 11px 10px; margin: 0 -10px; border-radius: 8px; color: #36525b; font-size: 15px; line-height: 22px; min-height: 44px; }
#financ-header .fn-nav-group a:hover, #financ-header .fn-nav-group a[aria-current] { background: #edf6f2; color: #126348; }
#financ-header a:focus-visible, #financ-header button:focus-visible { outline: 3px solid #6fd6b0; outline-offset: 3px; }
.fn-skip { position: fixed; top: -100px; left: 16px; z-index: 10001; padding: 12px 18px; background: white; color: #203b45; border-radius: 8px; font: 700 16px/1.4 Lato, Arial, sans-serif; }
.fn-skip:focus { top: 12px; }
#main-content:focus { outline: none; }
@media (max-width: 850px) {
 #financ-header .fn-bar { min-height: 64px; padding: 0 16px; gap: 14px; }
 #financ-header .fn-shortcuts { display: none; }
 #financ-header .fn-navigation-inner { grid-template-columns: 1fr 1fr; padding: 24px 20px; gap: 26px; }
 #financ-navigation { max-height: calc(100vh - 64px); max-height: calc(100dvh - 64px); }
}
@media (max-width: 600px) {
 html body .main h1 { font-size: 33px !important; letter-spacing: -.8px !important; }
 html body #main-content.main { padding-top: 20px !important; }
 #financ-header .fn-brand img { width: 120px; }
 #financ-header .fn-navigation-inner { grid-template-columns: 1fr; }
 #financ-header .fn-nav-group a { font-size: 16px; }
}

#financ-header .fn-nav-group { background: transparent; }
#financ-header .fn-nav-group[open] summary, #financ-header .fn-nav-group summary:hover { background: transparent; }
#financ-header summary:focus-visible { outline: 3px solid #148563; outline-offset: 4px; }
#financ-header .fn-mobile-shortcuts { display: none; }
@media (max-width: 600px) {
 #financ-header .fn-mobile-shortcuts { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 20px 20px 0; }
 #financ-header .fn-mobile-shortcuts a { padding: 12px; min-height: 46px; background: #edf6f2; border-radius: 10px; color: #235b48; text-align: center; font-weight: 700; }
 #financ-header .fn-navigation-inner { gap: 12px; }
 #financ-header .fn-nav-group summary { padding: 14px 0; margin: 0; font-size: 17px; min-height: 48px; }
 #financ-header .fn-nav-group ul { padding-top: 8px; }
}
/* Clip wide legacy decorations without creating a scroll container for the sticky header. */
html body { overflow-x: clip; }
