/* Compact navigation: one menu level at a time, with an explicit close control. */
.site-header.nav-is-open{z-index:60;transform:none!important;background:#fff}
.nav-group{position:static}
.desktop-nav{gap:clamp(19px,2.1vw,32px)}
.nav-trigger{padding:0;border:0;background:transparent;gap:8px;text-align:left}
.nav-chevron{width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-top:-4px;transition:transform .2s}
.nav-trigger[aria-expanded=true] .nav-chevron{transform:rotate(225deg);margin-top:2px}
.nav-trigger[aria-expanded=true]::after{transform:scaleX(1)}
.nav-backdrop{position:fixed;inset:0;z-index:40;display:block;width:100%;height:100%;padding:0;border:0;border-radius:0;background:rgba(0,0,0,.12);cursor:default;animation:nav-shade-enter .18s ease both}
.nav-backdrop[hidden],.mega-panel[hidden],.mobile-menu[hidden],.mobile-menu-root[hidden],.mobile-submenu[hidden]{display:none!important}
.mega-panel{position:absolute;left:auto;right:var(--gutter);top:calc(100% + 10px);width:min(840px,calc(100% - var(--gutter)*2));max-height:70vh;max-height:70dvh;overflow-y:auto;overscroll-behavior:contain;border:1px solid #dedede;background:#fff;color:#111;box-shadow:0 12px 32px -18px #0004;animation:mega-enter .2s ease both}
.mega-inner.container{display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px;width:100%;margin:0;padding:23px 58px 23px 27px}
.mega-intro{min-width:0;padding-top:7px}
.mega-overline{font:500 10px/1.4 Arial,sans-serif;letter-spacing:.15em;color:#737373}
.mega-intro h2{font-family:Arial,Helvetica,sans-serif;font-size:31px;font-weight:400;letter-spacing:-.055em;line-height:1.1;margin:14px 0 0}
.mega-description{display:none}
.mega-links{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 23px;align-content:start}
.mega-link{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;min-height:61px;padding:10px 0;border-bottom:1px solid #e9e9e9}
.mega-link>span{min-width:0}
.mega-link strong{display:block;font-size:15px;font-weight:500;line-height:1.4;letter-spacing:-.025em}
.mega-link small{display:block;font-size:10px;line-height:1.5;color:#777;margin-top:3px;word-break:keep-all;overflow-wrap:anywhere}
.mega-link .arrow{width:15px;height:15px;flex:0 0 15px;transition:transform .2s,opacity .2s;opacity:.45}
.mega-link:hover,.mega-link:focus-visible,.mega-link[aria-current=page]{border-bottom-color:#111}
.mega-link:hover .arrow,.mega-link:focus-visible .arrow{opacity:1;transform:translate(2px,-2px)}
.mega-link[aria-current=page] strong{font-weight:700}
.mega-link[aria-current=page] small{color:#111}
.menu-panel-close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;color:#111;font:400 27px/1 Arial,Helvetica,sans-serif;cursor:pointer;transition:background .2s}
.menu-panel-close:hover,.menu-panel-close:focus-visible{background:#f0f0f0}
.menu-panel-close svg{width:19px;height:19px}
.mega-panel>.menu-panel-close{position:absolute;right:6px;top:6px}
.mega-inner>.menu-panel-close{position:absolute;right:6px;top:6px}
.compact-mobile-menu{position:absolute;inset:auto 16px auto auto;top:calc(100% + 8px);width:min(420px,calc(100% - 32px));max-height:min(65vh,480px);max-height:min(65dvh,480px);margin:0;padding:8px 17px 16px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:1px solid #dedede;background:#fff;box-shadow:0 12px 32px -18px #0004;animation:mega-enter .2s ease both}
.mobile-menu-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;margin-bottom:6px;border-bottom:1px solid #e8e8e8}
.mobile-menu-heading{font-size:12px;font-weight:500;letter-spacing:.08em;color:#777}
.mobile-menu-bar>.menu-panel-close{margin-right:-10px}
.mobile-menu-root{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.compact-mobile-menu .mobile-main-link,.compact-mobile-menu .mobile-category-trigger,.compact-mobile-menu .mobile-direct-link{display:flex;align-items:center;justify-content:space-between;gap:9px;width:100%;min-width:0;min-height:51px;margin:0;padding:11px 1px;border:0;border-bottom:1px solid #e8e8e8;background:transparent;color:#111;font-family:inherit;font-size:15px;font-weight:500;line-height:1.5;letter-spacing:-.025em;text-align:left;text-decoration:none;cursor:pointer}
.compact-mobile-menu .mobile-main-link::after,.compact-mobile-menu .mobile-direct-link::after,.compact-mobile-menu .mobile-sub-link::after{content:none}
.mobile-category-trigger>span:last-child{flex:0 0 auto;color:#777;font-size:16px}
.compact-mobile-menu .mobile-main-link .arrow,.compact-mobile-menu .mobile-direct-link .arrow{width:15px;height:15px;flex:0 0 15px;opacity:.6}
.compact-mobile-menu .mobile-main-link:hover,.compact-mobile-menu .mobile-category-trigger:hover,.compact-mobile-menu .mobile-direct-link:hover,.compact-mobile-menu .mobile-sub-link:hover{border-bottom-color:#111}
.compact-mobile-menu [aria-current=page],.mobile-category-trigger[aria-current=true]{font-weight:700}
.mobile-menu-return{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:7px 0;border:0;background:transparent;color:#666;font-family:inherit;font-size:12px;line-height:1.5;text-align:left;cursor:pointer}
.mobile-menu-return:hover{color:#111}
.mobile-submenu h2{margin:2px 0 10px;font-size:20px;line-height:1.4;font-weight:500;letter-spacing:-.045em}
.mobile-sub-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding:0}
.compact-mobile-menu a.mobile-sub-link{display:flex;align-items:center;justify-content:space-between;gap:9px;min-width:0;min-height:61px;padding:10px 1px;border-bottom:1px solid #e8e8e8;color:#111;font-size:14px;line-height:1.5;letter-spacing:-.025em}
.mobile-sub-link>span{min-width:0}
.mobile-sub-link strong{display:block;font-size:14px;font-weight:500;line-height:1.45;overflow-wrap:anywhere}
.mobile-sub-link small{display:block;font-size:10px;line-height:1.5;color:#777;margin-top:3px;word-break:keep-all;overflow-wrap:anywhere}
.mobile-sub-link .arrow{width:14px;height:14px;flex:0 0 14px;opacity:.6}
.mobile-sub-link[aria-current=page] strong{font-weight:700;text-decoration:underline;text-underline-offset:4px}
@keyframes mega-enter{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@keyframes nav-shade-enter{from{opacity:0}to{opacity:1}}
@media(min-width:901px){.compact-mobile-menu{display:none!important}}
@media(max-width:1100px) and (min-width:901px){.header-inner{gap:22px}.desktop-nav{gap:18px}.desktop-nav .nav-link{font-size:13px}.nav-trigger{gap:6px}.header-contact{gap:10px;padding-inline:11px}.mega-inner.container{grid-template-columns:160px minmax(0,1fr);gap:25px}.mega-links{gap:0 20px}}
@media(max-width:900px){.desktop-nav,.mega-panel{display:none!important}.site-header.nav-is-open{background:#fff}.header-inner{gap:16px}.compact-mobile-menu{padding-top:8px;padding-bottom:16px}}
@media(max-width:380px){.compact-mobile-menu{right:12px;width:calc(100% - 24px);padding-inline:13px}.mobile-menu-root,.mobile-sub-links{column-gap:13px}.mobile-sub-link small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.mega-panel,.compact-mobile-menu,.nav-backdrop{animation:none}.nav-chevron,.mega-link .arrow,.menu-panel-close{transition:none}}
@media print{.nav-backdrop,.mega-panel,.compact-mobile-menu{display:none!important}}
.menu-panel-close>span:first-child{font-family:inherit;font-size:11px;line-height:1;margin-right:6px}
.mega-inner>.menu-panel-close>span:first-child{display:none}
.mobile-menu-bar .menu-panel-close{width:66px;min-width:66px}
.mobile-category-trigger.active-group{font-weight:700}
