/* Navegação hierárquica — mantida fora do CSS gerado da Home. */
.site-header { position: relative; z-index: 50; }
.nav-group { position: relative; }
.nav-group__label { display: flex; align-items: center; gap: 7px; }
.submenu-toggle { width: 24px; height: 28px; padding: 0; position: relative; border: 0; background: transparent; color: var(--ink); cursor: pointer; }
.submenu-toggle span::before,.submenu-toggle span::after { content:""; width: 7px; height: 1px; position: absolute; top: 14px; background: currentColor; transition: transform .2s ease; }
.submenu-toggle span::before { left: 6px; transform: rotate(45deg); }
.submenu-toggle span::after { right: 6px; transform: rotate(-45deg); }
.nav-group.is-open .submenu-toggle span::before { transform: rotate(-45deg); }
.nav-group.is-open .submenu-toggle span::after { transform: rotate(45deg); }
.nav-submenu { width: 330px; padding: 14px 22px 20px; position: absolute; z-index: 60; left: -22px; top: 100%; display: grid; visibility: hidden; opacity: 0; transform: translateY(-8px); background: var(--ink); color: var(--paper); box-shadow: 0 20px 45px rgba(16,24,32,.2); transition: opacity .18s ease,transform .18s ease,visibility .18s; }
.nav-group:hover .nav-submenu,.nav-group.is-open .nav-submenu { visibility: visible; opacity: 1; transform: translateY(0); }
.site-header nav .nav-submenu a { min-height: 48px; padding: 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid #3f4a51; color: var(--paper); font-size: 13px; }
.site-header nav .nav-submenu a::before,.site-header nav .nav-submenu a::after { display: none; }
.site-header nav .nav-submenu a:hover,.site-header nav .nav-submenu a:focus-visible,.site-header nav .nav-submenu a[aria-current="page"] { color: var(--lime); }
.nav-submenu__overview { color: var(--lime) !important; font-family: "IBM Plex Mono",monospace !important; font-size: 10px !important; text-transform: uppercase; }
.nav-submenu__copy { display:flex; flex-direction:column; gap:4px; }
.nav-submenu__copy small { color:var(--lime); font:600 8px/1.3 "IBM Plex Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.site-header nav .nav-submenu .nav-submenu__product { min-height:68px; margin-top:8px; padding-inline:12px; border:1px solid #4b575e; background:#1e2a33; }
.site-header nav .nav-submenu .nav-submenu__product:hover,.site-header nav .nav-submenu .nav-submenu__product:focus-visible,.site-header nav .nav-submenu .nav-submenu__product[aria-current="page"] { border-color:var(--lime); }

@media (max-width:760px) {
  .site-header nav.is-open { align-items: stretch; }
  .nav-group { width: 100%; }
  .nav-group__label { justify-content: space-between; }
  .submenu-toggle { width: 44px; height: 44px; border: 1px solid var(--line); }
  .submenu-toggle span::before,.submenu-toggle span::after { top: 21px; }
  .submenu-toggle span::before { left: 14px; }
  .submenu-toggle span::after { right: 14px; }
  .nav-submenu { width: 100%; padding: 0 0 0 18px; position: static; display: none; visibility: visible; opacity: 1; transform: none; background: transparent; color: var(--ink); box-shadow: none; transition: none; }
  .nav-group:hover .nav-submenu { display: none; }
  .nav-group.is-open .nav-submenu { display: grid; }
  .site-header nav .nav-submenu a { min-height: 48px; border-color: var(--line); color: var(--ink); font-size: 14px; }
  .site-header nav .nav-submenu .nav-submenu__product { margin-top:10px; border-color:var(--line); background:var(--soft); }
  .nav-submenu__copy small { color:var(--blue); }
  .nav-submenu__overview { color: var(--blue) !important; }
}

@media (prefers-reduced-motion:reduce) {
  .submenu-toggle span::before,.submenu-toggle span::after,.nav-submenu { transition:none; }
}
