html { scroll-padding-top: 105px; scrollbar-gutter: stable; }
body { margin: 0; }
.site-shell { display: flex; flex-direction: column; min-height: 100dvh; }
.site-content { flex: 1 0 auto; min-width: 0; }
.skip-link { position: fixed; inset-block-start: 12px; inset-inline-start: 20px; z-index: 100; padding: 10px 18px; color: #fff; background: #102d4c; font: 700 16px/1.5 "Assistant", Arial, sans-serif; text-decoration: none; transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }
.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255, 255, 255, .97);
  border-bottom: 1px solid #dce5ed;
  color: #142e49;
  font-family: "Assistant", Arial, sans-serif;
  font-size: 18px;
  line-height: 1.65;
}
.site-header * { box-sizing: border-box; }
.site-header [hidden] { display: none !important; }
.site-header[data-session-pending] [data-site-audience] { visibility: hidden; pointer-events: none; }
.site-header a:not(.gr-button) { color: inherit; text-decoration: none; }
.site-header button:not(.gr-button) { font: inherit; cursor: pointer; }
.site-header a, .site-header button { -webkit-tap-highlight-color: transparent; }
.site-header a:focus-visible:not(.gr-button), .site-header button:focus-visible:not(.gr-button) { outline: 3px solid #075eb5; outline-offset: 5px; }
.site-header-inner { width: min(1200px, calc(100% - 2 * var(--site-gutter, 32px))); margin-inline: auto; min-height: 88px; display: flex; align-items: center; gap: 48px; }
.site-header-brand { flex-shrink: 0; display: block; }
.site-header-brand img { display: block; width: 188px; height: auto; }
.site-header-nav { display: flex; gap: 32px; align-items: center; margin-inline-start: auto; font-size: 17px; font-weight: 600; }
.site-header-nav a { padding-block: 12px; }
.site-header-nav a:hover, .site-header-login:hover { color: #075eb5; }
.site-header-nav a[aria-current="page"], .site-header-login[aria-current="page"] { color: #075eb5; box-shadow: inset 0 -3px currentColor; }
.site-header-error { max-width: 160px; font-size: 14px; color: #a32828; }
.site-header-actions { display: flex; gap: 24px; align-items: center; justify-content: flex-end; min-inline-size: 210px; font-size: 17px; font-weight: 700; }
.site-header-cta { inline-size: 146px; flex-shrink: 0; white-space: nowrap; }
.site-header .site-header-toggle { display: none; }
.site-header-mobile-login { display: none; }
.footer { --footer-blue: #075eb5; --footer-blue-dark: #08457f; --footer-navy: #102d4c; --footer-muted: #566b80; --footer-line: #dce5ed; flex-shrink: 0; color: #142e49; background: #f4f7fa; border-top: 1px solid var(--footer-line); font-family: "Assistant", Arial, sans-serif; font-size: 18px; line-height: 1.65; }
.footer, .footer * { box-sizing: border-box; }
.footer .container { width: min(1200px, calc(100% - 2 * var(--site-gutter, 32px))); margin-inline: auto; }
.footer a { color: inherit; text-decoration: none; }
.footer button { font: inherit; cursor: pointer; }
.footer a, .footer button { -webkit-tap-highlight-color: transparent; }
.footer a:focus-visible, .footer button:focus-visible { outline: 3px solid var(--footer-blue); outline-offset: 5px; }
.footer a:hover, .footer button:hover { color: var(--footer-blue); }
.footer-main { display: grid; grid-template-columns: 1.7fr 1fr 1fr 1fr; gap: 56px; padding-block: 60px 50px; }
.footer-brand img { display: block; width: 186px; height: auto; }
.footer-brand p { max-width: 245px; margin: 13px 0 0; color: var(--footer-muted); font-size: 17px; }
.footer-heading { margin: 0 0 19px; color: var(--footer-navy); font-size: 17px; font-weight: 800; line-height: 1.15; }
.footer-links { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; color: var(--footer-muted); font-size: 16px; }
.footer-links button { padding: 0; border: 0; color: inherit; background: none; text-align: start; line-height: inherit; }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding-block: 20px; color: var(--footer-muted); border-top: 1px solid var(--footer-line); font-size: 14px; }
.back-top { display: inline-flex; align-items: center; gap: 10px; }
@media (max-width: 1050px) {
  .site-header-inner { gap: 24px; }
  .site-header-nav { gap: 20px; }
  .site-header-brand img { width: 160px; }
  .site-header-actions { gap: 18px; }
  .footer-main { gap: 30px; }
}
@media (max-width: 800px) {
  html { scroll-padding-top: 90px; }
  .site-header-inner { min-height: 74px; gap: 15px; display: grid; grid-template-columns: 44px minmax(0, 1fr) 146px; }
  .site-header-brand img { width: min(145px, 100%); }
  .site-header-actions { min-inline-size: 146px; }
  .site-header-login { display: none; }
  .site-header .site-header-toggle { display: inline-flex; }
  .site-header-nav { display: none; grid-column: 1 / -1; order: 4; width: 100%; margin: 0; flex-direction: column; align-items: stretch; gap: 0; padding-bottom: 15px; }
  .site-header-nav.is-open { display: flex; }
  .site-header-nav a { padding: 10px; border-top: 1px solid #dce5ed; }
  .site-header-nav a[aria-current="page"] { background: #eaf3fc; border-inline-start: 3px solid currentColor; box-shadow: none; }
  .site-header-mobile-login { display: block; }
  .footer-main { grid-template-columns: repeat(3, 1fr); gap: 36px 20px; padding-block: 42px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-brand p { max-width: none; }
}
@media (max-width: 480px) {
  .site-header-inner { gap: 10px; }
  .site-header-brand img { width: min(126px, 100%); }
  .site-header-cta span { display: none; }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
}
