/*
 * Navigation — Complete Stylesheet
 * Extracted from reference nav + unified grid + mobile v2 support.
 * Load AFTER BlankSlate reset (style.css).
 */

/* ===== 1. Base Nav (from reference) ===== */
.nav-main,.nav-main *{box-sizing:border-box}.nav-main{--nav-red:#0178DA;--nav-red-bright:#1A8CEE;--nav-ink:#101722;--nav-text:#334155;--nav-muted:#748092;--nav-line:#d8dee8;--nav-soft:#f5f7fa;--nav-panel:#ffffff;--nav-bluegray:#edf1f6;--nav-shadow:0 24px 70px rgba(16,23,34,.16);font-family:"Source Sans 3","Segoe UI",sans-serif}.nav-main{position:relative;z-index:999;width:100%;color:var(--nav-ink);background:rgba(255,255,255,.96);border-bottom:1px solid var(--nav-line);box-shadow:0 12px 34px rgba(16,23,34,.08)}.nav-main a{color:inherit;text-decoration:none}.nav-main img{display:block;max-width:100%}.nav-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:54px;padding:11px max(24px,calc((100vw - 1240px)/2)) 12px;color:var(--nav-muted);background:linear-gradient(90deg,rgba(1,120,218,.055),rgba(255,255,255,0) 36%);font-size:13px}.nav-topline>div{display:flex;align-items:center;gap:18px}.nav-topline a:hover{color:var(--nav-red)}.nav-topline-left{min-width:0;color:#253243;font-size:15px;line-height:1.25}.nav-search{width:min(545px,48vw)}.nav-search form{display:flex;align-items:center;width:100%;min-height:36px;overflow:hidden;border:1px solid var(--nav-line);border-radius:6px;background:#fff;box-shadow:0 8px 18px rgba(16,23,34,.045)}.nav-search-mark{width:38px;height:36px;flex:0 0 38px;display:flex;align-items:center;justify-content:center;color:var(--nav-red)}.nav-search-mark svg{width:18px;height:18px;stroke:currentColor}.nav-search input{min-width:0;flex:1 1 auto;height:36px;border:0;outline:0;padding:0 12px 0 0;color:var(--nav-ink);background:transparent;font-family:"Source Sans 3","Segoe UI",sans-serif;font-size:14px}.nav-search input::placeholder{color:#7b8492}.nav-search button{min-width:72px;height:36px;border:0;padding:0 16px;color:#fff;background:var(--nav-red);font-family:"Manrope",sans-serif;font-size:13px;font-weight:800;cursor:pointer;transition:background .18s ease}.nav-search button:hover{background:var(--nav-red-bright)}.nav-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:26px;align-items:center;min-height:84px;padding:0 max(24px,calc((100vw - 1240px)/2));background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(250,252,255,.98)),repeating-linear-gradient(90deg,rgba(16,23,34,.035)0 1px,transparent 1px 112px)}.nav-logo{display:inline-flex;align-items:center;gap:18px;min-width:0}.nav-logo img{width:180px;height:auto}.nav-links,.nav-actions{display:flex;align-items:center}.nav-links{justify-content:center;gap:10px}.nav-actions{justify-content:end;gap:10px}.nav-link{position:relative;min-height:44px;display:inline-flex;align-items:center;gap:8px;border:0;padding:0 14px;color:#050b14!important;background:transparent;cursor:pointer;font-family:"Manrope",sans-serif;font-size:14px;font-weight:900;letter-spacing:0}.nav-link::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;transform:scaleX(0);transform-origin:left;background:var(--nav-red);transition:transform .18s ease}.nav-link:hover::after,.nav-link.is-active::after,.nav-link[aria-expanded="true"]::after{transform:scaleX(1)}.nav-chevron{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}.nav-btn,.nav-icon-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;font-family:"Manrope",sans-serif;font-size:13px;font-weight:800;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.nav-btn:hover,.nav-icon-btn:hover,.nav-product-item:hover,.nav-solution-link:hover{transform:translateY(-1px)}.nav-btn{min-height:42px;border:1px solid var(--nav-red);padding:9px 16px;background:var(--nav-red);color:#fff!important;box-shadow:0 12px 26px rgba(1,120,218,.2)}.nav-actions .nav-btn{min-width:auto;min-height:32px;padding:5px 11px;border-radius:4px;font-size:12px;line-height:1;box-shadow:0 8px 18px rgba(1,120,218,.16)}.nav-btn:hover{background:var(--nav-red-bright);border-color:var(--nav-red-bright);color:#fff!important}.nav-btn.is-ghost{border-color:var(--nav-line);background:#fff;color:var(--nav-ink)!important;box-shadow:none}.nav-btn.is-ghost:hover{border-color:rgba(1,120,218,.36);color:var(--nav-red)!important}.nav-icon-btn{width:42px;height:42px;border:1px solid var(--nav-line);background:#fff;color:var(--nav-ink)}.nav-hamburger::before,.nav-hamburger::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor}.nav-hamburger::before{top:0}.nav-hamburger::after{bottom:0}.nav-mega{position:absolute;left:50%;top:100%;width:min(1240px,calc(100vw - 32px));transform:translate(-50%,10px);visibility:hidden;opacity:0;pointer-events:none;display:grid;overflow:hidden;border:1px solid var(--nav-line);border-radius:0 0 8px 8px;background:var(--nav-panel);box-shadow:var(--nav-shadow);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.nav-products-mega{grid-template-columns:318px 260px minmax(0,1fr);min-height:520px}.nav-products-mega .nav-feature{grid-template-columns:1fr;align-content:start}.nav-products-mega .nav-feature-title{max-width:100%;font-size:30px;line-height:1.04}.nav-products-mega .nav-feature-text{max-width:100%;font-size:14px;line-height:1.48}.nav-products-mega .nav-feature-actions{display:grid;grid-template-columns:1fr;gap:9px}.nav-products-mega .nav-feature-actions .nav-btn{justify-content:center}.nav-solutions-mega{grid-template-columns:318px minmax(0,1fr) 310px;min-height:424px}.nav-about-mega{grid-template-columns:292px minmax(0,1fr) 390px;min-height:548px}.nav-about-mega .nav-feature{grid-template-columns:minmax(0,.95fr) minmax(220px,.6fr)}.nav-resources-mega{grid-template-columns:318px minmax(0,1fr) 310px;min-height:424px}.nav-product-list{padding:22px;border-right:1px solid var(--nav-line);background:linear-gradient(120deg,rgba(1,120,218,.06),transparent 46%),#fbfcfe}.nav-section-title{margin:0 0 16px;color:var(--nav-ink);font-family:"Manrope",sans-serif;font-size:20px;line-height:1.12;letter-spacing:0}.nav-product-item{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;align-items:center;min-height:76px;padding:8px;border:1px solid transparent;border-radius:8px;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.nav-product-item:hover,.nav-product-item.is-active{border-color:rgba(1,120,218,.22);background:#fff;box-shadow:0 14px 26px rgba(16,23,34,.08)}.nav-product-item img{width:70px;height:58px;border-radius:6px;object-fit:cover;color:transparent;font-size:0;background:var(--nav-bluegray)}.nav-solution-item img{width:70px;height:58px;border-radius:6px;object-fit:cover;color:transparent;font-size:0;background:var(--nav-bluegray)}.nav-product-item strong{display:block;color:var(--nav-ink);font-family:"Manrope",sans-serif;font-size:14px;line-height:1.1}.nav-product-item span span{display:block;margin-top:4px;color:var(--nav-muted);font-size:12px}.nav-resource-item,.nav-solution-item,.nav-about-item{width:100%;display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;align-items:center;min-height:76px;padding:8px;border:1px solid transparent;border-radius:8px;cursor:pointer;background:transparent;font:inherit;text-align:left;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.nav-resource-item:hover,.nav-resource-item.is-active,.nav-solution-item:hover,.nav-solution-item.is-active,.nav-about-item:hover,.nav-about-item.is-active{transform:translateY(-1px);border-color:rgba(1,120,218,.22);background:#fff;box-shadow:0 14px 26px rgba(16,23,34,.08)}.nav-resource-icon,.nav-about-icon{width:70px;height:58px;display:grid;place-items:center;border-radius:6px;background:linear-gradient(135deg,rgba(1,120,218,.11),rgba(237,241,246,.92)),repeating-linear-gradient(-45deg,rgba(16,23,34,.07)0 1px,transparent 1px 10px);color:var(--nav-red);font-family:"Manrope",sans-serif;font-size:13px;font-weight:800}.nav-resource-icon svg,.nav-about-icon svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}.nav-resource-item strong,.nav-solution-item strong,.nav-about-item strong{display:block;color:var(--nav-ink);font-family:"Manrope",sans-serif;font-size:14px;line-height:1.1}.nav-resource-item span span,.nav-solution-item span span,.nav-about-item span span{display:block;margin-top:4px;color:var(--nav-muted);font-size:12px}.nav-feature{display:grid;grid-template-columns:minmax(0,.9fr) minmax(260px,.72fr);gap:22px;align-items:stretch;padding:26px;background:repeating-linear-gradient(90deg,rgba(16,23,34,.035)0 1px,transparent 1px 104px),#fff}.nav-feature-copy{display:flex;flex-direction:column;justify-content:space-between;min-width:0}.nav-kicker{color:var(--nav-red);font-family:"Manrope",sans-serif;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.nav-feature-title{max-width:460px;margin:10px 0 0;color:var(--nav-ink);font-family:"Manrope",sans-serif;font-size:clamp(30px,3.5vw,46px);line-height:.98;letter-spacing:0}.nav-resources-mega .nav-feature-title{font-size:clamp(28px,2.8vw,40px);overflow-wrap:anywhere}.nav-feature-text{max-width:520px;margin:14px 0 0;color:var(--nav-text);font-size:16px;line-height:1.5}.nav-feature-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.nav-feature-actions .nav-btn:not(.is-ghost){color:#fff!important}.nav-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;margin-top:24px;border:1px solid var(--nav-line);border-radius:8px;background:var(--nav-line)}.nav-spec{padding:13px;background:#f8fafc}.nav-spec strong{display:block;color:var(--nav-ink);font-family:"Manrope",sans-serif;font-size:15px}.nav-spec span{color:var(--nav-muted);font-size:12px}.nav-feature-image{overflow:hidden;border:1px solid var(--nav-line);border-radius:8px;background:var(--nav-bluegray)}.nav-feature-image img{width:100%;height:100%;min-height:306px;object-fit:cover;color:transparent;font-size:0}.nav-menu-image{position:relative;overflow:hidden;min-height:306px}.nav-menu-image img{width:100%;height:100%;min-height:306px;object-fit:cover}.nav-menu-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,23,34,.02),rgba(16,23,34,.66))}.nav-menu-image-caption{position:absolute;left:20px;right:20px;bottom:18px;z-index:1}.nav-menu-image-caption strong{display:block;color:#fff;font-family:"Manrope",sans-serif;font-size:22px;line-height:1.05}.nav-menu-image-caption span{display:block;margin-top:8px;color:rgba(255,255,255,.82);font-size:13px;line-height:1.35}.nav-support{padding:22px;border-left:1px solid var(--nav-line);background:linear-gradient(180deg,#fff,#f8fafc)}.nav-products-mega .nav-support{padding:20px 22px;border-left:1px solid var(--nav-line);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.96)),repeating-linear-gradient(-45deg,rgba(16,23,34,.035)0 1px,transparent 1px 14px)}.nav-support-copy{margin:-4px 0 14px;color:var(--nav-muted);font-size:13px;line-height:1.35}.nav-map-panel.is-active{display:grid;gap:8px}.nav-products-mega .nav-map-panel.is-active{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:420px;overflow:auto;padding:1px 6px 4px 1px;align-content:start}.nav-map-link{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--nav-line);font-family:"Manrope",sans-serif;font-weight:800;transition:transform .18s ease,color .18s ease,border-color .18s ease}.nav-map-link{min-height:58px;font-size:13px}.nav-products-mega .nav-map-link{position:relative;display:flex;align-items:stretch;min-height:72px;padding:0;overflow:hidden;border:1px solid var(--nav-line);border-radius:8px;background:#fff;box-shadow:0 7px 16px rgba(16,23,34,.045)}.nav-map-link-content{min-width:0}.nav-products-mega .nav-map-link-content{display:flex;align-items:stretch;gap:0;width:100%;height:100%}.nav-product-visual{width:62px;min-height:52px;flex:0 0 62px;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.95),rgba(255,255,255,0) 42%),linear-gradient(135deg,#f7f9fc 0%,#eef2f7 100%);display:flex;align-items:center;justify-content:center;padding:7px;border-right:1px solid #e6e8ee;position:relative}.nav-product-visual img{display:block;mix-blend-mode:multiply}.nav-products-mega .nav-map-thumb{width:auto;height:auto;max-width:100%;max-height:40px;flex:initial;object-fit:contain;padding:0;border:0;border-radius:0;background:transparent}.nav-map-text{min-width:0}.nav-products-mega .nav-map-text{display:flex;align-items:center;min-height:70px;padding:11px 30px 11px 12px;font-size:13px;line-height:1.25;overflow-wrap:anywhere}.nav-map-link::after,.nav-resource-link::after,.nav-resource-mini a::after{content:"";flex:0 0 auto;width:7px;height:7px;border-top:2px solid var(--nav-red);border-right:2px solid var(--nav-red);transform:rotate(45deg)}.nav-products-mega .nav-map-link::after{position:absolute;right:13px;top:50%;bottom:auto;transform:translateY(-50%) rotate(45deg)}.nav-map-link:hover,.nav-resource-link:hover,.nav-resource-mini a:hover{color:var(--nav-red);transform:translateX(2px)}.nav-resource-map-panel a{min-height:30px;font-size:12px}.nav-resource-map-panel{gap:8px;margin-top:0}.nav-resource-map-panel.is-active{display:grid}.nav-resources-mega .nav-resource-map-panel.is-active{max-height:338px;overflow:auto;padding-right:4px}.nav-about-map-panel.is-active{display:block}.nav-cert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-right:2px}.nav-about-mega .nav-cert-grid{max-height:none;overflow:visible}.nav-cert-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:9px;align-items:center;min-height:62px;padding:8px;border:1px solid var(--nav-line);border-radius:8px;background:#fff;font-family:"Manrope",sans-serif;font-size:12px;font-weight:800;line-height:1.1;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.nav-cert-card:hover{transform:translateY(-1px);border-color:rgba(1,120,218,.3);box-shadow:0 10px 20px rgba(16,23,34,.08)}.nav-cert-card img{width:46px;height:46px;border:1px solid var(--nav-line);border-radius:7px;background:#f8fafc}.nav-cert-card img{object-fit:contain;padding:4px}.nav-placeholder::after{content:"";position:absolute;inset:16px;border:1px solid rgba(255,255,255,.72)}.nav-solution-link:hover{color:var(--nav-red)}.nav-mobile-state{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;opacity:0;pointer-events:none}.nav-mobile-qs-card::after{content:"";position:absolute;right:14px;bottom:17px;width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}.nav-mobile-family-card::after{content:none}.nav-main.is-mobile-preview .nav-mobile-state:checked~.nav-bar .nav-icon-btn{border-color:var(--nav-red);background:var(--nav-red);color:#fff;box-shadow:0 10px 22px rgba(1,120,218,.2)}.nav-main.is-mobile-preview .nav-mobile-state:checked~.nav-bar .nav-hamburger span{opacity:0}.nav-main.is-mobile-preview.is-mobile-open .nav-hamburger::before,.nav-main.is-mobile-preview .nav-mobile-state:checked~.nav-bar .nav-hamburger::before{top:5px;transform:rotate(45deg)}.nav-main.is-mobile-preview.is-mobile-open .nav-hamburger::after,.nav-main.is-mobile-preview .nav-mobile-state:checked~.nav-bar .nav-hamburger::after{bottom:5px;transform:rotate(-45deg)}.nav-main.is-mobile-preview .nav-mobile-state:checked~.nav-mobile-panel-v3{display:block;max-height:calc(100vh - 70px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:14px 18px 18px;border-top:1px solid var(--nav-line);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,249,252,.98)),repeating-linear-gradient(90deg,rgba(16,23,34,.026)0 1px,transparent 1px 92px);box-shadow:0 22px 50px rgba(16,23,34,.14)}@media (max-width:1080px){.nav-topline,.nav-links,.nav-actions .nav-btn{display:none}.nav-bar{display:flex;justify-content:space-between;gap:14px;min-height:70px;padding:0 74px 0 18px}.nav-actions{position:absolute;top:14px;right:18px;z-index:2;display:flex!important;flex:0 0 auto;margin-left:auto}.nav-logo img{width:150px;height:52px;object-fit:contain;object-position:left center;color:transparent;font-size:0}.nav-icon-btn{position:fixed;top:13px;right:16px;z-index:100000;display:inline-flex!important;flex:0 0 42px}.nav-mobile-state:checked~.nav-bar .nav-icon-btn{border-color:var(--nav-red);background:var(--nav-red);color:#fff;box-shadow:0 10px 22px rgba(1,120,218,.2)}.nav-mobile-state:checked~.nav-bar .nav-hamburger span{opacity:0}.nav-main.is-mobile-open .nav-hamburger::before,.nav-mobile-state:checked~.nav-bar .nav-hamburger::before{top:5px;transform:rotate(45deg)}.nav-main.is-mobile-open .nav-hamburger::after,.nav-mobile-state:checked~.nav-bar .nav-hamburger::after{bottom:5px;transform:rotate(-45deg)}.nav-support .nav-map-link{min-height:52px}.nav-support .nav-map-thumb{width:36px;height:36px;flex-basis:36px}.nav-mobile-panel a::after{content:"";width:7px;height:7px;border-top:2px solid var(--nav-red);border-right:2px solid var(--nav-red);transform:rotate(45deg)}.nav-mobile-panel .nav-mobile-contact::after{content:none}.nav-mobile-products .nav-mobile-product::after{content:none}.nav-mega{display:none}.nav-mobile-state:checked~.nav-mobile-panel-v3{display:block;max-height:calc(100vh - 70px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:14px 18px 18px;border-top:1px solid var(--nav-line);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,249,252,.98)),repeating-linear-gradient(90deg,rgba(16,23,34,.026)0 1px,transparent 1px 92px);box-shadow:0 22px 50px rgba(16,23,34,.14)}.nav-mobile-qs-card::after{content:"";position:absolute;right:14px;bottom:17px;width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}.nav-mobile-family-card::after{content:none}.nav-mobile-list a{min-width:0;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--nav-line);border-radius:8px;padding:10px 12px;color:var(--nav-ink);background:#fff;font-family:"Manrope",sans-serif;font-size:13px;font-weight:800;line-height:1.2}.nav-mobile-group{overflow:hidden;border:1px solid var(--nav-line);border-radius:8px;background:#fff}.nav-mobile-group+.nav-mobile-group{margin-top:10px}.nav-mobile-group summary{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;color:var(--nav-ink);cursor:pointer;font-family:"Manrope",sans-serif;font-size:14px;font-weight:900;list-style:none}.nav-mobile-group summary::-webkit-details-marker{display:none}.nav-mobile-group summary span{color:var(--nav-muted);font-size:12px;font-weight:800}.nav-mobile-group summary::after{content:"";width:8px;height:8px;flex:0 0 auto;border-right:2px solid var(--nav-red);border-bottom:2px solid var(--nav-red);transform:rotate(45deg) translateY(-2px);transition:transform .18s ease}.nav-mobile-group[open] summary::after{transform:rotate(225deg) translate(-2px,-1px)}.nav-mobile-list{display:grid;gap:8px;padding:0 10px 12px}.nav-mobile-list a::after,.nav-mobile-primary a::after,.nav-mobile-quick a::after{content:"";width:7px;height:7px;flex:0 0 auto;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}.nav-mobile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:0 10px 12px}.nav-mobile-card{min-width:0;display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;overflow:hidden;border:1px solid var(--nav-line);border-radius:8px;color:var(--nav-ink);background:#fff}.nav-mobile-card::after{content:none}.nav-mobile-card img{width:52px;height:52px;object-fit:cover;color:transparent;font-size:0;background:var(--nav-bluegray)}.nav-mobile-card strong{min-width:0;display:block;padding:9px 10px;font-family:"Manrope",sans-serif;font-size:12px;font-weight:900;line-height:1.12}.nav-mobile-card.is-wide{grid-column:1/-1}}@media (max-width:620px){.nav-bar{padding:0 14px}}@media (max-width:360px){.nav-mobile-grid{grid-template-columns:1fr}}.nav-main.is-mobile-preview .nav-mobile-state:checked~.nav-mobile-panel-v3{display:block!important;max-height:calc(100dvh - 68px)!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;padding:14px!important;border-top:1px solid var(--nav-line)!important;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,249,252,.98))!important;box-shadow:0 22px 50px rgba(16,23,34,.14)!important}@media (max-width:1200px){.nav-main[data-nav-command-white-nav]{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;transform:none!important}.nav-bar{position:relative!important;display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:68px!important;padding:0 72px 0 14px!important}.nav-actions{position:absolute!important;top:13px!important;right:14px!important;z-index:100002!important;display:flex!important}.nav-icon-btn{position:absolute!important;top:0!important;right:0!important;z-index:100003!important;display:inline-flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}.nav-logo img{width:148px!important;height:50px!important;object-fit:contain!important;object-position:left center!important}}@media (hover:none),(pointer:coarse){.nav-main .nav-btn:hover,.nav-main .nav-icon-btn:hover,.nav-main .nav-product-item:hover,.nav-main .nav-solution-link:hover,.nav-main .nav-resource-item:hover,.nav-main .nav-solution-item:hover,.nav-main .nav-about-item:hover,.nav-main .nav-map-link:hover,.nav-main .nav-resource-link:hover,.nav-main .nav-resource-mini a:hover{transform:none}}

/* ===== Brand token overrides — edit global-tokens.css to change colour ===== */
.nav-main {
  --nav-red:    var(--brand-red);
  --nav-red-bright: var(--brand-red-bright);
  --nav-ink:    var(--brand-ink);
  --nav-muted:  var(--brand-muted);
  --nav-line:   var(--brand-line);
  --nav-soft:   var(--brand-soft);
}

/* ===== 2. Unified Dynamic Grid (nav-dynamic.css merge) ===== */
/*
 * 动态导航 —— 统一三/两栏 mega 组合样式
 * 复用 style.css 的原子类（product-item / feature / support / map-panel / map-link）与变量，
 * 这里只补：统一容器 grid、两/三栏切换(.has-col-c)、右栏子项卡片、以及原型缺失的默认隐藏规则。
 * 依赖在 style.css 之后加载。
 */

/* ---- 统一容器：两栏 / 三栏(.has-col-c) ---- */
.nav-dyn-mega {
	grid-template-columns: 318px minmax(0, 1fr);
	min-height: 460px;
}
.nav-dyn-mega.has-col-c {
	grid-template-columns: 318px minmax(0, 1fr) 320px;
}

/* ---- About Us dropdown: force 2 columns (A + B), hide Column C ---- */
/* Covers all 3 render paths: default mega menu (title "About Us"),
   about-anchor renderer (panel mabout-anchor), generic:about renderer (panel mabout). */
[aria-label="About Us menu"].nav-dyn-mega,
[aria-label="About Us menu"].nav-dyn-mega.has-col-c,
[data-nav-menu-panel="mabout-anchor"].nav-dyn-mega,
[data-nav-menu-panel="mabout-anchor"].nav-dyn-mega.has-col-c,
[data-nav-menu-panel="mabout"].nav-dyn-mega,
[data-nav-menu-panel="mabout"].nav-dyn-mega.has-col-c {
	grid-template-columns: 292px minmax(0, 1fr);
	min-height: 480px;
}
[aria-label="About Us menu"] .nav-support,
[data-nav-menu-panel="mabout-anchor"] .nav-support,
[data-nav-menu-panel="mabout"] .nav-support {
	display: none !important;
}

/* 中栏 feature：文案 + 大图 双列（复用 style.css 默认 .nav-feature 双列即可，
   但产品面板 CSS 会把它压成单列，这里用统一容器作用域，显式保证双列） */
.nav-dyn-mega .nav-feature {
	grid-template-columns: minmax(0, 1fr) minmax(240px, 0.72fr);
}

/* Products 面板：三栏比例 318px | 300px | 剩余空间（提升特异性覆盖 .nav-dyn-mega.has-col-c） */
[data-nav-menu-panel="mproducts"].nav-dyn-mega.has-col-c {
	grid-template-columns: 318px 300px 1fr;
}

/* Products Column B：无大图，单列不撑大 */
[data-nav-menu-panel="mproducts"].nav-dyn-mega .nav-feature {
	grid-template-columns: minmax(0, 1fr);
	padding-right: 0;
}

/* Products Column C 子项：3 列网格，自动换行 */
[data-nav-menu-panel="mproducts"].nav-dyn-mega .nav-map-panel.is-active {
	grid-template-columns: repeat(3, 1fr);
}

/* Products "→ All" 链接占满整行 */
[data-nav-menu-panel="mproducts"] .nav-map-link--all {
	grid-column: 1 / -1;
	justify-self: stretch;
}

/* ---- About / Solutions / Projects: B 列由图片原始比例决定下拉高度 ---- */
[data-nav-menu-panel="mabout-anchor"].nav-dyn-mega,
[data-nav-menu-panel="msolutions-dynamic"].nav-dyn-mega,
[data-nav-menu-panel="mprojects-dynamic"].nav-dyn-mega {
	height: auto;
	min-height: 460px;
}

/* 左栏与图片驱动的 B 列保持相同高度；内容超出时仅左栏滚动。 */
[data-nav-menu-panel="mabout-anchor"] .nav-product-list,
[data-nav-menu-panel="msolutions-dynamic"] .nav-product-list,
[data-nav-menu-panel="mprojects-dynamic"] .nav-product-list {
	overflow-y: auto;
}

/* 文案在上，预览图以自身比例完整撑开 B 列；不裁切、不留 contain 空白。 */
[data-nav-menu-panel="mabout-anchor"] .nav-feature,
[data-nav-menu-panel="msolutions-dynamic"] .nav-feature,
[data-nav-menu-panel="mprojects-dynamic"] .nav-feature {
	grid-template-columns: 1fr;
	grid-template-rows: auto auto;
	gap: 18px;
	min-height: 0;
}

[data-nav-menu-panel="mabout-anchor"] .nav-feature-copy,
[data-nav-menu-panel="msolutions-dynamic"] .nav-feature-copy,
[data-nav-menu-panel="mprojects-dynamic"] .nav-feature-copy {
	grid-row: 1;
	overflow: hidden;
}

[data-nav-menu-panel="mabout-anchor"] .nav-feature-title,
[data-nav-menu-panel="msolutions-dynamic"] .nav-feature-title,
[data-nav-menu-panel="mprojects-dynamic"] .nav-feature-title {
	max-width: none;
	font-size: clamp(20px, 2.2vw, 28px);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

[data-nav-menu-panel="mabout-anchor"] .nav-feature-text,
[data-nav-menu-panel="msolutions-dynamic"] .nav-feature-text,
[data-nav-menu-panel="mprojects-dynamic"] .nav-feature-text {
	max-width: none;
	margin-bottom: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

[data-nav-menu-panel="mabout-anchor"] .nav-feature-image,
[data-nav-menu-panel="msolutions-dynamic"] .nav-feature-image,
[data-nav-menu-panel="mprojects-dynamic"] .nav-feature-image {
	grid-row: 2;
	width: 100%;
	min-height: 0;
	background: var(--nav-soft);
}

[data-nav-menu-panel="mabout-anchor"] .nav-feature-image img,
[data-nav-menu-panel="msolutions-dynamic"] .nav-feature-image img,
[data-nav-menu-panel="mprojects-dynamic"] .nav-feature-image img {
	display: block;
	width: 100%;
	height: auto;
	min-height: 0;
	object-fit: initial;
}

/* ---- 右栏 Column C ---- */
/* 原型只定义了 .is-active 的显示，未激活面板默认必须隐藏（原型靠运行时 JS 补 sf-hidden） */
.nav-dyn-mega .nav-map-panel {
	display: none;
}
.nav-dyn-mega .nav-map-panel.is-active {
	display: grid;
	gap: 8px;
	align-content: start;
	max-height: 440px;
	overflow: auto;
	padding-right: 4px;
}
/* 两栏时（无第三栏）隐藏右栏容器，中栏自然拉伸占满 */
.nav-dyn-mega:not(.has-col-c) .nav-support {
	display: none;
}

/* 右栏子项卡片：缩略图 + 名称（借产品面板卡片观感，单列排列） */
.nav-dyn-mega .nav-map-link {
	position: relative;
	display: flex;
	align-items: stretch;
	min-height: 64px;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--nav-line);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 7px 16px rgba(16, 23, 34, .045);
}
.nav-dyn-mega .nav-map-link-content {
	display: flex;
	align-items: stretch;
	width: 100%;
}
.nav-dyn-mega .nav-map-thumb {
	max-width: 100%;
	max-height: 40px;
	object-fit: contain;
}
.nav-dyn-mega .nav-map-text {
	display: flex;
	align-items: center;
	min-height: 62px;
	padding: 11px 30px 11px 12px;
	font-size: 13px;
	line-height: 1.25;
	overflow: hidden;
}
.nav-dyn-mega .nav-map-text > span {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	word-break: break-word;
}
.nav-dyn-mega .nav-map-link::after {
	position: absolute;
	right: 13px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}

/* ---- 汉堡图标：原型只定义了 ::before/::after 两条线，补自身定位 + 中间 span ---- */
.nav-hamburger {
	position: relative;
	display: block;
	width: 18px;
	height: 14px;
}
.nav-hamburger span {
	position: absolute;
	top: 50%;
	left: 0;
	width: 18px;
	height: 2px;
	margin-top: -1px;
	background: currentColor;
}

/* ---- 桌面端：汉堡按钮隐藏（原型靠 sf-hidden，动态版不用该类） ---- */
.nav-main .nav-icon-btn {
	display: none;
}

/* ---- 移动端折叠面板：默认隐藏 ----
   PHP 渲染的类名为 v2，但原型 style.css 只含 v3 的桌面隐藏规则，
   类名换代时漏补 v2 的默认隐藏 → 桌面端（>1080px）该面板以 display:block
   常驻，把全部菜单文本平铺在导航栏下方。这里补默认隐藏，媒体查询内再按需展开。 */
.nav-mobile-panel-v2 {
	display: none;
}

/* ---- 移动端（<1080px）：显示汉堡 + checkbox 勾选时展开 v2 折叠面板 ---- */
@media (max-width: 1080px) {
	.nav-main .nav-icon-btn {
		display: inline-flex !important;
	}
	.nav-actions .nav-contact-btn {
		display: inline-flex !important;
		min-width: auto;
		min-height: 32px;
		padding: 5px 11px;
		border-radius: 4px;
		font-size: 12px;
		line-height: 1;
	}
	.nav-mobile-panel-v2 {
		display: none;
	}
	.nav-mobile-state:checked ~ .nav-mobile-panel-v2 {
		display: block;
		max-height: calc(100vh - 70px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		padding: 14px 18px 18px;
		border-top: 1px solid var(--nav-line);
		background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(247, 249, 252, .98));
		box-shadow: 0 22px 50px rgba(16, 23, 34, .14);
	}
}

/* ---- 导航栏操作图标（搜索 / 收藏 / 购物车） ---- */
.nav-act-icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid var(--nav-line);
	border-radius: 6px;
	background: #fff;
	color: var(--nav-ink);
	transition: transform .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.nav-act-icon:hover {
	transform: translateY(-1px);
	border-color: var(--nav-red);
	color: var(--nav-red);
	box-shadow: 0 6px 14px rgba(1,120,218,.12);
}
.nav-act-icon svg {
	display: block;
}

/* 购物车数量角标 */
.nav-cart-badge {
	position: absolute;
	top: -4px;
	right: -4px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border-radius: 8px;
	background: var(--nav-red);
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	line-height: 16px;
	text-align: center;
	pointer-events: none;
}


/* Render the current v2 mobile menu when the menu toggle is checked. */
@media (max-width: 1200px) {
	.nav-mobile-panel-v2 {
		display: none;
	}
	.nav-mobile-state:checked ~ .nav-mobile-panel-v2 {
		display: block;
		max-height: calc(100dvh - 70px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		padding: 14px 18px 18px;
		border-top: 1px solid var(--nav-line);
		background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,249,252,.98));
		box-shadow: 0 22px 50px rgba(16,23,34,.14);
	}
}


/* Keep the mobile menu toggle unobstructed. */
@media (max-width: 1200px) {
  .nav-actions .nav-contact-btn { display: none !important; }
}


/* Keep the About Us feature copy desktop-only. */
@media (max-width: 1200px) {
  [data-nav-menu-panel="mabout-anchor"] .nav-feature-text {
    display: none;
  }
}


/* Hide About Us section links in the mobile navigation only. */
@media (max-width: 1200px) {
  #nav-mobile-nav-v2 > .nav-mobile-item:first-of-type .nav-mobile-sub {
    display: none;
  }
}


/* Hide only About Us section links in the mobile navigation. */
@media (max-width: 1200px) {
  .nav-mobile-item--about .nav-mobile-sub {
    display: none;
  }
}
