/* A content-height body keeps the existing sticky header within the full page. */
body.titan-premium {
  height: auto;
  min-height: 100vh;
}
body.titan-premium #menu .titan-menu-complete {
  align-items: start;
}
body.titan-premium #menu.mega { gap:18px; padding-top:18px; padding-bottom:18px; scrollbar-gutter:stable; }
body.titan-premium #menu.mega > .titan-menu-closebar {
  grid-column: 1 / -1;
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex;
  justify-content: flex-end;
  width: 100%;
  min-height: 44px;
  background: #fff;
}
body.titan-premium #menu .titan-menu-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  min-height: 44px;
  margin-left: auto;
  padding: 0;
  border: 1px solid #c3d1c8;
  border-radius: 50%;
  background: #fff;
  color: #173d33;
  cursor: pointer;
  appearance: none;
}
body.titan-premium #menu .titan-menu-close:hover { background: #edf3ef; }
body.titan-premium #menu .titan-menu-close:focus-visible { outline: 3px solid #bc7155; outline-offset: 3px; }
body.titan-premium #menu.mega > div:not(.titan-menu-complete):not(.titan-menu-company) { display:flex; flex-wrap:wrap; align-content:start; gap:2px 16px; }
body.titan-premium #menu.mega > div > .eyebrow { width:100%; margin:0 0 6px; }
body.titan-premium #menu.mega > div:not(.titan-menu-complete):not(.titan-menu-company) > a { margin:0; padding:7px 0; font-size:14px; line-height:1.35; min-height:34px; }
body.titan-premium #menu .titan-menu-complete { display:block; column-count:4; column-gap:24px; padding-top:14px; }
body.titan-premium #menu .titan-menu-complete > details { display:block; width:100%; break-inside:avoid; margin:0 0 14px; border:0; }
body.titan-premium #menu .titan-menu-complete > details > div > a { margin:0; padding:7px 0; min-height:32px; line-height:1.35; font-size:13px; }
body.titan-premium #menu .titan-menu-company { padding-top:14px; }
body.titan-premium #menu .titan-menu-company > div { gap:0 24px; }
body.titan-premium #menu .titan-menu-company > div > a { margin:0; min-height:34px; padding:7px 0; }
body.titan-premium #menu a:focus-visible { outline:3px solid #bc7155; outline-offset:2px; }
@media (min-width:768px) and (max-width:1099px) {
  body.titan-premium #menu .titan-menu-complete { column-count:3; }
}
@media (min-width:1100px) {
  body.titan-premium #menu .titan-menu-complete { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:18px; }
}
body.titan-premium #menu .titan-menu-complete > .titan-nav-group > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 34px;
  padding: 4px 0;
  list-style: none;
}
body.titan-premium #menu .titan-menu-complete > .titan-nav-group > summary::-webkit-details-marker {
  display: none;
}
@media (min-width: 768px) {
  body.titan-premium #menu .titan-menu-complete > .titan-nav-group > summary {
    cursor: default;
  }
}
@media (max-width: 767px) {
  body.titan-premium #menu.mega { gap:12px; }
  body.titan-premium #menu .titan-menu-complete { column-count:1; }
  body.titan-premium #menu .titan-menu-complete > details { display:block; border-bottom:1px solid #d8e1dc; margin:0; }
  body.titan-premium #menu .titan-menu-complete > details > div > a,
  body.titan-premium #menu .titan-menu-complete > details > summary,
  body.titan-premium #menu.mega > div:not(.titan-menu-complete):not(.titan-menu-company) > a,
  body.titan-premium #menu .titan-menu-company > div > a { min-height:44px; padding-top:11px; padding-bottom:11px; }
  body.titan-premium #menu .titan-menu-complete > .titan-nav-group > summary::after {
    content: '';
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    margin: 0 4px 4px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
  }
  body.titan-premium #menu .titan-menu-complete > .titan-nav-group[open] > summary::after {
    transform: rotate(225deg);
    margin-bottom: -4px;
  }
}
body.titan-premium .titan-scroll-top {
  position: fixed;
  right: 18px;
  bottom: calc(90px + env(safe-area-inset-bottom, 0px));
  z-index: 1040;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  min-width: 48px;
  padding: 0;
  border: 1px solid #244b40;
  border-radius: 50%;
  background: #173d33;
  color: #fff;
  box-shadow: 0 3px 12px rgb(0 0 0 / 14%);
  cursor: pointer;
  line-height: 1;
  appearance: none;
}
body.titan-premium .titan-scroll-top[hidden] {
  display: none !important;
}
body.titan-premium .titan-scroll-top:hover { background: #245548; }
body.titan-premium .titan-scroll-top:focus-visible {
  outline: 3px solid #bc7155;
  outline-offset: 4px;
}
@media (prefers-reduced-motion: reduce) {
  body.titan-premium .titan-scroll-top { transition: none; }
}
