/* Ingegno Labs — menu superior com listas suspensas (site-worker\menu\menu.css, copiado para site\menu.css).
   Funciona sem JavaScript (<details>); o menu.js só fecha ao clicar fora, com Esc e ao abrir outro. */
.mnav { --mn-ink: var(--ink, #1E2732); --mn-ink2: var(--ink-2, #4A535E); --mn-mut: var(--muted, var(--ink-3, #636970));
  --mn-bg: var(--sheet, var(--surface, #FBF8F2)); --mn-rule: var(--rule, var(--line, #DDD5C6)); --mn-hl: var(--paper, #F3EEE4);
  position: relative; display: flex; align-items: center; gap: 4px; font: 14px/1.3 inherit; margin-left: auto; }
.mnav details { position: relative; }
.mnav summary, .mnav .mn-link { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 10px; border-radius: 8px;
  color: var(--mn-ink2); text-decoration: none; cursor: pointer; list-style: none; user-select: none; white-space: nowrap; }
.mnav summary::-webkit-details-marker { display: none; }
.mnav summary::after { content: ""; width: 7px; height: 7px; margin-top: -3px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transition: transform .15s; opacity: .7; }
.mnav details[open] > summary::after { transform: rotate(-135deg); margin-top: 3px; }
.mnav summary:hover, .mnav .mn-link:hover, .mnav details[open] > summary { color: var(--mn-ink); background: color-mix(in srgb, var(--mn-ink) 7%, transparent); }
.mnav summary:focus-visible, .mnav a:focus-visible { outline: 2px solid var(--mn-ink); outline-offset: 2px; }
.mnav .mn-link.lang { border: 1px solid var(--mn-rule); border-radius: 999px; font-size: 13px; margin-left: 4px; }
.mn-panel { position: absolute; top: calc(100% + 8px); right: 0; z-index: 50; min-width: 300px; max-width: min(92vw, 640px);
  padding: 8px; background: var(--mn-bg); border: 1px solid var(--mn-rule); border-radius: 14px;
  box-shadow: 0 18px 40px -18px rgb(0 0 0 / .35), 0 2px 6px rgb(0 0 0 / .06); display: grid; gap: 2px; }
.mn-panel.duas { grid-template-columns: 1fr 1fr; min-width: 560px; }
.mn-panel a { display: grid; gap: 2px; padding: 9px 12px; border-radius: 9px; color: var(--mn-ink); text-decoration: none; }
.mn-panel a:hover, .mn-panel a:focus-visible { background: var(--mn-hl); }
.mn-panel a[aria-current="page"] { background: var(--mn-hl); box-shadow: inset 3px 0 0 var(--mn-ink); }
.mn-panel b { font-weight: 600; font-size: 14.5px; display: flex; align-items: baseline; gap: 8px; }
.mn-panel b i { font: 500 10.5px/1 var(--mono, ui-monospace, monospace); letter-spacing: .06em; text-transform: uppercase; font-style: normal; color: var(--mn-mut); }
.mn-panel small { font-size: 12.5px; color: var(--mn-mut); line-height: 1.35; }
.mn-panel .mn-sep { grid-column: 1 / -1; height: 1px; margin: 4px 6px; background: var(--mn-rule); }
.mn-panel .mn-tit { grid-column: 1 / -1; padding: 8px 12px 2px; font: 500 11px/1 var(--mono, ui-monospace, monospace); letter-spacing: .12em; text-transform: uppercase; color: var(--mn-mut); }
.mnav .mn-mob { display: none; }
@media (max-width: 760px) {
  .mnav .mn-grupo { display: none; }
  .mnav .mn-mob { display: block; position: static; }
  .mnav .mn-mob > summary { border: 1px solid var(--mn-rule); color: var(--mn-ink); }
  .mnav .mn-mob > summary::after { display: none; }
  .mnav .mn-mob > summary .mn-ham { width: 16px; height: 2px; background: currentColor; box-shadow: 0 -5px 0 currentColor, 0 5px 0 currentColor; border-radius: 2px; }
  .mnav .mn-mob[open] > summary .mn-ham { box-shadow: none; transform: rotate(45deg); }
  .mnav .mn-mob[open] > summary .mn-ham::after { content: ""; display: block; width: 16px; height: 2px; background: currentColor; transform: rotate(90deg); border-radius: 2px; }
  .mn-mob .mn-panel { position: absolute; top: calc(100% + 8px); right: 0; width: calc(100vw - 32px); max-width: 440px; min-width: 0; max-height: 75dvh; overflow: auto; grid-template-columns: 1fr; }
}
@media print { .mnav { display: none !important; } }
