.wn-header,.wn-drawer{--wn-ink:#221e63;--wn-night:#090e23;--wn-ice:#dce7ff;--wn-paper:#f7f5ee;--wn-soft:#eeedf3;--wn-muted:#77728d;--wn-line:color-mix(in srgb,var(--wn-ink) 16%,transparent);--wn-night-line:color-mix(in srgb,var(--wn-ice) 17%,transparent);--wn-ease:cubic-bezier(.22,.61,.36,1)}
.wn-header{position:absolute;inset:0 0 auto;z-index:80;display:flex;align-items:center;gap:32px;padding:27px max(24px,5vw);color:var(--wn-paper);font-size:14px}
.wn-header *,.wn-drawer *{box-sizing:border-box}.wn-header a,.wn-drawer a{color:inherit;text-decoration:none}
.wn-brand{display:flex;flex:none;align-items:center;min-height:44px;margin-right:auto}.wn-brand img{width:144px;height:auto;display:block}.wn-desktop-slot{display:flex;justify-content:center}.wn-nav{display:flex;align-items:center;gap:26px}.wn-group{position:static}
.wn-group summary{list-style:none;display:flex;align-items:center;gap:9px;min-height:44px;cursor:pointer}.wn-group summary::-webkit-details-marker{display:none}.wn-chevron{width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s var(--wn-ease)}.wn-group[open] .wn-chevron{transform:rotate(225deg)}.wn-direct{display:flex;align-items:center;min-height:44px}
.wn-start{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding:0 18px;border:1px solid color-mix(in srgb,var(--wn-ice) 32%,transparent);white-space:nowrap;transition:background-color .25s var(--wn-ease),color .25s var(--wn-ease)}.wn-start:hover{background:var(--wn-paper);color:var(--wn-ink)}.wn-start svg{height:23px;width:23px;fill:none;stroke:currentColor;stroke-width:1.3;transition:transform .25s var(--wn-ease)}.wn-start:hover svg{transform:translate(2px,-2px)}
.wn-panel{position:absolute;top:76px;z-index:1;color:var(--wn-ink);background:var(--wn-paper);border:1px solid var(--wn-line);animation:wn-enter .25s var(--wn-ease);text-align:left}
.wn-link-arrow{opacity:0;transform:translate(-4px,4px);transition:opacity .2s var(--wn-ease),transform .2s var(--wn-ease);font-size:20px;line-height:1;flex:none}
.wn-panel a:is(:hover,:focus-visible)>.wn-link-arrow{opacity:1;transform:translate(0,0)}
/* The corporate panel is anchored to its trigger, not the header's static position. */
.wn-corporate{position:relative}
.wn-header .wn-corporate>.wn-corporate-panel{top:calc(100% + 16px);left:-16px;right:auto;width:228px;max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain;padding:8px;border-radius:6px}
.wn-corporate-panel>a{display:grid;grid-template-columns:20px minmax(0,1fr) 20px;align-items:center;gap:12px;min-height:50px;padding:10px 12px;border-radius:3px;font-size:14px;transition:background-color .2s var(--wn-ease)}
.wn-corporate-panel>a:hover,.wn-corporate-panel>a:focus-visible{background:var(--wn-soft)}
.wn-corporate-icon{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
/* Four image-led service columns continue the opening's mineral/night language. */
.wn-mega{left:5vw;right:5vw;max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--wn-night-line) var(--wn-night);padding:24px 28px 28px;color:var(--wn-ice);background:var(--wn-night);border-color:var(--wn-night-line);border-radius:0 0 8px 8px}
.wn-mega-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:18px;margin-bottom:24px;border-bottom:1px solid var(--wn-night-line)}
.wn-mega-top>p{margin:0;font-size:22px;font-weight:500;line-height:1.3;letter-spacing:-.04em}
.wn-mega-top>a{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;font-size:14px;color:color-mix(in srgb,var(--wn-ice) 78%,transparent)}
.wn-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.wn-service-family{min-width:0}
.wn-service-image{aspect-ratio:2/1;overflow:hidden;border-radius:4px;margin-bottom:18px;background:var(--wn-night-line)}
.wn-service-image>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s var(--wn-ease)}
.wn-service-family:is(:hover,:focus-within) .wn-service-image>img{transform:scale(1.045)}
.wn-column-title{display:flex;align-items:center;gap:10px;min-height:44px;margin:0 0 10px;padding-bottom:12px;border-bottom:1px solid var(--wn-night-line);font-size:15px;line-height:1.4;font-weight:500;letter-spacing:-.025em}
.wn-column-title svg{width:22px;height:22px;flex:none;stroke:currentColor;stroke-width:1.25;fill:none}
.wn-service-grid a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;font-size:14px;line-height:1.45;color:color-mix(in srgb,var(--wn-ice) 72%,transparent);transition:color .2s var(--wn-ease)}
.wn-service-grid a:hover,.wn-service-grid a:focus-visible{color:var(--wn-ice)}
/* Every sector keeps the same area and the same hierarchy. */
.wn-sector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.wn-sector-grid>a{display:grid;grid-template-columns:48px minmax(0,1fr) 18px;align-items:center;gap:15px;min-height:104px;padding:18px;border:1px solid var(--wn-night-line);border-radius:4px;background:color-mix(in srgb,var(--wn-ice) 3%,var(--wn-night));transition:background-color .25s var(--wn-ease),border-color .25s var(--wn-ease)}
.wn-sector-grid>a:hover,.wn-sector-grid>a:focus-visible{background:color-mix(in srgb,var(--wn-ice) 8%,var(--wn-night));border-color:color-mix(in srgb,var(--wn-ice) 38%,transparent)}
.wn-sector-icon{display:block;width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;color:color-mix(in srgb,var(--wn-ice) 75%,transparent);transition:transform .3s var(--wn-ease)}
.wn-sector-grid>a:is(:hover,:focus-visible) .wn-sector-icon{transform:translateY(-3px)}
.wn-sector-label{display:flex;flex-direction:column;gap:8px;min-width:0}
.wn-sector-grid strong{font-size:19px;line-height:1.25;letter-spacing:-.045em;font-weight:600}
.wn-sector-grid strong span{font-weight:400}
.wn-sector-grid small{color:color-mix(in srgb,var(--wn-ice) 70%,transparent);font-size:12px;line-height:1.45}
.wn-panel a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.wn-menu-button{display:none}.wn-mobile-contact,.wn-mobile-start{display:none}.wn-header :focus-visible,.wn-drawer :focus-visible{outline:2px solid currentColor;outline-offset:5px}
.wn-drawer{margin:0;padding:0 24px 24px;width:100%;max-width:none;height:100dvh;max-height:none;border:0;background:var(--wn-paper);color:var(--wn-ink);overflow-y:auto;overscroll-behavior:contain}
.wn-drawer::backdrop{background:color-mix(in srgb,var(--wn-night) 44%,transparent)}.wn-drawer[open]{animation:wn-drawer-enter .35s var(--wn-ease)}
.wn-drawer-top{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 -24px;padding:max(24px,env(safe-area-inset-top,0px)) 24px 20px;background:var(--wn-paper);border-bottom:1px solid var(--wn-line)}.wn-drawer-top>span{font-size:14px}.wn-drawer-close{border:1px solid var(--wn-line);background:transparent;color:inherit;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;cursor:pointer}.wn-drawer-close svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.2;fill:none}
.wn-drawer .wn-nav{display:block;padding:8px 0 40px}.wn-drawer .wn-nav>details,.wn-drawer .wn-direct{border-bottom:1px solid var(--wn-line)}.wn-drawer .wn-group summary,.wn-drawer .wn-direct{font-size:32px;letter-spacing:-.055em;min-height:75px;justify-content:space-between}
.wn-drawer .wn-panel{position:static;animation:none;border:0;padding:8px 0 25px;display:block;max-height:none;overflow:visible;background:transparent;color:var(--wn-ink);border-radius:0}
.wn-drawer .wn-mega-top{display:none}
.wn-drawer .wn-service-grid{grid-template-columns:1fr;gap:24px}
.wn-drawer .wn-service-family{display:grid;grid-template-columns:76px minmax(0,1fr);gap:0 16px;align-items:start}
.wn-drawer .wn-service-image{grid-column:1;grid-row:1 / span 6;aspect-ratio:1/1;margin:0}
.wn-drawer .wn-column-title{grid-column:2;font-size:14px;min-height:40px;margin:0 0 4px;padding-bottom:10px;border-color:var(--wn-line);gap:8px}
.wn-drawer .wn-column-title svg{width:18px;height:18px}
.wn-drawer .wn-service-grid a{grid-column:2;font-size:14px;min-height:44px;color:var(--wn-ink)}
.wn-drawer .wn-service-grid a>.wn-link-arrow{font-size:17px}
.wn-drawer .wn-sector-grid{grid-template-columns:1fr;gap:0}
.wn-drawer .wn-sector-grid>a{grid-template-columns:40px minmax(0,1fr) 18px;padding:16px 0;min-height:86px;gap:16px;border:0;border-bottom:1px solid var(--wn-line);border-radius:0;background:none}
.wn-drawer .wn-sector-grid>a:last-child{border:0}
.wn-drawer .wn-sector-icon{width:40px;height:40px;color:var(--wn-ink)}
.wn-drawer .wn-sector-grid strong{font-size:21px}.wn-drawer .wn-sector-grid small{font-size:12px;color:var(--wn-muted)}
.wn-drawer .wn-corporate-panel a{font-size:16px;min-height:50px;padding:12px 0;border-radius:0}
.wn-drawer .wn-mobile-contact{display:block;margin-top:30px;font-size:16px;padding:12px 0}
.wn-drawer .wn-mobile-start{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--wn-ink);color:var(--wn-paper);min-height:56px;padding:14px 20px;margin-top:16px;font-size:15px}
body.wn-modal-open{overflow:hidden}
@keyframes wn-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes wn-drawer-enter{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@media(max-width:1100px){.wn-header{gap:20px}.wn-nav{gap:18px}.wn-brand img{width:122px}.wn-mega{padding:22px 24px 24px}.wn-service-grid{gap:18px}.wn-column-title{font-size:13px;gap:8px}.wn-column-title svg{width:20px;height:20px}.wn-service-grid a{font-size:14px}.wn-sector-grid>a{grid-template-columns:38px minmax(0,1fr) 16px;gap:12px;padding:15px;min-height:108px}.wn-sector-icon{width:38px;height:38px}.wn-sector-grid strong{font-size:17px}.wn-start{gap:12px}}
@media(min-width:601px) and (max-width:900px){.wn-drawer .wn-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.wn-drawer .wn-service-family{grid-template-columns:68px minmax(0,1fr);gap:0 14px}.wn-drawer .wn-sector-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}}
@media(max-width:900px){.wn-header{padding:18px 24px;gap:13px}.wn-header.wn-ready .wn-desktop-slot{display:none}.wn-header.wn-ready .wn-menu-button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;flex:none;width:44px;height:44px;border:1px solid color-mix(in srgb,currentColor 32%,transparent);color:inherit;background:transparent;cursor:pointer}.wn-menu-button span{display:block;height:1px;width:20px;background:currentColor}.wn-start{font-size:12px;min-height:44px;padding:0 12px;gap:9px}.wn-start svg{width:18px;height:18px}.wn-brand img{width:110px}.wn-header:not(.wn-ready){position:relative;height:auto;min-height:76px;background:var(--wn-night);flex-wrap:wrap}.wn-header:not(.wn-ready) .wn-desktop-slot{order:3;width:100%}.wn-header:not(.wn-ready) .wn-nav{flex-wrap:wrap;align-items:flex-start;gap:12px}.wn-header:not(.wn-ready) .wn-panel{position:relative;top:auto;left:auto;right:auto;max-height:none}.wn-header:not(.wn-ready) .wn-mega{padding:18px}.wn-header:not(.wn-ready) .wn-service-grid,.wn-header:not(.wn-ready) .wn-sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wn-header:not(.wn-ready) .wn-sector-grid>a{grid-template-columns:1fr}.wn-header:not(.wn-ready) .wn-corporate>.wn-corporate-panel{top:auto;left:auto;width:228px}}
@media(max-width:390px){.wn-header{gap:10px}.wn-brand img{width:96px}.wn-start{padding:0 10px;font-size:11px}.wn-start svg{display:none}.wn-drawer .wn-service-family{grid-template-columns:64px minmax(0,1fr);gap:0 14px}}
@media(prefers-reduced-motion:reduce){.wn-header *,.wn-drawer *{animation:none!important;transition:none!important}.wn-service-family:is(:hover,:focus-within) .wn-service-image>img,.wn-sector-grid>a:is(:hover,:focus-visible) .wn-sector-icon{transform:none}}

/* Match the mobile homepage's enhanced header before deferred modules finish.
   No-script keeps the native links; a module-load error restores that fallback. */
@media (max-width: 900px) and (scripting: enabled) {
  html:not(.wn-navigation-fallback) body.hm-page:not(.site-inner) .wn-header:not(.wn-ready) {
    position: absolute;
    height: 76px;
    min-height: 76px;
    box-sizing: border-box;
    padding-block: 14px;
    flex-wrap: nowrap;
    background: transparent;
  }
  html:not(.wn-navigation-fallback) body.hm-page:not(.site-inner) .wn-header:not(.wn-ready) .wn-desktop-slot {
    display: none;
  }
  html:not(.wn-navigation-fallback) body.hm-page:not(.site-inner) .wn-header:not(.wn-ready) .wn-menu-button {
    display: block;
    visibility: hidden;
    flex: none;
    width: 44px;
    height: 44px;
  }
}

/* Invisible bridge across the gap between a trigger and its open panel (desktop hover). */
.wn-header .wn-group>.wn-panel::before{content:'';position:absolute;left:0;right:0;bottom:100%;height:18px}
@media(max-width:900px){.wn-header .wn-group>.wn-panel::before{content:none}}
