/*
 * Correction candidate only. Shared typography values and the report bullet
 * ratios are copied verbatim from the approved live design-system registry;
 * this file does not change shared or published CSS.
 */

:root {
  --source-blue: #184d98;
  --source-orange: #e94e0f;
  --source-rule: #2c64ad;
  --source-grid: #dce6f2;
  --source-internal: #f48749;
  --source-external: #637dbd;

  --approved-type-page-heading-family: var(--font-report-display);
  --approved-type-page-heading-weight: 700;
  --approved-type-page-heading-size: 46.2222px;
  --approved-type-page-heading-leading: 1.05;
  --approved-type-section-heading-family: var(--font-report-display);
  --approved-type-section-heading-weight: 700;
  --approved-type-section-heading-size: 32px;
  --approved-type-section-heading-leading: 1.1;
  --approved-type-subsection-heading-family: var(--font-report-display);
  --approved-type-subsection-heading-weight: 700;
  --approved-type-subsection-heading-size: 24.8889px;
  --approved-type-subsection-heading-leading: 1.15;
  --approved-type-card-title-family: var(--font-report-display);
  --approved-type-card-title-weight: 700;
  --approved-type-card-title-size: 24.8889px;
  --approved-type-card-title-leading: 1.15;
  --approved-type-body-family: var(--font-report-body);
  --approved-type-body-weight: 400;
  --approved-type-body-size: 16px;
  --approved-type-body-leading: 1.5;
  --approved-type-table-header-family: var(--font-report-body);
  --approved-type-table-header-weight: 700;
  --approved-type-table-header-size: 16px;
  --approved-type-table-header-leading: 1.3;
  --approved-type-table-body-family: var(--font-report-body);
  --approved-type-table-body-weight: 400;
  --approved-type-table-body-size: 16px;
  --approved-type-table-body-leading: 1.35;
  --approved-type-report-code-family: var(--font-report-body);
  --approved-type-report-code-weight: 900;
  --approved-type-report-code-size: 17.7778px;
  --approved-type-report-code-leading: 1.2;
}

.materiality-correction-candidate {
  margin: 0;
  color: var(--text);
  background: var(--surface);
  font-family: var(--approved-type-body-family);
  font-size: var(--approved-type-body-size);
  font-weight: var(--approved-type-body-weight);
  line-height: var(--approved-type-body-leading);
  font-synthesis: none;
}

.materiality-correction-candidate .report-type-page-heading {
  font-family: var(--approved-type-page-heading-family);
  font-size: var(--approved-type-page-heading-size);
  font-weight: var(--approved-type-page-heading-weight);
  line-height: var(--approved-type-page-heading-leading);
}

.materiality-correction-candidate .report-type-section-heading {
  font-family: var(--approved-type-section-heading-family);
  font-size: var(--approved-type-section-heading-size);
  font-weight: var(--approved-type-section-heading-weight);
  line-height: var(--approved-type-section-heading-leading);
}

.materiality-correction-candidate .report-type-subsection-heading,
.materiality-correction-candidate .stage-heading,
.materiality-correction-candidate .benchmark-title,
.materiality-correction-candidate .materiality-impact__heading {
  font-family: var(--approved-type-subsection-heading-family);
  font-size: var(--approved-type-subsection-heading-size);
  font-weight: var(--approved-type-subsection-heading-weight);
  line-height: var(--approved-type-subsection-heading-leading);
}

.materiality-correction-candidate .report-type-card-title,
.materiality-correction-candidate .story-subhead {
  color: var(--source-blue);
  font-family: var(--approved-type-card-title-family);
  font-size: var(--approved-type-card-title-size);
  font-weight: var(--approved-type-card-title-weight);
  line-height: var(--approved-type-card-title-leading);
}

.materiality-correction-candidate .report-type-body,
.materiality-correction-candidate .body-copy,
.materiality-correction-candidate .materiality-stage__lead,
.materiality-correction-candidate .narrative-section__body,
.materiality-correction-candidate .engagement-story {
  font-family: var(--approved-type-body-family);
  font-size: var(--approved-type-body-size);
  font-weight: var(--approved-type-body-weight);
  line-height: var(--approved-type-body-leading);
}

.materiality-correction-candidate .report-type-report-code,
.materiality-correction-candidate .report-code,
.materiality-correction-candidate .late-segment__code,
.materiality-correction-candidate .stakeholder-segment__code {
  color: var(--source-orange);
  font-family: var(--approved-type-report-code-family);
  font-size: var(--approved-type-report-code-size);
  font-weight: var(--approved-type-report-code-weight);
  line-height: var(--approved-type-report-code-leading);
}

#page-content > [data-integration-segment] {
  border: 0;
}

/* `body` is a column flex container in the shared shell. Its `main` child
   must be allowed to shrink below the min-content width of scrollable tables. */
#page-content {
  width: 100%;
  min-width: 0;
}

.report-page,
.materiality-segment,
.stakeholder-segment,
.segment,
.late-segment {
  width: min(100% - 2rem, 90rem);
  margin-inline: auto;
}

.report-page,
.materiality-segment,
.stakeholder-segment,
.segment,
.segment-stage {
  padding-block: clamp(2.5rem, 6vw, 6rem);
}

.page-title {
  max-width: 34ch;
  margin: 0 0 clamp(2rem, 5vw, 4rem);
  text-transform: uppercase;
}

.section-title,
.method-title,
.stakeholder-segment__title,
.late-segment__heading {
  max-width: none;
  margin: 0 0 1rem;
  color: var(--source-blue);
}

.materiality-intro,
.methodology,
.materiality-stage,
.materiality-table-region,
.materiality-impact,
.stakeholder-map,
.stakeholder-table-section,
.stakeholder-narrative,
.partnerships-table-region,
.engagement-layout {
  margin-block-start: clamp(2rem, 5vw, 4.5rem);
}

.method-intro,
.intro-copy,
.materiality-stage__lead,
.body-copy,
.narrative-section__body,
.engagement-story p {
  max-width: none;
  margin-block: 0 1rem;
}

.stage-heading {
  margin: 2.25rem 0 1.25rem;
  color: var(--source-blue);
}

.stage-kicker,
.stage-heading__step {
  display: block;
  margin-block-end: 0.35rem;
  color: var(--source-orange);
}

.stage-title,
.stage-heading__title {
  display: block;
  color: var(--source-blue);
  white-space: pre-line;
}

.stage-lead[data-source-key="u219d0:content:000001"] {
  font-weight: 700;
}

.stage-grid,
.materiality-copy-grid,
.stakeholder-segment__intro,
.stakeholder-segment__continuation,
.narrative-grid,
.engagement-story {
  display: block;
  columns: auto;
}

.benchmark,
.narrative-section + .narrative-section {
  margin-block-start: clamp(2rem, 4vw, 3.5rem);
}

/* Approved report bullet component. */
.report-bullet-list {
  --report-bullet-marker-size: 1em;
  --report-bullet-marker-gap: 1.25em;
  --report-bullet-item-gap: 0.708661em;
  --report-bullet-marker-first-line-offset: calc((1lh - var(--report-bullet-marker-size)) / 2);
  display: grid;
  row-gap: var(--report-bullet-item-gap);
  margin: 0;
  padding: 0;
  color: #3c3c3b;
  font-family: var(--approved-type-body-family);
  font-size: var(--approved-type-body-size);
  font-weight: var(--approved-type-body-weight);
  line-height: var(--approved-type-body-leading);
  list-style: none;
}

.report-bullet-list > li {
  display: grid;
  grid-template-columns: var(--report-bullet-marker-size) minmax(0, 1fr);
  column-gap: var(--report-bullet-marker-gap);
  min-width: 0;
  padding: 0;
}

.report-bullet-list__marker {
  display: block;
  width: var(--report-bullet-marker-size);
  height: var(--report-bullet-marker-size);
  margin-block-start: var(--report-bullet-marker-first-line-offset);
  align-self: start;
}

.report-bullet-list__copy {
  min-width: 0;
  line-height: inherit;
}

.report-bullet-list .report-bullet-list {
  margin-block-start: 0.55rem;
}

.source-list li::before,
.source-list li::after,
.topic-list li::before,
.topic-list li::after,
.stakeholder-list__item::before,
.partnerships-table__list li::before {
  content: none !important;
}

.standards-list {
  padding-inline-start: 1.65rem;
}

.standards-list li::marker {
  color: var(--source-orange);
  font-weight: 700;
}

/* Canonical native tables. */
.materiality-comparison,
.materiality-table,
.stakeholder-table,
.partnerships-table {
  color: var(--text);
  background: var(--surface);
  font-family: var(--approved-type-table-body-family);
  font-size: var(--approved-type-table-body-size);
  font-weight: var(--approved-type-table-body-weight);
  line-height: var(--approved-type-table-body-leading);
}

.materiality-comparison thead th,
.materiality-table thead th,
.stakeholder-table thead th,
.partnerships-table thead th {
  color: #fff;
  background: var(--source-blue);
  font-family: var(--approved-type-table-header-family);
  font-size: var(--approved-type-table-header-size);
  font-weight: var(--approved-type-table-header-weight);
  line-height: var(--approved-type-table-header-leading);
}

.materiality-table tbody td:first-child,
.partnerships-table tbody th {
  font-weight: var(--approved-type-table-body-weight);
}

.materiality-table__group,
.stakeholder-table__group-row th,
.stakeholder-table__scope-row th {
  background: #eef3fa;
  color: var(--source-blue);
  font-weight: 700;
}

.materiality-table caption {
  color: var(--source-blue);
  font-family: var(--approved-type-table-header-family);
  font-size: var(--approved-type-table-header-size);
  font-weight: var(--approved-type-table-header-weight);
  line-height: var(--approved-type-table-header-leading);
}

.table-scroll,
.materiality-table-region,
.stakeholder-table-scroll,
.partnerships-table-region {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-gutter: stable;
}

.table-scroll:focus-visible,
.materiality-table-region:focus-visible,
.stakeholder-table-scroll:focus-visible,
.partnerships-table-region:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 4px;
}

/* Exact source raster from canonical PDF print 200. */
.stakeholder-map__image {
  display: block;
  width: 100%;
  height: auto;
  background: #fff;
}

.report-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Images retain their source pixels; web only controls a documented crop. */
.materiality-impact__figure,
.stakeholder-photo {
  margin: clamp(2rem, 5vw, 4rem) 0 0;
}

.materiality-impact__figure img,
.stakeholder-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
}

.engagement-layout {
  display: block;
}

.engagement-opening {
  display: grid;
  grid-template-columns: minmax(18rem, 0.9fr) minmax(0, 1.35fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: start;
}

.engagement-figure {
  margin: 0;
  overflow: hidden;
  aspect-ratio: 235.2756 / 238.5287;
  border-radius: 0 1rem 0 1rem;
}

.engagement-figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.engagement-story {
  margin-block-start: 1.5rem;
}

.engagement-story > :first-child {
  margin-block-start: 0;
}

@media (max-width: 48rem) {
  .engagement-opening {
    grid-template-columns: 1fr;
  }

  .report-page,
  .materiality-segment,
  .stakeholder-segment,
  .segment,
  .late-segment {
    width: min(100% - 2rem, 90rem);
  }

}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
  }
}


/* User-approved compact five-column benchmark matrix. Match the dense
   performance-table role from strategy through a route-local modifier. */
.materiality-comparison--compact-strategy {
  font-size: 13px;
  line-height: 17px;
}

.materiality-comparison--compact-strategy th,
.materiality-comparison--compact-strategy td,
.materiality-comparison--compact-strategy p,
.materiality-comparison--compact-strategy li,
.materiality-comparison--compact-strategy span,
.materiality-comparison--compact-strategy strong {
  font-size: inherit;
  line-height: inherit;
}

.materiality-comparison--compact-strategy tbody th,
.materiality-comparison--compact-strategy tbody td {
  padding: 6px 8px;
}

.materiality-comparison--compact-strategy thead th {
  padding: 9px 8px;
  font-size: 13px;
  line-height: 17px;
}

.materiality-comparison--compact-strategy .report-bullet-list {
  --report-bullet-marker-size: 1em;
  --report-bullet-marker-gap: 0.55em;
  --report-bullet-item-gap: 0.35em;
  font-family: var(--approved-type-table-body-family);
  font-size: 13px;
  font-weight: var(--approved-type-table-body-weight);
  line-height: 17px;
}

.materiality-comparison--compact-strategy .report-bullet-list > li,
.materiality-comparison--compact-strategy .report-bullet-list__copy {
  font-size: inherit;
  line-height: inherit;
}

.materiality-comparison--compact-strategy .report-bullet-list .report-bullet-list {
  margin-block-start: 0.35em;
}

[data-integration-segment="print-0195"] > .report-page {
  padding-block-end: clamp(1.5rem, 2.5vw, 2.5rem);
}

[data-integration-segment="print-0196-0197"].segment-stage {
  padding-block: clamp(1rem, 2vw, 2rem);
}

[data-integration-segment="print-0198-0199"] > .materiality-segment {
  padding-block-start: clamp(1.25rem, 2.5vw, 2.5rem);
}

[data-integration-segment="print-0198-0199"] .materiality-stage--survey > .stage-heading {
  margin-block-start: 0;
}

/* Keep the print-200 heading visually attached to its continuous table. */
[data-integration-segment="print-0200"] > .stakeholder-segment {
  padding-block-end: clamp(1rem, 2vw, 1.75rem);
}

[data-integration-segment="print-0201-0207"].segment {
  padding-block-start: 0;
}

[data-integration-segment="print-0201-0207"] > .stakeholder-table-section {
  margin-block-start: 0;
}

/* User-approved shared alignment and spacing for materiality stages 1–3. */
.materiality-correction-candidate .methodology > .stage-heading,
.materiality-correction-candidate .materiality-stage > .stage-heading {
  display: grid;
  justify-items: start;
  row-gap: 0.35rem;
  margin-inline: 0;
  padding-inline: 0;
  text-align: start;
}

.materiality-correction-candidate .stage-kicker,
.materiality-correction-candidate .stage-heading__step,
.materiality-correction-candidate .stage-title,
.materiality-correction-candidate .stage-heading__title {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  text-indent: 0;
  white-space: normal;
}

.materiality-correction-candidate .stage-lead,
.materiality-correction-candidate .materiality-stage__lead,
.materiality-correction-candidate .materiality-copy-grid {
  margin-inline: 0;
}

.materiality-correction-candidate .methodology .source-list,
.materiality-correction-candidate .materiality-stage > .report-bullet-list {
  margin-block-end: clamp(1.5rem, 2.5vw, 2rem);
}

.materiality-correction-candidate .source-leading-separator {
  display: none;
}

/* User-approved stakeholder engagement composition. */
.materiality-correction-candidate .engagement-context {
  display: grid;
  gap: 1rem;
}

.materiality-correction-candidate .engagement-context > p,
.materiality-correction-candidate .engagement-community__copy > p {
  max-width: none;
  margin: 0;
}

.materiality-correction-candidate .engagement-community {
  display: grid;
  grid-template-columns: minmax(18rem, 0.9fr) minmax(0, 1.35fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: start;
  margin-block-start: clamp(1.5rem, 3vw, 2.75rem);
}

.materiality-correction-candidate .engagement-community__copy > .story-list {
  margin-block: 1rem 0;
}

@media (max-width: 48rem) {
  body.v4-page.materiality-stakeholders-page #page-content .segment-stage > .late-segment {
    position: static;
    inset-inline-start: auto;
    width: 100%;
    max-width: none;
    margin-inline: 0;
    transform: none;
  }

  .materiality-correction-candidate .engagement-community {
    grid-template-columns: 1fr;
  }

  .materiality-correction-candidate .engagement-figure {
    width: min(100%, 32rem);
  }
}

/* Owner-local motion. Source photographs stay outside the reveal scope. */
html.materiality-motion-ready [data-materiality-reveal] {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition:
    opacity 720ms cubic-bezier(.16, 1, .3, 1),
    transform 860ms cubic-bezier(.16, 1, .3, 1);
  will-change: opacity, transform;
}

html.materiality-motion-ready [data-materiality-reveal][data-materiality-table] {
  transform: translate3d(0, 18px, 0);
}

html.materiality-motion-ready [data-materiality-reveal].is-materiality-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: auto;
}

html.materiality-motion-ready [data-materiality-item] {
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  transition:
    opacity 640ms cubic-bezier(.16, 1, .3, 1) var(--materiality-item-delay, 0ms),
    transform 740ms cubic-bezier(.16, 1, .3, 1) var(--materiality-item-delay, 0ms);
}

html.materiality-motion-ready [data-materiality-item].is-materiality-item-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

html.materiality-motion-ready [data-materiality-diagram] .stakeholder-map__image {
  opacity: 0;
  clip-path: inset(100% 0 0 0);
  transform: translate3d(0, 18px, 0);
  transform-origin: 50% 100%;
  transition:
    opacity 680ms cubic-bezier(.16, 1, .3, 1) 100ms,
    clip-path 1080ms cubic-bezier(.16, 1, .3, 1) 100ms,
    transform 1080ms cubic-bezier(.16, 1, .3, 1) 100ms;
}

html.materiality-motion-ready [data-materiality-diagram].is-materiality-visible .stakeholder-map__image {
  opacity: 1;
  clip-path: inset(0 0 0 0);
  transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
  html.materiality-motion-ready [data-materiality-reveal],
  html.materiality-motion-ready [data-materiality-item] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  html.materiality-motion-ready [data-materiality-diagram] .stakeholder-map__image {
    opacity: 1 !important;
    clip-path: inset(0 0 0 0) !important;
    transform: none !important;
    transition: none !important;
  }
}

/* Source NormalParagraphStyle + Blue Bold: internal headings, not source H3. */
.materiality-correction-candidate .narrative-section__subhead {
  color: var(--source-blue);
  font-family: var(--approved-type-body-family);
  font-size: var(--approved-type-body-size);
  font-weight: 700;
  line-height: var(--approved-type-body-leading);
}
