/*! NBC Evidence Folio Editorial + Axis Contract · v7.018
    Purpose:
    1) Folio content follows the outer axis of its page instead of a generic 1180px island.
    2) Core Folios become editorial-first: thesis first, evidence second.
    3) Reading Papers remain intentionally readable; page-specific working/reading measures are not stretched. */

:root{
  --nbc-folio-axis-gutter:var(--nbc-shell-gutter,var(--nbc-layout-gutter,clamp(32px,2.75vw,64px)));
  --nbc-folio-shell:max(0px,var(--nbc-shell-width,min(1680px,calc(100vw - (2 * var(--nbc-folio-axis-gutter))))));
  --nbc-folio-case-axis:1320px;
}

/* --------------------------------------------------------------------------
   OUTER AXIS CONTRACT
   Normal business/research Folios use the exact same shell as surrounding NBC sections.
   Reading Papers intentionally keep their editorial measure. */
@media (min-width:761px){
  html[data-folio-contract="v7010"] body.page-home [data-folio="evidence"] > .nbc-folio__inner,
  html[data-folio-contract="v7010"] body.page-service [data-folio="evidence"] > .nbc-folio__inner,
  html[data-folio-contract="v7010"] body.page-regional-intelligence .f3-research-folio > .wrap,
  html[data-folio-contract="v7010"] body.page-industry-hub .f3-industry-folio > .wrap,
  html[data-folio-contract="v7010"] body.page-regional .f3-goe-folio > .wrap{
    width:var(--nbc-shell-width,min(1680px,calc(100vw - (2 * var(--nbc-folio-axis-gutter)))))!important;
    max-width:var(--nbc-shell-max,1680px)!important;
    margin-inline:auto!important;
    padding-inline:0!important;
  }

  /* Göttingen had a second 1180px inner track nested inside the already correct outer wrap. */
  html[data-folio-contract="v7010"] body.page-regional .f3-goe-folio > .wrap > .nbc-folio__inner{
    width:100%!important;
    max-width:none!important;
    margin-inline:0!important;
    padding-inline:0!important;
  }

  /* Case pages have their own established 1320px axis; Paper must follow it rather than 1180px. */
  html[data-folio-contract="v7010"] body.page-template-case-index .f2-case-ledger > .case2-wrap,
  html[data-folio-contract="v7010"] body.page-template-case-detail .f2-case-record > .case2-wrap{
    width:min(calc(100% - (2 * var(--case2-gutter,var(--nbc-folio-axis-gutter)))),var(--nbc-folio-case-axis))!important;
    max-width:var(--nbc-folio-case-axis)!important;
    margin-inline:auto!important;
  }
  html[data-folio-contract="v7010"] body.page-template-case-detail .f2-case-record > .case2-wrap > .nbc-folio__inner{
    width:100%!important;
    max-width:none!important;
    margin-inline:0!important;
  }
}

/* Keep the paper itself full width; only its internal semantic axis is constrained. */
html[data-folio-contract="v7010"] [data-folio]:not([data-folio="reading"]){
  width:100%;
  max-width:none;
}

/* --------------------------------------------------------------------------
   EDITORIAL-FIRST OPENING
   A Folio is allowed to carry a thought, not only a metric. */
html[data-folio-contract="v7010"] [data-folio-editorial="v7018"] .nbc-folio__opening{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);
  gap:clamp(48px,6vw,116px);
  align-items:end;
  width:100%;
  max-width:none;
}
html[data-folio-contract="v7010"] [data-folio-editorial="v7018"] .nbc-folio__opening .nbc-folio__statement{
  max-width:16ch!important;
  margin:0!important;
}
html[data-folio-contract="v7010"] [data-folio-editorial="v7018"] .nbc-folio__editorial{
  max-width:34ch!important;
  margin:0 0 .12em!important;
  color:var(--nbc-folio-ink)!important;
  -webkit-text-fill-color:currentColor!important;
  font-family:Archivo,Arial,sans-serif;
  font-size:clamp(21px,1.7vw,30px)!important;
  font-weight:450;
  line-height:1.34!important;
  letter-spacing:-.022em;
  text-wrap:pretty;
}
html[data-folio-contract="v7010"] [data-folio-editorial="v7018"] .nbc-folio__evidence-label{
  display:block;
  width:100%;
  margin:clamp(68px,7vw,112px) 0 0!important;
  padding:20px 0 0!important;
  border-top:1px solid var(--nbc-folio-rule);
  color:var(--nbc-folio-moss)!important;
  -webkit-text-fill-color:currentColor!important;
  font:600 10px/1.45 "IBM Plex Mono",ui-monospace,monospace!important;
  letter-spacing:.1em;
  text-transform:uppercase;
}

/* Evidence is deliberately the second act, not the opening headline. */
html[data-folio-contract="v7010"] [data-folio-editorial="v7018"] .nbc-folio__evidence-label + .nbc-folio__metric{
  margin-top:clamp(30px,3.2vw,52px)!important;
}
html[data-folio-contract="v7010"] body.page-industry-hub [data-folio-editorial="v7018"] .nbc-folio__evidence-label + .bi-proof-grid,
html[data-folio-contract="v7010"] body.page-regional-intelligence [data-folio-editorial="v7018"] .nbc-folio__evidence-label + .regional-signal-grid,
html[data-folio-contract="v7010"] body.page-regional [data-folio-editorial="v7018"] .nbc-folio__evidence-label + .nbc-folio__ledger{
  margin-top:18px!important;
}

/* Wide canvas means ledgers may actually use the width instead of collapsing into the old centre strip. */
html[data-folio-contract="v7010"] body:is(.page-home,.page-service,.page-regional) [data-folio-editorial="v7018"] .nbc-folio__row{
  grid-template-columns:minmax(180px,.48fr) minmax(0,1.52fr)!important;
  gap:24px clamp(48px,6vw,108px)!important;
}
html[data-folio-contract="v7010"] body:is(.page-home,.page-service,.page-regional) [data-folio-editorial="v7018"] .nbc-folio__row > :where(strong,p,div){
  max-width:72ch;
}

/* Industry and regional research rows use the full NBC shell. */
html[data-folio-contract="v7010"] body.page-industry-hub [data-folio-editorial="v7018"] .bi-proof-case,
html[data-folio-contract="v7010"] body.page-industry-hub [data-folio-editorial="v7018"] .bi-proof-more{
  grid-template-columns:minmax(190px,.55fr) minmax(250px,.78fr) minmax(0,1.3fr) 110px!important;
  gap:20px clamp(28px,3.6vw,68px)!important;
}
html[data-folio-contract="v7010"] body.page-regional-intelligence [data-folio-editorial="v7018"] .regional-signal-card{
  grid-template-columns:minmax(210px,.62fr) minmax(180px,.55fr) minmax(0,1.35fr) 130px!important;
  gap:18px clamp(28px,3.4vw,64px)!important;
}

/* Case white records: restore their established 1320 axis and let the record breathe across it. */
html[data-folio-contract="v7010"] body.page-template-case-detail .f2-case-record .nbc-folio__row{
  grid-template-columns:minmax(170px,.5fr) minmax(0,1.5fr)!important;
  gap:22px clamp(48px,5vw,88px)!important;
}

/* Reading Papers are a deliberate exception: long-form reading remains 820px-ish.
   Their surrounding Paper is already full-bleed; readability wins over shell expansion. */
html[data-folio-contract="v7010"] [data-folio="reading"] > .ep-article-content,
html[data-folio-contract="v7010"] [data-folio="reading"] .nbc-folio__inner{
  /* explicit no-op contract marker */
}

@media (max-width:760px){
  html[data-folio-contract="v7010"] [data-folio-editorial="v7018"] .nbc-folio__opening{
    grid-template-columns:1fr;
    gap:22px;
  }
  html[data-folio-contract="v7010"] [data-folio-editorial="v7018"] .nbc-folio__editorial{
    max-width:none!important;
    font-size:20px!important;
    line-height:1.42!important;
  }
  html[data-folio-contract="v7010"] [data-folio-editorial="v7018"] .nbc-folio__evidence-label{
    margin-top:50px!important;
    padding-top:16px!important;
  }
  html[data-folio-contract="v7010"] body:is(.page-home,.page-service,.page-regional) [data-folio-editorial="v7018"] .nbc-folio__row,
  html[data-folio-contract="v7010"] body.page-industry-hub [data-folio-editorial="v7018"] .bi-proof-case,
  html[data-folio-contract="v7010"] body.page-industry-hub [data-folio-editorial="v7018"] .bi-proof-more,
  html[data-folio-contract="v7010"] body.page-regional-intelligence [data-folio-editorial="v7018"] .regional-signal-card{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
}
