/* Shared canonical Homepage header. Scoped to institutional navigation. */
#nm-navigation, #nm-navigation *, #mobile-menu-overlay, #mobile-menu-overlay * { box-sizing:border-box; font-family:"Poppins",sans-serif !important; }
#nm-navigation, #mobile-menu-overlay { line-height:1.5; }
#nm-navigation { position:fixed; top:0; left:0; right:0; z-index:50; display:flex; justify-content:center; pointer-events:none; transition:all .5s; color:rgba(255,255,255,.8); }
#nm-navigation #navbar { display:flex; align-items:center; justify-content:space-between; pointer-events:auto; width:min(calc(100% - 2rem),80rem) !important; max-width:80rem !important; margin:0 auto; padding:1rem 1.5rem; background:transparent; border:0; border-radius:0; transition:all .5s cubic-bezier(.25,1,.5,1); }
@media(min-width:768px) { #nm-navigation #navbar { width:min(calc(100% - 4rem),80rem) !important; } }
@media(min-width:1280px) { #nm-navigation #navbar { width:min(calc(100% - 6rem),80rem) !important; } }
#nm-navigation #navbar.nav-scrolled { margin-top:1rem; border-radius:9999px; background:rgba(16,26,38,.95) !important; backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); border:1px solid rgba(255,255,255,.1); box-shadow:0 10px 40px rgba(0,0,0,.4); width:calc(100% - 2rem) !important; max-width:80rem !important; }
@media(max-width:640px) { #nm-navigation #navbar.nav-scrolled { width:calc(100% - 1rem) !important; } }
#nm-navigation .nm-nav-logo { display:block; width:7rem; flex-shrink:0; }
#nm-navigation .nm-nav-logo img { display:block; width:100%; height:auto; }
#nm-navigation .nm-nav-actions { display:flex; align-items:center; gap:.75rem; flex-shrink:0; }
#nm-navigation a { text-decoration:none; }
#nm-navigation .nm-nav-link { color:rgba(255,255,255,.8); font-weight:600; }
#nm-navigation .nm-nav-link:hover { color:#BF6956; }
#nm-navigation button { cursor:pointer; }
#nm-navigation .nm-header-cta { display:none; align-items:center; padding:.625rem 1.5rem; background:#BF6956; color:white; border-radius:9999px; font-size:.875rem; line-height:1.25rem; font-weight:700 !important; box-shadow:0 10px 15px -3px rgba(191,105,86,.2); transition:all .2s; }
#nm-navigation .nm-header-cta:hover { background:#A64F3C; }
@media(min-width:640px) { #nm-navigation .nm-header-cta { display:flex; } }
#nm-navigation .nm-mobile-trigger { align-items:center; justify-content:center; width:2.5rem; height:2.5rem; border-radius:9999px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); color:white; padding:0; }
#nm-navigation .nm-mobile-trigger svg { width:1.5rem; height:1.5rem; }
#mobile-menu-overlay { position:fixed; inset:0; z-index:60; padding:1.5rem; width:100%; height:100%; display:block; opacity:0; transition:opacity .3s; background:rgba(3,11,26,.98); backdrop-filter:blur(40px); }
#mobile-menu-overlay.hidden { display:none !important; }
#mobile-menu-overlay.opacity-100 { opacity:1; }
#mobile-menu-overlay #close-menu { position:absolute; top:1.5rem; right:1.5rem; color:rgba(255,255,255,.3); padding:.5rem; background:transparent; border:0; cursor:pointer; }
#mobile-menu-overlay #close-menu svg { width:2rem; height:2rem; }
#mobile-menu-overlay a { text-decoration:none; }
.nm-header-backdrop { position:absolute; top:0; left:0; right:0; height:5.5rem; background:#101A26; }
/* Discrete dropdowns, using the existing Soluções glass treatment. */
.nm-main-menu { display: none; gap: .75rem; align-items: center; color: rgba(255,255,255,.8); font-size: .75rem; font-weight: 600; }
.nm-main-menu .nm-submenu-toggle { width:1rem; }
.nm-nav-item { position: relative; padding: .5rem 0; }
.nm-nav-row { display:flex; align-items:center; gap:.25rem; }
.nm-nav-link, .nm-submenu-toggle { transition: color .2s ease; }
.nm-nav-link:hover, .nm-submenu-toggle:hover { color: #BF6956; }
.nm-submenu-toggle { display:flex; align-items:center; justify-content:center; width:1.5rem; height:1.5rem; color:inherit; border-radius:50%; padding:0; border:0; background:transparent; }
.nm-submenu-toggle svg { opacity:.65; transition:transform .2s ease; }
.nm-submenu-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
.nm-dropdown {
    position:absolute; top:100%; left:50%; transform:translate(-50%,.4rem);
    display:flex; flex-direction:column; width:14rem; padding:.5rem;
    background:rgba(3,11,26,.95); backdrop-filter:blur(20px);
    border:1px solid rgba(255,255,255,.1); border-radius:1rem;
    box-shadow:0 20px 40px rgba(0,0,0,.25); z-index:60;
    opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .2s ease, transform .2s ease, visibility .2s;
}
.nm-nav-item.is-open .nm-dropdown { opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0); }
.nm-dropdown a { padding:.7rem .8rem; border-radius:.7rem; font-size:.7rem; line-height:1.5; font-weight:600; color:rgba(255,255,255,.8); }
.nm-dropdown a:hover, .nm-dropdown a:focus-visible { color:#BF6956; background:rgba(255,255,255,.05); }
.nm-nav-link:focus-visible, .nm-submenu-toggle:focus-visible, .nm-mobile-main:focus-visible { outline:2px solid #BF6956; outline-offset:4px; }
.nm-mobile-trigger { display:flex !important; }
@media (min-width: 1024px) { .nm-main-menu { display:flex; } .nm-mobile-trigger { display:none !important; } }
@media (min-width: 1024px) and (max-width: 1279px) {
    #nm-navigation .nm-header-cta { padding-left:1rem; padding-right:1rem; }
}
#mobile-menu-overlay { background:rgba(3,11,26,.98); }
.nm-mobile-content { width:min(100%,28rem); max-height:100%; margin:auto; padding:4rem 0 2rem; overflow-y:auto; }
.nm-mobile-item { width:100%; padding:.5rem 0; }
.nm-mobile-item .nm-nav-row { justify-content:space-between; }
.nm-mobile-main { font-size:1.5rem; line-height:1.6; font-weight:600; color:white; }
.nm-mobile-item .nm-submenu-toggle { width:2.75rem; height:2.75rem; color:white; background:rgba(255,255,255,.05); }
.nm-mobile-submenu { padding:.25rem 0 .5rem 1rem; }
.nm-mobile-submenu a { display:block; padding:.65rem 0; color:rgba(255,255,255,.7); font-size:.85rem; font-weight:400; }
.nm-mobile-contact { display:inline-flex; padding:.8rem 1.4rem; margin-top:1rem; color:white; background:#BF6956; border-radius:999px; font-size:.85rem; font-weight:600; }

/* Selector replicated from the approved index: flag + chevron, no capsule. */
#nm-navigation .language-selector { position:relative; }
#nm-navigation .language-trigger { min-height:auto; padding:4px 0; gap:7px; display:inline-flex; align-items:center; justify-content:center; border:none; border-radius:0; background:transparent; box-shadow:none; color:rgba(255,255,255,.92); cursor:pointer; }
#nm-navigation .language-flag { width:25px; height:17px; display:block; border-radius:2px; object-fit:cover; }
#nm-navigation .language-chevron { width:14px; height:14px; flex:0 0 auto; color:inherit; transition:transform .2s,color .2s; }
#nm-navigation .language-trigger:hover { color:#BF6956; background:transparent; }
#nm-navigation .language-positioner { position:absolute; top:calc(100% - 2px); right:0; z-index:90; padding-top:12px; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(8px); transition:opacity .2s,visibility .2s,transform .2s; }
#nm-navigation .language-selector.is-open .language-positioner { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); }
#nm-navigation .language-selector.is-open .language-chevron { transform:rotate(180deg); }
#nm-navigation .language-panel { width:175px; padding:8px; border-radius:14px; border:1px solid rgba(255,255,255,.1); background:rgba(16,26,38,.97); backdrop-filter:blur(18px); box-shadow:0 18px 45px rgba(0,0,0,.22); }
#nm-navigation .language-panel .lang-btn { width:100%; display:flex; align-items:center; gap:9px; padding:9px 10px; border:0; border-radius:9px; background:transparent; color:rgba(255,255,255,.8); font-size:12px; line-height:18px; font-weight:500; text-align:left; cursor:pointer; }
#nm-navigation .language-panel .lang-btn:hover, #nm-navigation .language-panel .lang-btn.active { color:white; background:rgba(255,255,255,.07); }
#nm-navigation .language-panel .lang-btn img { width:20px; height:14px; border-radius:2px; object-fit:cover; }
#nm-navigation .language-trigger:focus-visible, #nm-navigation .lang-btn:focus-visible { outline:2px solid #BF6956; outline-offset:3px; }

/* Preserve the menu gap; compact only the commercial pill at 1024px for Contact. */
@media(min-width:1024px) and (max-width:1279px) { #nm-navigation .nm-header-cta { padding-left:.7rem; padding-right:.7rem; font-size:.75rem; } #nm-navigation #navbar { padding-left:1rem; padding-right:1rem; } }
@media(min-width:1024px) and (max-width:1279px) { #nm-navigation #navbar { width:calc(100% - 2rem) !important; gap:.75rem; } }
.nm-dropdown { max-height:calc(100vh - 140px); overflow-y:auto; }
.nm-dropdown .nm-menu-pending { padding:.7rem .8rem; font-size:.7rem; line-height:1.5; font-weight:600; color:rgba(255,255,255,.45); }
.nm-mobile-submenu .nm-menu-pending { display:block; padding:.65rem 0; font-size:.85rem; color:rgba(255,255,255,.45); }
.nm-dropdown-primary { font-weight:700 !important; }

/* Hierarchy is scoped exclusively to Products. */
#submenu-products-desktop { overflow:visible; }
.nm-product-branch { position:relative; }
.nm-product-trigger { display:flex; align-items:center; justify-content:space-between; gap:.75rem; width:100%; padding:.7rem .8rem; border:0; border-radius:.7rem; background:transparent; color:rgba(255,255,255,.8); font-size:.7rem; line-height:1.5; text-align:left; }
.nm-product-trigger:hover, .nm-product-trigger:focus-visible { color:#BF6956; background:rgba(255,255,255,.05); }
.nm-product-trigger:focus-visible { outline:2px solid #BF6956; outline-offset:2px; }
[data-product-branch="desktop"] .nm-product-submenu { position:absolute; left:calc(100% - 1px); top:-.5rem; width:14rem; padding:.5rem; display:flex; flex-direction:column; background:rgba(3,11,26,.95); border:1px solid rgba(255,255,255,.1); border-radius:1rem; box-shadow:0 20px 40px rgba(0,0,0,.25); backdrop-filter:blur(20px); max-height:calc(100vh - 140px); overflow-y:auto; }
[data-product-branch="desktop"].opens-left .nm-product-submenu { left:auto; right:calc(100% - 1px); }
.nm-product-submenu[hidden] { display:none !important; }
#submenu-products-mobile .nm-product-trigger { padding:.65rem 0; font-size:.85rem; color:rgba(255,255,255,.7); }
#submenu-products-mobile .nm-product-submenu { padding-left:1rem; }
#submenu-products-mobile .nm-product-trigger[aria-expanded="true"] svg { transform:rotate(90deg); }

/* Fit the authorized eight-tab menu at 1024px without changing its 12px item gap. */
@media(min-width:1024px) and (max-width:1279px) {
    #nm-navigation #navbar { gap:.5rem; }
    #nm-navigation .nm-main-menu .nm-nav-row { gap:.125rem; }
    #nm-navigation .nm-main-menu .nm-submenu-toggle { width:.75rem; }
    #nm-navigation .nm-header-cta { padding-left:.575rem; padding-right:.575rem; }
}



/* Services inherits the approved Products flyout treatment, within navigation only. */
#submenu-services-desktop { overflow:visible; }
.nm-service-branch { position:relative; }
.nm-service-trigger { display:flex; align-items:center; justify-content:space-between; gap:.75rem; width:100%; padding:.7rem .8rem; border:0; border-radius:.7rem; background:transparent; color:rgba(255,255,255,.8); font-size:.7rem; line-height:1.5; text-align:left; }
.nm-service-trigger svg { flex-shrink:0; }
.nm-service-trigger:hover, .nm-service-trigger:focus-visible { color:#BF6956; background:rgba(255,255,255,.05); }
.nm-service-trigger:focus-visible { outline:2px solid #BF6956; outline-offset:2px; }
[data-service-branch="desktop"] .nm-service-submenu { position:absolute; left:calc(100% - 1px); top:-.5rem; width:14rem; padding:.5rem; display:flex; flex-direction:column; background:rgba(3,11,26,.95); border:1px solid rgba(255,255,255,.1); border-radius:1rem; box-shadow:0 20px 40px rgba(0,0,0,.25); backdrop-filter:blur(20px); max-height:calc(100vh - 16px); overflow-y:auto; }
[data-service-branch="desktop"].opens-left .nm-service-submenu { left:auto; right:calc(100% - 1px); }
.nm-service-submenu[hidden] { display:none !important; }
#submenu-services-mobile .nm-service-trigger { padding:.65rem 0; font-size:.85rem; color:rgba(255,255,255,.7); }
#submenu-services-mobile .nm-service-submenu { padding-left:1rem; }
#submenu-services-mobile .nm-service-trigger[aria-expanded="true"] svg { transform:rotate(90deg); }

/* Current page group: color only, scoped to main navigation links. */
#nm-navigation .nm-nav-link.nm-nav-active,
#mobile-menu-overlay .nm-mobile-main.nm-nav-active { color:#BF6956; }
