/* H+H navigation: rolling letters and a travelling dashed indicator. */
.hh-nav-redesign {
  border-bottom:1px solid rgba(57,49,133,.09);
  box-shadow:0 3px 20px rgba(33,31,76,.035);
}
.hh-nav-redesign .hh-header-row,
.hh-nav-redesign .hh-site-header-inner {
  min-height:88px; gap:24px; flex-wrap:nowrap; padding:0;
}
.hh-nav-redesign .hh-brand img,
.hh-nav-redesign .hh-header-logo img {width:180px;}
.hh-nav-motion {
  position:relative; flex-wrap:nowrap; gap:clamp(13px,1.8vw,25px); align-items:center;
}
.hh-nav-motion > a,
.hh-nav-motion > .hh-nav-group > .hh-nav-link {
  min-height:48px; font-size:12px; font-weight:600; letter-spacing:.075em;
  text-transform:uppercase; line-height:1.3; border-radius:3px;
}
.hh-nav-motion > a::after,
.hh-nav-motion > .hh-nav-group > .hh-nav-link::after {display:none;}
.hh-nav-motion > a:focus-visible,
.hh-nav-motion > .hh-nav-group > .hh-nav-link:focus-visible {
  outline:2px solid #393185; outline-offset:5px;
}
.hh-nav-motion [aria-current="page"] {color:#393185; font-weight:800;}
.hh-nav-roll-label {display:inline-flex; white-space:nowrap;}
.hh-nav-letter-clip {display:inline-block; overflow:hidden; height:1.3em;}
.hh-nav-letter-track {
  display:block; position:relative; height:1.3em;
  transition:transform .46s cubic-bezier(.22,.75,.2,1);
  transition-delay:calc(var(--hh-letter-index,0) * 18ms);
}
.hh-nav-letter-copy {position:absolute; inset:100% auto auto 0; white-space:pre;}
@media (hover:hover) and (pointer:fine) {
  .hh-nav-motion > a:hover .hh-nav-letter-track,
  .hh-nav-motion > .hh-nav-group:hover > .hh-nav-link .hh-nav-letter-track {
    transform:translateY(-100%);
  }
}
.hh-nav-motion a:focus-visible .hh-nav-letter-track {transform:translateY(-100%);}
.hh-nav-dash {
  position:absolute; bottom:5px; left:0; height:2px; width:var(--hh-dash-width,0px);
  background:repeating-linear-gradient(90deg,#393185 0 3px,transparent 3px 6px);
  transform:translateX(var(--hh-dash-left,0px)); opacity:var(--hh-dash-opacity,0);
  pointer-events:none;
  transition:transform .38s cubic-bezier(.22,.75,.2,1),width .38s cubic-bezier(.22,.75,.2,1),opacity .18s;
}
.hh-nav-redesign .hh-header-phone,
.hh-nav-redesign .hh-header-call {min-height:44px; border-radius:999px; box-shadow:none;}
.hh-nav-redesign .hh-nav-trigger {width:19px;}
.hh-nav-toggle {
  display:none; min-height:44px; align-items:center; justify-content:center; gap:9px;
  padding:9px 13px; color:#211f4c; background:#f5f3fb; border:1px solid #e2deef;
  border-radius:999px; font:700 12px/1.2 Arial,Helvetica,sans-serif; cursor:pointer;
}
.hh-nav-toggle:focus-visible {outline:3px solid #ffd500; outline-offset:3px;}
.hh-nav-toggle-icon {position:relative; width:15px; height:12px;}
.hh-nav-toggle-icon::before,.hh-nav-toggle-icon::after {
  position:absolute; left:0; width:15px; height:1.5px; background:currentColor; content:"";
  transition:transform .2s,top .2s;
}
.hh-nav-toggle-icon::before {top:3px;}
.hh-nav-toggle-icon::after {top:9px;}
.hh-header-menu-open .hh-nav-toggle-icon::before {top:6px; transform:rotate(45deg);}
.hh-header-menu-open .hh-nav-toggle-icon::after {top:6px; transform:rotate(-45deg);}
@media (max-width:1000px) {
  .hh-nav-redesign .hh-header-row,.hh-nav-redesign .hh-site-header-inner {
    min-height:78px; flex-wrap:wrap; justify-content:flex-start; gap:10px; padding:12px 0;
  }
  .hh-nav-redesign .hh-brand,.hh-nav-redesign .hh-header-logo {margin-right:auto;}
  .hh-nav-redesign .hh-brand img,.hh-nav-redesign .hh-header-logo img {width:160px;}
  .hh-nav-toggle {display:inline-flex;}
  .hh-nav-motion {
    display:none; order:4; flex:1 0 100%; flex-direction:column; align-items:stretch;
    gap:3px; margin:9px 0 0; padding:12px 0 4px; border-top:1px solid #e6e2f1;
    max-height:calc(100dvh - 112px); overflow:auto; overscroll-behavior:contain;
  }
  .hh-header-menu-open .hh-nav-motion {display:flex;}
  .hh-nav-motion > a,.hh-nav-motion > .hh-nav-group > .hh-nav-link {
    min-height:48px; padding:10px 12px; font-size:14px;
  }
  .hh-nav-motion > .hh-nav-group {
    display:grid; grid-template-columns:minmax(0,1fr) 46px; gap:0; align-items:center;
  }
  .hh-nav-motion .hh-nav-trigger {width:44px; min-height:48px;}
  .hh-nav-motion > a[aria-current="page"],
  .hh-nav-motion > .hh-nav-group > .hh-nav-link[aria-current="page"] {background:#f4f1fc; border-radius:10px;}
  .hh-nav-motion .hh-nav-menu,
  .hh-nav-motion .hh-nav-group.is-open > .hh-nav-menu {
    position:static; grid-column:1/-1; width:100%; max-width:none; margin:0 0 8px;
    max-height:45dvh; transform:none; border-radius:12px; box-shadow:none;
  }
  .hh-nav-motion .hh-nav-dash {display:none;}
}
@media (max-width:480px) {
  .hh-nav-redesign .hh-header-row,.hh-nav-redesign .hh-site-header-inner {gap:8px;}
  .hh-nav-redesign .hh-brand img,.hh-nav-redesign .hh-header-logo img {width:128px;}
  .hh-nav-redesign .hh-header-phone,.hh-nav-redesign .hh-header-call {
    width:40px; min-height:40px; padding:0; font-size:0 !important;
  }
  .hh-nav-redesign .hh-header-phone::before,.hh-nav-redesign .hh-header-call::before {
    content:"☎"; font-size:19px; line-height:1;
  }
  .hh-nav-toggle {min-height:40px; padding:8px 9px; gap:6px;}
  .hh-nav-motion .hh-nav-menu__grid {grid-template-columns:minmax(0,1fr);}
  .hh-nav-motion .hh-nav-menu__item > span:nth-child(2) {min-width:0; overflow-wrap:anywhere;}
}
@media (prefers-reduced-motion:reduce) {
  .hh-nav-letter-track {transform:none !important; transition:none !important;}
  .hh-nav-dash,.hh-nav-toggle-icon::before,.hh-nav-toggle-icon::after {transition:none !important;}
}

/* Keep the logo, menu and phone together as one centered desktop group. */
@media(min-width:1001px) {
 .hh-nav-redesign .hh-header-row,.hh-nav-redesign .hh-site-header-inner {justify-content:center;gap:28px;}
 .hh-nav-redesign .hh-global-nav,.hh-nav-redesign .hh-header-nav {flex:0 1 auto;margin-left:0;justify-content:center;}
 .hh-nav-redesign .hh-brand,.hh-nav-redesign .hh-header-logo {margin-right:0;}
}

.hh-nav-redesign .hh-brand img.hh-nav-ball,.hh-nav-redesign .hh-header-logo img.hh-nav-ball {width:66px;height:63px;object-fit:contain;}
@media(max-width:700px){.hh-nav-redesign .hh-brand img.hh-nav-ball,.hh-nav-redesign .hh-header-logo img.hh-nav-ball {width:54px;height:52px;}}
