:root{--nav-blue:#315efb;--nav-ink:#101828;--nav-muted:#596579;--nav-glass:rgba(255,255,255,.82);--nav-line:rgba(220,227,240,.8);--nav-shadow:0 14px 45px rgba(30,52,104,.10)}
.site-header{position:sticky;top:0;z-index:1000;background:var(--nav-glass);backdrop-filter:blur(22px) saturate(155%);-webkit-backdrop-filter:blur(22px) saturate(155%);border-bottom:1px solid var(--nav-line);transition:transform .32s cubic-bezier(.2,.75,.25,1),background .25s,border-color .25s;will-change:transform}
.site-header.is-hidden{transform:translateY(-110%)}
.site-header__inner{width:min(1320px,calc(100% - 56px));min-height:78px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:22px}
.site-brand{display:inline-flex;align-items:center;gap:11px;flex:0 0 auto;color:var(--nav-ink);font-family:"Bricolage Grotesque",sans-serif;font-size:1.38rem;font-weight:800;letter-spacing:-.055em}
.site-brand img{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 5px 12px rgba(49,94,251,.16))}
.site-nav{display:flex;align-items:center;justify-content:center;gap:clamp(8px,1.05vw,17px);color:var(--nav-muted);font-size:.88rem;font-weight:700}
.site-nav__link,.site-nav__item>a{position:relative;display:inline-flex;align-items:center;min-height:42px;padding:0 3px;white-space:nowrap;transition:color .2s,transform .2s}
.site-nav__link:after,.site-nav__item>a:after{position:absolute;content:"";left:3px;right:3px;bottom:4px;height:2px;border-radius:2px;background:linear-gradient(90deg,#315efb,#7d9aff);transform:scaleX(0);transform-origin:left;transition:transform .22s}
.site-nav__link:hover,.site-nav__item>a:hover,.site-nav__item.is-open>a{color:var(--nav-blue)}
.site-nav__link:hover:after,.site-nav__item>a:hover:after,.site-nav__item.is-open>a:after{transform:scaleX(1)}
.site-nav__item{position:relative;display:flex;align-items:center;gap:1px}
.site-nav__chevron{display:grid;place-items:center;width:22px;height:28px;border:0;background:transparent;color:var(--nav-muted);cursor:pointer;border-radius:7px;transition:background .2s,color .2s,transform .2s}
.site-nav__chevron svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.site-nav__item.is-open .site-nav__chevron{transform:rotate(180deg);color:var(--nav-blue);background:rgba(49,94,251,.08)}
.mega-menu[hidden]{display:none!important}.mega-menu{position:absolute;top:calc(100% + 12px);left:50%;width:min(690px,calc(100vw - 44px));padding:13px;transform:translate(-50%,8px);opacity:0;visibility:hidden;pointer-events:none;background:var(--nav-glass);backdrop-filter:blur(24px);border:1px solid var(--nav-line);border-radius:20px;box-shadow:var(--nav-shadow);transition:opacity .2s,transform .2s,visibility .2s}
.site-nav__item.is-open .mega-menu{display:block;opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.mega-menu__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mega-card{display:grid;grid-template-columns:38px 1fr 14px;align-items:center;gap:10px;min-height:86px;padding:13px 11px;border:1px solid transparent;border-radius:13px;color:var(--nav-ink);transition:transform .2s,border-color .2s,background .2s,box-shadow .2s}
.mega-card:hover{transform:translateY(-3px);border-color:rgba(49,94,251,.22);background:rgba(49,94,251,.055);box-shadow:0 8px 22px rgba(49,94,251,.08)}
.mega-card__icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:linear-gradient(145deg,#315efb,#6d8cff);color:#fff;font-size:1.1rem;box-shadow:0 6px 14px rgba(49,94,251,.2)}
.mega-card b,.mega-card small{display:block}.mega-card b{font-size:.78rem;line-height:1.3}.mega-card small{margin-top:5px;color:var(--nav-muted);font-size:.68rem;line-height:1.4;font-weight:500}.mega-card__arrow{color:var(--nav-blue);font-size:.9rem}
.site-tools{display:flex;align-items:center;gap:5px;flex:0 0 auto}
.site-tool{position:relative;display:grid;place-items:center;width:38px;height:38px;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--nav-ink);cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s}
.site-tool:hover{background:rgba(49,94,251,.08);border-color:rgba(49,94,251,.14);color:var(--nav-blue);transform:translateY(-2px)}
.site-tool>svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.site-tool__dot{position:absolute;top:7px;right:7px;width:6px;height:6px;border-radius:50%;background:#315efb;box-shadow:0 0 0 2px var(--nav-glass)}
.site-header__cta,.site-nav__mobile-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 18px;border:1px solid rgba(49,94,251,.22);border-radius:999px;background:linear-gradient(135deg,rgba(49,94,251,.10),rgba(120,151,255,.08));color:var(--nav-ink);font-size:.83rem;font-weight:800;white-space:nowrap;transition:transform .2s,box-shadow .2s,background .2s}
.site-header__cta:hover,.site-nav__mobile-cta:hover{background:linear-gradient(135deg,#315efb,#6485ff);color:#fff;box-shadow:0 9px 24px rgba(49,94,251,.25)}
.site-header__cta span{color:var(--nav-blue);transition:transform .2s}.site-header__cta:hover span{color:#fff;transform:translate(2px,-2px)}
.site-menu-toggle{display:none;width:42px;height:42px;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid var(--nav-line);border-radius:12px;background:var(--nav-glass);cursor:pointer}
.site-menu-toggle span{width:18px;height:2px;border-radius:2px;background:var(--nav-ink);transition:transform .2s,opacity .2s}
.site-menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}.site-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.site-menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}
.site-nav__mobile-cta{display:none}
.site-updates{position:absolute;right:max(28px,calc((100vw - 1320px)/2 + 138px));top:calc(100% + 10px);z-index:1002;width:min(360px,calc(100vw - 28px));padding:18px;border:1px solid var(--nav-line);border-radius:18px;background:var(--nav-glass);backdrop-filter:blur(24px);box-shadow:var(--nav-shadow);color:var(--nav-ink)}
.site-updates__head{display:flex;align-items:flex-start;justify-content:space-between}.site-updates__head h2{margin:3px 0 0;font:800 1.25rem "Bricolage Grotesque",sans-serif;letter-spacing:-.04em}.site-updates__eyebrow{font-size:.62rem;font-weight:800;letter-spacing:.15em;color:var(--nav-blue)}
.site-updates__head button,.site-search__close{border:0;background:transparent;color:var(--nav-muted);font-size:1.6rem;line-height:1;cursor:pointer}
.site-updates__list{display:grid;gap:5px;margin:12px 0}.site-updates__list>a{padding:11px;border-radius:10px;color:var(--nav-ink);font-size:.8rem;font-weight:750}.site-updates__list>a:hover{background:rgba(49,94,251,.07)}.site-updates__list small{display:block;margin-top:4px;color:var(--nav-muted);font-size:.68rem;font-weight:500}.site-updates__all{display:flex;justify-content:space-between;padding-top:12px;border-top:1px solid var(--nav-line);font-size:.77rem;font-weight:800;color:var(--nav-blue)}
.site-search{width:min(680px,calc(100% - 28px));max-width:none;max-height:min(80vh,720px);padding:0;border:1px solid var(--nav-line);border-radius:22px;background:var(--nav-glass);backdrop-filter:blur(24px);box-shadow:0 30px 100px rgba(10,20,45,.28);color:var(--nav-ink)}
.site-search::backdrop{background:rgba(8,16,35,.48);backdrop-filter:blur(5px)}
.site-search__panel{padding:18px}.site-search__top{display:flex;align-items:center;gap:10px}.site-search__input-wrap{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:12px 14px;border:1px solid var(--nav-line);border-radius:13px;background:rgba(128,145,180,.07)}.site-search__input-wrap svg{width:19px;height:19px;flex:0 0 auto;fill:none;stroke:var(--nav-muted);stroke-width:1.8;stroke-linecap:round}.site-search__input-wrap input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--nav-ink);font-size:.95rem}.site-search__input-wrap input::placeholder{color:var(--nav-muted)}.site-search__input-wrap kbd{padding:3px 6px;border:1px solid var(--nav-line);border-radius:5px;color:var(--nav-muted);font-size:.65rem}
.site-search__hint{margin:20px 5px 8px;color:var(--nav-muted);font-size:.63rem;font-weight:800;letter-spacing:.14em}.site-search__results{display:grid;gap:3px;max-height:48vh;overflow:auto}.site-search__results>a{display:grid;grid-template-columns:35px 1fr 15px;align-items:center;gap:11px;padding:11px;border-radius:11px;color:var(--nav-ink)}.site-search__results>a:hover,.site-search__results>a[aria-selected="true"]{background:rgba(49,94,251,.08)}.site-search__result-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(49,94,251,.11);color:var(--nav-blue)}.site-search__results b,.site-search__results small{display:block}.site-search__results b{font-size:.8rem}.site-search__results small{margin-top:3px;color:var(--nav-muted);font-size:.68rem}.site-search__foot{display:flex;gap:15px;flex-wrap:wrap;margin-top:15px;padding-top:12px;border-top:1px solid var(--nav-line);color:var(--nav-muted);font-size:.61rem}
.site-scroll-progress{position:fixed;z-index:1100;top:0;left:0;width:100%;height:3px;pointer-events:none}.site-scroll-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,#315efb,#7d9aff,#42c5ff);box-shadow:0 0 10px rgba(49,94,251,.35)}
@media(max-width:1180px){.site-header__inner{width:calc(100% - 38px);gap:12px}.site-nav{gap:8px;font-size:.82rem}.site-brand{font-size:1.2rem}.site-brand img{width:40px;height:40px}.site-header__cta{padding:11px 14px}}
@media(max-width:980px){.site-header__inner{min-height:70px}.site-menu-toggle{display:flex;order:4}.site-tools{margin-left:auto}.site-header__cta{display:none}.site-nav{display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;max-height:calc(100vh - 76px);overflow:auto;padding:12px 18px 18px;border:1px solid var(--nav-line);border-top:0;border-radius:0 0 18px 18px;background:var(--nav-glass);backdrop-filter:blur(24px);box-shadow:var(--nav-shadow);align-items:stretch;flex-direction:column;gap:2px}.site-nav.is-open{display:flex}.site-nav__link,.site-nav__item>a{min-height:44px;padding:0 8px}.site-nav__item{display:grid;grid-template-columns:1fr 38px;gap:0}.site-nav__chevron{width:36px;height:36px}.mega-menu{position:static;width:100%;grid-column:1/-1;display:none;transform:none!important;opacity:1;visibility:visible;pointer-events:auto;box-shadow:none;border-radius:13px;padding:7px;background:rgba(49,94,251,.045)}.site-nav__item.is-open .mega-menu{display:block}.mega-menu__grid{grid-template-columns:1fr}.mega-card{min-height:64px}.site-nav__mobile-cta{display:flex;margin-top:9px}.site-updates{right:12px}.site-menu-toggle{order:3}}
@media(max-width:480px){.site-header__inner{width:calc(100% - 28px);min-height:66px}.site-brand{font-size:1.12rem;gap:8px}.site-brand img{width:38px;height:38px}.site-tools{gap:0}.site-tool{width:34px;height:36px}.site-menu-toggle{width:38px;height:38px}.site-search__panel{padding:12px}.site-search__foot{gap:9px}.site-updates{right:8px}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){[data-magnetic]{will-change:transform}}
@media(prefers-reduced-motion:reduce){.site-header,.site-nav__link,.site-nav__item>a,.site-nav__chevron,.mega-menu,.mega-card,.site-tool,.site-header__cta,.site-menu-toggle span{transition:none!important}.site-header.is-hidden{transform:none!important}}

/* Keep the shared header visually identical on legacy pages whose old
   stylesheets set global anchor colours and underlines. */
.site-header .site-brand{color:var(--nav-ink);text-decoration:none}
.site-header .site-nav__link,.site-header .site-nav__item>a{color:var(--nav-muted);text-decoration:none}
.site-header .site-nav__link:hover,.site-header .site-nav__item>a:hover,.site-header .site-nav__item.is-open>a{color:var(--nav-blue);text-decoration:none}
.site-header .mega-card{color:var(--nav-ink);text-decoration:none}
.site-header .mega-card:hover{color:var(--nav-ink);text-decoration:none}
.site-header .site-header__cta,.site-header .site-nav__mobile-cta{color:var(--nav-ink);text-decoration:none}
.site-header .site-header__cta:hover,.site-header .site-nav__mobile-cta:hover{color:#fff;text-decoration:none}

/* The Products menu now contains exactly two tools. */
.mega-menu__grid--products{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:980px){.mega-menu__grid--products{grid-template-columns:1fr}}
