/* One site hierarchy, with distinct controls for pages and in-page contents. */
:root {
  --inc-navigation-height: 80px
}

html {
  scroll-padding-top: calc(var(--inc-navigation-height) + 16px)
}

/* Keep every header state above the page-dimming layer, including after scroll. */
.inc-b .inc-global-header,
.inc-b .inc-global-header.scrolled,
.inc-b .inc-global-header.menu-open {
  z-index: 210;
  height: var(--inc-navigation-height);
  padding-block: 0;
  align-items: center;
  isolation: isolate
}

.inc-b .header.inc-global-header,
.inc-b .header.inc-global-header.scrolled,
.inc-b .header.inc-global-header.menu-open {
  position: sticky;
  inset: 0 0 auto
}

.inc-b .site-header.inc-global-header {
  position: fixed;
  inset: 0 0 auto;
  padding-inline: 4.2%;
  gap: 24px;
  box-shadow: none
}

.inc-b .inc-global-header .inc-global-nav {
  display: flex;
  position: static;
  align-items: center;
  gap: clamp(7px, 1vw, 15px);
  margin: 0 0 0 auto;
  padding: 0;
  white-space: normal;
  line-height: 1.5
}

.inc-b .inc-nav-item {
  position: static;
  min-width: 0
}

.inc-b .inc-nav-heading {
  display: flex;
  align-items: center;
  gap: 1px;
  min-height: 48px
}

.inc-b .inc-nav-category {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .055em;
  white-space: nowrap;
  padding: 8px 2px !important;
  border: 0 !important;
  text-decoration: none;
  color: inherit
}

.inc-b .inc-nav-category small {
  display: none
}

.inc-b .inc-nav-category i {
  font-style: normal;
  font-size: 12px;
  letter-spacing: 0;
  opacity: .75
}

.inc-b .inc-global-header .inc-nav-category.current,
.inc-b .inc-nav-item.is-expanded>.inc-nav-heading>.inc-nav-category {
  color: #2176e9
}

.inc-b .inc-nav-item[data-section-active]>.inc-nav-heading>.inc-nav-category>span {
  box-shadow: 0 2px 0 #2176e9;
  padding-bottom: 4px
}

.inc-b .inc-nav-toggle {
  display: grid;
  place-items: center;
  width: 28px;
  height: 44px;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 4px;
  color: inherit;
  cursor: pointer;
  flex-shrink: 0
}

.inc-b .inc-nav-toggle>span {
  width: 6px;
  height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform .15s
}

.inc-b .inc-nav-toggle[aria-expanded=true] {
  color: #2176e9;
  background: #eaf3ff
}

.inc-b .inc-nav-toggle[aria-expanded=true]>span {
  transform: translateY(2px) rotate(225deg)
}

.inc-b .inc-nav-toggle:hover {
  background: #eaf3ff;
  color: #2176e9
}

.inc-b .inc-global-header a:focus-visible,
.inc-b .inc-global-header button:focus-visible,
.inc-b .inc-mobile-menu a:focus-visible,
.inc-b .inc-mobile-menu button:focus-visible {
  outline: 2px solid #2176e9;
  outline-offset: 3px
}

.inc-b .inc-global-header.inc-nav-open {
  color: #062f66;
  background: #fff;
  border-bottom: 1px solid #d7e4f2;
  backdrop-filter: none
}

.inc-b .inc-global-header.inc-nav-open .brand img,
.inc-b .inc-global-header.inc-nav-open .logo {
  filter: none
}

.inc-b .inc-global-header.inc-nav-open .maker,
.inc-b .inc-global-header.inc-nav-open .header-maker {
  color: #42658b;
  border-color: #d7e4f2
}

.inc-b .inc-global-header .menu-button,
.inc-b .inc-global-header .menu-toggle {
  display: none
}

.inc-b .inc-nav-panel {
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
  right: 0;
  width: 100%;
  max-height: calc(100svh - var(--inc-navigation-height));
  overflow: auto;
  overscroll-behavior: contain;
  background: #fff;
  color: #062f66;
  border-top: 1px solid #d7e4f2;
  border-bottom: 3px solid #2176e9;
  box-shadow: 0 20px 35px #092f5a17;
  letter-spacing: normal;
  white-space: normal
}

.inc-b .inc-nav-panel[hidden],
.inc-b .inc-nav-backdrop[hidden],
.inc-b .inc-mobile-menu[hidden] {
  display: none !important
}

.inc-b .inc-nav-shell {
  width: min(1240px, calc(100% - 96px));
  margin: auto;
  padding: 34px 0 38px;
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  gap: 55px
}

.inc-b .inc-nav-overview {
  min-width: 0
}

.inc-b .inc-nav-overview p {
  margin: 0;
  padding: 0
}

.inc-b .inc-nav-word {
  font-size: 24px;
  letter-spacing: .025em;
  font-weight: 700;
  line-height: 1.25
}

.inc-b .inc-nav-name {
  font-size: 12px;
  line-height: 1.6;
  margin-top: 9px !important;
  font-weight: 600
}

.inc-b .inc-nav-description {
  font-size: 12px;
  line-height: 1.9;
  color: #5a728c;
  margin-top: 18px !important
}

.inc-b .inc-nav-overview>a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 46px;
  margin-top: 24px;
  padding: 10px 0 !important;
  border-bottom: 1px solid #c2d7ee;
  font-size: 12px;
  font-weight: 600;
  color: #1767cb;
  line-height: 1.6
}

.inc-b .inc-nav-overview>a>span {
  flex-shrink: 0
}

.inc-b .inc-nav-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px
}

.inc-b .inc-nav-groups-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px
}

.inc-b .inc-nav-groups-1 {
  grid-template-columns: 1fr
}

.inc-b .inc-nav-groups-1 ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 34px
}

.inc-b .inc-nav-link-group {
  min-width: 0
}

.inc-b .inc-nav-link-group h3 {
  font-size: 11px;
  color: #617a94;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: .025em;
  text-wrap: pretty;
  margin: 0;
  padding: 0 0 12px;
  border-bottom: 1px solid #c5d8ed
}

.inc-b .inc-nav-link-group ul {
  list-style: none;
  margin: 0;
  padding: 0
}

.inc-b .inc-nav-link-group li {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #e7eef7
}

.inc-b .inc-nav-link-group a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 46px;
  padding: 10px 0 !important;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.65;
  white-space: normal;
  text-decoration: none;
  border: 0 !important;
  color: #123861
}

.inc-b .inc-nav-link-group a>span {
  min-width: 0
}

.inc-b .inc-nav-link-group a small {
  display: block;
  margin-top: 5px;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.8;
  color: #617a94
}

.inc-b .inc-nav-link-group a i {
  font-style: normal;
  flex-shrink: 0;
  font-size: 16px;
  color: #2176e9
}

.inc-b .inc-nav-link-group a:hover,
.inc-b .inc-nav-link-group a[aria-current=page] {
  color: #1767cb;
  background: #f5f9ff
}

.inc-b .inc-nav-link-group a[aria-current=page] {
  box-shadow: inset 2px 0 #ff443d;
  padding-left: 10px !important
}

.inc-b .inc-nav-backdrop {
  position: fixed;
  inset: var(--inc-navigation-height) 0 0;
  z-index: 208;
  border: 0;
  margin: 0;
  padding: 0;
  background: #05294f21;
  cursor: default
}

.inc-b .inc-mobile-menu {
  position: fixed !important;
  inset: var(--inc-navigation-height) 0 0 !important;
  z-index: 209 !important;
  background: #f7faff !important;
  padding: 12px 28px 35px !important;
  overflow-y: auto;
  overscroll-behavior: contain
}

.inc-b .inc-mobile-menu .inc-mobile-nav {
  display: block !important;
  margin: 0;
  padding: 0;
  font-size: 15px;
  color: #062f66
}

.inc-page-contents {
  background: #f5f9fe;
  border-bottom: 1px solid #d7e4f2
}

.inc-contents-inner {
  width: min(1240px, calc(100% - 96px));
  margin: auto;
  padding: 17px 0;
  display: flex;
  gap: 30px;
  align-items: baseline
}

.inc-contents-inner>p {
  margin: 0;
  font-size: 11px;
  font-weight: 600;
  color: #6c8299;
  flex-shrink: 0
}

.inc-contents-inner>ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 26px;
  margin: 0;
  padding: 0;
  list-style: none
}

.inc-contents-inner a {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  font-size: 12px;
  line-height: 1.9;
  text-underline-offset: 4px;
  color: #244b76
}

.inc-contents-inner a:hover {
  text-decoration: underline
}

.inc-contents-inner a>span {
  font-size: 11px;
  color: #2176e9
}

@media(max-width:1280px) {

  .inc-global-header .maker,
  .inc-global-header .header-maker {
    display: none !important
  }

  .inc-b .inc-nav-shell {
    gap: 30px;
    grid-template-columns: 180px minmax(0, 1fr)
  }

  .inc-b .inc-nav-groups-3 {
    gap: 22px
  }
}

@media(max-width:1120px) {
  :root {
    --inc-navigation-height: 68px
  }

  .inc-b .inc-global-header .inc-global-nav {
    display: none !important
  }

  .inc-b .inc-global-header {
    height: 68px;
    padding-inline: 24px;
    gap: 15px
  }

  .inc-b .inc-global-header .menu-button,
  .inc-b .inc-global-header .menu-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0;
    margin: 0 0 0 auto;
    padding: 7px;
    width: 42px;
    height: 42px;
    border: 1px solid #c5d9ee;
    color: inherit;
    background: transparent;
    cursor: pointer;
    flex-shrink: 0
  }

  .inc-b .inc-global-header .menu-toggle span {
    margin: 4px 0;
    height: 1px;
    width: 22px
  }

  .inc-b .inc-global-header.menu-open {
    background: #fff;
    color: #062f66
  }

  .inc-b .inc-global-header.menu-open .brand img {
    filter: none
  }

  .inc-b .inc-global-header .brand {
    width: 155px
  }

  .inc-b .inc-global-header .brand img {
    width: 148px
  }

  .inc-b .inc-global-header .brand span {
    font-size: 8px;
    margin-top: 4px
  }

  .inc-b .inc-mobile-menu .inc-nav-item {
    border-bottom: 1px solid #cbdced
  }

  .inc-b .inc-mobile-menu .inc-nav-heading {
    justify-content: space-between;
    gap: 15px;
    min-height: 65px
  }

  .inc-b .inc-mobile-menu .inc-nav-category {
    font-size: 16px;
    gap: 5px;
    line-height: 1.5;
    padding: 10px 0 !important;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 1
  }

  .inc-b .inc-mobile-menu .inc-nav-category small {
    display: block;
    font-size: 10px;
    font-weight: 400;
    color: #65809a;
    line-height: 1.5;
    letter-spacing: .03em
  }

  .inc-b .inc-mobile-menu .inc-nav-toggle {
    height: 44px;
    width: 44px
  }

  .inc-b .inc-nav-external>.inc-nav-category {
    position: relative;
    min-height: 65px
  }

  .inc-b .inc-nav-external>.inc-nav-category i {
    position: absolute;
    right: 14px;
    top: 24px;
    font-size: 17px
  }

  .inc-b .inc-mobile-menu .inc-nav-panel {
    position: static;
    width: auto;
    max-height: none;
    overflow: visible;
    border-top: 1px solid #d7e4f2;
    border-bottom: 0;
    background: transparent;
    box-shadow: none;
    margin: 0;
    padding: 0 0 25px
  }

  .inc-b .inc-nav-shell {
    display: block;
    width: 100%;
    padding: 17px 0 0
  }

  .inc-b .inc-nav-overview .inc-nav-word,
  .inc-b .inc-nav-overview .inc-nav-name,
  .inc-b .inc-nav-overview .inc-nav-description {
    display: none
  }

  .inc-b .inc-nav-overview>a {
    margin: 0 0 25px;
    padding: 12px 15px !important;
    background: #eaf3ff;
    border: 0;
    font-size: 13px;
    min-height: 46px
  }

  .inc-b .inc-nav-groups,
  .inc-b .inc-nav-groups-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px
  }

  .inc-b .inc-nav-link-group a {
    font-size: 14px;
    min-height: 46px
  }

  .inc-contents-inner {
    width: calc(100% - 56px);
    gap: 20px;
    flex-wrap: wrap
  }
}

@media(max-width:600px) {
  .inc-b .inc-global-header {
    padding-inline: 20px
  }

  .inc-b .inc-mobile-menu {
    padding-inline: 20px !important
  }

  .inc-b .inc-nav-groups,
  .inc-b .inc-nav-groups-3,
  .inc-b .inc-nav-groups-1,
  .inc-b .inc-nav-groups-1 ul {
    grid-template-columns: 1fr;
    gap: 25px
  }

  .inc-b .inc-nav-groups-1 ul {
    gap: 0
  }

  .inc-b .inc-nav-link-group h3 {
    font-size: 11px;
    padding-bottom: 10px
  }

  .inc-b .inc-nav-link-group a {
    font-size: 13px;
    padding-block: 11px !important
  }

  .inc-contents-inner {
    width: calc(100% - 40px);
    display: block;
    padding-block: 16px
  }

  .inc-contents-inner>p {
    margin-bottom: 9px;
    font-size: 10px
  }

  .inc-contents-inner>ul {
    gap: 6px 21px
  }

  .inc-contents-inner a {
    font-size: 11px
  }
}

@media(prefers-reduced-motion:reduce) {
  .inc-b .inc-nav-toggle>span {
    transition: none
  }
}

/* Search is a single, shared utility entry; the category order stays intact. */
.inc-b .inc-global-header .inc-header-search {
  display: grid;
  place-items: center;
  width: 42px;
  height: 44px;
  flex-shrink: 0;
  color: inherit;
  padding: 0;
  border: 0;
  border-radius: 3px;
  text-decoration: none
}

.inc-b .inc-header-search:hover {
  background: #2176e912;
  color: #2176e9
}

.inc-b .site-header.inc-global-header {
  gap: 16px
}

@media(max-width:1120px) {
  .inc-b .inc-global-header .inc-header-search {
    margin-left: auto
  }

  .inc-b .inc-global-header .menu-button,
  .inc-b .inc-global-header .menu-toggle {
    margin-left: 0
  }

  .inc-b .inc-global-header {
    gap: 8px
  }
}
