/* P120 WEB VIS2 — shared-shell primitives v1.0
   Authority: P120-WEB-VIS2-P2 + P120-WEB-VIS2-CT-P1/CP02.
   Primitive layer only. This file does not bind routes or replace page-local authorities. */
:root{
  --p120-vis2-shell-stage:1680px;
  --p120-vis2-header-desktop:74px;
  --p120-vis2-header-drawer:71px;
  --p120-vis2-nav-cutover:1080px;
  --p120-vis2-standard-mark-min:72px;
  --p120-vis2-micro-mark-min:24px;
  --p120-vis2-drawer-mark:48px;
  --p120-vis2-lockup-min-footprint:181.8px;
  --p120-vis2-focus:#2F7D78;
  --p120-vis2-identity-root:"assets/vis2/identity/";
}

/* Shared shell geometry. Route adoption is deliberately separate. */
[data-p120-vis2-shell="1.0"]{
  --p120-vis2-shell-h:var(--p120-vis2-header-desktop);
}
[data-p120-vis2-shell="1.0"] .p120-vis2-shell-inner{
  width:min(var(--p120-vis2-shell-stage),100%);
  min-height:var(--p120-vis2-shell-h);
  margin-inline:auto;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
}

/* P2 identity states. No breakpoint invents new geometry. */
.p120-vis2-identity{display:inline-flex;align-items:center;min-width:0;color:inherit;text-decoration:none}
.p120-vis2-identity img{display:block;height:auto;max-width:100%}
.p120-vis2-identity[data-mode="h-full"] .p120-vis2-identity__horizontal,
.p120-vis2-identity[data-mode="h-compact"] .p120-vis2-identity__horizontal{display:block}
.p120-vis2-identity[data-mode="h-full"] .p120-vis2-identity__mark,
.p120-vis2-identity[data-mode="h-compact"] .p120-vis2-identity__mark{display:none}
.p120-vis2-identity[data-mode="mark-only"] .p120-vis2-identity__horizontal{display:none}
.p120-vis2-identity[data-mode="mark-only"] .p120-vis2-identity__mark{display:block;width:var(--p120-vis2-drawer-mark)}
.p120-vis2-identity[data-mode="v-stacked"] .p120-vis2-identity__horizontal,
.p120-vis2-identity[data-mode="v-stacked"] .p120-vis2-identity__mark{display:none}
.p120-vis2-identity[data-mode="v-stacked"] .p120-vis2-identity__vertical{display:block}
.p120-vis2-identity:not([data-mode="v-stacked"]) .p120-vis2-identity__vertical{display:none}

/* P5 A11Y-FOCUS-01 production transfer. */
.p120-vis2-brand-link:focus,
.p120-vis2-brand-link:focus-visible{
  outline:2px solid var(--p120-vis2-focus);
  outline-offset:4px;
  border-radius:4px;
}

/* CP02 drawer-state primitive: identity + menu only. Locale/theme live in drawer utility zone. */
@media(max-width:1080px){
  [data-p120-vis2-shell="1.0"]{--p120-vis2-shell-h:var(--p120-vis2-header-drawer)}
  [data-p120-vis2-shell="1.0"] .p120-vis2-shell-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
  }
  [data-p120-vis2-shell="1.0"] [data-p120-vis2-desktop-nav],
  [data-p120-vis2-shell="1.0"] [data-p120-vis2-header-utilities]{display:none!important}
  [data-p120-vis2-shell="1.0"] [data-p120-vis2-menu-trigger]{display:inline-flex}
}
@media(min-width:1081px){
  [data-p120-vis2-shell="1.0"] [data-p120-vis2-menu-trigger]{display:none!important}
}

@media(prefers-reduced-motion:reduce){
  [data-p120-vis2-shell="1.0"] *,
  [data-p120-vis2-shell="1.0"] *::before,
  [data-p120-vis2-shell="1.0"] *::after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}
}
