/* Shared header geometry and paint states; body layout and typography stay intact. */
#main-nav>.product-center-trigger,#main-nav>.solution-center-trigger,#main-nav>.case-center-trigger,#main-nav>.about-center-trigger,#main-nav>.resource-center-trigger{display:flex;align-items:center;position:relative;align-self:stretch;border:0;padding:0;background:none;white-space:normal;text-wrap:balance;font-family:var(--type-font,inherit);font-size:var(--type-navigation,16px);font-weight:var(--type-weight-regular,400);line-height:var(--type-line-control,1.5);color:var(--type-copy,#aeb6c7)}
#main-nav>button.current{color:var(--type-accent,#fff)}
#main-nav>button:after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:28px;height:3px;background:var(--cyan);opacity:0;transition:opacity 220ms ease,background-color 220ms ease}
#main-nav>button.current:after{opacity:1}
.site-header .brand{position:relative}.site-header .brand-symbol{position:absolute;inset:0;clip-path:inset(0 82% 0 0)}
.site-header{transition:background-color 220ms ease,border-color 220ms ease,color 220ms ease}
.site-header .brand img:not(.brand-symbol){transition:filter 220ms ease}
.site-header #main-nav>a,.site-header #main-nav>button{transition:color 220ms ease}
.site-header .nav-actions .button{transition:background-color 220ms ease,border-color 220ms ease,color 220ms ease;transform:none}
.navigation-panel{opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity 220ms ease,transform 220ms ease}
.navigation-panel.is-open{opacity:1;transform:translateY(0);pointer-events:auto}
/* Preserve the opaque panel surface when changing menus; fade the incoming content. */
.navigation-panel.is-switching{transition:none}
.navigation-panel.is-switching .product-menu-container,.navigation-panel.is-switching .solution-menu-intro-copy,.navigation-panel.is-switching .solution-menu-featured-copy,.navigation-panel.is-switching .case-menu-intro-copy,.navigation-panel.is-switching .case-menu-featured-copy,.navigation-panel.is-switching .about-menu-intro-copy,.navigation-panel.is-switching .about-menu-cards,.navigation-panel.is-switching .resource-menu-intro-copy,.navigation-panel.is-switching .resource-menu-cards{animation:navigation-content-in 220ms ease both}
@keyframes navigation-content-in{from{opacity:.4;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1101px){
 .site-header .nav-bar{position:static}
 #top .site-header.navigation-open{background:#fff;border-bottom-color:#c7d7ef;color:#30323a;--type-copy:#30323a;--type-accent:#296aff}
 #top .site-header.navigation-open #main-nav>a,#top .site-header.navigation-open #main-nav>button{color:#30323a}
 #top .site-header.navigation-open #main-nav>button[aria-expanded="true"]{color:#296aff}
 #top .site-header.navigation-open #main-nav>a.current:after,#top .site-header.navigation-open #main-nav>button.current:after{opacity:0}
 #top .site-header.navigation-open #main-nav>button[aria-expanded="true"]:after{opacity:1;background:#296aff}
 .site-header.navigation-open .brand img:not(.brand-symbol){filter:brightness(0)}
 #top .site-header.navigation-open .nav-actions .button-ghost{color:#296aff;border-color:#296aff;background:#fff}
}
@media(max-width:1100px){
 #main-nav>.product-center-trigger,#main-nav>.solution-center-trigger,#main-nav>.case-center-trigger,#main-nav>.about-center-trigger,#main-nav>.resource-center-trigger{padding:8px 0;font-size:17px;justify-content:flex-start;gap:8px}
 #main-nav>button:before{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);order:1;margin-top:-4px;transition:transform 220ms ease}
 #main-nav>button[aria-expanded="true"]:before{transform:rotate(225deg)}
 #main-nav>button:after{left:0;transform:none;width:24px}
 #main-nav>button[aria-expanded="true"]{color:#296aff}
 #main-nav.open{max-height:calc(100dvh - 82px);overflow-y:auto;overscroll-behavior:contain}
}
@media(max-width:640px){#main-nav.open{max-height:calc(100dvh - 72px)}}
@media(prefers-reduced-motion:reduce){.site-header,.site-header .brand img,.site-header #main-nav>a,.site-header #main-nav>button,.site-header .nav-actions .button,.navigation-panel,#main-nav>button:before,#main-nav>button:after{transition:none}.navigation-panel.is-switching .product-menu-container,.navigation-panel.is-switching .solution-menu-intro-copy,.navigation-panel.is-switching .solution-menu-featured-copy,.navigation-panel.is-switching .case-menu-intro-copy,.navigation-panel.is-switching .case-menu-featured-copy,.navigation-panel.is-switching .about-menu-intro-copy,.navigation-panel.is-switching .about-menu-cards,.navigation-panel.is-switching .resource-menu-intro-copy,.navigation-panel.is-switching .resource-menu-cards{animation:none}}
/* Shared geometry calibrated to the supplied header, independently of body type. */
#top .site-header{
 --navigation-menu-gap:clamp(12px,calc(5.416667vw - 62px),42px);
 --navigation-group-gap:clamp(20px,calc(8.75vw - 94px),74px);
 --navigation-logo-gap:clamp(24px,3.854167vw,74px);
}
#top .site-header .nav-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:var(--navigation-group-gap);align-items:center;position:static}
#top .site-header .brand{margin-inline-end:calc(var(--navigation-logo-gap) - var(--navigation-group-gap));grid-column:1}
#top .site-header #main-nav{grid-column:2;display:flex;position:static;align-items:stretch;justify-content:flex-start;gap:var(--navigation-menu-gap);min-width:0;height:100%;width:auto;flex:none}
#top .site-header #main-nav>:is(a,button){flex:0 0 auto;width:auto;white-space:nowrap;text-wrap:nowrap;font-family:var(--type-font,"PingFang SC",sans-serif);font-size:16px;font-weight:500;line-height:24px;letter-spacing:0;padding:0}
#top .site-header .nav-actions{grid-column:3;width:max-content;margin:0;gap:20px;display:flex;align-items:center;justify-self:end;flex:none}
#top .site-header .nav-actions .contact-trigger{font-family:var(--type-font,"PingFang SC",sans-serif);font-size:16px;font-weight:500;line-height:24px}
#top .site-header .nav-actions .nav-application{height:44px;min-height:44px;padding:0 25px;font-family:var(--type-font,"PingFang SC",sans-serif);font-size:16px;font-weight:500;line-height:24px;letter-spacing:0;align-items:center;transform:none}
/* Compact mode is selected from the actual text widths, not equal item widths. */
#top .site-header.navigation-compact .brand{margin-inline-end:0}
#top .site-header.navigation-compact .menu-toggle{display:flex;grid-column:3;order:3;flex-direction:column;gap:6px;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #5b6577;border-radius:6px;background:#0c1838}
#top .site-header.navigation-compact .menu-toggle span{width:20px;height:2px;background:#fff;margin:0}
#top .site-header.navigation-compact>.nav-bar>.nav-actions{grid-column:2;justify-self:end}
#top .site-header.navigation-compact #main-nav{display:none;position:absolute;top:100%;left:0;right:0;width:100%;height:auto;padding:20px max(22px,calc((100% - var(--content-width,1600px))/2));background:#fff;border:1px solid #d7e1ed;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-height:calc(100dvh - var(--contact-header-height,82px));overflow-y:auto;overscroll-behavior:contain;--type-copy:#30323a;--type-accent:#296aff}
#top .site-header.navigation-compact #main-nav.open{display:grid}
#top .site-header.navigation-compact #main-nav>:is(a,button){align-items:center;justify-content:flex-start;align-self:start;height:auto;padding:8px 0;color:#30323a}
#top .site-header.navigation-compact #main-nav>:is(a,button).current,#top .site-header.navigation-compact #main-nav>button[aria-expanded=true]{color:#296aff}
#top .site-header.navigation-compact #main-nav>button:before{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);order:1;margin-top:-4px;margin-left:8px;transition:transform 220ms ease}
#top .site-header.navigation-compact #main-nav>button[aria-expanded=true]:before{transform:rotate(225deg)}
#top .site-header.navigation-compact #main-nav>.navigation-panel{position:static;grid-column:1/-1;width:auto;max-height:none;border:0;padding:12px 0}
#top .site-header.navigation-compact #main-nav>.nav-actions{display:flex;grid-column:1/-1;justify-self:start;width:auto;flex-wrap:wrap;padding:14px 0 4px}
#top .site-header.navigation-compact #main-nav .contact-trigger{color:#10204b;font-weight:500}
#top .site-header.navigation-compact #main-nav .contact-phone-icon{filter:brightness(0)}
@media(max-width:640px){#top .site-header.navigation-compact #main-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
