/* Shared navigation for every page layout. */
.fh-site-header,
.fh-site-header *{box-sizing:border-box}
.fh-site-header{position:sticky;top:0;z-index:100;height:88px;background:#0b1019;border-bottom:1px solid rgba(213,225,255,.09);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.fh-header-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;width:min(1400px,calc(100% - 96px));height:100%;margin:0 auto}
.fh-brand{display:inline-flex;align-items:center;flex-shrink:0;text-decoration:none}
.fh-brand img{display:block;width:164px;height:auto;max-width:none;object-fit:contain}
.fh-site-nav{display:flex;align-items:center;justify-content:flex-end;gap:34px;margin-left:auto}
.fh-nav-links{display:flex;align-items:center;gap:28px;list-style:none;padding:0;margin:0}
.fh-nav-links>li{padding:0;margin:0;list-style:none}
.fh-nav-links>li>a,
.fh-services-toggle{display:inline-flex;align-items:center;min-height:44px;color:#bac3d2;font-family:inherit;font-size:14px;line-height:1.4;font-weight:500;white-space:nowrap;text-decoration:none;transition:color .2s}
.fh-nav-links a:hover,
.fh-nav-links a[aria-current=page]{color:#fff}
.fh-services-trigger{display:flex;align-items:center;gap:2px}
.fh-site-header button{font-family:inherit;cursor:pointer;color:#bac3d2;border:0;background:none;border-radius:6px;box-shadow:none}
.fh-services-toggle{display:inline-flex;align-items:center;gap:6px;width:auto;min-height:44px;padding:0}
.fh-site-header .fh-services-toggle:hover{color:#fff}
.fh-services-toggle svg{transition:transform .2s}
.fh-services-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
.fh-site-header a:focus-visible,
.fh-site-header button:focus-visible{outline:2px solid #8cbcff;outline-offset:5px;border-radius:4px}
.fh-site-header .fh-header-demo{display:inline-flex;align-items:center;justify-content:center;gap:22px;flex-shrink:0;padding:13px 18px;min-height:46px;background:#eef3fa;color:#111b2a;border:1px solid #eef3fa;border-radius:6px;font-family:inherit;font-size:13px;line-height:1.3;font-weight:650;white-space:nowrap;text-decoration:none;transition:background .2s,border-color .2s}
.fh-header-demo span{font-size:22px;font-weight:400;line-height:1}
.fh-site-header .fh-header-demo:hover{background:#d8e8ff;border-color:#d8e8ff;color:#111b2a}
.fh-services-panel{position:absolute;top:calc(100% - 1px);left:0;right:0;max-height:calc(100dvh - 88px);overflow-y:auto;background:#111a28;border-block:1px solid #2a3546;box-shadow:0 25px 50px #0005;padding:32px 0}
.fh-services-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;width:min(900px,calc(100% - 96px));margin:auto}
.fh-services-heading{font-family:inherit;font-size:13px;line-height:1.6;font-weight:650;letter-spacing:0;margin:0 0 14px;text-transform:none}
.fh-services-heading a{color:#f1f5fc;text-decoration:none}
.fh-services-group ul{display:block;list-style:none;margin:0;padding:0}
.fh-services-group li{margin:0;padding:0;list-style:none}
.fh-services-group li a{display:block;padding:6px 0;color:#b7c4d8;font-size:13px;line-height:1.6;font-weight:400;text-decoration:none}
.fh-services-group a:hover,
.fh-services-group .fh-current{color:#8cbcff}
.fh-site-header [hidden]{display:none!important}
.fh-menu-toggle{display:none}
.fh-skip-link{position:fixed;top:8px;left:16px;z-index:1001;padding:12px 18px;background:#eef3fa;color:#111b2a;transform:translateY(-160%);border-radius:4px;font-size:15px}
.fh-skip-link:focus{transform:translateY(0)}
#main-content{scroll-margin-top:88px}
/* Without JS, category links stay available on hover and keyboard focus. */
.fh-site-header:not(.fh-header-ready) .fh-services-panel{display:none}
.fh-site-header:not(.fh-header-ready) .fh-services-item:hover .fh-services-panel,
.fh-site-header:not(.fh-header-ready) .fh-services-item:focus-within .fh-services-panel{display:block}
@media(max-width:1199px){
 .fh-header-inner{width:calc(100% - 64px)}
 .fh-services-grid{width:min(900px,calc(100% - 64px))}
 .fh-header-inner{gap:24px}
 .fh-site-nav{gap:22px}
 .fh-nav-links{gap:19px}
 .fh-brand img{width:150px}
}
@media(max-width:1199px){
 .fh-site-header{height:76px}
 .fh-header-inner{width:calc(100% - 40px);gap:20px}
 .fh-brand img{width:150px}
 .fh-site-header .fh-menu-toggle{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border:1px solid #344052;background:#141e2c;order:2}
 .fh-menu-lines{position:relative;width:20px;height:14px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor}
 .fh-menu-lines:before{content:"";position:absolute;inset:5px 0 auto;border-top:1.5px solid currentColor}
 .fh-menu-toggle[aria-expanded=true] .fh-menu-lines{height:0;border-bottom:0;transform:rotate(45deg)}
 .fh-menu-toggle[aria-expanded=true] .fh-menu-lines:before{top:-1.5px;transform:rotate(90deg)}
 .fh-site-nav{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:24px;margin:0;padding:20px;max-height:calc(100dvh - 76px);overflow-y:auto;background:#111a28;border-bottom:1px solid #344052;box-shadow:0 25px 40px #0006}
 .fh-nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .fh-nav-links>li{border-bottom:1px solid #283346}
 .fh-nav-links>li>a,.fh-services-toggle{display:flex;padding:10px 0;min-height:50px;font-size:16px}
 .fh-services-trigger{justify-content:space-between}
 .fh-services-toggle{flex:1}
 .fh-services-toggle{width:100%;min-height:50px;justify-content:space-between}
 .fh-services-panel{position:static;max-height:none;overflow:visible;background:#0d1521;border:1px solid #283346;border-radius:6px;padding:20px;margin-bottom:15px;box-shadow:none}
 .fh-services-grid{width:100%;grid-template-columns:1fr 1fr;gap:24px}
 .fh-services-heading{font-size:14px;margin-bottom:8px}
 .fh-services-group li a{font-size:14px;line-height:1.6;padding:8px 0}
 .fh-site-header .fh-header-demo{align-self:flex-start;min-height:48px;font-size:14px}
 #main-content{scroll-margin-top:76px}
 .fh-site-header:not(.fh-header-ready){height:auto;position:relative}
 .fh-site-header:not(.fh-header-ready) .fh-header-inner{min-height:76px;flex-wrap:wrap;padding:20px 0}
 .fh-site-header:not(.fh-header-ready) .fh-site-nav{position:static;max-height:none;width:100%;box-shadow:none}
 .fh-site-header:not(.fh-header-ready) .fh-services-panel{display:block}
}
@media(max-width:599px){
 .fh-services-grid{grid-template-columns:1fr;gap:25px}
 .fh-services-group+.fh-services-group{padding-top:20px;border-top:1px solid #283346}
}
@media(prefers-reduced-motion:reduce){
 .fh-site-header *{transition:none!important}
}

.fh-site-header .fh-ui-icon{display:inline-block;flex:0 0 24px;width:24px;height:24px;vertical-align:middle}
.fh-site-header .fh-header-demo{gap:12px!important}
.fh-site-header .fh-services-heading{font-family:inherit;letter-spacing:normal;text-transform:none}
/* Allow the alternate-homepage preview link to fit on smaller desktop screens. */
@media(min-width:1200px) and (max-width:1399px){
 .fh-header-inner{width:calc(100% - 48px);gap:24px}
 .fh-site-nav{gap:20px}
 .fh-nav-links{gap:18px}
 .fh-brand img{width:150px}
}
/* Three homepage previews fit alongside the existing navigation. */
@media(min-width:1200px) and (max-width:1399px){
 .fh-header-inner,.blue-home .fh-header-inner{gap:16px}
 .fh-nav-links,.blue-home .fh-nav-links{gap:12px}
 .fh-site-nav,.blue-home .fh-site-nav{gap:16px}
 .fh-brand img{width:140px}
}

/* Floating contact actions must not cover the expanded mobile navigation. */
@media(max-width:1199px){body:has(.fh-menu-toggle[aria-expanded=true]) #cs-contact-dock{visibility:hidden;pointer-events:none}}
