/*! NBC v7.066 · One outer width owner.
 * Loaded first so this important layer wins over older geometry layers.
 * Outer shell: common hero/content axis. Inner shell: fill available parent.
 * Reading measures and grid column proportions remain component-owned.
 */
@layer nbc-width-system {
  :root {
    --nbc-width-max: 1680px;
    --nbc-width-gutter: max(clamp(24px, 3vw, 56px), env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
  }
  body {
    --nbc-rail-feature: var(--nbc-width-max) !important;
    --nbc-rail-standard: var(--nbc-width-max) !important;
    --nbc-rail-gutter: var(--nbc-width-gutter) !important;
    --nbc-shell-max: var(--nbc-width-max) !important;
    --nbc-shell-gutter: var(--nbc-width-gutter) !important;
    --nbc-shell-width: min(var(--nbc-width-max), calc(100% - 2 * var(--nbc-width-gutter))) !important;
    --nbc-content-max: var(--nbc-width-max) !important;
    --nbc-standard-max: var(--nbc-width-max) !important;
    --nbc-feature-max: var(--nbc-width-max) !important;
    --nbc-layout-standard: var(--nbc-width-max) !important;
    --nbc-layout-wide: var(--nbc-width-max) !important;
    --nbc-layout-gutter: var(--nbc-width-gutter) !important;
    --nbc-page-gutter: var(--nbc-width-gutter) !important;
    --case2-gutter: var(--nbc-width-gutter) !important;
    --nbc-folio-axis-gutter: var(--nbc-width-gutter) !important;
    --as-gutter: var(--nbc-width-gutter) !important;
    --as-shell: min(var(--nbc-width-max), calc(100% - 2 * var(--nbc-width-gutter))) !important;
    --hf-gutter: var(--nbc-width-gutter) !important;
  }
  /* A section's background occupies the canvas; it does not impose a second shell. */
  [data-width-axis="frame"] {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
    box-sizing: border-box !important;
  }
  [data-width-axis="outer"] {
    width: min(var(--nbc-width-max), calc(100% - 2 * var(--nbc-width-gutter))) !important;
    max-width: var(--nbc-width-max) !important;
    min-width: 0 !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
    box-sizing: border-box !important;
  }
  /* Nested wrappers never subtract the outer gutter a second time. */
  [data-width-axis="inner"] {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
    box-sizing: border-box !important;
  }
  /* Structural workspaces and grids fill their track. Preserve their local panel padding. */
  [data-width-axis="fill"] {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    box-sizing: border-box !important;
  }
  :is(.p7-about-index,.p7-document-nav)[data-width-axis="outer"] > div {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
    box-sizing: border-box !important;
  }
  /* Mobile services are injected after load and cannot carry static audit attributes. */
  body.page-service .m7s-service {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
    box-sizing: border-box !important;
  }
  body.page-service .m7s-scene {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
    box-sizing: border-box !important;
  }
  body.page-service .m7s-wrap {
    width: min(var(--nbc-width-max), calc(100% - 2 * var(--nbc-width-gutter))) !important;
    max-width: var(--nbc-width-max) !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
    box-sizing: border-box !important;
  }
  @media (max-width: 760px) {
    :root { --nbc-width-gutter: max(20px, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px)); }
    body .m7a-shell,
    body .m7a-shell > section:not([data-width-axis]),
    body .m7a-disclosure {
      width: 100% !important;
      max-width: none !important;
      margin-inline: 0 !important;
      padding-inline: 0 !important;
      box-sizing: border-box !important;
    }
    body .m7a-shell > section > .wrap:not([data-width-axis]) {
      width: min(var(--nbc-width-max), calc(100% - 2 * var(--nbc-width-gutter))) !important;
      max-width: var(--nbc-width-max) !important;
      margin-inline: auto !important;
      padding-inline: 0 !important;
      box-sizing: border-box !important;
    }
    body {
      --m7-gutter: var(--nbc-width-gutter) !important;
      --m-gutter: var(--nbc-width-gutter) !important;
      --nbc-mobile-gutter: var(--nbc-width-gutter) !important;
    }
  }
}
