/* Integrated review only: builder CSS is preserved in source order. */
:root { --source-blue: #184d98; --source-orange: #e94e0f; --source-rule: #2c64ad; }
#page-content > [data-integration-segment] { border-bottom: 1px solid var(--border); }
#page-content > [data-integration-segment]:last-child { border-bottom: 0; }

/* print-0195 */
:root { --source-blue: #184d98; --source-orange: #e94e0f; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--surface); color: var(--text); }
.skip-link { position: absolute; left: -999rem; }
.skip-link:focus { left: 1rem; top: 1rem; z-index: 2; }
.report-page { width: min(100% - 2rem, 75rem); margin-inline: auto; padding-block: clamp(2rem, 5vw, 5rem); }
.page-title { max-width: 24ch; margin: 0 0 3rem; text-transform: uppercase; }
.materiality-intro { margin-bottom: 3rem; }
.section-title, .method-title, .report-code { margin: 0 0 1rem; }
.body-copy, .stage-lead { margin: 0 0 1rem; }
.page-title, .section-title, .method-title, .stage-heading, .benchmark-title { color: var(--source-blue); }
.stage-heading { margin: 2rem 0 1rem; }
.stage-kicker, .report-code { color: var(--source-orange); }
.stage-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); }
.source-list { margin: 0 0 1rem; padding-left: 1.4rem; }
.source-list li + li { margin-top: .5rem; }
.benchmark { min-width: 0; }
.benchmark-title { margin: 0 0 1rem; }
@media (max-width: 48rem) { .stage-grid { grid-template-columns: 1fr; } }


/* print-0196-0197 */
:root {
  color-scheme: light;
  --source-blue: #184d98;
  --source-orange: #e94e0f;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  min-width: 20rem;
  background: var(--surface);
}

body {
  margin: 0;
  color: var(--text);
  background: var(--surface);
  font-family: var(--type-table-body-family);
  font-size: var(--type-table-body-size);
  font-weight: var(--type-table-body-weight);
  line-height: var(--type-table-body-leading);
}

.segment-stage {
  padding: 2.5rem clamp(1rem, 3.35vw, 3rem);
}

.table-scroll {
  max-width: 76rem;
  margin-inline: auto;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-gutter: stable;
}

.table-scroll:focus-visible {
  outline: 0.1875rem solid #005fcc;
  outline-offset: 0.25rem;
}

.materiality-comparison {
  width: 100%;
  min-width: 74rem;
  table-layout: fixed;
  border-collapse: collapse;
  background: var(--surface);
}

.materiality-comparison .col-indicator { width: 12.5%; }
.materiality-comparison .col-samruk { width: 18.79%; }
.materiality-comparison .col-enel { width: 23.9%; }
.materiality-comparison .col-gez { width: 22.405%; }
.materiality-comparison .col-unipro { width: 22.405%; }

.materiality-comparison th,
.materiality-comparison td {
  padding: 0.375rem 0.5rem;
  vertical-align: top;
  text-align: left;
  overflow-wrap: anywhere;
}

.materiality-comparison thead th {
  color: var(--surface);
  background: var(--source-blue);
  font-family: var(--type-table-header-family);
  font-size: var(--type-table-header-size);
  font-weight: var(--type-table-header-weight);
  line-height: var(--type-table-header-leading);
}

.materiality-comparison tbody th {
  font-family: var(--type-table-header-family);
  font-size: var(--type-table-header-size);
  font-weight: var(--type-table-header-weight);
  line-height: var(--type-table-header-leading);
}

.materiality-comparison tbody th,
.materiality-comparison tbody td {
  border-right: 0.0625rem solid var(--source-blue);
  border-bottom: 0.0625rem solid var(--source-blue);
}

.materiality-comparison tbody td:last-child {
  border-right: 0;
}

.materiality-comparison tbody tr:last-child > * {
  border-bottom-width: 0.1875rem;
}

.standards-list,
.topic-list {
  margin: 0;
  padding: 0;
}

.standards-list {
  padding-left: 1.45rem;
}

.standards-list li {
  padding-left: 0.2rem;
}

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

.gri-row p {
  margin: 0 0 0.4rem;
}

.gri-row p:last-child {
  margin-bottom: 0;
}

.gri-row strong,
.topic-heading {
  color: var(--source-blue);
  font-weight: 700;
}

.topic-group + .topic-group {
  margin-top: 1.35rem;
}

.topic-heading {
  margin: 0 0 0.65rem;
}

.topic-list {
  list-style: none;
}

.topic-list li {
  position: relative;
  min-height: 1.35rem;
  padding-left: 1.55rem;
}

.topic-list li + li {
  margin-top: 0.55rem;
}

.topic-list li::before {
  content: "";
  position: absolute;
  top: 0.25rem;
  left: 0;
  width: 0.9rem;
  height: 0.9rem;
  border: 0.1rem solid var(--source-orange);
  border-radius: 50%;
}

.topic-list li::after {
  content: "";
  position: absolute;
  top: 0.46rem;
  left: 0.29rem;
  width: 0.32rem;
  height: 0.32rem;
  border-top: 0.1rem solid var(--source-orange);
  border-right: 0.1rem solid var(--source-orange);
}

.topic-list--flush {
  margin-top: 0;
}

@media (max-width: 84rem) {
  .segment-stage {
    padding-inline: 1rem;
  }
}


/* print-0198-0199 */
:root { --source-blue: #184d98; --source-orange: #e94e0f; --source-rule: #2c64ad; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--surface); color: var(--text); }
.materiality-segment { width: min(100% - 2rem, 75rem); margin-inline: auto; padding-block: clamp(2rem, 5vw, 5rem); }
.materiality-stage + .materiality-stage, .materiality-table-region, .materiality-impact { margin-top: 3rem; }
.stage-heading, .materiality-impact__heading { margin: 0 0 1.25rem; color: var(--source-blue); }
.stage-heading__step { display: block; color: var(--source-orange); }
.materiality-stage__lead, .materiality-copy-grid p { margin: 0 0 1rem; }
.materiality-copy-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.5rem, 4vw, 4rem); }
.materiality-table-region { overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-gutter: stable; }
.materiality-table-region:focus-visible { outline: .1875rem solid var(--focus); outline-offset: .25rem; }
.materiality-table { width: 100%; min-width: 70rem; table-layout: fixed; border-collapse: collapse; font-family: var(--type-table-body-family); font-size: var(--type-table-body-size); font-weight: var(--type-table-body-weight); line-height: var(--type-table-body-leading); }
.materiality-table caption { margin-bottom: 1rem; text-align: left; color: var(--source-blue); font: inherit; font-weight: var(--type-table-header-weight); }
.materiality-table th, .materiality-table td { padding: .55rem .65rem; border: .0625rem solid var(--source-rule); vertical-align: middle; }
.materiality-table thead th { color: var(--surface); background: var(--source-blue); font-family: var(--type-table-header-family); font-size: var(--type-table-header-size); font-weight: var(--type-table-header-weight); line-height: var(--type-table-header-leading); }
.materiality-table tbody th { text-align: left; }
.materiality-table__group { background: var(--surface-muted); text-align: center !important; }
.materiality-impact__figure { margin: 2rem 0 0; }
.materiality-impact__figure img { display: block; width: 100%; aspect-ratio: 2 / 1; object-fit: cover; object-position: center; }
@media (max-width: 48rem) { .materiality-copy-grid { grid-template-columns: 1fr; } }


/* print-0200 */
:root { --source-blue: #184d98; --source-orange: #e94e0f; --source-grid: #dce6f2; --source-internal: #f48749; --source-external: #637dbd; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--surface); color: var(--text); }
.stakeholder-segment { width: min(100% - 2rem, 75rem); margin-inline: auto; padding-block: clamp(2rem, 5vw, 5rem); }
.stakeholder-segment__title { margin: 0 0 1rem; color: var(--source-blue); }
.stakeholder-segment__code { margin: 0 0 2rem; color: var(--source-orange); }
.stakeholder-segment__intro, .stakeholder-segment__continuation { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 3rem); }
.stakeholder-segment__intro p, .stakeholder-segment__continuation p { margin: 0 0 1rem; }
.stakeholder-map { margin: 3rem 0; }
.stakeholder-map__scroll { overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-gutter: stable; }
.stakeholder-map__scroll:focus-visible { outline: .1875rem solid var(--focus); outline-offset: .25rem; }
.stakeholder-map__svg { display: block; width: 100%; min-width: 48rem; height: auto; }
.stakeholder-map__grid path { fill: none; stroke: var(--source-grid); stroke-width: 2; stroke-dasharray: 7 7; }
.stakeholder-map__axis, .stakeholder-map__labels { fill: var(--text); font-family: var(--type-body-family); font-size: var(--type-body-size); font-weight: var(--type-body-weight); }
.bubble { stroke: var(--surface); stroke-width: 4; }
.bubble--internal { fill: var(--source-internal); }
.bubble--external { fill: var(--source-external); }
.stakeholder-map__caption { margin: 1rem 0; padding: 1rem 1.25rem; background: var(--surface-muted); white-space: pre-line; }
.stakeholder-map__legend { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
.stakeholder-map__legend p { display: grid; grid-template-columns: auto 1fr; gap: .75rem; margin: 0; }
.legend-dot { width: 1.25rem; height: 1.25rem; margin-top: .2rem; border-radius: 50%; }
.legend-dot--internal { background: var(--source-internal); }
.legend-dot--external { background: var(--source-external); }
.stakeholder-segment__next { margin: 3rem 0 0; color: var(--source-blue); }
@media (max-width: 48rem) {
  .stakeholder-segment__intro, .stakeholder-segment__continuation, .stakeholder-map__legend { grid-template-columns: 1fr; }
}


/* print-0201-0207 */
@font-face {
  font-family: "Samruk Energy Good Pro";
  src: url("../assets/fonts/brand/good-pro-bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Samruk Energy Roboto";
  src: url("../assets/fonts/brand/roboto-regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Samruk Energy Roboto";
  src: url("../assets/fonts/brand/roboto-bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  --surface: #ffffff;
  --surface-muted: #eef3fa;
  --surface-subtle: #f7f9fc;
  --text: #171717;
  --blue: #20579f;
  --blue-deep: #164b90;
  --line: #5e83c3;
  --orange: #ed4d0c;
  --focus: #005fcc;
  --font-report-display: "Samruk Energy Good Pro", Arial, sans-serif;
  --font-report-body: "Samruk Energy Roboto", Arial, sans-serif;
  --type-subsection-heading-family: var(--font-report-display);
  --type-subsection-heading-weight: 700;
  --type-subsection-heading-size: clamp(1.5rem, 2.3vw, 2.25rem);
  --type-subsection-heading-leading: 1.08;
  --type-body-family: var(--font-report-body);
  --type-body-weight: 400;
  --type-body-size: 1rem;
  --type-body-leading: 1.55;
  --type-table-header-family: var(--font-report-body);
  --type-table-header-weight: 700;
  --type-table-header-size: 1rem;
  --type-table-header-leading: 1.25;
  --type-table-body-family: var(--font-report-body);
  --type-table-body-weight: 400;
  --type-table-body-size: 1rem;
  --type-table-body-leading: 1.35;
  --rail: 90rem;
  --gutter: clamp(1rem, 4vw, 3rem);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  min-width: 20rem;
  color-scheme: light;
}

body {
  min-height: 100vh;
  margin: 0;
  color: var(--text);
  background: var(--surface);
  font-family: var(--type-body-family);
  font-size: var(--type-body-size);
  font-weight: var(--type-body-weight);
  line-height: var(--type-body-leading);
  font-synthesis: none;
}

.segment {
  width: min(100%, calc(var(--rail) + 2 * var(--gutter)));
  margin-inline: auto;
  padding: clamp(2rem, 5vw, 5rem) var(--gutter) clamp(4rem, 8vw, 8rem);
}

.stakeholder-table-section,
.stakeholder-narrative,
.narrative-grid,
.narrative-section,
.stakeholder-photo {
  min-width: 0;
}

.stakeholder-table-scroll {
  width: 100%;
  overflow-x: auto;
  border-radius: 0.25rem 0.25rem 0 0;
  overscroll-behavior-inline: contain;
  scrollbar-gutter: stable;
}

.stakeholder-table-scroll:focus-visible {
  outline: 0.1875rem solid var(--focus);
  outline-offset: 0.25rem;
}

.stakeholder-table {
  width: 100%;
  min-width: 70rem;
  border-collapse: collapse;
  table-layout: fixed;
  font-family: var(--type-table-body-family);
  font-size: var(--type-table-body-size);
  font-weight: var(--type-table-body-weight);
  line-height: var(--type-table-body-leading);
}

.stakeholder-table__interest {
  width: 29%;
}

.stakeholder-table__mechanisms {
  width: 51%;
}

.stakeholder-table__results {
  width: 20%;
}

.stakeholder-table th,
.stakeholder-table td {
  padding: 1rem 1.125rem;
  border-right: 0.0625rem solid var(--line);
  border-bottom: 0.0625rem solid var(--line);
  vertical-align: top;
  text-align: left;
}

.stakeholder-table th:last-child,
.stakeholder-table td:last-child {
  border-right: 0;
}

.stakeholder-table thead th {
  padding-block: 1.125rem;
  color: #ffffff;
  background: var(--blue);
  border-color: var(--blue);
  font-family: var(--type-table-header-family);
  font-size: var(--type-table-header-size);
  font-weight: var(--type-table-header-weight);
  line-height: var(--type-table-header-leading);
  vertical-align: middle;
}

.stakeholder-table__scope-row th {
  padding-block: 0.75rem;
  color: var(--text);
  background: #ffffff;
  font-family: var(--type-table-header-family);
  font-size: var(--type-table-header-size);
  font-weight: var(--type-table-header-weight);
  line-height: var(--type-table-header-leading);
  text-transform: uppercase;
}

.stakeholder-table__group-row th {
  padding-block: 0.65rem;
  color: var(--blue-deep);
  background: var(--surface-muted);
  font-family: var(--type-table-header-family);
  font-size: var(--type-table-header-size);
  font-weight: var(--type-table-header-weight);
  line-height: var(--type-table-header-leading);
}

.stakeholder-table tbody td {
  background: #ffffff;
}

.stakeholder-list {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.stakeholder-list__item {
  position: relative;
  padding-inline-start: 1.6rem;
}

.stakeholder-list__item::before {
  content: "↗";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.02em;
  color: var(--orange);
  font-weight: 700;
  line-height: inherit;
}

.stakeholder-list__item--nested {
  padding-inline-start: 2.35rem;
}

.stakeholder-list__item--nested::before {
  content: "↘";
  inset-inline-start: 0.75rem;
}

.stakeholder-table__result {
  margin: 0;
}

.source-node--emphasis {
  font-weight: 700;
}

.stakeholder-narrative {
  margin-block-start: clamp(3rem, 7vw, 7rem);
}

.narrative-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(2.5rem, 5vw, 5rem) clamp(2rem, 6vw, 6rem);
  align-items: start;
}

.narrative-section {
  display: flow-root;
}

.narrative-section__title {
  margin: 0 0 1.5rem;
  color: var(--blue-deep);
  font-family: var(--type-subsection-heading-family);
  font-size: var(--type-subsection-heading-size);
  font-weight: var(--type-subsection-heading-weight);
  line-height: var(--type-subsection-heading-leading);
}

.narrative-section__subhead {
  margin: 1.75rem 0 0.75rem;
  color: var(--blue-deep);
  font-family: var(--type-body-family);
  font-size: var(--type-body-size);
  font-weight: 700;
  line-height: var(--type-body-leading);
}

.narrative-section__body {
  margin: 0 0 1rem;
  font-family: var(--type-body-family);
  font-size: var(--type-body-size);
  font-weight: var(--type-body-weight);
  line-height: var(--type-body-leading);
}

.narrative-section__body:last-child {
  margin-bottom: 0;
}

.stakeholder-photo {
  margin: clamp(3rem, 7vw, 7rem) 0 0;
}

.stakeholder-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

@media (max-width: 62rem) {
  .narrative-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 40rem) {
  .segment {
    padding-block-start: 1.5rem;
  }

  .stakeholder-table {
    min-width: 62rem;
  }

  .stakeholder-table th,
  .stakeholder-table td {
    padding: 0.875rem;
  }
}

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


/* print-0208-0209 */
.segment-stage {
  min-height: 100vh;
  padding: var(--shell-gutter);
  background: var(--surface);
  color: var(--text);
}

.late-segment {
  width: min(100%, var(--shell-max));
  margin-inline: auto;
}

.late-segment__heading {
  max-width: 16ch;
  margin: 0;
}

.late-segment__code {
  margin-block: 1rem 2rem;
  color: var(--focus);
}

.partnerships-table-region {
  overflow-x: auto;
  border-radius: 0.25rem;
  outline: 0;
}

.partnerships-table-region:focus-visible {
  box-shadow: 0 0 0 0.2rem var(--surface), 0 0 0 0.4rem var(--focus);
}

.partnerships-table {
  width: 100%;
  min-width: 44rem;
  border-collapse: collapse;
  font-family: var(--type-table-body-family);
  font-size: var(--type-table-body-size);
  line-height: var(--type-table-body-leading);
}

.partnerships-table thead {
  color: var(--surface);
  background: var(--focus);
}

.partnerships-table th,
.partnerships-table td {
  padding: 1rem;
  border-bottom: 1px solid var(--focus);
  text-align: start;
  vertical-align: top;
}

.partnerships-table thead th {
  font-family: var(--type-table-header-family);
  font-size: var(--type-table-header-size);
  font-weight: var(--type-table-header-weight);
  line-height: var(--type-table-header-leading);
}

.partnerships-table tbody th {
  width: 38%;
  font-weight: var(--type-table-body-weight);
}

.partnerships-table tbody tr:last-child > * {
  border-bottom-width: 0.2rem;
}

.partnerships-table__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.partnerships-table__list li {
  position: relative;
  padding-inline-start: 1.5rem;
}

.partnerships-table__list li + li {
  margin-block-start: 0.35rem;
}

.partnerships-table__list li::before {
  position: absolute;
  inset-inline-start: 0;
  color: var(--focus);
  content: "↗";
}

.engagement-layout {
  display: grid;
  grid-template-columns: minmax(16rem, 0.8fr) minmax(0, 1.7fr);
  gap: var(--shell-gutter);
  margin-block-start: clamp(2rem, 5vw, 5rem);
  align-items: start;
}

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

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

.engagement-story {
  columns: 2 24rem;
  column-gap: var(--shell-gutter);
}

.engagement-story p,
.engagement-story ul,
.engagement-story h3 {
  margin-block-start: 0;
}

.engagement-story p {
  margin-block-end: 1em;
  orphans: 3;
  widows: 3;
}

.story-list {
  margin-block-end: 1em;
  padding-inline-start: 1.5em;
}

.story-list li {
  margin-block-end: 0.55em;
  padding-inline-start: 0.25em;
}

.story-list li::marker {
  color: var(--focus);
}

.story-list--nested {
  margin-block-start: 0.55em;
  margin-block-end: 0;
}

.story-subsection {
  break-inside: avoid-column;
}

.story-subhead {
  margin-block-end: 0.55em;
  font-family: var(--type-body-family);
  font-size: var(--type-body-size);
  font-weight: var(--type-table-header-weight);
  line-height: var(--type-body-leading);
  color: var(--focus);
}

.source-no-break {
  white-space: nowrap;
}

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

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

  .engagement-story {
    columns: auto;
  }
}

@media (max-width: 45rem) {
  .segment-stage {
    padding-inline: max(1rem, var(--shell-gutter));
  }

  .late-segment__heading {
    font-size: var(--type-subsection-heading-size);
    line-height: var(--type-subsection-heading-leading);
  }

  .source-no-break {
    white-space: normal;
  }
}


/* Integration-only containment: source-key spans must wrap within the mobile rail. */
@media (max-width: 30rem) { .page-title { overflow-wrap: anywhere; } .page-title > [data-source-key] { display: contents; } }
