/* Owner-local integration adapter for ru-s05-climate. */

body.climate-page {
  --climate-blue: #184d98;
  --climate-blue-rule: #7f9fcd;
  --climate-blue-tint: #f2f6fc;
  --climate-orange: #e94e0f;
  --climate-text: var(--text, #171717);
  --climate-surface: #ffffff;
  --climate-focus: #005fcc;
  --climate-canvas: 90rem;
  --climate-content-rail: 80.5rem;
  --climate-rail: 80.5rem;
  --climate-gutter: 2rem;
  color: var(--climate-text);
  background: var(--climate-surface);
  font-synthesis: none;
}

body.climate-page *,
body.climate-page *::before,
body.climate-page *::after {
  box-sizing: border-box;
}

body.climate-page .climate-page__canvas {
  inset-inline-start: 50vw;
  inset-inline-end: auto;
  width: min(100vw, var(--climate-canvas));
  max-width: var(--climate-canvas);
  margin-inline: 0;
  transform: translateX(-50%);
  padding-block: clamp(2.5rem, 6vw, 5rem) clamp(4rem, 8vw, 8rem);
  background: var(--climate-surface);
}

body.climate-page .owner-segment {
  width: min(calc(100% - (2 * var(--climate-gutter))), var(--climate-content-rail));
  min-width: 0;
  margin-inline: auto;
}

body.climate-page .climate-segment-flow {
  width: 100%;
  min-width: 0;
}

body.climate-page .climate-segment-flow {
  display: grid;
  row-gap: clamp(1.5rem, 3vw, 2.75rem);
}

/*
 * Print 312–313 opener rhythm.
 * Typography stays bound to the approved report roles; these rules only
 * restore the compact source hierarchy, readable line length and palette.
 */
body.climate-page .climate-segment-flow--s01 > :where(
  .story-block--u26017,
  .story-block--u26046,
  .story-block--u2605d,
  .story-block--u2602e,
  .story-block--u2607c,
  .story-block--u26095,
  .story-block--u260ca,
  .story-block--u260e2,
  .story-block--u2b213,
  .story-block--u260f9,
  .story-block--u2b1fc,
  .story-block--u2617e,
  .story-block--u26130,
  [data-native-object-id="climate_policy_highlight"],
  [data-native-object-id="board_training_highlight"]
) {
  width: 100%;
  margin-inline: 0 auto;
}

body.climate-page .climate-segment-flow--s01 :where(
  .report-type-page-heading,
  .report-type-section-heading,
  .report-type-subsection-heading
) {
  text-wrap: balance;
}

body.climate-page .climate-segment-flow--s01 :where(
  .report-type-body,
  .report-type-list,
  .report-type-lead
) {
  text-wrap: pretty;
}

body.climate-page .climate-segment-flow--s01 > .story-block--u26017 {
  margin-block-end: clamp(0.5rem, 1vw, 0.875rem);
}

body.climate-page .climate-segment-flow--s01 > :where(
  .story-block--u26046,
  .story-block--u2607c,
  .story-block--u260e2,
  .story-block--u2b213
) {
  margin-block-end: -0.25rem;
}

body.climate-page .climate-segment-flow--s01 > .story-block--u2605d {
  margin-block-start: -0.75rem;
  margin-block-end: -0.25rem;
}

body.climate-page .climate-segment-flow--s01 > :where(
  .story-block--u2602e,
  .story-block--u260ca,
  .story-block--u260f9,
  .story-block--u2b1fc,
  .story-block--u26130
) .body-group {
  row-gap: 0.875rem;
}

body.climate-page .climate-segment-flow--s01 > :where(
  [data-native-object-id="climate_policy_highlight"],
  [data-native-object-id="board_training_highlight"]
) {
  padding-block: 0;
}

body.climate-page .owner-segment + .owner-segment {
  margin-block-start: clamp(1.5rem, 3vw, 2.75rem);
}

body.climate-page :where(
  .story-block,
  .story-unit,
  .body-group,
  .paragraph-group,
  .native-highlight,
  .report-bullet-list,
  .report-numbered-list,
  .report-type-page-heading,
  .report-type-section-heading,
  .report-type-subsection-heading,
  .report-type-report-code,
  .report-type-table-name,
  .report-type-table-caption,
  .table-caption
) {
  width: min(100%, var(--climate-rail));
  min-width: 0;
  margin-inline: auto;
}

body.climate-page :where(h1, h2, h3, h4, p, figure, ul, ol) {
  margin-block: 0;
}

body.climate-page .report-type-page-heading {
  color: var(--climate-blue);
  white-space: pre-line;
}

body.climate-page .report-type-section-heading {
  color: var(--climate-blue);
}

body.climate-page .report-type-subsection-heading,
body.climate-page .source-heading:not(.report-type-report-code) {
  color: var(--climate-blue);
}

body.climate-page :where(.source-blue-emphasis, .source-blue-text) {
  color: var(--climate-blue);
}

body.climate-page .report-type-lead {
  color: var(--climate-blue);
}

body.climate-page .report-type-report-code,
body.climate-page .report-code,
body.climate-page .source-code {
  color: var(--climate-orange);
}

body.climate-page .body-group,
body.climate-page .paragraph-group {
  display: grid;
  row-gap: 1rem;
}

body.climate-page .content-list + .body-group,
body.climate-page .body-group + .content-list,
body.climate-page .paragraph-group + .paragraph-group {
  margin-block-start: 1.25rem;
}

body.climate-page .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);
  padding: 0;
  list-style: none;
}

body.climate-page .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;
}

body.climate-page .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;
}

body.climate-page .report-bullet-list__copy {
  min-width: 0;
}

body.climate-page .report-numbered-list {
  display: grid;
  row-gap: 0.75rem;
  padding-inline-start: 2rem;
}

body.climate-page .report-numbered-list > li {
  padding-inline-start: 0.5rem;
}

body.climate-page .report-numbered-list > li::marker,
body.climate-page .source-auditor-marker {
  color: var(--climate-orange);
}

body.climate-page :where(.semantic-empty-key, .semantic-empty-fragment, .source-empty-node) {
  display: inline-block;
  min-width: 1px;
  min-height: 1em;
  overflow: visible;
  opacity: 1;
  visibility: visible;
}

body.climate-page .semantic-empty-group {
  min-height: 1px;
  margin: 0 auto;
}

body.climate-page .source-subscript { vertical-align: sub; }
body.climate-page .source-superscript,
body.climate-page .source-auditor-marker { vertical-align: super; }
body.climate-page .source-nowrap { white-space: nowrap; }

body.climate-page .native-highlight {
  padding-block: clamp(0.5rem, 2vw, 1.25rem);
  color: var(--climate-blue);
}

body.climate-page .native-governance {
  width: min(100%, 64rem);
  min-width: 0;
  margin-inline: auto;
}

body.climate-page .native-risk {
  width: min(100%, 48rem);
  min-width: 0;
  margin-inline: auto;
  margin-block: clamp(2.5rem, 5vw, 4rem);
}

body.climate-page .governance-caption {
  margin-block-end: 1.125rem;
  color: var(--climate-blue);
}

body.climate-page .governance-shareholder-wrap {
  position: relative;
  width: min(20rem, 72%);
  margin-inline: auto;
  padding-block-end: 1.5rem;
}

body.climate-page .governance-shareholder-wrap::after,
body.climate-page .governance-tier:not(.governance-members)::after,
body.climate-page .governance-committees::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0.125rem;
  height: 1.5rem;
  background: #8ea7d8;
  transform: translateX(-50%);
}

body.climate-page .governance-shareholder,
body.climate-page .governance-tier-title {
  padding: 0.55rem 1rem;
  color: #ffffff;
  background: #607dbb;
  text-align: center;
}

body.climate-page .governance-shareholder { border-radius: 1rem; }
body.climate-page .governance-tier { position: relative; padding-block-end: 1.5rem; }
body.climate-page .governance-tier-title { border-radius: 1rem 1rem 0 0; }
body.climate-page .governance-board {
  width: min(100%, 48rem);
  margin-inline: auto;
}

body.climate-page .governance-tier-surface,
body.climate-page .governance-committees {
  padding: 1rem 1.25rem;
  background: #f0f4fb;
}

body.climate-page .governance-tier-surface { border-radius: 0 0 1rem 1rem; }
body.climate-page .governance-committees {
  position: relative;
  margin-block-end: 1.5rem;
  padding-block-start: 2.25rem;
  border-radius: 1rem;
}
body.climate-page .governance-committees::after { bottom: -1.5rem; }

body.climate-page .governance-committee-headings,
body.climate-page .governance-committee-copies {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

body.climate-page .governance-committee-headings {
  position: relative;
  margin-block-end: 0.75rem;
}

body.climate-page .governance-committee-headings::before {
  content: "";
  position: absolute;
  inset-inline: 12.5%;
  top: -1.5rem;
  height: 0.125rem;
  background: #8ea7d8;
}

body.climate-page .governance-committee-headings::after {
  content: "";
  position: absolute;
  left: 50%;
  top: -2.25rem;
  width: 0.125rem;
  height: 0.875rem;
  background: #8ea7d8;
  transform: translateX(-50%);
}

body.climate-page .governance-committee-title {
  position: relative;
  padding-block-end: 0.75rem;
  text-align: center;
  border-block-end: 0.125rem solid #8ea7d8;
}

body.climate-page .governance-committee-title::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -1.5rem;
  width: 0.125rem;
  height: 1.5rem;
  background: #8ea7d8;
  transform: translateX(-50%);
}

body.climate-page .governance-members { padding-block-end: 0; }

/* User-approved exact print-314 crop. The keyed semantic composition remains in
   the DOM for source traceability, while the source visual is the painted layer. */
body.climate-page .native-governance > :not(.native-governance__source-frame) {
  display: none;
}

body.climate-page .native-governance__source-frame {
  width: 100%;
  max-width: 64rem;
  margin-inline: auto;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-gutter: stable;
}

body.climate-page .native-governance__source-image {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 47.99rem) {
  body.climate-page .native-governance__source-image {
    width: 46rem;
    max-width: none;
  }
}

body.climate-page .source-graph-data {
  position: absolute;
  inset: 0;
  width: 100%;
  min-width: 0;
  pointer-events: none;
}

body.climate-page .climate-scenario-analysis {
  display: grid;
  row-gap: clamp(1.5rem, 3vw, 2.75rem);
  width: 100%;
  min-width: 0;
}

body.climate-page .climate-scenario-analysis__heading,
body.climate-page .climate-scenario-analysis__narrative,
body.climate-page .climate-scenario-analysis__data {
  display: grid;
  align-content: start;
  row-gap: clamp(1rem, 2vw, 1.75rem);
  min-width: 0;
}

body.climate-page .climate-scenario-analysis__columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: clamp(2.5rem, 5vw, 5rem);
  min-width: 0;
}

body.climate-page .climate-scenario-analysis :where(.story-block, .table-story, .table-region) {
  width: 100%;
  min-width: 0;
}

/* Print 316: preserve the accepted S01 paragraph rhythm and source ink. */
body.climate-page .story-block--u2626c {
  color: #3c3c3b;
}

body.climate-page .story-block--u2626c > .body-group + .body-group {
  margin-block-start: 1.25rem;
}

body.climate-page .climate-scenario-chart {
  position: relative;
  width: 100%;
  min-width: 0;
  margin-inline: 0;
}

body.climate-page .climate-scenario-chart__scroll {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-gutter: stable;
}

body.climate-page .climate-scenario-chart__scroll:focus-visible {
  outline: 0.125rem solid var(--report-orange);
  outline-offset: 0.25rem;
}

body.climate-page .climate-scenario-chart__viewport {
  position: relative;
  width: 100%;
  aspect-ratio: 620 / 360;
}

body.climate-page .climate-scenario-chart__plot {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

body.climate-page .climate-scenario-chart__grid path {
  fill: none;
  stroke: #dbe4f0;
  stroke-width: 1;
}

body.climate-page .climate-scenario-chart__line,
body.climate-page .climate-scenario-chart__legend-rule {
  fill: none;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.climate-page :where(.climate-scenario-chart__line--bau, .climate-scenario-chart__legend-rule--bau) { stroke: #3156a3; }
body.climate-page :where(.climate-scenario-chart__line--decarbonization, .climate-scenario-chart__legend-rule--decarbonization) { stroke: #f04b0c; }
body.climate-page :where(.climate-scenario-chart__line--deep, .climate-scenario-chart__legend-rule--deep) { stroke: #6f9851; }

body.climate-page .source-graph-data .story-block {
  position: absolute;
  margin: 0;
}

body.climate-page .source-graph-data .story-block--u26541 { width: 3rem; }

body.climate-page .source-graph-data :where(.story-block--u263a2, .story-block--u263c0, .story-block--u26453, .story-block--u2646a, .story-block--u26481, .story-block--u26498, .story-block--u264af, .story-block--u264ca, .story-block--u263f6) {
  width: 3.5rem;
  text-align: center;
}

body.climate-page .source-graph-data :where(.story-block--u264e2, .story-block--u264fa, .story-block--u26513) { width: 11rem; }
body.climate-page .climate-scenario-chart__notes .story-block { margin: 0.5rem 0 0; }

body.climate-page .climate-scenario-chart__notes .body-group { display: inline; }

body.climate-page .climate-scenario-chart__notes .body-group + .body-group {
  margin-inline-start: 1.5rem;
}

body.climate-page .climate-scenario-footnotes {
  display: grid;
  row-gap: 0.25rem;
  margin: 0;
  padding-inline-start: 2em;
  list-style: decimal outside;
}

body.climate-page .climate-scenario-footnotes > li {
  display: list-item;
  padding-inline-start: 0.25em;
}

body.climate-page .climate-scenario-chart__notes .climate-scenario-footnotes .body-group {
  display: block;
  margin: 0;
}

body.climate-page .source-graph-data .story-block--u26541 {
  inset: 16.5% auto auto 3.5%;
  height: 45%;
}

body.climate-page .source-graph-data .story-block--u26541 .body-group {
  display: grid;
  grid-template-rows: repeat(4, minmax(0, 1fr));
  height: 100%;
}

body.climate-page .source-graph-data .story-block--u263a2 { inset: 62% auto auto 16.25%; }
body.climate-page .source-graph-data .story-block--u263c0 { inset: 62% auto auto 24.5%; }
body.climate-page .source-graph-data .story-block--u26453 { inset: 62% auto auto 32.75%; }
body.climate-page .source-graph-data .story-block--u2646a { inset: 62% auto auto 41%; }
body.climate-page .source-graph-data .story-block--u26481 { inset: 62% auto auto 49.25%; }
body.climate-page .source-graph-data .story-block--u26498 { inset: 62% auto auto 57.5%; }
body.climate-page .source-graph-data .story-block--u264af { inset: 62% auto auto 65.75%; }
body.climate-page .source-graph-data .story-block--u264ca { inset: 62% auto auto 74%; }
body.climate-page .source-graph-data .story-block--u263f6 { inset: 62% auto auto 82.25%; }
body.climate-page .source-graph-data .story-block--u264e2 { inset: 78% auto auto 23.5%; }
body.climate-page .source-graph-data .story-block--u264fa { inset: 78% auto auto 37.75%; }
body.climate-page .source-graph-data .story-block--u26513 { inset: 78% auto auto 60%; }
body.climate-page .source-table--u262c6 :is(th, td):nth-child(1) { width: 5%; }
body.climate-page .source-table--u262c6 :is(th, td):nth-child(2) { width: 30%; }
body.climate-page .source-table--u262c6 :is(th, td):nth-child(3) { width: 13%; }
body.climate-page .source-table--u262c6 :is(th, td):nth-child(n + 4) { width: 13%; }

body.climate-page .native-risk__scroll,
body.climate-page :where(.table-region, .table-scroll) {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-gutter: stable;
}

body.climate-page .native-risk__scroll { overflow-y: hidden; }

body.climate-page .native-risk__scroll:focus-visible,
body.climate-page :where(.table-region, .table-scroll):focus-visible {
  outline: 0.1875rem solid var(--climate-focus);
  outline-offset: 0.1875rem;
}

body.climate-page .native-risk__canvas {
  display: grid;
  grid-template-columns: 2.25rem 2rem repeat(5, minmax(0, 1fr));
  grid-template-rows: repeat(5, 5.25rem) 2rem 2.25rem;
  width: 100%;
  min-width: 42rem;
  align-items: center;
}

body.climate-page .native-risk__canvas::before,
body.climate-page .native-risk__canvas::after {
  content: "";
  position: relative;
  z-index: 1;
  display: block;
  background: #6278b6;
}

body.climate-page .native-risk__canvas::before {
  grid-area: 1 / 2 / 6 / 3;
  justify-self: end;
  align-self: stretch;
  width: 0.5rem;
  clip-path: polygon(50% 0, 100% 0.75rem, 62.5% 0.625rem, 62.5% 100%, 37.5% 100%, 37.5% 0.625rem, 0 0.75rem);
}

body.climate-page .native-risk__canvas::after {
  grid-area: 6 / 3 / 7 / 8;
  justify-self: stretch;
  align-self: start;
  width: 100%;
  height: 0.5rem;
  clip-path: polygon(0 37.5%, calc(100% - 0.625rem) 37.5%, calc(100% - 0.75rem) 0, 100% 50%, calc(100% - 0.75rem) 100%, calc(100% - 0.625rem) 62.5%, 0 62.5%);
}

body.climate-page .heatmap-cells {
  grid-area: 1 / 3 / 6 / 8;
  align-self: stretch;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(5, 1fr);
  gap: 0.25rem;
}

body.climate-page .heatmap-cell { display: block; border-radius: 0.5rem; }
body.climate-page .heatmap-cell--green { background: #6f9e45; }
body.climate-page .heatmap-cell--yellow { background: #fdc300; }
body.climate-page .heatmap-cell--orange { background: #f18851; }
body.climate-page .heatmap-cell--red { background: #e63322; }
body.climate-page .heatmap-cell--dark-red { background: #8b220e; }
body.climate-page .native-risk__canvas .heatmap-source-story,
body.climate-page .native-risk__canvas .heatmap-source-group { display: contents; }

body.climate-page :where(.heatmap-y-tick, .heatmap-x-tick, .heatmap-axis, .heatmap-risk-label) { position: relative; z-index: 1; }
body.climate-page .heatmap-y-tick { grid-column: 2; justify-self: center; }
body.climate-page .heatmap-y-tick--1 { grid-row: 1; }
body.climate-page .heatmap-y-tick--2 { grid-row: 2; }
body.climate-page .heatmap-y-tick--3 { grid-row: 3; }
body.climate-page .heatmap-y-tick--4 { grid-row: 4; }
body.climate-page .heatmap-y-tick--5 { grid-row: 5; }
body.climate-page .heatmap-x-tick { grid-row: 6; justify-self: center; }
body.climate-page .heatmap-x-tick--1 { grid-column: 3; }
body.climate-page .heatmap-x-tick--2 { grid-column: 4; }
body.climate-page .heatmap-x-tick--3 { grid-column: 5; }
body.climate-page .heatmap-x-tick--4 { grid-column: 6; }
body.climate-page .heatmap-x-tick--5 { grid-column: 7; }
body.climate-page .heatmap-axis--impact { grid-area: 1 / 1 / 6 / 2; justify-self: center; writing-mode: vertical-rl; transform: rotate(180deg); }
body.climate-page .heatmap-axis--probability { grid-area: 7 / 3 / 8 / 8; justify-self: center; }
body.climate-page .heatmap-risk-label {
  align-self: center;
  justify-self: center;
  width: 138.8889%;
  padding: 0.35rem;
  color: #ffffff;
  text-align: center;
  transform: scale(0.72);
}
body.climate-page .heatmap-risk-label--ecological { grid-area: 2 / 5 / 3 / 6; }
body.climate-page .heatmap-risk-label--climate { grid-area: 3 / 4 / 4 / 5; }

body.climate-page :where(.table-block, .table-story) {
  width: 100%;
  min-width: 0;
  margin-inline: auto;
}

body.climate-page .source-table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  background: var(--climate-surface);
}

body.climate-page .source-table:not([data-columns]) { min-width: 64rem; }
body.climate-page .source-table[data-columns="2"] { min-width: 40rem; }
body.climate-page .source-table[data-columns="3"] { min-width: 44rem; }
body.climate-page .source-table[data-columns="4"] { min-width: 48rem; }
body.climate-page .source-table[data-columns="5"] { min-width: 60rem; }
body.climate-page .source-table[data-columns="6"] { min-width: 68rem; }
body.climate-page .source-table[data-columns="7"] { min-width: 76rem; }
body.climate-page .source-table--u262c6 { min-width: 76rem; }
body.climate-page .table-block--u2662c {
  width: min(100%, 64rem);
}

body.climate-page .source-table--u2662c { min-width: 52rem; }

body.climate-page .source-table--u2662c tr > :first-child { width: 23%; }
body.climate-page .source-table--u2662c tr > :last-child { width: 77%; }

body.climate-page .source-table--u2662c th,
body.climate-page .source-table--u2662c td {
  padding: 0.625rem 0.75rem;
}

body.climate-page .source-table--u2662c tbody th {
  vertical-align: middle;
}

body.climate-page .source-table--u2662c :where(.table-line + .table-line) {
  margin-block-start: 0.1875rem;
}
body.climate-page .source-table--u266c4 { min-width: 64rem; }

body.climate-page .source-table--u266c4 tr > :nth-child(1) { width: 17%; }
body.climate-page .source-table--u266c4 tr > :nth-child(2) { width: 26%; }
body.climate-page .source-table--u266c4 tr > :nth-child(3) { width: 28%; }
body.climate-page .source-table--u266c4 tr > :nth-child(4) { width: 29%; }

body.climate-page .source-table.source-table--u266c4 th,
body.climate-page .source-table.source-table--u266c4 td {
  padding: 0.5625rem 0.6875rem;
}

body.climate-page .source-table--u266c4 tbody th[scope="rowgroup"] {
  padding-block: 0.4375rem;
  vertical-align: middle;
}

body.climate-page .source-table--u266c4 :where(.table-line + .table-line) {
  margin-block-start: 0.1875rem;
}

body.climate-page .table-story[data-story-id="u26e68"] {
  width: min(100%, 66rem);
}

body.climate-page .source-table[data-source-table-id="u26e68i26e7d"] {
  min-width: 60rem;
}

body.climate-page .source-table[data-source-table-id="u26e68i26e7d"] col:first-child { width: 23.12%; }
body.climate-page .source-table[data-source-table-id="u26e68i26e7d"] col:last-child { width: 76.88%; }

body.climate-page .source-table[data-source-table-id="u26e68i26e7d"] th,
body.climate-page .source-table[data-source-table-id="u26e68i26e7d"] td {
  padding: 0.625rem 0.75rem;
}

body.climate-page .source-table[data-source-table-id="u26e68i26e7d"] :where(.table-line + .table-line) {
  margin-block-start: 0.1875rem;
}

body.climate-page .source-table[data-source-table-id="u26e68i26e7d"] .source-table-line {
  display: block;
}

body.climate-page .source-table[data-source-table-id="u26e68i26e7d"] .source-table-line + .source-table-line {
  margin-block-start: 0.1875rem;
}

body.climate-page .source-table th,
body.climate-page .source-table td {
  padding: 0.8125rem 0.875rem;
  vertical-align: top;
  text-align: left;
  color: var(--climate-text);
  background: var(--climate-surface);
  border-block-end: 0.0625rem solid var(--climate-blue-rule);
  border-inline-end: 0.0625rem solid var(--climate-blue-rule);
}

body.climate-page .source-table tr > :last-child { border-inline-end: 0; }

body.climate-page .source-table thead th {
  color: #ffffff;
  background: var(--climate-blue);
  border-block-end-color: var(--climate-blue);
  border-inline-end-color: rgba(255, 255, 255, 0.46);
}

body.climate-page .source-table tbody tr:last-child > * { border-block-end: 0.125rem solid var(--climate-blue); }
body.climate-page .source-table :where(.source-fill-light, .source-cell--tint) { background: var(--climate-blue-tint); }
body.climate-page :where(.table-group, .table-line, .cell-paragraph) { display: block; }
body.climate-page :where(.table-line + .table-line, .table-group + .table-group, .table-paragraph-group + .table-paragraph-group) { margin-block-start: 0.35rem; }

body.climate-page .source-figure {
  width: 100%;
  min-width: 0;
  margin-inline: auto;
}

body.climate-page .source-figure img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* Print 327: source-exact five-row climate action infographic. Text remains
   source-keyed; the five icons are byte-exact SVG groups extracted from IDML. */
body.climate-page .climate-actions {
  display: grid;
  grid-template-columns: clamp(6.5rem, 8.5vw, 9rem) minmax(14rem, 20rem) minmax(0, 1fr);
  width: 100%;
  min-width: 0;
  margin-inline: 0;
  column-gap: clamp(1.5rem, 3vw, 3rem);
  row-gap: 0;
  align-items: center;
}

body.climate-page .climate-actions > * {
  width: 100%;
  min-width: 0;
  margin-inline: 0;
}

body.climate-page .climate-actions > [data-story-id="u26bc6"] {
  grid-column: 1 / -1;
  grid-row: 1;
  padding-block-end: clamp(1.5rem, 3vw, 2.5rem);
}

body.climate-page .climate-actions > :where(
  [data-story-id="u26bdd"], [data-story-id="u26c53"],
  [data-story-id="u26c25"], [data-story-id="u26c85"],
  [data-story-id="u26cb5"], [data-story-id="u26bf6"],
  [data-story-id="u26c3c"], [data-story-id="u26c0e"],
  [data-story-id="u26c6e"], [data-story-id="u26c9e"]
) {
  align-self: stretch;
  display: grid;
  align-content: center;
  padding-block: clamp(1.35rem, 2.5vw, 2rem);
  border-block-start: 0.0625rem solid var(--climate-blue-rule);
}

body.climate-page .climate-actions > :where(
  [data-story-id="u26bdd"], [data-story-id="u26c53"],
  [data-story-id="u26c25"], [data-story-id="u26c85"],
  [data-story-id="u26cb5"]
) { grid-column: 2; }

body.climate-page .climate-actions > :where(
  [data-story-id="u26bf6"], [data-story-id="u26c3c"],
  [data-story-id="u26c0e"], [data-story-id="u26c6e"],
  [data-story-id="u26c9e"]
) { grid-column: 3; }

body.climate-page .climate-actions > [data-story-id="u26bdd"],
body.climate-page .climate-actions > [data-story-id="u26bf6"],
body.climate-page .climate-actions > [data-action-icon="alternative"] { grid-row: 2; }
body.climate-page .climate-actions > [data-story-id="u26c53"],
body.climate-page .climate-actions > [data-story-id="u26c3c"],
body.climate-page .climate-actions > [data-action-icon="grid"] { grid-row: 3; }
body.climate-page .climate-actions > [data-story-id="u26c25"],
body.climate-page .climate-actions > [data-story-id="u26c0e"],
body.climate-page .climate-actions > [data-action-icon="traditional"] { grid-row: 4; }
body.climate-page .climate-actions > [data-story-id="u26c85"],
body.climate-page .climate-actions > [data-story-id="u26c6e"],
body.climate-page .climate-actions > [data-action-icon="emissions"] { grid-row: 5; }
body.climate-page .climate-actions > [data-story-id="u26cb5"],
body.climate-page .climate-actions > [data-story-id="u26c9e"],
body.climate-page .climate-actions > [data-action-icon="support"] { grid-row: 6; }

body.climate-page .climate-actions > :where(
  [data-story-id="u26bdd"], [data-story-id="u26c53"],
  [data-story-id="u26c25"], [data-story-id="u26c85"],
  [data-story-id="u26cb5"]
) .report-type-body-strong { white-space: pre-line; }

body.climate-page .climate-actions .report-bullet-list {
  width: 100%;
  margin: 0;
}

body.climate-page .climate-actions__icon {
  grid-column: 1;
  display: grid;
  place-items: center;
  align-self: stretch;
  margin: 0;
  padding-block: clamp(1.35rem, 2.5vw, 2rem);
}

body.climate-page .climate-actions__icon img {
  display: block;
  width: min(100%, 7rem);
  height: auto;
}

body.climate-page .report-page-nav__item { text-decoration: none; }

@media (max-width: 63.999rem) {
  body.climate-page { --climate-gutter: 1.5rem; }
}

@media (max-width: 48rem) {
  body.climate-page .climate-actions {
    grid-template-columns: 4.5rem minmax(0, 1fr);
    column-gap: 1rem;
  }

  body.climate-page .climate-actions > :where(
    [data-story-id="u26bf6"], [data-story-id="u26c3c"],
    [data-story-id="u26c0e"], [data-story-id="u26c6e"],
    [data-story-id="u26c9e"]
  ) {
    grid-column: 2;
    padding-block-start: 0;
    border-block-start: 0;
  }

  body.climate-page .climate-actions > [data-action-icon="alternative"],
  body.climate-page .climate-actions > [data-story-id="u26bdd"] { grid-row: 2; }
  body.climate-page .climate-actions > [data-story-id="u26bf6"] { grid-row: 3; }
  body.climate-page .climate-actions > [data-action-icon="grid"],
  body.climate-page .climate-actions > [data-story-id="u26c53"] { grid-row: 4; }
  body.climate-page .climate-actions > [data-story-id="u26c3c"] { grid-row: 5; }
  body.climate-page .climate-actions > [data-action-icon="traditional"],
  body.climate-page .climate-actions > [data-story-id="u26c25"] { grid-row: 6; }
  body.climate-page .climate-actions > [data-story-id="u26c0e"] { grid-row: 7; }
  body.climate-page .climate-actions > [data-action-icon="emissions"],
  body.climate-page .climate-actions > [data-story-id="u26c85"] { grid-row: 8; }
  body.climate-page .climate-actions > [data-story-id="u26c6e"] { grid-row: 9; }
  body.climate-page .climate-actions > [data-action-icon="support"],
  body.climate-page .climate-actions > [data-story-id="u26cb5"] { grid-row: 10; }
  body.climate-page .climate-actions > [data-story-id="u26c9e"] { grid-row: 11; }

  body.climate-page .climate-actions__icon img { width: min(100%, 3.75rem); }

  body.climate-page .climate-scenario-analysis__columns {
    grid-template-columns: minmax(0, 1fr);
  }

  body.climate-page .climate-scenario-chart__viewport {
    min-width: 43rem;
  }

  body.climate-page .climate-scenario-analysis__data .climate-scenario-chart {
    margin-inline: 0;
  }

  body.climate-page .governance-committees {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    padding-block-start: 1.25rem;
  }

  body.climate-page .governance-committee-headings,
  body.climate-page .governance-committee-copies { display: contents; }

  body.climate-page .governance-committee-headings::before,
  body.climate-page .governance-committee-headings::after,
  body.climate-page .governance-committee-title::before { display: none; }

  body.climate-page .governance-committee-title:nth-child(1) { grid-row: 1; }
  body.climate-page .governance-committee-copy:nth-child(1) { grid-row: 2; }
  body.climate-page .governance-committee-title:nth-child(2) { grid-row: 3; }
  body.climate-page .governance-committee-copy:nth-child(2) { grid-row: 4; }
  body.climate-page .governance-committee-title:nth-child(3) { grid-row: 5; }
  body.climate-page .governance-committee-copy:nth-child(3) { grid-row: 6; }
  body.climate-page .governance-committee-title:nth-child(4) { grid-row: 7; }
  body.climate-page .governance-committee-copy:nth-child(4) { grid-row: 8; }

  body.climate-page .governance-committee-title:not(:first-child) { margin-block-start: 1.25rem; }
}

@media (max-width: 39.999rem) {
  body.climate-page { --climate-gutter: 1rem; }
}

/* Owner-local editorial motion. Exact source photos remain static and visible. */
html.climate-motion-ready body.climate-page [data-climate-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.climate-motion-ready body.climate-page [data-climate-reveal].is-climate-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: auto;
}

html.climate-motion-ready body.climate-page [data-climate-item] {
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  transition:
    opacity 720ms cubic-bezier(.16, 1, .3, 1) var(--climate-item-delay, 0ms),
    transform 860ms cubic-bezier(.16, 1, .3, 1) var(--climate-item-delay, 0ms);
}

html.climate-motion-ready body.climate-page [data-climate-item].is-climate-item-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

body.climate-page [data-climate-counter] {
  font-variant-numeric: tabular-nums;
}

@media (prefers-reduced-motion: reduce) {
  html.climate-motion-ready body.climate-page [data-climate-reveal],
  html.climate-motion-ready body.climate-page [data-climate-item] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* User-approved energy table caption; preserve its shared typography. */
body.climate-page [data-story-id="u2700a"] > .table-caption {
  color: var(--climate-blue);
}

/* User-approved progress table caption color. */
body.climate-page [data-story-id="u2723d"] > .table-caption {
  color: var(--climate-blue);
}

/* User-approved emissions table captions. */
body.climate-page [data-story-id="u27380"] > .table-caption,
body.climate-page [data-story-id="u273fd"] > .table-caption {
  color: var(--climate-blue);
}

/* 2026-08-30: restore the source-native downward connector arrowheads in the
   climate governance hierarchy. Text, source keys and tier geometry stay intact. */
body.climate-page .governance-committee-headings::after,
body.climate-page .governance-committee-title::before,
body.climate-page .governance-tier.governance-management::after {
  width: 0.75rem;
  clip-path: polygon(41.6667% 0, 58.3333% 0, 58.3333% calc(100% - 0.4rem), 100% calc(100% - 0.4rem), 50% 100%, 0 calc(100% - 0.4rem), 41.6667% calc(100% - 0.4rem));
}

/* The current semantic HTML has no source-frame child. Keep the source-keyed
   hierarchy visible instead of collapsing the entire component to zero height. */
body.climate-page .native-governance > :not(.native-governance__source-frame) {
  display: block;
}

/* Scenario matrix: use the complete report canvas instead of the legacy 64rem rail. */
body.climate-page .table-block--u2662c {
  width: 100%;
}

/* Climate action rows: join the two source columns with one stronger separator. */
body.climate-page .climate-actions > [data-story-id]:not(:first-child) {
  border-block-start-width: 0.125rem;
}

body.climate-page .climate-actions > :where(
  [data-story-id="u26bdd"],
  [data-story-id="u26c53"],
  [data-story-id="u26c25"],
  [data-story-id="u26c85"],
  [data-story-id="u26cb5"]
) {
  position: relative;
}

@media (min-width: 48.001rem) {
  body.climate-page .climate-actions > :where(
    [data-story-id="u26bdd"],
    [data-story-id="u26c53"],
    [data-story-id="u26c25"],
    [data-story-id="u26c85"],
    [data-story-id="u26cb5"]
  )::after {
    content: "";
    position: absolute;
    inset-block-start: -0.125rem;
    inset-inline-start: 100%;
    width: clamp(1.5rem, 3vw, 3rem);
    height: 0.125rem;
    background: var(--climate-blue-rule);
    pointer-events: none;
  }
}
