/* Page navigation is shared by the desktop menu, mobile accordion and footer. */
.navigation.is-scrolled{position:fixed;top:16px;left:50%;right:auto;transform:translateX(-50%);width:148px;max-width:calc(100% - 32px);padding:0;border-radius:30px;background:#092449f5;box-shadow:0 8px 30px #00152d30;z-index:30;animation:compact-menu-in .25s ease-out}
.navigation.is-scrolled .nav-main{justify-content:center;gap:0}
.navigation.is-scrolled:not(.scroll-menu-open) .brand,.navigation.is-scrolled:not(.scroll-menu-open) .nav-links{display:none}
.navigation.is-scrolled .menu-button{display:flex;justify-content:center;align-items:center;gap:14px;min-height:54px;padding:14px 24px;background:transparent;color:white;border:0;border-radius:30px;font-size:16px;font-weight:600}
.navigation.is-scrolled .menu-button span{font-size:21px;line-height:1}
.navigation.is-scrolled.scroll-menu-open{width:calc(100% - 64px);max-width:1400px;padding:44px 24px 18px;border-radius:18px}
.navigation.is-scrolled.scroll-menu-open .nav-main{justify-content:space-between;gap:18px;flex-wrap:wrap}
.navigation.is-scrolled.scroll-menu-open .menu-button{order:3;padding:8px 14px;min-height:42px}
.navigation.is-scrolled.scroll-menu-open .nav-links{display:block}
.navigation.is-scrolled.scroll-menu-open .nav-panel{top:calc(100% + 10px);max-height:calc(100svh - 180px)}
body:has(.navigation.is-scrolled) .menu-shade{position:fixed;z-index:29}
@keyframes compact-menu-in{from{opacity:0;translate:0 -12px}to{opacity:1;translate:0 0}}
@media(max-width:1000px){.navigation.is-scrolled.scroll-menu-open{width:calc(100% - 32px);padding:16px 18px}.navigation.is-scrolled.scroll-menu-open .nav-links{position:static;width:100%;max-height:calc(100svh - 115px);margin-top:8px}.navigation.is-scrolled.scroll-menu-open .menu-button{order:0}.navigation.is-scrolled.scroll-menu-open .utility-link{color:var(--navy)}.navigation.is-scrolled.scroll-menu-open .nav-panel{max-height:none}}
@media(prefers-reduced-motion:reduce){.navigation.is-scrolled{animation:none}}
.navigation{padding:47px 20px 14px;z-index:8;display:block}
.nav-main{display:flex;justify-content:space-between;align-items:center;gap:30px}
.navigation .nav-links{display:block;position:static;padding:0;background:none;border:0}
.primary-navigation{display:flex;align-items:center;gap:4px}
.utility-navigation{position:absolute;right:21px;top:14px;display:flex;gap:20px}
.utility-link{background:none;padding:0;font-size:12px;font-weight:500;display:inline-flex;align-items:center;gap:8px;color:#e8f1ff;text-decoration:none}
.utility-link>span:last-child{display:none}
.utility-link:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.nav-trigger,.nav-direct{min-height:42px;padding:10px 11px;background:transparent;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:9px;font-size:16px;font-weight:600;line-height:1.25;white-space:nowrap}
.nav-chevron{display:inline-block;flex:0 0 auto;width:7px;height:7px;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s;color:#cfe0f5}
.nav-trigger[aria-expanded=true] .nav-chevron{transform:rotate(225deg) translateY(-1px)}
.nav-direct>span:last-child{display:none}
.nav-trigger:hover,.nav-direct:hover,.nav-trigger[aria-expanded=true]{color:#fff;background:#ffffff21}
.primary-navigation .nav-demo{margin-left:18px;padding:13px 18px;gap:14px;font-size:14px;font-weight:700;white-space:nowrap}
.nav-demo>span{display:inline-block;line-height:1;transform:translateY(-1px)}
.nav-panel{position:absolute;top:calc(100% + 20px);left:0;right:0;padding:32px 40px 36px;background:var(--ivory);color:var(--navy);border-radius:9px;box-shadow:0 28px 65px #00152d55;max-height:calc(100svh - 155px);overflow:auto;overscroll-behavior:contain}
.nav-panel[hidden],.menu-shade[hidden]{display:none!important}
.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:25px;border-bottom:1px solid #d8dde4;margin-bottom:26px}
.panel-heading>p{font-size:21px;letter-spacing:-.02em;margin:0;font-weight:400}
.panel-overview{background:transparent;display:flex;align-items:center;gap:30px;font-size:22px;text-align:left;padding:0;font-weight:400;letter-spacing:-.025em;text-decoration:none}
.panel-overview>span:last-child{color:#65758b;font-size:18px}
.panel-overview:hover{color:var(--blue)}
.panel-close{font-size:26px;background:transparent;padding:0 4px;color:var(--muted);flex-shrink:0;line-height:1}
.panel-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px}
.panel-columns section{min-width:0}
.panel-columns h2{font-size:10px;font-weight:600;color:#738298;letter-spacing:.08em;text-transform:uppercase;line-height:1.5;margin:0 0 14px}
.page-link{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;background:transparent;text-align:left;font-size:15px;padding:10px 0;color:var(--navy);line-height:1.4;text-decoration:none}
.page-link>span:last-child{opacity:0;color:var(--blue);transition:opacity .15s;flex-shrink:0}
.page-link:hover,.page-link:focus-visible{color:var(--blue)}
.page-link:hover>span:last-child,.page-link:focus-visible>span:last-child{opacity:1}
.compact-panel .panel-columns{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px;gap:65px}
#panel-hardware .panel-columns,#panel-customers .panel-columns{grid-template-columns:minmax(0,1fr);max-width:500px}
.menu-shade{position:absolute;inset:0;z-index:7;background:#001a3355;cursor:default;border-radius:0}
.hero:has(.submenu-open) .hero-image{animation-play-state:paused}
.site-footer{padding:65px 0 30px}
.footer-heading{display:flex;align-items:center;gap:35px;padding-bottom:45px;margin-bottom:45px;border-bottom:1px solid #ffffff25}
.footer-heading>p{font-size:16px;color:#afc4df;margin:0}
.footer-heading .pill{margin-left:auto}
.footer-pages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 38px}
.footer-pages section{min-width:0}
.footer-pages h2{font-size:12px;color:#95aac4;font-weight:500;letter-spacing:0;line-height:1.5;margin:0 0 18px}
.footer-page{display:flex;align-items:center;gap:10px;padding:6px 0;background:transparent;color:#f1f5fb;text-align:left;font-size:12px;line-height:1.6;text-decoration:none}
.footer-page>span:last-child{opacity:0;color:#97baff;font-size:10px;transition:opacity .15s}
.footer-page:hover,.footer-page:focus-visible{color:#a8c8ff}
.footer-page:hover>span:last-child,.footer-page:focus-visible>span:last-child{opacity:1}
.footer-bottom{display:flex;gap:30px;justify-content:space-between;align-items:center;border-top:1px solid #ffffff25;padding-top:26px;margin-top:55px;color:#a3b7d1}
.footer-bottom small{font-size:10px}
.footer-bottom nav{display:flex;gap:25px}
.back-to-top{font-size:11px}
.planned-page-dialog{width:min(680px,calc(100% - 36px))}
.planned-page-dialog h2{font-size:43px;overflow-wrap:anywhere}
.planned-status{color:var(--muted);margin-bottom:25px}
.planned-page-dialog .planned-note{font-size:12px;border-top:1px solid var(--line);padding-top:18px;color:var(--muted)}
.planned-page-dialog .pill{gap:16px;text-align:center}
@media(max-width:1200px) and (min-width:1001px){.nav-main{gap:15px}.primary-navigation{gap:0}.nav-trigger,.nav-direct{font-size:14px;padding:9px 7px}.primary-navigation .nav-demo{margin-left:15px;padding:12px 15px;gap:10px}.navigation .brand img{width:125px}}
@media(max-width:1000px){
  .navigation{padding:16px 18px}
  .navigation .menu-button{display:flex;background:#ffffff1f;color:white;align-items:center;gap:15px;padding:10px 12px;border:1px solid #ffffff40;border-radius:9px;font-size:13px;font-weight:600}
  .navigation .menu-button span{font-size:17px;min-width:15px}
  .navigation .nav-links{display:none;position:absolute;top:calc(100% + 14px);left:0;right:0;padding:18px 25px 25px;background:var(--ivory);color:var(--navy);border-radius:9px;box-shadow:0 25px 65px #00152d55;max-height:calc(100svh - 105px);overflow:auto;overscroll-behavior:contain}
  .navigation .nav-links.open{display:block}
  .primary-navigation{display:block}
  .nav-group{border-bottom:1px solid #d9dfe6}
  .nav-trigger,.nav-direct{width:100%;justify-content:space-between;color:var(--navy);font-size:17px;padding:15px 0;text-align:left}
  .nav-chevron{color:#627994}
  .nav-trigger:hover,.nav-trigger[aria-expanded=true],.nav-direct:hover{color:var(--blue)}
  .nav-direct{margin-bottom:10px}
  .primary-navigation .nav-demo{background:var(--blue);color:#fff;margin:3px 0 0;padding:15px 22px}
  .utility-navigation{position:static;border-top:1px solid #d9dfe6;padding-top:22px;margin-top:25px;display:flex;flex-wrap:wrap;gap:18px 24px}
  .utility-link{font-size:14px}
  .navigation .utility-link,.navigation .utility-link:hover{color:var(--navy)}
  .nav-panel{position:static;padding:10px 0 23px;box-shadow:none;border-radius:0;max-height:none;overflow:visible;background:none}
  .panel-heading{padding-bottom:16px;margin-bottom:19px;gap:15px}
  .panel-overview,.panel-heading>p{font-size:17px;gap:18px;line-height:1.4}
  .panel-close{display:none}
  .panel-columns,.compact-panel .panel-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;max-width:none}
  .panel-columns h2{font-size:9px;margin-bottom:7px}
  .page-link{font-size:13px;padding:8px 0;gap:9px}
  .page-link>span:last-child{opacity:.55;font-size:11px}
  .footer-pages{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:600px){
  .navigation .nav-links{padding:14px 20px 23px}
  .panel-columns,.compact-panel .panel-columns{grid-template-columns:minmax(0,1fr);gap:22px}
  .panel-columns h2{font-size:9px}
  .page-link{font-size:14px;padding:8px 0}
  .site-footer{padding:50px 0 25px}
  .footer-heading{flex-wrap:wrap;gap:23px;padding-bottom:30px;margin-bottom:35px}
  .footer-heading>p{font-size:12px;margin-left:auto}
  .footer-heading .pill{margin-left:0}
  .footer-pages{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 20px}
  .footer-pages h2{font-size:10px;line-height:1.5;margin-bottom:12px}
  .footer-page{font-size:11px;gap:6px;padding:6px 0}
  .footer-page>span:last-child{display:none}
  .footer-bottom{flex-wrap:wrap;gap:20px;margin-top:40px;padding-top:25px}
  .footer-bottom nav{flex-wrap:wrap;gap:15px}
  .footer-bottom small{width:100%}
  .planned-page-dialog{padding:45px 25px 30px}
  .planned-page-dialog h2{font-size:clamp(26px,7vw,34px);overflow-wrap:normal;hyphens:auto}
  .planned-page-dialog p:not(.eyebrow){font-size:14px}
  .planned-page-dialog .planned-note{font-size:11px}
  .planned-page-dialog .pill{font-size:11px;padding:15px 17px}
}
