@font-face {
  font-family: "Datawise Brochure Sans";
  src: url("assets/DatawiseBrochureSans.woff2?v=7d553abccc7d") format("woff2");
  font-weight: 100 900;
  font-display: swap;
}
/* Brochure uses the application's semantic color values without importing app styles.
   Layers: reader controls 10; native image dialog is in the browser top layer. */
:root {
  color-scheme: light;
  --surface: 220 35% 98%;
  --surface-low: 220 30% 96%;
  --surface-container: 220 25% 94%;
  --foreground: 222 47% 11%;
  --muted-foreground: 222 15% 40%;
  --border: 220 13% 87%;
  --tertiary: 221 83% 53%;
  --tertiary-foreground: 0 0% 100%;
  --paper: 220 30% 99%;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --surface: 222 32% 8%;
  --surface-low: 222 28% 11%;
  --surface-container: 222 24% 16%;
  --foreground: 220 25% 95%;
  --muted-foreground: 220 16% 72%;
  --border: 222 18% 26%;
  --tertiary: 158 70% 59%;
  --tertiary-foreground: 222 47% 11%;
  --paper: 222 28% 11%;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --surface: 222 32% 8%;
    --surface-low: 222 28% 11%;
    --surface-container: 222 24% 16%;
    --foreground: 220 25% 95%;
    --muted-foreground: 220 16% 72%;
    --border: 222 18% 26%;
    --tertiary: 158 70% 59%;
    --tertiary-foreground: 222 47% 11%;
    --paper: 222 28% 11%;
  }
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: hsl(var(--surface-container));
  color: hsl(var(--foreground));
  font:
    15px/1.7 "Datawise Brochure Sans",
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;
  word-break: keep-all;
  overflow-wrap: break-word;
}
a {
  color: inherit;
  text-decoration: none;
}
button {
  font: inherit;
  color: inherit;
  cursor: pointer;
  touch-action: manipulation;
}
img {
  display: block;
  max-width: 100%;
  height: auto;
}
h1,
h2,
h3,
p,
figure {
  margin: 0;
}
h1,
h2,
h3 {
  letter-spacing: -0.045em;
  line-height: 1.22;
}
h1 {
  font-size: 68px;
  font-weight: 650;
}
h2 {
  font-size: 49px;
  font-weight: 620;
}
h3 {
  font-size: 23px;
  font-weight: 600;
}
em {
  font-style: normal;
  color: hsl(var(--tertiary));
}
p {
  color: hsl(var(--muted-foreground));
}
a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid hsl(var(--tertiary));
  outline-offset: 4px;
}
.wordmark {
  font-size: 29px;
  font-weight: 750;
  letter-spacing: -1.5px;
  line-height: 1;
}
.wordmark span {
  color: hsl(var(--tertiary));
}
.reader-header {
  height: 72px;
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 0 32px;
  background: hsl(var(--surface));
  border-bottom: 1px solid hsl(var(--border));
}
.document-type {
  font-size: 10px;
  letter-spacing: 0.1em;
  color: hsl(var(--muted-foreground));
}
.document-type .ko {
  letter-spacing: 0;
  margin-left: 14px;
}
.tools {
  margin-left: auto;
  display: flex;
  gap: 10px;
  align-items: center;
}
.tools button {
  border: 1px solid hsl(var(--border));
  border-radius: 5px;
  background: transparent;
  min-height: 38px;
  padding: 7px 12px;
  font-size: 11px;
}
.tools #theme-toggle {
  font-size: 22px;
  padding: 0;
  width: 38px;
}
.reader-layout {
  display: grid;
  grid-template-columns: 208px minmax(0, 1fr);
  min-height: calc(100dvh - 134px);
}
.contents {
  padding: 30px 20px;
  background: hsl(var(--surface));
  border-right: 1px solid hsl(var(--border));
}
.contents-label {
  font-size: 10px;
  letter-spacing: 0.13em;
  margin: 0 12px 20px;
}
.contents nav {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.contents a {
  display: flex;
  gap: 13px;
  align-items: center;
  font-size: 12px;
  padding: 10px 12px;
  border-radius: 5px;
  color: hsl(var(--muted-foreground));
  min-height: 40px;
}
.contents a span {
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}
.contents a:hover {
  background: hsl(var(--surface-low));
}
.contents a[aria-current="page"] {
  color: hsl(var(--tertiary));
  background: hsl(var(--tertiary) / 0.08);
  font-weight: 650;
}
.contents-foot {
  font-size: 9px;
  letter-spacing: 0.06em;
  margin: 45px 12px 0;
  color: hsl(var(--muted-foreground));
}
.contents-foot span {
  font-size: 10px;
  letter-spacing: 0.16em;
}
main {
  padding: 25px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
}
.page {
  width: 1440px;
  height: 810px;
  flex: none;
  aspect-ratio: 16 / 9;
  background: hsl(var(--paper));
  border: 1px solid hsl(var(--border));
  padding: 32px 50px 24px;
  position: relative;
  display: flex;
  flex-direction: column;
  box-shadow: 0 8px 30px hsl(var(--foreground) / 0.025);
  isolation: isolate;
}
.page-top,
.page-foot {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font-size: 10px;
  letter-spacing: 0.06em;
  color: hsl(var(--muted-foreground));
}
.page-top {
  padding-bottom: 26px;
  border-bottom: 1px solid hsl(var(--border));
}
.page-foot {
  margin-top: auto;
  padding-top: 24px;
}
.page-foot span:last-child {
  font-variant-numeric: tabular-nums;
  color: hsl(var(--tertiary));
}
.page-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 35px;
  margin: 36px 0;
}
.page-heading > p {
  font-size: 14px;
  line-height: 1.85;
  max-width: 300px;
}
.eyebrow {
  font-size: 11px;
  letter-spacing: 0.11em;
  font-weight: 600;
  color: hsl(var(--tertiary));
  margin-bottom: 24px;
}
.lead {
  font-size: 17px;
  line-height: 1.85;
  margin-top: 28px;
}
.body-copy {
  font-size: 15px;
  line-height: 1.9;
  margin-top: 25px;
}
.note {
  font-size: 12px;
  line-height: 1.8;
}
.cover-body {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  align-items: center;
  gap: 10px;
  flex: 1;
  padding: 25px 0;
}
.next-chapter {
  display: inline-flex;
  align-items: center;
  gap: 35px;
  font-weight: 600;
  border-bottom: 1px solid hsl(var(--tertiary));
  padding: 10px 0;
  margin-top: 28px;
  font-size: 14px;
}
.next-chapter span {
  color: hsl(var(--tertiary));
  font-size: 24px;
}
.data-art {
  width: 100%;
  aspect-ratio: 1;
  position: relative;
  max-width: 420px;
  justify-self: center;
}
.orbit {
  position: absolute;
  border: 1px solid hsl(var(--tertiary) / 0.17);
  border-radius: 50%;
  inset: 7%;
  transform: rotate(-20deg);
}
.orbit-two {
  inset: 20%;
}
.orbit-three {
  inset: 34%;
  background: hsl(var(--tertiary) / 0.035);
}
.art-core {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 33px;
  font-weight: 700;
  letter-spacing: -1.5px;
}
.art-core > span {
  color: hsl(var(--tertiary));
}
.art-core small {
  position: absolute;
  top: 57%;
  font-size: 8px;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: hsl(var(--muted-foreground));
}
.orbit-node {
  position: absolute;
  border: 1px solid hsl(var(--border));
  border-radius: 7px;
  padding: 12px 18px;
  background: hsl(var(--paper));
  font-size: 16px;
  box-shadow: 0 5px 20px hsl(var(--foreground) / 0.03);
}
.orbit-node small {
  display: block;
  font-size: 8px;
  letter-spacing: 0.08em;
  color: hsl(var(--tertiary));
  margin-bottom: 2px;
}
.node-a {
  top: 2%;
  left: 20%;
}
.node-b {
  top: 28%;
  right: 0;
}
.node-c {
  bottom: 4%;
  right: 18%;
}
.node-d {
  bottom: 25%;
  left: 0;
}
.orbit-particle {
  position: absolute;
  inset: 7%;
  border-radius: 50%;
  pointer-events: none;
}
.orbit-particle:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: hsl(var(--tertiary));
}
.particle-two {
  inset: 20%;
  transform: rotate(150deg);
}
.challenge-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-top: 10px;
}
.challenge-grid article {
  border-top: 2px solid hsl(var(--border));
  padding-top: 19px;
  min-height: 260px;
}
.chapter-letter {
  font-size: 11px;
  color: hsl(var(--tertiary));
  display: block;
  margin-bottom: 16px;
}
.challenge-grid h3 {
  font-size: 23px;
}
.challenge-grid p {
  font-size: 14px;
  line-height: 1.8;
  margin-top: 15px;
}
.paper-stack {
  position: relative;
  height: 88px;
  margin: 25px 15px 0;
}
.paper-stack span {
  display: block;
  position: absolute;
  inset: 0 10% 17px 0;
  padding: 18px;
  border: 1px solid hsl(var(--border));
  background: hsl(var(--surface-low));
  font-size: 11px;
}
.paper-stack span:nth-child(1) {
  transform: rotate(-7deg);
}
.paper-stack span:nth-child(2) {
  transform: rotate(5deg);
  left: 13px;
}
.paper-stack span:nth-child(3) {
  left: 30px;
  transform: translateY(10px);
}
.broken-flow {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-top: 40px;
  font-size: 12px;
}
.broken-flow span {
  padding: 13px 18px;
  border: 1px solid hsl(var(--border));
  border-radius: 5px;
}
.broken-flow b {
  font-size: 25px;
  color: hsl(var(--tertiary));
}
.document-mark {
  margin-top: 29px;
  font-size: 29px;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: hsl(var(--border));
}
.document-mark span {
  display: block;
  color: hsl(var(--muted-foreground));
  font-size: 11px;
  letter-spacing: 0;
  font-weight: 400;
}
.takeaway {
  padding: 18px 0;
  border-top: 1px solid hsl(var(--border));
  margin-top: auto;
  font-size: 15px;
}
.takeaway strong {
  font-weight: 600;
  color: hsl(var(--tertiary));
}
.flow-diagram {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  position: relative;
  margin-top: 36px;
}
.flow-node {
  position: relative;
  background: hsl(var(--paper));
  border: 1px solid hsl(var(--border));
  border-radius: 8px;
  padding: 25px 12px;
  text-align: left;
  transition:
    transform 0.3s,
    border-color 0.3s,
    background 0.3s;
  min-width: 0;
}
.flow-node.selected {
  border-color: hsl(var(--tertiary));
  background: hsl(var(--surface-low));
  transform: translateY(-8px);
}
.flow-node span,
.flow-node strong,
.flow-node small {
  display: block;
}
.flow-node span {
  font-size: 9px;
  letter-spacing: 0.1em;
  color: hsl(var(--tertiary));
  margin-bottom: 17px;
}
.flow-node strong {
  font-size: 23px;
  font-weight: 600;
  letter-spacing: -0.03em;
}
.flow-node small {
  font-size: 12px;
  color: hsl(var(--muted-foreground));
  margin-top: 10px;
}
.flow-line {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  border-top: 1px solid hsl(var(--tertiary) / 0.4);
}
.flow-line i {
  display: block;
  position: absolute;
  width: 55px;
  height: 3px;
  background: hsl(var(--tertiary));
  top: -2px;
}
.flow-detail {
  border-left: 3px solid hsl(var(--tertiary));
  padding: 0 0 0 25px;
  margin: 45px 0 20px;
}
.flow-detail .eyebrow {
  margin-bottom: 10px;
}
.flow-detail h3 {
  font-size: 23px;
}
.flow-detail > p:last-child {
  font-size: 14px;
  margin-top: 12px;
}
.product-layout {
  display: grid;
  grid-template-columns: 0.85fr 1.45fr;
  gap: 45px;
  align-items: center;
  flex: 1;
  padding: 35px 0;
}
.product-copy h2 {
  font-size: 45px;
}
.product-copy .eyebrow {
  margin-bottom: 20px;
}
.feature-list {
  list-style: none;
  padding: 0;
  margin: 26px 0 0;
}
.feature-list li {
  margin-bottom: 16px;
}
.feature-list strong {
  display: block;
  font-size: 14px;
  font-weight: 600;
}
.feature-list span {
  display: block;
  font-size: 12px;
  color: hsl(var(--muted-foreground));
  margin-top: 3px;
}
.screen {
  min-width: 0;
}
.screen > a {
  display: block;
  overflow: hidden;
  border: 1px solid hsl(var(--border));
  border-radius: 7px;
  background: hsl(var(--surface-low));
  padding: 10px;
  transition: transform 0.25s;
}
.screen > a:hover {
  transform: translateY(-3px);
}
.screen img {
  width: 100%;
  height: auto;
}
figcaption {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  font-size: 10px;
  color: hsl(var(--muted-foreground));
  margin-top: 12px;
}
figcaption span {
  flex-shrink: 0;
  color: hsl(var(--tertiary));
}
.carbon-layout {
  display: grid;
  grid-template-columns: 1.6fr 0.8fr;
  gap: 40px;
  align-items: center;
}
.carbon-steps {
  display: grid;
  gap: 24px;
}
.carbon-steps > div {
  border-left: 2px solid hsl(var(--border));
  padding-left: 20px;
}
.carbon-steps small {
  font-size: 9px;
  letter-spacing: 0.1em;
  color: hsl(var(--tertiary));
}
.carbon-steps h3 {
  font-size: 21px;
  margin-top: 6px;
}
.carbon-steps p {
  font-size: 12px;
  margin-top: 6px;
}
#page-7 > .note {
  margin-top: 27px;
}

/* Page 7: two distinct analytical diagrams, feeding one disclosure structure. */
.analysis-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 36px;
  margin: 23px 0 22px;
}
.analysis-heading h2 {
  font-size: 48px;
  line-height: 1.16;
}
.analysis-heading > p {
  font-size: 14px;
  line-height: 1.9;
  max-width: 420px;
  padding-bottom: 5px;
}
.analysis-landscape {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 44px;
}
.nature-landscape {
  padding-left: 35px;
  border-left: 1px solid hsl(var(--border));
}
.analysis-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.analysis-label > div > span {
  font-size: 10px;
  letter-spacing: 0.18em;
  font-weight: 650;
  color: hsl(var(--tertiary));
}
.analysis-label h3 {
  font-size: 31px;
  margin-top: 4px;
}
.analysis-label > p {
  font-size: 12px;
  color: hsl(var(--foreground));
  font-weight: 600;
  letter-spacing: 0.02em;
}
.analysis-label > p > span {
  color: hsl(var(--muted-foreground));
  font-weight: 400;
  margin-inline: 7px;
}
.climate-map,
.nature-map {
  display: block;
  width: 100%;
  height: 228px;
  margin-top: 7px;
  overflow: visible;
  color: hsl(var(--tertiary));
  font-family: inherit;
}
.scenario-envelope {
  fill: url(#scenario-field);
}
.diagram-route {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-opacity: 0.43;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.soft-route {
  stroke-opacity: 0.15;
}
.scenario-origin,
.impact-halo,
.nature-contour {
  fill: none;
  stroke: currentColor;
  stroke-opacity: 0.18;
  stroke-width: 1;
}
.scenario-center,
.climate-packet,
.leap-orbit {
  fill: currentColor;
}
.impact-node {
  fill: currentColor;
}
.impact-text {
  fill: hsl(var(--tertiary-foreground));
  font-size: 18px;
  font-weight: 650;
}
.strategy-node {
  fill: hsl(var(--paper));
  stroke: currentColor;
  stroke-width: 1.5;
}
.strategy-mark {
  stroke: currentColor;
  stroke-width: 1.5;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.svg-label,
.branch-label {
  fill: hsl(var(--foreground));
  font-size: 14px;
  font-weight: 550;
}
.branch-label {
  font-size: 13px;
}
.nature-core {
  fill: currentColor;
  fill-opacity: 0.045;
  stroke: currentColor;
  stroke-opacity: 0.09;
}
.outer-contour {
  stroke-dasharray: 2 7;
  stroke-opacity: 0.18;
}
.leap-ring {
  fill: none;
  stroke: currentColor;
  stroke-opacity: 0.6;
  stroke-width: 1.6;
}
.leap-point circle {
  fill: hsl(var(--paper));
  stroke: currentColor;
  stroke-width: 1.3;
}
.leap-point text {
  fill: currentColor;
  font-size: 19px;
  font-weight: 650;
}
.leap-word {
  fill: hsl(var(--foreground));
  font-size: 29px;
  font-weight: 700;
  letter-spacing: 0.015em;
}
.leap-subtitle {
  fill: hsl(var(--muted-foreground));
  font-size: 10px;
}
.leap-label {
  fill: hsl(var(--foreground));
  font-size: 16px;
  font-weight: 600;
}
.leap-detail {
  fill: hsl(var(--muted-foreground));
  font-size: 12px;
}
.analysis-caption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-top: 7px;
  font-size: 11px;
}
.analysis-caption > span {
  font-size: 12px;
  font-weight: 550;
}
.analysis-caption a {
  color: hsl(var(--tertiary));
  font-weight: 550;
  padding: 5px 0;
}
.disclosure-connector {
  display: flex;
  align-items: center;
  gap: 25px;
  margin: 22px 0 19px;
  color: hsl(var(--muted-foreground));
  font-size: 12px;
}
.disclosure-connector strong {
  font-size: 14px;
  font-weight: 600;
  color: hsl(var(--tertiary));
  white-space: nowrap;
}
.disclosure-connector > span:not(.connector-line) {
  white-space: nowrap;
}
.connector-line {
  flex: 1;
  height: 1px;
  background: hsl(var(--tertiary) / 0.28);
  position: relative;
}
.connector-line:after {
  content: "";
  position: absolute;
  right: 0;
  top: -2px;
  width: 5px;
  height: 5px;
  border-right: 1px solid hsl(var(--tertiary));
  border-top: 1px solid hsl(var(--tertiary));
  transform: rotate(45deg);
}
.disclosure-pillars {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 20px 0;
  background: hsl(var(--surface-low));
  border-radius: 6px;
}
.disclosure-pillars article {
  padding: 0 22px;
}
.disclosure-pillars article + article {
  border-left: 1px solid hsl(var(--border));
}
.disclosure-pillars h4 {
  margin: 0 0 12px;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -0.025em;
}
.disclosure-pillars p {
  font-size: 11px;
  line-height: 1.9;
}
.disclosure-pillars b {
  color: hsl(var(--tertiary));
  font-weight: 550;
  margin-right: 7px;
}
.framework-page .page-foot {
  padding-top: 18px;
}
.packet-top {
  transform: translate(82px, 121px);
}
.packet-bottom {
  transform: translate(210px, 199px);
}
.leap-orbit {
  transform-origin: 276px 120px;
}
@media (prefers-reduced-motion: no-preference) {
  .page.active .analysis-heading {
    animation: enter 0.3s both;
  }
  .page.active .climate-packet {
    animation: climate-route-top 7s linear infinite;
  }
  .page.active .packet-bottom {
    animation-name: climate-route-bottom;
    animation-delay: -3.5s;
  }
  .page.active .leap-orbit {
    animation: leap-rotation 12s linear infinite;
  }
  @keyframes climate-route-top {
    0% {
      transform: translate(82px, 121px);
      opacity: 0;
    }
    8% {
      transform: translate(137px, 121px);
      opacity: 1;
    }
    28% {
      transform: translate(210px, 43px);
    }
    47% {
      transform: translate(324px, 43px);
    }
    65% {
      transform: translate(401px, 121px);
      opacity: 1;
    }
    72% {
      transform: translate(438px, 121px);
      opacity: 0;
    }
    80% {
      transform: translate(518px, 121px);
      opacity: 0;
    }
    86% {
      opacity: 1;
    }
    100% {
      transform: translate(618px, 121px);
      opacity: 0;
    }
  }
  @keyframes climate-route-bottom {
    0% {
      transform: translate(82px, 121px);
      opacity: 0;
    }
    8% {
      transform: translate(137px, 121px);
      opacity: 1;
    }
    28% {
      transform: translate(210px, 199px);
    }
    47% {
      transform: translate(324px, 199px);
    }
    65% {
      transform: translate(401px, 121px);
      opacity: 1;
    }
    72% {
      transform: translate(438px, 121px);
      opacity: 0;
    }
    80% {
      transform: translate(518px, 121px);
      opacity: 0;
    }
    86% {
      opacity: 1;
    }
    100% {
      transform: translate(618px, 121px);
      opacity: 0;
    }
  }
  @keyframes leap-rotation {
    to {
      transform: rotate(360deg);
    }
  }
}
.motion-paused .analysis-heading {
  animation: none !important;
}
.writing-steps {
  padding-left: 20px;
  margin: 25px 0;
  font-size: 14px;
  line-height: 2.3;
}
.writing-steps li::marker {
  color: hsl(var(--tertiary));
  font-size: 11px;
}
.context-layout {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 50px;
  align-items: center;
  margin: 15px 0 25px;
}
.context-caption {
  font-size: 12px;
  margin-top: 20px;
}
.advisory-copy {
  border-left: 1px solid hsl(var(--border));
  padding-left: 35px;
}
.advisory-copy .eyebrow {
  margin-bottom: 20px;
}
blockquote {
  margin: 0;
  font-size: 23px;
  font-weight: 550;
  line-height: 1.6;
  letter-spacing: -0.035em;
}
.simple-list {
  padding-left: 18px;
  font-size: 13px;
  line-height: 2.2;
  margin: 23px 0;
}
.simple-list li::marker {
  color: hsl(var(--tertiary));
}
.disclosure-layout {
  display: grid;
  grid-template-columns: 0.9fr 1.3fr;
  gap: 45px;
  align-items: center;
  flex: 1;
  padding: 38px 0;
}
.disclosure-layout h2 {
  font-size: 46px;
}
.disclosure-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 24px 0;
}
.disclosure-labels span {
  font-size: 11px;
  border: 1px solid hsl(var(--border));
  border-radius: 4px;
  padding: 5px 9px;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: hsl(var(--tertiary));
  color: hsl(var(--tertiary-foreground));
  padding: 12px 20px;
  border-radius: 5px;
  min-height: 46px;
  font-size: 13px;
  font-weight: 600;
  transition: transform 0.2s;
}
.button:hover {
  transform: translateY(-2px);
}
.role-rows {
  margin-top: 0;
}
.role-rows article {
  display: grid;
  grid-template-columns: 0.9fr 1fr 1.1fr;
  gap: 30px;
  align-items: center;
  padding: 26px 0;
  border-top: 1px solid hsl(var(--border));
}
.role-rows article > span {
  font-size: 12px;
  color: hsl(var(--tertiary));
  font-weight: 550;
}
.role-rows h3 {
  font-size: 23px;
}
.role-rows p {
  font-size: 13px;
  line-height: 1.8;
}
.adoption-layout {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 70px;
}
.adoption-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: steps;
}
.adoption-steps li {
  counter-increment: steps;
  position: relative;
  padding: 8px 0 25px 44px;
}
.adoption-steps li:before {
  content: counter(steps);
  position: absolute;
  left: 0;
  top: 5px;
  border: 1px solid hsl(var(--border));
  border-radius: 50%;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  font-size: 11px;
  color: hsl(var(--tertiary));
}
.adoption-steps h3 {
  font-size: 22px;
}
.adoption-steps p {
  font-size: 13px;
  margin-top: 10px;
}
.support-box {
  padding: 27px 30px;
  border: 1px solid hsl(var(--border));
  border-radius: 7px;
  background: hsl(var(--surface-low));
}
.support-box .eyebrow {
  margin-bottom: 15px;
}
.support-box h3 {
  font-size: 26px;
}
.support-box > p:not(.eyebrow) {
  font-size: 13px;
  margin-top: 17px;
}
.support-note {
  margin-top: 20px;
  padding-top: 15px;
  border-top: 1px solid hsl(var(--border));
  font-size: 11px;
}
.support-note p {
  margin-top: 5px;
}
.support-box small {
  display: block;
  font-size: 10px;
  color: hsl(var(--muted-foreground));
  margin-top: 18px;
}
.closing-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 35px 0;
}
.closing h2 {
  font-size: 60px;
}
.closing-contact {
  display: flex;
  align-items: center;
  gap: 27px;
  margin: 35px 0 12px;
}
.email {
  font-size: 20px;
  font-weight: 550;
}
.closing-bottom {
  display: flex;
  align-items: center;
  gap: 30px;
  border-top: 1px solid hsl(var(--border));
  padding-top: 25px;
  font-size: 12px;
}
.closing-bottom .wordmark {
  margin-right: auto;
  font-size: 35px;
}
.reader-footer {
  height: 62px;
  background: hsl(var(--surface));
  border-top: 1px solid hsl(var(--border));
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 32px;
  position: relative;
  font-size: 11px;
  color: hsl(var(--muted-foreground));
  gap: 20px;
}
.pagination {
  display: flex;
  align-items: center;
  gap: 24px;
}
.pagination button {
  border: 1px solid hsl(var(--border));
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: none;
  font-size: 19px;
}
.pagination button:disabled {
  opacity: 0.3;
  cursor: default;
}
#page-count {
  font-variant-numeric: tabular-nums;
  font-size: 12px;
  color: hsl(var(--foreground));
  min-width: 48px;
  text-align: center;
}
#page-count span {
  color: hsl(var(--muted-foreground));
}
.reading-progress {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
}
#reading-progress {
  display: block;
  height: 100%;
  background: hsl(var(--tertiary));
  transform-origin: left;
  transform: scaleX(0.076923);
  transition: transform 0.4s;
}
.skip {
  position: fixed;
  top: -100px;
  left: 15px;
  z-index: 20;
  padding: 10px;
  background: hsl(var(--paper));
}
.skip:focus {
  top: 10px;
}
.js body {
  height: 100dvh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.js .reader-header,
.js .reader-footer {
  flex-shrink: 0;
}
.js .reader-layout {
  min-height: 0;
  flex: 1;
  overflow: hidden;
}
.js .contents {
  overflow-y: auto;
}
/* A fixed 1440 × 810 canvas is fitted as a whole. Reader chrome can reflow;
   slide typography and composition never depend on the browser viewport. */
.js main {
  display: grid;
  place-items: center;
  overflow: auto;
}
.slide-stage {
  --slide-scale: 1;
}
.js .slide-stage {
  width: calc(1440px * var(--slide-scale));
  height: calc(810px * var(--slide-scale));
  position: relative;
}
.js .page {
  position: absolute;
  inset: 0 auto auto 0;
  transform: scale(var(--slide-scale));
  transform-origin: top left;
}
.js .page[hidden] {
  display: none;
}
.js .page.active {
  display: flex;
}
@media (prefers-reduced-motion: no-preference) {
  .page.active .page-heading,
  .page.active .product-copy,
  .page.active .cover-copy,
  .page.active .closing-body {
    animation: enter 0.3s both;
  }
  .page.active .screen {
    animation: enter 0.32s 0.03s both;
  }
  .orbit-particle {
    animation: orbit 15s linear infinite;
  }
  .particle-two {
    animation: orbit 20s linear reverse infinite;
  }
  .flow-line i {
    animation: transfer 4s ease-in-out infinite;
  }
  .page.active .carbon-steps > div {
    animation: enter 0.3s both;
  }
  .page.active .carbon-steps > div:nth-child(2) {
    animation-delay: 0.05s;
  }
  .page.active .carbon-steps > div:nth-child(3) {
    animation-delay: 0.1s;
  }
  @keyframes enter {
    from {
      opacity: 1;
      transform: translateY(6px);
    }
    to {
      opacity: 1;
      transform: none;
    }
  }
  @keyframes orbit {
    to {
      transform: rotate(360deg);
    }
  }
  @keyframes transfer {
    from {
      transform: translateX(0);
      opacity: 0;
    }
    20% {
      opacity: 1;
    }
    80% {
      opacity: 1;
    }
    to {
      transform: translateX(800%);
      opacity: 0;
    }
  }
}
.motion-paused *,
.motion-paused *:before {
  animation-play-state: paused !important;
}
.motion-paused .page.active .screen,
.motion-paused .page.active .page-heading,
.motion-paused .page.active .product-copy,
.motion-paused .page.active .cover-copy,
.motion-paused .page.active .closing-body,
.motion-paused .carbon-steps > div {
  animation: none !important;
}
dialog {
  width: min(1440px, 94vw);
  max-height: 92dvh;
  border: 1px solid hsl(var(--border));
  background: hsl(var(--paper));
  color: hsl(var(--foreground));
  border-radius: 10px;
  padding: 20px;
}
dialog::backdrop {
  background: hsl(222 35% 5%/0.8);
}
.dialog-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 20px;
}
.dialog-bar p {
  font-size: 14px;
}
.dialog-bar button {
  flex-shrink: 0;
  border: 1px solid hsl(var(--border));
  border-radius: 5px;
  background: none;
  min-height: 44px;
  padding: 8px 16px;
}
.dialog-image-wrap {
  max-height: 75dvh;
  overflow: auto;
}
.dialog-image-wrap img {
  width: 100%;
}
/* Only the reader controls adapt on smaller screens, not slide content. */
@media screen and (max-width: 1200px) {
  .reader-layout {
    grid-template-columns: 174px minmax(0, 1fr);
  }
  .contents {
    padding: 25px 10px;
  }
  .contents a {
    font-size: 11px;
    gap: 10px;
  }
  main {
    padding: 16px;
  }
  .document-type .ko {
    display: none;
  }
}
@media screen and (max-width: 900px) {
  .reader-header {
    height: 60px;
    padding: 0 16px;
    gap: 16px;
  }
  .reader-header .wordmark {
    font-size: 26px;
  }
  .document-type {
    display: none;
  }
  .tools {
    gap: 7px;
  }
  .tools button {
    padding: 6px 9px;
    font-size: 10px;
  }
  .reader-layout {
    display: flex;
    flex-direction: column;
  }
  .contents {
    padding: 0 12px;
    border-right: 0;
    border-bottom: 1px solid hsl(var(--border));
    flex-shrink: 0;
  }
  .contents-label,
  .contents-foot {
    display: none;
  }
  .contents nav {
    flex-direction: row;
    gap: 2px;
    overflow-x: auto;
    padding: 6px 0;
  }
  .contents a {
    white-space: nowrap;
    font-size: 11px;
    min-height: 34px;
  }
  .contents a span {
    font-size: 9px;
  }
  .js .contents {
    overflow-y: visible;
  }
  .js main {
    flex: 1;
    min-height: 0;
    padding: 12px;
  }
  .reader-footer {
    height: 54px;
    padding: 0 16px;
  }
  .keyboard-hint {
    display: none;
  }
  .pagination {
    gap: 16px;
  }
  .dialog-image-wrap img {
    min-width: 850px;
  }
}
@media screen and (max-width: 460px) {
  .tools #theme-toggle {
    display: none;
  }
  .reader-header {
    padding-inline: 12px;
  }
  .reader-header .wordmark {
    font-size: 23px;
  }
  .tools button {
    font-size: 9px;
    min-height: 36px;
    padding: 6px;
  }
  .js main {
    padding: 8px;
  }
}
@media screen and (max-height: 500px) {
  .reader-header {
    height: 46px;
  }
  .reader-footer {
    height: 46px;
  }
  .contents {
    display: none;
  }
  .reader-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .js main {
    padding: 8px;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *:before,
  *:after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
/* Editorial slide treatment: stronger hierarchy, functional color fields,
   and distinct compositions while preserving the fixed 16:9 canvas. */
.page { overflow: hidden; border: 0; box-shadow: 0 16px 50px hsl(var(--foreground) / .08); }
.page::before { content: ''; position: absolute; z-index: -1; inset: 0; pointer-events: none; background: linear-gradient(90deg,hsl(var(--tertiary)) 0 96px,transparent 96px) top left / 100% 6px no-repeat; }
.page-top { font-size: 12px; padding-bottom: 20px; }
.page-top span:first-child { color: hsl(var(--tertiary)); font-weight: 700; letter-spacing: .13em; }
.page-foot { font-size: 12px; padding-top: 20px; }
.page-foot span:last-child { font-size: 17px; font-weight: 700; line-height: 1; }
h2 { font-weight: 720; }
.page-heading { margin: 30px 0; }
.page-heading > p { font-size: 17px; max-width: 370px; line-height: 1.7; }
.body-copy { font-size: 18px; line-height: 1.7; }
.eyebrow { font-size: 13px; font-weight: 750; }
.lead { font-size: 20px; line-height: 1.75; }
.note { font-size: 14px; }
/* The cover's network sits on a bounded field, giving it visual weight. */
.cover { background: linear-gradient(90deg,hsl(var(--paper)) 0 56%,hsl(var(--tertiary) / .09) 56% 100%); }
.cover h1 { font-size: 73px; font-weight: 760; line-height: 1.18; }
.cover-body { grid-template-columns: 1.35fr 1fr; gap: 35px; }
.cover .lead { max-width: 620px; }
.cover .data-art { max-width: 460px; }
.cover .art-core { inset: 28%; font-size: 29px; background: hsl(var(--tertiary)); color: hsl(var(--tertiary-foreground)); border-radius: 50%; box-shadow: 0 20px 60px hsl(var(--tertiary) / .22); padding: 24px; }
.cover .art-core > span,.cover .art-core small { color: inherit; }
.cover .art-core small { top: 65%; font-size: 7px; letter-spacing: .04em; }
.cover .orbit { border-width: 2px; border-color: hsl(var(--tertiary) / .26); }
.cover .orbit-node { background: hsl(var(--paper)); border: 1px solid hsl(var(--tertiary) / .25); border-radius: 10px; box-shadow: 0 8px 24px hsl(var(--foreground) / .07); font-size: 20px; }
.cover .orbit-node small { font-size: 11px; }
.next-chapter { font-size: 17px; background: hsl(var(--tertiary)); color: hsl(var(--tertiary-foreground)); border: 0; border-radius: 8px; padding: 12px 24px; }
.next-chapter span { color: inherit; }
/* Three obstacles, expressed as a visual sequence. */
.challenge-grid { gap: 20px; margin-top: 6px; }
.challenge-grid article { border: 0; padding: 24px 28px; min-height: 310px; background: hsl(var(--surface-low)); border-radius: 12px; position: relative; }
.challenge-grid article:nth-child(2) { background: hsl(var(--tertiary) / .07); }
.challenge-grid article:nth-child(3) { background: hsl(var(--tertiary) / .13); }
.chapter-letter { font-size: 32px; line-height: 1; font-weight: 750; margin-bottom: 20px; }
.challenge-grid h3 { font-size: 28px; }
.challenge-grid p { font-size: 17px; }
.paper-stack { margin-top: 24px; }
.broken-flow { margin-top: 32px; }
.document-mark { margin-top: 28px; }
.takeaway { border: 0; border-left: 4px solid hsl(var(--tertiary)); padding: 14px 22px; margin-top: 24px; font-size: 20px; background: hsl(var(--tertiary) / .055); }
/* An active step becomes a solid color tile, not merely a thin outline. */
.flow-diagram { gap: 26px; margin-top: 22px; }
/* Opaque paper beneath the tint masks the connecting line inside each card. */
.flow-node { padding: 29px 25px; border-radius: 12px; border: 1px solid hsl(var(--tertiary) / .18); background: linear-gradient(hsl(var(--tertiary) / .055), hsl(var(--tertiary) / .055)), hsl(var(--paper)); }
.flow-node span { font-size: 12px; margin-bottom: 24px; }
.flow-node strong { font-size: 30px; }
.flow-node small { font-size: 17px; }
.flow-node.selected { background: hsl(var(--tertiary)); color: hsl(var(--tertiary-foreground)); box-shadow: 0 15px 30px hsl(var(--tertiary) / .18); }
.flow-node.selected span,.flow-node.selected small { color: inherit; }
.flow-detail { margin-top: 30px; padding: 20px 28px; background: hsl(var(--surface-low)); border-radius: 0 12px 12px 0; }
.flow-detail h3 { font-size: 28px; }
.flow-detail > p:last-child { font-size: 17px; }
/* Product pages: screen on a tinted presentation stage, numbered benefits. */
.product-layout { gap: 36px; grid-template-columns: .92fr 1.38fr; padding: 24px 0; }
.product-copy h2 { font-size: 47px; }
.feature-list { counter-reset: benefit; margin-top: 22px; }
.feature-list li { counter-increment: benefit; position: relative; padding-left: 43px; margin-bottom: 18px; }
.feature-list li::before { content: '0' counter(benefit); position: absolute; left: 0; top: 0; font-size: 18px; font-weight: 750; color: hsl(var(--tertiary)); }
.feature-list strong { font-size: 18px; }
.feature-list span { font-size: 15px; line-height: 1.6; }
.screen { padding: 22px; background: hsl(var(--tertiary) / .085); border-radius: 16px; border: 1px solid hsl(var(--tertiary) / .14); }
.screen > a { padding: 0; border-radius: 8px; box-shadow: 0 12px 28px hsl(var(--foreground) / .13); }
.screen figcaption { font-size: 12px; margin-top: 16px; line-height: 1.5; }
#page-5 .screen { border-radius: 16px 16px 64px 16px; }
#page-8 .screen { background: hsl(var(--surface-container)); border-top: 6px solid hsl(var(--tertiary)); }
.carbon-layout { grid-template-columns: 1.55fr .85fr; gap: 32px; }
.carbon-steps { gap: 16px; }
.carbon-steps > div { padding: 12px 0 12px 22px; border-left: 4px solid hsl(var(--tertiary) / .3); }
.carbon-steps > div:nth-child(2) { border-color: hsl(var(--tertiary) / .65); }
.carbon-steps > div:last-child { border-color: hsl(var(--tertiary)); }
.carbon-steps small { font-size: 12px; }
.carbon-steps h3 { font-size: 25px; }
.carbon-steps p { font-size: 16px; line-height: 1.6; }
#page-7 > .note { margin-top: 18px; }
/* The analysis diagrams retain their structure; color separates the two lenses. */
.analysis-heading { margin: 20px 0; }
.analysis-heading > p { font-size: 17px; line-height: 1.65; }
.analysis-landscape { gap: 22px; grid-template-columns: 1.15fr 1fr; }
.analysis-landscape > article { padding: 16px 20px 12px; border-radius: 12px; background: hsl(var(--tertiary) / .06); border: 1px solid hsl(var(--tertiary) / .16); }
.analysis-landscape > article.nature-landscape { background: hsl(var(--surface-low)); border-color: hsl(var(--border)); }
.analysis-label > div > span { font-size: 11px; }
.analysis-label h3 { font-size: 29px; }
.analysis-label > p { font-size: 13px; }
.climate-map,.nature-map { height: 200px; }
.diagram-route { stroke-width: 2; }
.analysis-caption { font-size: 13px; }
.analysis-caption > span,.analysis-caption a { font-size: 12px; }
.disclosure-connector { margin: 17px 0; }
.disclosure-pillars { border-top: 3px solid hsl(var(--tertiary)); background: hsl(var(--tertiary) / .06); padding: 15px 0; }
.disclosure-pillars h4 { font-size: 20px; margin-bottom: 8px; }
.disclosure-pillars p { font-size: 13px; }
.framework-page .page-foot { padding-top: 14px; font-size: 11px; }
.writing-steps { list-style: none; counter-reset: writing; padding: 0; margin: 22px 0; font-size: 17px; line-height: 1.7; }
.writing-steps li { counter-increment: writing; padding: 8px 0 8px 40px; position: relative; }
.writing-steps li::before { content: '0' counter(writing); position: absolute; left: 0; color: hsl(var(--tertiary)); font-weight: 750; }
.context-layout { gap: 32px; }
.advisory-copy { padding: 30px; border: 0; border-radius: 12px; background: hsl(var(--tertiary) / .08); }
blockquote { font-size: 29px; line-height: 1.5; }
.simple-list { font-size: 17px; line-height: 1.8; }
.context-caption { font-size: 15px; }
.disclosure-layout { grid-template-columns: .95fr 1.25fr; gap: 36px; padding: 24px 0; }
.disclosure-labels span { font-size: 14px; padding: 6px 11px; background: hsl(var(--tertiary) / .07); border-color: hsl(var(--tertiary) / .2); }
.button { font-size: 16px; border-radius: 8px; }
/* Role cards have a distinct editorial rhythm instead of table rows. */
.role-rows { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.role-rows article { display: flex; flex-direction: column; align-items: flex-start; gap: 25px; padding: 30px; border: 1px solid hsl(var(--tertiary) / .2); border-top: 5px solid hsl(var(--tertiary)); border-radius: 10px; min-height: 330px; background: hsl(var(--tertiary) / .04); }
.role-rows article:nth-child(2) { background: hsl(var(--tertiary) / .09); }
.role-rows article:nth-child(3) { background: hsl(var(--tertiary) / .15); }
.role-rows article > span { font-size: 16px; font-weight: 650; }
.role-rows h3 { font-size: 29px; line-height: 1.4; }
.role-rows p { font-size: 17px; line-height: 1.75; }
.adoption-layout { gap: 45px; }
.adoption-steps li { padding: 8px 0 30px 66px; }
.adoption-steps li::before { width: 42px; height: 42px; background: hsl(var(--tertiary)); color: hsl(var(--tertiary-foreground)); font-size: 19px; font-weight: 700; border: 0; }
.adoption-steps li:not(:last-child)::after { content:''; position:absolute; left:20px; top:52px; bottom:2px; width:2px; background:hsl(var(--tertiary) / .25); }
.adoption-steps h3 { font-size: 27px; }
.adoption-steps p { font-size: 17px; }
.support-box { padding: 28px 32px; border: 1px solid hsl(var(--tertiary) / .25); border-top: 5px solid hsl(var(--tertiary)); border-radius: 12px; background: hsl(var(--tertiary) / .08); }
.support-box h3 { font-size: 32px; }
.support-box > p:not(.eyebrow) { font-size: 16px; }
.support-note { font-size: 14px; }
.support-box small { font-size: 12px; }
/* The closing echoes the cover's color plane without adding new claims. */
.closing { background: linear-gradient(115deg,hsl(var(--paper)) 0 73%,hsl(var(--tertiary) / .12) 73% 84%,hsl(var(--tertiary) / .22) 84%); }
.closing h2 { font-size: 68px; font-weight: 760; line-height: 1.25; }
.closing .eyebrow { letter-spacing: .22em; }
.closing-bottom { font-size: 15px; }
.closing-bottom .wordmark { font-size: 42px; }
/* Viewer stays secondary to the artifact. Tall windows start at the top. */
@media screen and (min-aspect-ratio: 1/1) { .js main { padding: 18px; } }
@media screen and (max-aspect-ratio: 1/1) { .js main { align-content: start; padding-top: 24px; } }

.page-heading { margin: 20px 0; }
/* Shared hierarchy: blue supporting line, title, then body/visual content. */
.slide-title > .eyebrow { margin: 0 0 14px; font-size: 13px; font-weight: 750; line-height: 1.5; letter-spacing: .06em; color: hsl(var(--tertiary)); }
.page:not(.cover):not(.closing) .slide-title h2 { font-size: 47px; font-weight: 720; line-height: 1.22; letter-spacing: -.045em; }
.page-heading > .slide-title,.analysis-heading > .slide-title { flex-shrink: 0; }
.analysis-heading { margin: 17px 0; }
.framework-page .climate-map,.framework-page .nature-map { height: 170px; }


/* Designer review: type roles and common anchors are defined on the slide canvas.
   UI controls stay outside the canvas; product callouts mark only visible areas. */
.page {
  --slide-body: 22px;
  --slide-detail: 18px;
  --slide-meta: 15px;
}
.page-heading { margin: 20px 0 28px; }
.slide-title > .eyebrow {
  font-size: 15px;
  line-height: 1.45;
  letter-spacing: .025em;
  margin-bottom: 12px;
}
.page-heading > p,
.analysis-heading > p {
  font-size: 20px;
  line-height: 1.55;
  max-width: 420px;
}
.body-copy { font-size: var(--slide-body); line-height: 1.55; margin-top: 22px; }
.lead { font-size: 22px; line-height: 1.6; }
.note { font-size: var(--slide-meta); line-height: 1.55; }
.page-top { font-size: 13px; line-height: 1.5; }
.page-foot { font-size: 13px; line-height: 1.5; padding-top: 18px; }
.page-foot span:last-child { font-size: 18px; }
.cover .orbit-node { border-radius: 8px; }
.cover .orbit-node small { font-size: 13px; letter-spacing: .025em; }
.cover .art-core small { font-size: 10px; letter-spacing: .035em; }
.next-chapter { border-radius: 8px; min-height: 48px; font-size: 18px; }

/* One family of surfaces; headings and supporting copy align to the same grid. */
.challenge-grid article,
.flow-node,
.role-rows article,
.advisory-copy,
.support-box { border-radius: 8px; }
.challenge-grid article { padding: 26px 28px; }
.challenge-grid p { font-size: 20px; line-height: 1.6; }
.paper-stack span, .broken-flow span { font-size: 15px; }
.document-mark { color: hsl(var(--tertiary) / .72); font-size: 32px; }
.document-mark span { font-size: 15px; color: hsl(var(--muted-foreground)); }
.takeaway { font-size: 22px; line-height: 1.55; }
.flow-node span { font-size: 14px; letter-spacing: .035em; }
.flow-node small { font-size: 20px; }
.flow-detail { border-radius: 0 8px 8px 0; padding: 24px 28px; }
.flow-detail > p:last-child { font-size: 20px; line-height: 1.6; }

/* The product title starts at the same vertical anchor as other content pages.
   Screens remain on the right, aligned to the title rather than floating midway. */
.product-layout {
  align-items: start;
  grid-template-columns: 1fr 1.3fr;
  gap: 36px;
  padding: 20px 0 0;
}
.product-copy { min-width: 0; }
.product-layout > .screen { align-self: start; margin-top: 72px; }
.feature-list { margin-top: 26px; }
.feature-list li { padding-left: 42px; margin-bottom: 20px; }
.feature-list li::before { font-size: 20px; top: -1px; }
.feature-list strong { font-size: 20px; line-height: 1.45; }
.feature-list span { font-size: 18px; line-height: 1.5; margin-top: 4px; }
.screen,
#page-5 .screen,
#page-8 .screen {
  border-radius: 8px;
  padding: 18px;
  background: hsl(var(--tertiary) / .055);
  border: 1px solid hsl(var(--tertiary) / .16);
}
.screen > a {
  position: relative;
  border-radius: 4px;
  box-shadow: 0 6px 18px hsl(var(--foreground) / .12);
}
.screen figcaption {
  font-size: 15px;
  line-height: 1.45;
  gap: 12px;
  margin-top: 14px;
  align-items: flex-start;
}
.screen figcaption span { font-size: 14px; }
.screen-marker {
  position: absolute;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 17px;
  line-height: 1;
  font-weight: 750;
  border-radius: 50%;
  background: hsl(var(--tertiary));
  color: hsl(var(--tertiary-foreground));
  border: 2px solid hsl(var(--paper));
  box-shadow: 0 2px 6px hsl(var(--foreground) / .2);
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.screen-highlights { display: flex; flex-wrap: wrap; gap: 12px 24px; padding-top: 14px; margin-top: 14px; border-top: 1px solid hsl(var(--tertiary) / .18); font-size: 17px; line-height: 1.5; }
.screen-highlights b { font-size: 17px; color: hsl(var(--tertiary)); margin-right: 6px; }
.carbon-layout { gap: 28px; grid-template-columns: 1.55fr .85fr; }
.carbon-steps { gap: 16px; counter-reset: carbon-step; }
.carbon-steps > div { padding-left: 20px; counter-increment: carbon-step; }
.carbon-steps small::before { content: '0' counter(carbon-step); font-weight: 750; margin-right: 10px; }
.carbon-steps small { font-size: 14px; letter-spacing: .035em; }
.carbon-steps h3 { font-size: 27px; }
.carbon-steps p { font-size: 18px; line-height: 1.5; }
#page-7 > .note { font-size: 16px; margin-top: 18px; }
.writing-steps { font-size: 20px; line-height: 1.5; margin: 24px 0; }
.writing-steps li { padding: 8px 0 8px 42px; }
#page-8 .product-layout > .screen { margin-top: 72px; }

/* A dense analytical slide needs its own measured content slots, while sharing
   the same type hierarchy and original disclosure wording. */
.framework-page {
  display: grid;
  grid-template-rows: 40px 156px 286px 32px 142px 32px;
  row-gap: 12px;
}
.framework-page .page-top { align-items: start; }
.analysis-heading { margin: 0; align-items: end; gap: 32px; }
.analysis-heading > p { max-width: 450px; padding: 0; }
.analysis-landscape { gap: 20px; grid-template-columns: 1.12fr 1fr; }
.analysis-landscape > article {
  padding: 12px 18px 10px;
  border-radius: 8px;
  display: grid;
  grid-template-rows: 46px 192px 24px;
  row-gap: 0;
}
.analysis-label { gap: 14px; }
.analysis-label > div > span { font-size: 13px; line-height: 1; letter-spacing: .08em; }
.analysis-label h3 { font-size: 25px; line-height: 1.2; margin-top: 3px; }
.analysis-label > p { font-size: 16px; }
.framework-page .climate-map,
.framework-page .nature-map { height: 192px; margin: 0; }
.diagram-route { stroke-width: 2; stroke-opacity: .65; }
.soft-route { stroke-opacity: .26; }
.svg-label { font-size: 23px; }
.branch-label { font-size: 21px; }
.impact-text { font-size: 22px; }
.leap-label { font-size: 23px; }
.leap-detail { font-size: 18px; }
.leap-subtitle { font-size: 15px; }
.analysis-caption { margin: 0; font-size: 15px; gap: 8px; }
.analysis-caption > span, .analysis-caption a { font-size: 15px; line-height: 1.4; }
.analysis-caption p { font-size: 14px; line-height: 1.4; }
.analysis-caption a { padding: 0; }
.disclosure-connector { margin: 0; font-size: 15px; gap: 18px; }
.disclosure-connector strong { font-size: 17px; }
.disclosure-pillars { border-radius: 8px; padding: 14px 0; align-items: start; }
.disclosure-pillars article { padding: 0 18px; }
.disclosure-pillars h4 { font-size: 21px; line-height: 1.35; margin-bottom: 9px; }
.disclosure-pillars p { font-size: 17px; line-height: 1.6; }
.disclosure-pillars b { display: inline-block; min-width: 32px; margin-right: 6px; }
.framework-page .page-foot { margin: 0; padding-top: 0; font-size: 13px; align-items: end; }

/* Supporting pages retain their approved content, with readable detail roles. */
.context-layout { gap: 28px; }
.advisory-copy { padding: 28px; }
.advisory-copy > .eyebrow { font-size: 15px; margin-bottom: 20px; }
blockquote { font-size: 29px; line-height: 1.5; }
.simple-list { font-size: 20px; line-height: 1.65; margin: 24px 0; }
.context-caption { font-size: 18px; line-height: 1.5; margin-top: 18px; }
.advisory-copy .note { font-size: 15px; }
.disclosure-labels { gap: 10px; margin-top: 24px; counter-reset: disclosure-step; }
.disclosure-labels span { counter-increment: disclosure-step; }
.disclosure-labels span::before { content: '0' counter(disclosure-step); color: hsl(var(--tertiary)); font-weight: 750; margin-right: 7px; }
.disclosure-labels span { font-size: 18px; line-height: 1.4; padding: 8px 11px; border-radius: 4px; }
.button { font-size: 18px; min-height: 48px; line-height: 1.4; }
.role-rows article { padding: 28px; gap: 24px; min-height: 350px; }
.role-rows article > span { font-size: 18px; line-height: 1.5; }
.role-rows h3 { font-size: 29px; line-height: 1.4; }
.role-rows p { font-size: 20px; line-height: 1.6; }
.adoption-layout { gap: 40px; }
.adoption-steps li { padding-bottom: 30px; }
.adoption-steps p { font-size: 20px; line-height: 1.55; }
.support-box { padding: 26px 28px; }
.support-box h3 { font-size: 30px; line-height: 1.35; }
.support-box > .eyebrow { font-size: 15px; margin-bottom: 18px; }
.support-box > p:not(.eyebrow) { font-size: 20px; line-height: 1.55; }
.support-note { font-size: 18px; line-height: 1.5; padding-top: 18px; margin-top: 20px; }
.support-note p { font-size: 16px; line-height: 1.55; }
.support-box small { font-size: 15px; line-height: 1.5; margin-top: 18px; }
.closing .email { font-size: 21px; }
.closing-bottom { font-size: 17px; }
.closing .note { margin-top: 16px; }


/* This analytical slot shares the common title baseline in HTML and PDF. */
.analysis-heading > .slide-title { position: relative; top: 8px; }

/* Reader controls occupy fixed slots, so page names never shift navigation. */
@media screen {
  .reader-footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    height: 64px;
    min-height: 64px;
    font-size: 12px;
  }
  #page-name { grid-column: 1; min-width: 0; }
  .reader-footer > .pagination { grid-column: 2; justify-self: center; }
  .keyboard-hint { grid-column: 3; justify-self: end; }
  .pagination button { width: 44px; height: 44px; }
  .tools button { min-height: 44px; font-size: 12px; }
  .tools #theme-toggle { width: 44px; min-width: 44px; font-size: 22px; }
  #slide-zoom-toggle {
    display: none;
    position: absolute;
    right: 16px;
    top: 10px;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid hsl(var(--border));
    border-radius: 6px;
    background: hsl(var(--surface));
    color: hsl(var(--foreground));
    font-size: 12px;
    line-height: 1;
  }
  #slide-zoom-toggle[aria-pressed="true"] {
    color: hsl(var(--tertiary));
    border-color: hsl(var(--tertiary));
    background: hsl(var(--tertiary) / .06);
  }
  .slide-zoomed main,
  .embedded.slide-zoomed main {
    place-items: start;
    align-content: start !important;
    overflow: auto !important;
  }
  .slide-zoomed .slide-stage { align-self: start; justify-self: start; }
}
@media screen and (max-width: 900px) {
  .reader-footer > #page-name,
  .reader-footer > .keyboard-hint { display: none; }
  .reader-footer { padding-inline: 12px; }
  .contents a { min-height: 44px; font-size: 12px; }
  .contents a span { font-size: 11px; }
  .tools button { font-size: 12px; }
  #slide-zoom-toggle { display: block; right: 12px; }
}
@media screen and (max-width: 460px) {
  .tools button { font-size: 11px; min-height: 44px; }
}

@media print {
  /* Scale the same canvas to an exact 16 × 9 inch PDF page. */
  @page {
    size: 16in 9in;
    margin: 0;
  }
  :root,
  :root[data-theme="dark"] {
    color-scheme: light;
    --paper: 220 30% 99%;
    --surface: 220 35% 98%;
    --surface-low: 220 30% 96%;
    --surface-container: 220 25% 94%;
    --foreground: 222 47% 11%;
    --muted-foreground: 222 15% 40%;
    --border: 220 13% 87%;
    --tertiary: 221 83% 53%;
    --tertiary-foreground: 0 0% 100%;
  }
  * {
    animation: none !important;
    transition: none !important;
    box-shadow: none !important;
    outline: none !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .js body,
  body {
    height: auto;
    overflow: visible;
    background: white;
  }
  .reader-header,
  .contents,
  .reader-footer,
  .skip,
  dialog {
    display: none !important;
  }
  .reader-layout,
  .js .reader-layout {
    display: block;
    overflow: visible;
    min-height: 0;
  }
  .js main,
  main {
    padding: 0;
    display: block;
    overflow: visible;
  }
  .slide-stage,
  .js .slide-stage {
    width: auto;
    height: auto;
    position: static;
    zoom: 1.0666666667;
  }
  .js .page,
  .js .page[hidden],
  .page {
    display: flex !important;
    position: relative;
    inset: auto;
    transform: none;
    width: 1440px;
    height: 810px;
    min-height: 0;
    max-width: none;
    margin: 0;
    break-after: page;
    break-inside: avoid;
  }
  .js .framework-page,
  .framework-page {
    display: grid !important;
  }
  .page:last-child {
    break-after: auto;
  }
  .flow-line i {
    display: none;
  }
  .page .screen,
  .page .page-heading,
  .page .product-copy,
  .page .cover-copy,
  .page .closing-body {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Embedded viewer: only the canvas and paging controls. */
@media screen {
.embedded .reader-header,.embedded .contents,.embedded .skip{display:none!important}
.embedded .reader-layout{display:block;flex:1;min-height:0}
.embedded main{height:100%;padding:0!important;display:grid;place-items:center;align-content:center!important;overflow:hidden}
.embedded .reader-footer{height:64px;min-height:64px;padding:0 16px;display:flex;justify-content:center;flex-shrink:0}
.embedded #page-name,.embedded .keyboard-hint{display:none}
.embedded .reader-footer>p{display:none}
.embedded .pagination{gap:20px}
.embedded .pagination button{width:44px;height:44px}
.embedded .page{box-shadow:none}
}

/* 2026-10-12 editorial brochure: the document and navigator share one 16:9 canvas.
   Restored source content is grouped by input, work and use rather than decoration. */
.page { padding: 30px 48px 108px; --slide-body: 20px; --slide-detail: 18px; --slide-meta: 14px; }
.page-top { min-height: 36px; padding: 0 0 15px; font-size: 12px; line-height: 20px; }
.page:not(.cover):not(.closing) .slide-title h2 { font-size: 42px; line-height: 1.15; font-weight: 720; }
.slide-title > .eyebrow { font-size: 14px; line-height: 20px; letter-spacing: .025em; margin-bottom: 8px; }
.page-heading,.analysis-heading { margin: 20px 0 22px; align-items: flex-end; gap: 40px; }
.page-heading > .slide-title,.analysis-heading > .slide-title { max-width: 780px; }
.page-heading > p,.analysis-heading > p { font-size: 18px; line-height: 1.55; max-width: 450px; }
.page-foot { position: absolute; bottom: 91px; left: 48px; right: 48px; padding: 0; font-size: 12px; line-height: 20px; margin: 0; }
.page-foot span:last-child { font-size: 14px; }
.page .note { font-size: 14px; line-height: 1.5; }
.page .screen { margin: 0; padding: 12px; border-radius: 6px; box-shadow: none; background: hsl(var(--surface-low)); border: 1px solid hsl(var(--border)); }
.page .screen > a { padding: 0; border-radius: 3px; box-shadow: 0 3px 14px hsl(var(--foreground) / .07); background: white; }
.page .screen figcaption { margin-top: 9px; font-size: 13px; line-height: 1.45; gap: 10px; }
.page .screen figcaption span { font-size: 12px; white-space: nowrap; }
.page .screen-marker { width: 28px; height: 28px; font-size: 14px; }
.editorial-product { display: grid; grid-template-columns: .93fr 1.2fr; gap: 32px; min-height: 0; }
.feature-column,.visual-column { min-width: 0; }
.feature-column { display: flex; flex-direction: column; gap: 14px; }
.feature-row { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 12px; padding: 0 0 14px; border-bottom: 1px solid hsl(var(--border)); }
.feature-row:last-of-type { border-bottom: 0; }
.feature-number { color: hsl(var(--tertiary)); font-size: 18px; line-height: 26px; font-weight: 750; font-variant-numeric: tabular-nums; }
.feature-row h3 { font-size: 22px; line-height: 1.3; font-weight: 700; margin-bottom: 7px; letter-spacing: -.025em; }
.feature-row p { font-size: 18px; line-height: 1.55; }
.usage-band,.verification-note { border-left: 3px solid hsl(var(--tertiary)); background: hsl(var(--tertiary) / .05); padding: 12px 16px; }
.usage-band strong,.verification-note strong { font-size: 17px; line-height: 1.35; display: block; font-weight: 700; }
.usage-band p,.verification-note p { font-size: 16px; line-height: 1.5; margin-top: 6px; }
.screen-reading { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 14px; padding: 13px 15px; border-top: 2px solid hsl(var(--tertiary)); background: hsl(var(--tertiary) / .045); }
.screen-reading strong { font-size: 17px; }
.screen-reading p { font-size: 15px; line-height: 1.45; margin-top: 3px; }
.data-editorial .screen img { max-height: 338px; object-fit: contain; }
.data-editorial .feature-row p { font-size: 18px; }
.comparison-table { width: 100%; }
.comparison-head,.comparison-table article { display: grid; grid-template-columns: 1.25fr 1fr; align-items: center; }
.comparison-head { background: hsl(var(--surface-container)); border-top: 2px solid hsl(var(--foreground)); padding: 11px 20px; gap: 24px; font-size: 15px; line-height: 22px; font-weight: 700; }
.comparison-head span:last-child { color: hsl(var(--tertiary)); padding-left: 22px; }
.comparison-table article { gap: 24px; min-height: 91px; border-bottom: 1px solid hsl(var(--border)); padding: 11px 20px; }
.comparison-table article > div:first-child { display: flex; align-items: flex-start; gap: 15px; }
.comparison-challenge > div { min-width: 0; }
.comparison-challenge > div > p { margin-top: 4px; }
.comparison-table b { font-size: 16px; color: hsl(var(--tertiary)); font-variant-numeric: tabular-nums; }
.comparison-table h3 { font-size: 22px; }
.comparison-table p { font-size: 17px; line-height: 1.5; }
.comparison-table article > div:last-child strong { font-size: 19px; font-weight: 700; color: hsl(var(--foreground)); }
.comparison-table article > div:last-child p { margin-top: 4px; }
.comparison-table article > div:last-child { padding-left: 22px; border-left: 1px solid hsl(var(--tertiary) / .25); }
.compact-takeaway { margin-top: 15px; font-size: 19px; line-height: 1.5; }
.compact-takeaway strong { color: hsl(var(--tertiary)); font-weight: 700; }
#page-3 .flow-diagram { gap: 24px; margin-top: 0; }
#page-3 .flow-node { padding: 18px 22px; border-radius: 6px; min-height: 116px; }
#page-3 .flow-node span { margin-bottom: 9px; font-size: 12px; }
#page-3 .flow-node strong { font-size: 25px; }
#page-3 .flow-node small { font-size: 17px; margin-top: 5px; }
#page-3 .flow-node.selected { transform: none; }
#page-3 .flow-line { top: 58px; }
.workflow-matrix { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; margin-top: 18px; }
.workflow-matrix article { border-bottom: 1px solid hsl(var(--border)); padding: 0 6px 16px; }
.workflow-matrix article > span { display: none; }
.workflow-matrix strong { display: block; font-size: 19px; line-height: 1.35; letter-spacing: -.02em; }
.workflow-matrix p { margin: 8px 0 12px; font-size: 17px; line-height: 1.5; min-height: 51px; }
.workflow-matrix a { color: hsl(var(--tertiary)); font-size: 15px; font-weight: 600; }
#page-3 .flow-detail { margin: 18px 0 0; padding: 15px 20px; border-radius: 0; display: grid; grid-template-columns: 150px 1fr; column-gap: 20px; row-gap: 4px; }
#page-3 .flow-detail > .eyebrow { grid-row: span 2; margin: 0; align-self: center; font-size: 15px; }
#page-3 .flow-detail h3 { font-size: 22px; }
#page-3 .flow-detail > p:last-child { margin-top: 2px; font-size: 17px; line-height: 1.5; }
.carbon-editorial { display: grid; grid-template-columns: 1.35fr 1fr; gap: 32px; }
.carbon-editorial .screen img { width: 100%; }
.carbon-editorial .feature-row { padding-bottom: 15px; }
.insight-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 19px; padding-top: 16px; border-top: 2px solid hsl(var(--tertiary)); }
.insight-grid strong { display: block; font-size: 18px; }
.insight-grid p { font-size: 16px; line-height: 1.5; margin-top: 6px; }
.assessment-editorial .feature-column { gap: 12px; }
.assessment-editorial .feature-row { padding-bottom: 12px; }
.assessment-editorial .feature-row p { font-size: 17px; line-height: 1.5; }
.assessment-editorial .verification-note { margin-top: 0; padding: 11px 14px; }
.assessment-editorial .verification-note p { font-size: 15px; }
.assessment-output { border-top: 2px solid hsl(var(--tertiary)); margin-top: 22px; padding: 16px 18px; background: hsl(var(--tertiary) / .045); }
.assessment-output > span { font-size: 14px; color: hsl(var(--tertiary)); font-weight: 700; }
.assessment-output > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 10px; }
.assessment-output strong { display: block; font-size: 19px; }
.assessment-output p { margin-top: 6px; font-size: 16px; line-height: 1.5; }
.reporting-editorial .feature-column { gap: 12px; }
.reporting-editorial .feature-row { padding-bottom: 12px; }
.reporting-editorial .feature-row p { font-size: 17px; line-height: 1.5; }
.reporting-editorial .screen img { max-height: 325px; object-fit: contain; }
.conversation-example { padding: 14px 18px; margin-top: 15px; border-left: 3px solid hsl(var(--tertiary)); background: hsl(var(--tertiary) / .05); }
.conversation-example > span { font-size: 14px; color: hsl(var(--tertiary)); font-weight: 700; }
.conversation-example p { font-size: 18px; line-height: 1.5; margin-top: 5px; color: hsl(var(--foreground)); }
.advisory-editorial { display: grid; grid-template-columns: 1.13fr 1fr; gap: 32px; }
.advisory-domains { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.advisory-domains article { border-top: 3px solid hsl(var(--tertiary)); padding: 18px 20px; background: hsl(var(--surface-low)); }
.advisory-domains .eyebrow { font-size: 12px; line-height: 1.4; margin-bottom: 11px; letter-spacing: .03em; }
.advisory-domains h3 { font-size: 25px; line-height: 1.3; margin-bottom: 13px; }
.advisory-domains article > p:not(.eyebrow) { font-size: 17px; line-height: 1.65; }
.advisory-domains ul { margin: 15px 0 0; padding: 14px 0 0 18px; border-top: 1px solid hsl(var(--border)); font-size: 16px; line-height: 1.6; color: hsl(var(--muted-foreground)); }
.advisory-domains li { margin-top: 7px; }
.advisory-evidence .screen-highlights { margin-top: 9px; padding-top: 9px; font-size: 15px; gap: 8px 16px; }
.advisory-evidence .screen-highlights b { font-size: 15px; }
.advisory-evidence .context-caption { margin-top: 12px; font-size: 16px; }
.advisory-question { margin: 13px 0; padding-left: 16px; border-left: 3px solid hsl(var(--tertiary)); }
.advisory-question > span { font-size: 14px; color: hsl(var(--tertiary)); font-weight: 700; }
.advisory-question blockquote { font-size: 22px; line-height: 1.5; margin-top: 6px; letter-spacing: -.02em; }
.web-editorial .feature-row { padding-bottom: 16px; }
.web-editorial .screen img { max-height: 304px; object-fit: contain; }
.web-editorial .button { margin-top: 2px; align-self: flex-start; font-size: 16px; min-height: 42px; padding: 10px 18px; }
.publication-strip { display: flex; justify-content: space-between; align-items: center; padding: 15px 0; margin-top: 6px; gap: 12px; font-size: 17px; }
.publication-strip b { color: hsl(var(--tertiary)); font-weight: 500; }
.web-editorial .usage-band p { font-size: 16px; }
.role-editorial { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.role-editorial article { background: hsl(var(--surface-low)); border-top: 3px solid hsl(var(--tertiary)); padding: 21px 24px; }
.role-editorial article > span { font-size: 15px; color: hsl(var(--tertiary)); font-weight: 650; }
.role-editorial h3 { font-size: 26px; line-height: 1.3; margin: 13px 0 12px; }
.role-editorial article > p { font-size: 18px; line-height: 1.5; }
.role-editorial ul { padding-left: 19px; margin: 17px 0; font-size: 16px; line-height: 1.7; color: hsl(var(--muted-foreground)); }
.role-editorial article > div { border-top: 1px solid hsl(var(--border)); padding-top: 12px; }
.role-editorial article > div strong { font-size: 18px; font-weight: 700; }
.role-editorial article > div p { font-size: 16px; line-height: 1.5; margin-top: 5px; }
.adoption-editorial { display: grid; grid-template-columns: 1fr 1.18fr; gap: 32px; }
.adoption-process { display: grid; grid-template-rows: repeat(3,1fr); gap: 15px; }
.adoption-process article { display: grid; grid-template-columns: 40px 1fr; gap: 15px; padding: 0 0 14px; border-bottom: 1px solid hsl(var(--border)); }
.adoption-process article:last-child { border-bottom: 0; }
.adoption-process article > b { font-size: 22px; color: hsl(var(--tertiary)); line-height: 1.2; }
.adoption-process article span { font-size: 11px; letter-spacing: .06em; color: hsl(var(--tertiary)); display: block; margin-bottom: 3px; }
.adoption-process h3 { font-size: 23px; margin-bottom: 7px; }
.adoption-process p { font-size: 17px; line-height: 1.55; }
.adoption-support { border: 1px solid hsl(var(--tertiary) / .16); background: hsl(var(--tertiary) / .045); padding: 20px 24px; }
.support-summary { display: grid; grid-template-columns: .94fr 1fr; gap: 0 24px; }
.support-summary .eyebrow { grid-column: span 2; font-size: 14px; line-height: 1.4; margin-bottom: 10px; }
.support-summary h3 { font-size: 27px; line-height: 1.3; }
.support-summary > p:not(.eyebrow) { font-size: 17px; line-height: 1.55; }
.support-services { display: grid; gap: 11px; margin: 17px 0; padding-top: 15px; border-top: 1px solid hsl(var(--tertiary) / .18); }
.support-services > div { display: grid; grid-template-columns: 180px 1fr; gap: 16px; }
.support-services strong { font-size: 16px; line-height: 1.5; }
.support-services p { font-size: 16px; line-height: 1.5; }
.support-requirements { padding-top: 12px; border-top: 1px solid hsl(var(--tertiary) / .18); }
.support-requirements strong { font-size: 15px; }
.support-requirements p { margin-top: 4px; font-size: 14px; line-height: 1.5; }
.support-requirements small { display: block; margin-top: 6px; font-size: 13px; color: hsl(var(--muted-foreground)); }
/* Two analytical frameworks share clear comparison rows and the same title anchor. */
.framework-page { display: flex; grid-template-rows: none; gap: 0; }
.js .framework-page.active { display: flex; }
.framework-page .analysis-heading > .slide-title { top: 0; }
.framework-page .analysis-landscape { grid-template-columns: 1.12fr 1fr; gap: 24px; margin: 0; }
.framework-page .analysis-landscape > article { grid-template-rows: 44px 166px 23px; padding: 11px 16px 9px; height: 255px; border-radius: 6px; }
.framework-page .climate-map,.framework-page .nature-map { height: 166px; }
.framework-page .analysis-label h3 { font-size: 23px; }
.framework-page .analysis-label > p { font-size: 15px; }
.framework-page .analysis-caption,.framework-page .analysis-caption > span,.framework-page .analysis-caption a { font-size: 14px; }
.framework-page .analysis-caption p { font-size: 13px; }
.framework-page .disclosure-connector { margin: 11px 0; min-height: 25px; font-size: 14px; }
.framework-page .disclosure-connector strong { font-size: 16px; }
.framework-page .disclosure-pillars { min-height: 127px; padding: 13px 0; border-radius: 6px; }
.framework-page .disclosure-pillars article { padding: 0 18px; }
.framework-page .disclosure-pillars h4 { font-size: 19px; line-height: 1.3; margin-bottom: 8px; }
.framework-page .disclosure-pillars p { display: grid; grid-template-columns: 34px 1fr; align-items: baseline; gap: 5px; font-size: 16px; line-height: 1.45; }
.framework-page .disclosure-pillars p + p { margin-top: 5px; }
.framework-page .disclosure-pillars b { min-width: 0; margin: 0; font-size: 14px; color: hsl(var(--tertiary)); }
.leap-direction { fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.cover .cover-body { padding: 24px 0 0; }
.cover .cover-copy .lead { font-size: 21px; }
.closing-body { padding-top: 78px; }
.closing-bottom { position: absolute; left: 48px; right: 48px; bottom: 126px; }
.print-navigation { display: none; }
@media screen {
  .reader-layout,.js .reader-layout,.embedded .reader-layout { display: block; min-height: 0; height: 100%; }
  .js main,.embedded main,main { width: 100%; height: 100%; padding: 20px; display: grid; place-items: center; gap: 0; overflow: auto; }
  .slide-stage { position: relative; }
  .slide-canvas { width: 1440px; height: 810px; position: relative; isolation: isolate; }
  .js .slide-canvas { transform: scale(var(--slide-scale)); transform-origin: top left; }
  .js .page { transform: none; position: absolute; inset: 0; }
  .reader-footer,.embedded .reader-footer { position: absolute; z-index: 10; bottom: 16px; left: 48px; right: 48px; height: 62px; min-height: 62px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 7px 0 0; gap: 24px; border: 0; border-top: 1px solid hsl(var(--border)); background: hsl(var(--paper)); }
  .reader-footer .reading-progress { top: -2px; height: 2px; }
  .footer-context { display: flex; align-items: center; gap: 16px; grid-column: 1; min-width: 0; }
  .footer-brand { font-size: 22px; letter-spacing: -1px; font-weight: 750; line-height: 1; }
  .footer-brand > span { color: hsl(var(--tertiary)); }
  .reader-footer #page-name,.embedded .reader-footer #page-name { display: block; font-size: 14px; line-height: 1.3; color: hsl(var(--muted-foreground)); }
  #contents-toggle { background: hsl(var(--surface-low)); border: 1px solid hsl(var(--border)); min-height: 42px; padding: 7px 13px; border-radius: 4px; font-size: 15px; white-space: nowrap; }
  #contents-toggle > span { font-size: 15px; margin-left: 8px; }
  .reader-footer > .pagination { grid-column: 2; gap: 16px; }
  .pagination button,.embedded .pagination button { width: 42px; height: 42px; font-size: 22px; background: hsl(var(--surface-low)); border: 1px solid hsl(var(--border)); }
  #page-count { min-width: 67px; font-size: 16px; }
  .footer-tools { grid-column: 3; justify-self: end; }
  .footer-tools .tools { gap: 8px; margin: 0; }
  .footer-tools .tools button { min-height: 40px; padding: 6px 10px; font-size: 13px; border-radius: 4px; white-space: nowrap; }
  .footer-tools .tools #theme-toggle { min-width: 40px; width: 40px; padding: 0; }
  .footer-tools #slide-zoom-toggle { display: none; position: static; width: 54px; min-width: 54px; height: 40px; }
  .reader-footer .keyboard-hint { display: none; }
  .contents,.embedded .contents { display: block!important; position: absolute; z-index: 20; top: 76px; right: 48px; width: 540px; height: 570px; padding: 24px 26px; border: 1px solid hsl(var(--border)); box-shadow: 0 12px 55px hsl(var(--foreground) / .2); background: hsl(var(--paper)); border-radius: 6px; }
  .contents[hidden],.embedded .contents[hidden] { display: none!important; }
  .contents-title { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 18px; }
  .contents-label { margin: 0 0 4px; font-size: 12px; color: hsl(var(--tertiary)); }
  .contents-title h2 { font-size: 27px; line-height: 1.3; }
  #contents-close { min-height: 42px; padding: 8px 14px; font-size: 15px; background: hsl(var(--surface-low)); border: 1px solid hsl(var(--border)); border-radius: 4px; }
  .contents nav { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; overflow: visible; }
  .contents nav a { min-height: 48px; font-size: 16px; gap: 12px; padding: 9px 12px; border-bottom: 1px solid hsl(var(--border)); border-radius: 3px; }
  .contents nav a span { font-size: 13px; }
  .contents-foot { margin: 20px 12px 0; font-size: 11px; }
  .contents-foot br { display: none; }
  .contents-foot span { margin-left: 12px; font-size: 11px; }
  .slide-zoomed main,.embedded.slide-zoomed main { place-items: start; align-content: start!important; overflow: auto!important; }
}
@media screen and (max-width: 900px) {
  .footer-tools #slide-zoom-toggle { display: block; }
  .footer-tools .tools button { font-size: 13px; }
  .reader-footer #page-name { display: block; }
  .reader-footer { padding-inline: 0; }
}
@media print {
  .slide-canvas { width: 1440px; height: auto; transform: none!important; position: static; }
  .page,.js .page,.js .page[hidden],.framework-page,.js .framework-page { display: flex!important; }
  .print-navigation { position: absolute; bottom: 16px; left: 48px; right: 48px; display: flex; justify-content: space-between; align-items: center; height: 62px; padding-top: 7px; border-top: 1px solid hsl(var(--border)); font-size: 14px; color: hsl(var(--muted-foreground)); }
  .print-navigation span:nth-child(2) { color: hsl(var(--foreground)); font-variant-numeric: tabular-nums; }
}

/* Actual-capture corrections: leave prose intact, remove redundant metadata,
   and reserve a clear gap above the navigator on every content slide. */
.page-foot { display: none; }
.page-foot span:last-child { display: none; }
.framework-page .page-foot { display: flex; }
.comparison-table article { min-height: 83px; padding-block: 8px; }
.comparison-table p { line-height: 1.42; }
.comparison-table article > div:last-child p { margin-top: 3px; }
.compact-takeaway { margin-top: 12px; }
.insight-grid { margin-top: 14px; padding-top: 12px; }
.assessment-output { margin-top: 16px; padding-block: 12px; }
.assessment-output > div { margin-top: 8px; }
.data-editorial .screen > a { width: calc(338px * 1690 / 1035); max-width: 100%; margin-inline: auto; }
.reporting-editorial .screen > a { width: calc(325px * 1760 / 950); max-width: 100%; margin-inline: auto; }
.web-editorial .screen > a { width: calc(292px * 1695 / 830); max-width: 100%; margin-inline: auto; }
.data-editorial .screen img,.reporting-editorial .screen img,.web-editorial .screen img { max-height: none; object-fit: fill; }
.publication-strip { padding-block: 12px; }
.web-editorial .usage-band { padding-block: 10px; }
@media screen {
  .pagination button,.embedded .pagination button { width: 44px; height: 44px; }
  #contents-toggle { min-height: 44px; }
  .footer-tools .tools button { min-height: 44px; }
  .footer-tools .tools #theme-toggle { width: 44px; min-width: 44px; }
  .footer-tools #slide-zoom-toggle { height: 44px; }
}

/* Rich visual direction: a spatial data narrative, with the established copy,
   title anchors and 16:9 navigator retained. Representative pages 1, 4 and 7. */
.rich-page { overflow: hidden; }
.rich-page .page-top,.rich-page .page-heading,.rich-page .analysis-heading { position: relative; z-index: 2; }
.rich-page[data-tone="dark"],.slide-canvas[data-tone="dark"] > .reader-footer {
  --paper: 223 57% 13%; --surface: 223 52% 16%; --surface-low: 221 45% 20%;
  --surface-container: 223 40% 22%; --foreground: 215 80% 97%;
  --muted-foreground: 216 34% 77%; --border: 218 31% 33%; --tertiary: 202 95% 73%; --tertiary-foreground: 224 65% 13%;
}
.rich-page[data-tone="dark"] .page-top { color: hsl(var(--muted-foreground)); border-color: hsl(var(--border) / .65); }
.rich-page[data-tone="dark"] .page-top > span:first-child { color: #8acaff; }
.rich-page[data-tone="dark"] .slide-title .eyebrow { color: #8bd7ff; }
.rich-page[data-tone="dark"] p { color: hsl(var(--muted-foreground)); }
.rich-page[data-tone="dark"] h1,.rich-page[data-tone="dark"] h2,.rich-page[data-tone="dark"] h3 { color: hsl(var(--foreground)); }
.rich-cover {
  background: radial-gradient(ellipse at 83% 41%,#214db5 0,transparent 43%),radial-gradient(ellipse at 50% 100%,#123778 0,transparent 49%),#0d1b39;
}
.rich-cover::before { content: ''; position: absolute; inset: 0; height: auto; background: linear-gradient(116deg,transparent 51%,rgba(91,156,255,.08) 51%,transparent 72%); pointer-events: none; }
.rich-cover::after { content: ''; position: absolute; width: 950px; height: 950px; border: 1px solid rgba(135,194,255,.13); border-radius: 50%; right: -310px; top: -160px; background: transparent; pointer-events: none; z-index: 0; }
.rich-cover .cover-body { position: relative; z-index: 1; grid-template-columns: .98fr 1fr; gap: 12px; padding: 0; align-items: center; }
.rich-cover .cover-copy { padding-bottom: 18px; }
.rich-cover h1 { font-size: 67px; line-height: 1.16; letter-spacing: -.045em; }
.rich-cover h1 em { color: #80d5ff; }
.rich-cover .cover-copy .lead { font-size: 22px; line-height: 1.65; color: #becde8; }
.rich-cover .next-chapter { background: #3b74ff; color: white; border: 1px solid rgba(159,196,255,.32); box-shadow: 0 12px 36px rgba(33,94,234,.32); padding: 12px 24px; margin-top: 29px; font-size: 18px; }
.rich-cover .next-chapter span { color: white; }
.hero-scene { max-width: none; width: 640px; height: 580px; aspect-ratio: auto; isolation: isolate; position: relative; }
.scene-light { position: absolute; pointer-events: none; border-radius: 50%; z-index: -1; }
.scene-light-a { inset: 135px 85px 115px; background: radial-gradient(ellipse,rgba(89,156,255,.48),transparent 67%); filter: blur(20px); }
.scene-light-b { width: 180px; height: 180px; top: 32px; left: 48px; background: radial-gradient(circle,rgba(103,221,255,.18),transparent 68%); }
.scene-grid { position: absolute; inset: 310px -70px -60px; background: linear-gradient(rgba(102,161,255,.17) 1px,transparent 1px),linear-gradient(90deg,rgba(102,161,255,.17) 1px,transparent 1px); background-size: 45px 45px; transform: perspective(350px) rotateX(55deg) rotateZ(-8deg); opacity: .4; mask-image: radial-gradient(ellipse,#000 12%,transparent 72%); }
.scene-paths { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.scene-orbit { stroke: rgba(145,199,255,.38); stroke-width: 1; }
.scene-orbit-soft { stroke: rgba(145,199,255,.14); }
.scene-route { stroke: url(#hero-beam); stroke-width: 1.5; opacity: .55; }
.scene-beam { stroke: #b8edff; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 26 340; opacity: .9; }
.scene-core { position: absolute; left: 232px; top: 214px; width: 186px; height: 154px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: linear-gradient(135deg,#386fee,#1e4bc1); border: 1px solid rgba(191,225,255,.65); border-radius: 22px; box-shadow: inset 0 1px 0 rgba(226,242,255,.5),0 32px 75px rgba(13,45,117,.66),0 0 62px rgba(104,163,255,.25); z-index: 3; }
.scene-core::before,.scene-core::after { content: ''; position: absolute; inset: 0; z-index: -1; border-radius: 22px; background: rgba(106,156,255,.12); border: 1px solid rgba(190,222,255,.22); transform: translate(12px,14px); }
.scene-core::after { transform: translate(23px,28px); background: rgba(98,146,255,.06); }
.scene-core > span { font-size: 34px; font-weight: 780; letter-spacing: -1.5px; color: white; }
.scene-core small { margin-top: 7px; color: #c5e7ff; font-size: 11px; letter-spacing: .06em; }
.scene-node { position: absolute; min-height: 137px; width: 205px; padding: 18px 20px; border: 1px solid rgba(181,218,255,.33); border-radius: 14px; background: linear-gradient(125deg,rgba(125,179,255,.19),rgba(33,77,157,.23)); box-shadow: 0 18px 48px rgba(3,14,40,.25),inset 0 1px 0 rgba(230,247,255,.14); backdrop-filter: blur(9px); z-index: 4; }
.scene-node small { display: block; font-size: 11px; letter-spacing: .1em; color: #93d9ff; margin-bottom: 9px; }
.scene-node strong { display: block; font-size: 25px; line-height: 1.3; font-weight: 680; color: white; }
.scene-node p { font-size: 15px; line-height: 1.5; margin-top: 8px; color: #c5d6f0!important; }
.scene-icon { position: absolute; top: 18px; right: 17px; width: 29px; height: 29px; color: #94daff; opacity: .85; }
.scene-icon svg { width: 100%; height: 100%; }
.scene-input { left: 21px; top: 34px; transform: rotate(-4deg); }
.scene-analysis { right: -3px; top: 77px; transform: rotate(4deg); }
.scene-report { right: 19px; bottom: 24px; transform: rotate(-3deg); }
.scene-share { left: 6px; bottom: 73px; transform: rotate(3deg); }

/* A generous, elevated real product view sits on a continuous blue workspace.
   Feature cards pair consistent inner spacing with the actual product screen. */
.rich-data { background: radial-gradient(ellipse at 94% 83%,rgba(187,214,255,.34),transparent 54%),hsl(var(--paper)); }
.rich-data .data-editorial { position: relative; isolation: isolate; grid-template-columns: .93fr 1.2fr; gap: 32px; }
.rich-data .feature-column { position: relative; z-index: 2; gap: 8px; }
.rich-data .feature-row { padding: 10px 12px; border: 0; background: linear-gradient(90deg,hsl(var(--surface-low) / .96),hsl(var(--surface-low) / 0)); }
.rich-data .feature-number { width: 34px; height: 34px; background: #e6efff; color: #2460d9; display: grid; place-items: center; border-radius: 10px; font-size: 16px; box-shadow: 0 3px 8px rgba(56,104,183,.08); }
.rich-data .feature-row h3 { font-size: 22px; }
.rich-data .usage-band { border-left: 0; border-radius: 8px; background: hsl(var(--tertiary) / .1); padding: 13px 18px; position: relative; box-shadow: inset 0 1px 0 white; }
.rich-data .visual-column { position: relative; isolation: isolate; }
.rich-data .visual-column::before { content: ''; position: absolute; inset: -14px -48px -8px -20px; z-index: -1; background: radial-gradient(ellipse at 80% 10%,rgba(75,155,255,.44),transparent 50%),linear-gradient(148deg,#193d8e,#102345); border-radius: 16px 0 0 16px; box-shadow: 0 14px 34px rgba(33,64,128,.15); }
.rich-data .visual-column::after { content: ''; position: absolute; inset: -14px -48px -8px -20px; z-index: -1; background: linear-gradient(90deg,rgba(141,182,255,.07) 1px,transparent 1px),linear-gradient(rgba(141,182,255,.07) 1px,transparent 1px); background-size: 46px 46px; border-radius: 16px 0 0 16px; mask-image: linear-gradient(135deg,transparent,#000); pointer-events: none; }
.rich-data .screen { padding: 0; background: transparent; border: 0; }
.rich-data .screen > a { width: 640px; max-width: 100%; border: 0; border-radius: 7px; outline: 1px solid rgba(169,203,255,.45); box-shadow: 0 15px 35px rgba(1,14,39,.4),0 0 0 5px rgba(102,157,235,.14); }
.rich-data .screen img { width: 100%; height: auto; }
.rich-data .screen figcaption { font-size: 15px; line-height: 1.45; color: #cfddf8; margin-top: 6px; }
.rich-data .screen figcaption span { font-size: 15px; color: #9ddaff; }
.rich-data .screen-reading { margin-top: 6px; padding: 6px 0; background: transparent; border-top: 1px solid rgba(150,191,250,.3); gap: 24px; color: white; }
.rich-data .screen-reading strong { font-size: 17px; }
.rich-data .screen-reading p { color: #c4d7f3; font-size: 15px; line-height: 1.45; }

/* Climate and nature occupy two distinct analytical spaces; their light output
   frame makes convergence into usable disclosure information visually explicit. */
.rich-framework { background: radial-gradient(ellipse at 8% 44%,rgba(26,97,196,.29),transparent 56%),radial-gradient(ellipse at 92% 40%,rgba(47,161,191,.16),transparent 48%),#0f1e3b; }
.rich-framework::after { content: ''; position: absolute; width: 750px; height: 750px; border: 1px solid rgba(113,171,242,.1); border-radius: 50%; top: -295px; right: -170px; z-index: 0; pointer-events: none; }
.rich-framework .analysis-landscape { position: relative; z-index: 1; gap: 24px; }
.rich-framework .analysis-landscape > article { grid-template-rows: 44px 186px 25px; height: 277px; padding: 11px 17px 10px; border: 1px solid rgba(154,193,255,.26); border-radius: 12px; box-shadow: inset 0 1px 0 rgba(218,239,255,.15),0 12px 28px rgba(3,12,34,.18); }
.rich-framework .climate-landscape { background: linear-gradient(145deg,rgba(39,92,197,.46),rgba(34,64,118,.46)); }
.rich-framework .nature-landscape { background: linear-gradient(145deg,rgba(29,117,151,.37),rgba(33,65,111,.4)); }
.rich-framework .climate-map,.rich-framework .nature-map { height: 186px; }
.rich-framework .analysis-label > div > span { color: #8cd5ff; }
.rich-framework .analysis-label h3 { font-size: 23px; color: white; }
.rich-framework .analysis-label > p { color: #c7dcf8; font-size: 16px; }
.rich-framework .analysis-caption > span,.rich-framework .analysis-caption p { color: #bed4f1; font-size: 14px; }
.rich-framework .analysis-caption a { font-size: 15px; color: #9dddff; }
.rich-framework .diagram-route { stroke: #a0caff; }
.rich-framework .svg-label,.rich-framework .branch-label { fill: #d0e3ff; }
.rich-framework .impact-node { fill: #3b75fa; stroke: #9bc7ff; }
.rich-framework .impact-text { fill: white; }
.rich-framework .leap-label { fill: #e2f1ff; }
.rich-framework .leap-detail { fill: #c2d7ef; font-size: 20px; }
.rich-framework .leap-word { fill: #d7eeff; }
.rich-framework .leap-subtitle { fill: #9bc5e2; font-size: 16px; }
.rich-framework .nature-core { fill: rgba(76,139,199,.14); }
.rich-framework .leap-ring,.rich-framework .leap-direction { stroke: #77cfe9; }
.rich-framework .disclosure-connector { position: relative; z-index: 1; margin: 9px 0; min-height: 28px; justify-content: center; gap: 18px; }
.rich-framework .disclosure-connector > span:not(.connector-line) { color: #b9cde9; }
.rich-framework .disclosure-connector strong { color: #9cdcfa; background: #102342; padding: 2px 14px; z-index: 2; }
.rich-framework .process-arrow { color: #9cdcfa; font-size: 20px; line-height: 1; }
.rich-framework .disclosure-pillars { --foreground: 222 47% 15%; --muted-foreground: 218 24% 37%; --border: 219 24% 84%; --tertiary: 218 84% 48%; background: linear-gradient(110deg,#f2f7ff,#e7f3fb); position: relative; z-index: 1; min-height: 125px; padding: 13px 0; border: 1px solid #c6def5; border-radius: 10px; box-shadow: 0 14px 30px rgba(3,13,35,.18); }
.rich-framework .disclosure-pillars h4 { color: #153254; }
.rich-framework .disclosure-pillars p { color: #47617f; }
.rich-framework .disclosure-pillars b { color: #2871c5; }
.rich-framework .page-foot { color: #92aac9; font-size: 13px; }
@media screen {
  .slide-canvas[data-tone="dark"] > .reader-footer { background: #0e1b35; border-color: rgba(151,187,240,.24); }
  .slide-canvas[data-tone="dark"] #contents-toggle,.slide-canvas[data-tone="dark"] .pagination button,.slide-canvas[data-tone="dark"] .footer-tools .tools button { color: #dce9fc; border-color: #36547e; background: #192d4c; }
  .slide-canvas[data-tone="dark"] .footer-brand { color: white; }
  .slide-canvas[data-tone="dark"] #page-name { color: #adbfda; }
  .slide-canvas[data-tone="dark"] #page-count { color: #e8f1ff; }
  .slide-canvas[data-tone="dark"] #page-count span { color: #9fb7d7; }
}
@media (prefers-reduced-motion: no-preference) {
  .page.active .scene-beam { animation: hero-data-transfer 7s linear infinite; }
  .page.active .scene-light-a { animation: hero-data-glow 10s ease-in-out infinite alternate; }
  @keyframes hero-data-transfer { to { stroke-dashoffset: -732; } }
  @keyframes hero-data-glow { from { opacity: .65; } to { opacity: 1; } }
}
.motion-paused *, .motion-paused *::before,.motion-paused *::after { animation-play-state: paused!important; }
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation: none!important; transition: none!important; }
}
@media print {
  .rich-page[data-tone="dark"] .print-navigation { color: #bed0e8; border-color: rgba(151,187,240,.3); }
  .rich-page[data-tone="dark"] .print-navigation span:nth-child(2) { color: white; }
}

/* Extension across the deck: varied compositions express the work's character,
   rather than repeating one generic product card. Existing prose stays intact. */
.rich-page .screen figcaption,.rich-page .screen figcaption span { font-size: 15px; line-height: 1.45; }
.rich-page .screen figcaption { margin-top: 7px; }
.rich-page .note { font-size: 15px; line-height: 1.5; }
.rich-comparison { background: radial-gradient(ellipse at 95% 35%,hsl(var(--tertiary) / .09),transparent 50%),hsl(var(--paper)); }
.rich-comparison .comparison-table { flex: 0 0 auto; border-radius: 8px; overflow: hidden; background: linear-gradient(90deg,transparent 56.4%,#2259c4 56.4%,#19438f); box-shadow: 0 14px 32px rgba(31,71,139,.1); }
.rich-comparison .comparison-head { border-top: 0; background: linear-gradient(90deg,hsl(var(--surface-container)) 56.4%,#133770 56.4%); min-height: 43px; }
.rich-comparison .comparison-head span:last-child { color: #cfe4ff; }
.rich-comparison .comparison-table article { border-bottom-color: hsl(var(--border) / .6); }
.rich-comparison .comparison-table article > div:last-child { color: white; border-left: 0; position: relative; }
.rich-comparison .comparison-table article > div:last-child::before { content: '→'; position: absolute; left: -1px; top: 7px; font-size: 19px; color: #9ecbff; }
.rich-comparison .comparison-table article > div:last-child strong { color: white; }
.rich-comparison .comparison-table article > div:last-child p { color: #d0def6; }
.rich-comparison .comparison-table article > div:first-child b { flex: 0 0 30px; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; background: hsl(var(--tertiary) / .08); }
.rich-comparison .compact-takeaway { padding-left: 14px; border-left: 3px solid hsl(var(--tertiary)); font-size: 19px; }

.rich-workflow { background: radial-gradient(ellipse at 54% 50%,rgba(31,89,188,.45),transparent 65%),#101f3d; }
.rich-workflow .flow-diagram { position: relative; z-index: 2; }
.rich-workflow .flow-node { min-height: 130px!important; background: #17325a; color: white; border-color: #3c5981; box-shadow: inset 0 1px 0 rgba(183,216,255,.1),0 12px 26px rgba(1,11,31,.23); }
.rich-workflow .flow-node.selected { background: linear-gradient(140deg,#3474f9,#204eab); border-color: #9cbff7; box-shadow: 0 10px 34px rgba(45,115,251,.28); }
.rich-workflow .flow-node span { color: #a5d5ff!important; }
.rich-workflow .flow-node small { color: #c2d5f1!important; }
.rich-workflow .flow-node strong { color: white!important; }
.rich-workflow .flow-line { border-color: rgba(131,193,255,.56); top: 66px!important; }
.rich-workflow .workflow-matrix article { border-color: #35537a; padding-inline: 7px; }
.rich-workflow .workflow-matrix strong { color: #eef5ff; }
.rich-workflow .workflow-matrix p { color: #b1c6e5; }
.rich-workflow .flow-detail { margin-top: 0!important; background: linear-gradient(100deg,rgba(57,116,218,.26),rgba(40,82,147,.13)); border: 1px solid rgba(131,181,247,.24); border-left: 3px solid #78beff; border-radius: 8px!important; padding: 16px 22px!important; }
.rich-workflow .flow-detail h3 { color: #f0f5ff; }
.rich-workflow .flow-detail > p:last-child { color: #bdd0e9; }

/* Activity records feed calculation, then branch into analysis and reporting. */
.rich-carbon { background: radial-gradient(ellipse at 12% 50%,hsl(var(--tertiary) / .08),transparent 63%),hsl(var(--paper)); }
.rich-carbon .carbon-editorial { position: relative; isolation: isolate; }
.carbon-transfer { position: absolute; inset: 0; width: 100%; height: 484px; z-index: -1; pointer-events: none; }
.carbon-transfer path { stroke: #90b2e7; stroke-width: 1.5; }
.rich-carbon .visual-column { position: relative; isolation: isolate; }
.rich-carbon .visual-column::before { content: ''; position: absolute; inset: -15px -15px -12px -15px; border-radius: 12px; z-index: -1; background: linear-gradient(135deg,hsl(var(--tertiary) / .11),hsl(var(--tertiary) / .03)); box-shadow: inset 0 1px 0 hsl(var(--tertiary) / .12); }
.rich-carbon .screen { position: relative; padding: 10px; background: hsl(var(--paper) / .8); border-color: hsl(var(--tertiary) / .2); border-radius: 9px; }
.rich-carbon .screen > a { border-radius: 6px; box-shadow: 0 10px 25px rgba(24,51,95,.23); }
.rich-carbon .feature-row { position: relative; border-bottom: 0; padding-bottom: 15px; }
.rich-carbon .feature-row::before { content: ''; position: absolute; left: 16px; top: 34px; bottom: -14px; border-left: 1.5px solid #90b2e7; z-index: -1; pointer-events: none; }
.rich-carbon .feature-row:last-of-type::before { display: none; }
.rich-carbon .feature-number { background: hsl(var(--paper)); border: 2px solid hsl(var(--tertiary)); color: hsl(var(--tertiary)); width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-size: 16px; box-shadow: 0 0 0 5px hsl(var(--tertiary) / .07); }
.rich-carbon .insight-grid { gap: 18px; border-top: 0; padding-top: 12px; margin-top: 16px; }
.rich-carbon .insight-grid > div { position: relative; border-top: 3px solid hsl(var(--tertiary)); padding: 7px 10px 0; background: hsl(var(--paper) / .6); }
.rich-carbon .insight-grid strong { font-size: 18px; color: hsl(var(--foreground)); }
.rich-carbon .insight-grid p { font-size: 16px; }

/* Assessment keeps its evidence in view, with a document surface for the opinion. */
.rich-assessment { background: radial-gradient(ellipse at 92% 85%,hsl(var(--tertiary) / .11),transparent 58%),hsl(var(--paper)); }
.rich-assessment .feature-number { color: hsl(var(--tertiary)); padding-top: 2px; }
.rich-assessment .feature-row { border-left: 2px solid hsl(var(--tertiary) / .17); padding-left: 12px; border-bottom-color: hsl(var(--border) / .65); }
.rich-assessment .verification-note { position: relative; background: hsl(var(--paper)); border: 1px solid hsl(var(--tertiary) / .18); border-left: 4px solid hsl(var(--tertiary)); border-radius: 3px 9px 9px 3px; padding: 11px 44px 11px 15px; box-shadow: 8px 8px 0 hsl(var(--tertiary) / .045),0 6px 16px hsl(var(--foreground) / .04); }
.rich-assessment .verification-note strong { font-size: 17px; }
.opinion-icon { width: 24px; height: 24px; position: absolute; right: 13px; top: 13px; color: hsl(var(--tertiary)); }
.rich-assessment .screen { background: hsl(var(--surface-low)); padding: 10px; border-radius: 9px; }
.rich-assessment .screen > a { border-radius: 5px; box-shadow: 0 12px 25px hsl(var(--foreground) / .15); }
.rich-assessment .assessment-output { position: relative; background: linear-gradient(130deg,#234e9a,#142e56); color: white; border: 0; border-radius: 9px; padding: 12px 16px; box-shadow: 0 9px 22px rgba(23,61,124,.15); }
.rich-assessment .assessment-output > span { color: #b6d9ff; font-size: 15px; }
.rich-assessment .assessment-output strong { color: white; }
.rich-assessment .assessment-output p { color: #c4d7f2; }

/* The connected manuscript stands in front of its source workspace. */
.rich-report { background: radial-gradient(ellipse at 86% 50%,hsl(var(--tertiary) / .11),transparent 60%),hsl(var(--paper)); }
.rich-report .feature-row { border-bottom-color: hsl(var(--border) / .65); }
.rich-report .feature-number { border-radius: 8px; background: hsl(var(--tertiary) / .08); width: 34px; height: 34px; display: grid; place-items: center; font-size: 16px; }
.rich-report .visual-column { position: relative; isolation: isolate; }
.rich-report .visual-column::before { content: ''; position: absolute; inset: -13px -48px -8px -18px; background: linear-gradient(140deg,hsl(var(--tertiary) / .16),hsl(var(--tertiary) / .04)); border-radius: 12px 0 0 12px; z-index: -1; }
.rich-report .screen { background: transparent; border: 0; padding: 0; }
.rich-report .screen > a { width: 620px; max-width: 100%; border: 0; border-radius: 7px; box-shadow: 0 16px 33px hsl(var(--foreground) / .22),0 0 0 5px hsl(var(--tertiary) / .11); }
.rich-report .conversation-example { margin-top: 12px; padding: 10px 16px; border: 1px solid hsl(var(--tertiary) / .15); border-left: 3px solid hsl(var(--tertiary)); background: hsl(var(--paper) / .92); border-radius: 5px 10px 10px 5px; box-shadow: 0 7px 15px hsl(var(--foreground) / .04); }
.rich-report .conversation-example > span { font-size: 15px; }
.rich-report .conversation-example p { font-size: 18px; }

/* Two expert lenses share one company context, without an exaggerated result claim. */
.rich-advisory { background: radial-gradient(ellipse at 91% 50%,rgba(37,99,193,.31),transparent 61%),#101e39; }
.rich-advisory .advisory-domains { gap: 23px; }
.rich-advisory .advisory-domains article { position: relative; isolation: isolate; border: 1px solid rgba(137,181,244,.24); border-top: 3px solid #7caef7; border-radius: 10px; background: linear-gradient(145deg,rgba(46,92,161,.34),rgba(32,60,100,.2)); padding: 18px 20px; box-shadow: 0 12px 25px rgba(1,11,30,.16); }
.rich-advisory .advisory-domains article:nth-child(2) { border-top-color: #7bc3d8; background: linear-gradient(145deg,rgba(40,108,135,.3),rgba(33,58,101,.22)); }
.rich-advisory .advisory-domains .eyebrow { color: #9dc8ff; font-size: 12px; }
.rich-advisory .advisory-domains h3 { color: white; }
.rich-advisory .advisory-domains ul { border-color: rgba(133,174,232,.25); color: #bfcee4; }
.domain-watermark { position: absolute; width: 83px; height: 83px; right: 9px; top: 31px; z-index: -1; color: #95bcf5; opacity: .09; }
.rich-advisory .advisory-evidence .screen { border-color: rgba(152,188,239,.27); background: #172e50; padding: 10px; border-radius: 9px; box-shadow: 0 13px 30px rgba(4,15,34,.2); }
.rich-advisory .screen-highlights { border-color: #34537e; color: #d4e1f4; }
.rich-advisory .screen-highlights b { color: #9bd1ff; }
.rich-advisory .advisory-question { padding: 12px 16px; margin-top: 13px; border: 1px solid #315686; border-left: 3px solid #87c9ff; border-radius: 6px; background: linear-gradient(110deg,rgba(39,99,181,.25),rgba(35,65,109,.16)); }
.rich-advisory .advisory-question > span { color: #a4d4ff; font-size: 15px; }
.rich-advisory .advisory-question blockquote { color: #e8f1ff; font-size: 22px; }
.rich-advisory .context-caption { color: #b8cde7; }

/* Keep the approved two-card composition; switch between actual function screens. */
.advisory-screen-switch { display: flex; gap: 8px; margin-bottom: 8px; }
.advisory-screen-switch button { flex: 1; min-height: 40px; padding: 8px 12px; border: 1px solid #426490; border-radius: 5px; background: #1a3357; color: #cfddf1; font-size: 14px; font-weight: 650; cursor: pointer; transition: background .18s ease, border-color .18s ease; }
.advisory-screen-switch button[aria-pressed="true"] { background: #325e99; border-color: #93c4ff; color: #fff; }
.advisory-screen-switch button:hover { border-color: #b1d5ff; }
.advisory-screen-switch button:focus-visible { outline: 2px solid #b9dcff; outline-offset: 3px; }
.advisory-screen-panel[hidden] { display: none; }
.advisory-screen-panel > a { display: block; overflow: hidden; border-radius: 3px; }
.advisory-screen-panel img { width: 100%; height: 210px; object-fit: cover; object-position: top; }
.rich-advisory .advisory-evidence .advisory-question { margin: 10px 0; padding: 10px 16px; }
.rich-advisory .advisory-question blockquote { font-size: 20px; }
@media print { .advisory-screen-switch { display: none; } }

/* A report becomes a browsable, shareable publication; its real cover stays intact. */
.rich-publication { background: radial-gradient(ellipse at 96% 26%,hsl(var(--tertiary) / .08),transparent 58%),hsl(var(--paper)); }
.rich-publication .visual-column { position: relative; isolation: isolate; }
.rich-publication .screen { padding: 10px; border-color: hsl(var(--tertiary) / .2); border-radius: 10px; background: hsl(var(--paper) / .8); box-shadow: 9px 11px 0 hsl(var(--tertiary) / .035); }
.rich-publication .screen > a { width: 630px; max-width: 100%; border-radius: 6px; box-shadow: 0 13px 28px hsl(var(--foreground) / .18); }
.rich-publication .publication-strip { padding-block: 8px; font-size: 17px; font-weight: 550; }
.rich-publication .publication-strip > span { border-bottom: 2px solid hsl(var(--tertiary) / .3); padding-bottom: 4px; }
.rich-publication .usage-band { border-left: 0; background: hsl(var(--paper) / .85); border-radius: 6px; box-shadow: 0 7px 20px hsl(var(--foreground) / .055); border: 1px solid hsl(var(--tertiary) / .13); padding-block: 10px; }
.rich-publication .feature-number { color: hsl(var(--tertiary)); border-bottom: 2px solid hsl(var(--tertiary)); padding-bottom: 3px; }

/* The shared data gains depth as responsibility moves from practice to direction. */
.rich-roles { background: radial-gradient(ellipse at 54% 65%,hsl(var(--tertiary) / .08),transparent 70%),hsl(var(--paper)); }
.rich-roles .role-editorial { gap: 27px; }
.rich-roles .role-editorial article { position: relative; border: 1px solid hsl(var(--tertiary) / .15); border-top: 0; padding: 24px 25px; border-radius: 10px; box-shadow: 0 11px 30px hsl(var(--foreground) / .06); background: hsl(var(--surface-low)); }
.rich-roles .role-editorial article:nth-child(2) { background: linear-gradient(145deg,#2d62bc,#214a88); box-shadow: 0 13px 32px rgba(39,79,143,.16); }
.rich-roles .role-editorial article:nth-child(3) { background: linear-gradient(145deg,#1b355c,#142540); box-shadow: 0 13px 32px rgba(12,32,64,.18); }
.role-icon { position: absolute; top: 19px; right: 21px; width: 31px; height: 31px; color: hsl(var(--tertiary)); opacity: .65; }
.rich-roles .role-editorial article:nth-child(n+2) > span { color: #bddaff; }
.rich-roles .role-editorial article:nth-child(n+2) h3,.rich-roles .role-editorial article:nth-child(n+2) strong { color: white; }
.rich-roles .role-editorial article:nth-child(n+2) p,.rich-roles .role-editorial article:nth-child(n+2) ul { color: #c5d5ed; }
.rich-roles .role-editorial article:nth-child(n+2) > div { border-color: rgba(172,205,252,.23); }
.rich-roles .role-editorial article:nth-child(n+2) .role-icon { color: #a5d4ff; }
.rich-roles .role-editorial article > span { display: block; padding-right: 25px; font-size: 15px; }

/* Adoption is a guided journey and a tangible scope of support, not a generic box. */
.rich-adoption { background: radial-gradient(ellipse at 87% 54%,hsl(var(--tertiary) / .1),transparent 64%),hsl(var(--paper)); }
.rich-adoption .adoption-process { position: relative; isolation: isolate; }
.adoption-journey { position: absolute; top: 0; left: 0; width: 40px; height: 450px; z-index: -1; pointer-events: none; }
.adoption-journey path { stroke: hsl(var(--tertiary) / .35); stroke-width: 2; }
.rich-adoption .adoption-process article { padding-bottom: 14px; border-bottom: 0; }
.rich-adoption .adoption-process article > b { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: hsl(var(--paper)); border: 2px solid hsl(var(--tertiary)); box-shadow: 0 0 0 7px hsl(var(--tertiary) / .06); font-size: 18px; }
.rich-adoption .adoption-process article > div { padding: 5px 0 0; }
.rich-adoption .adoption-process article span { font-size: 12px; }
.rich-adoption .adoption-support { position: relative; background: hsl(var(--paper)); padding: 0 22px 18px; border: 1px solid hsl(var(--tertiary) / .13); border-radius: 10px; box-shadow: 11px 12px 0 hsl(var(--tertiary) / .045),0 15px 30px hsl(var(--foreground) / .07); }
.rich-adoption .support-summary { margin-inline: -22px; padding: 18px 22px; background: linear-gradient(125deg,#244e93,#17345d); border-radius: 10px 10px 0 0; }
.rich-adoption .support-summary .eyebrow { color: #abd4ff; }
.rich-adoption .support-summary h3 { color: white; }
.rich-adoption .support-summary > p:not(.eyebrow) { color: #c9d9ee; }
.rich-adoption .support-services { margin-top: 16px; padding-top: 0; border-top: 0; gap: 13px; }
.rich-adoption .support-services strong { color: hsl(var(--tertiary)); font-size: 16px; }
.rich-adoption .support-services p { font-size: 16px; }
.rich-adoption .support-requirements p,.rich-adoption .support-requirements small { font-size: 15px; line-height: 1.5; }

/* The closing resolves the opening's data scene into documents and sharing. */
.rich-closing { background: radial-gradient(ellipse at 90% 33%,rgba(52,114,227,.42),transparent 56%),linear-gradient(118deg,#102444,#102e61); }
.rich-closing .closing-body { position: relative; z-index: 2; max-width: 965px; justify-content: flex-start; padding-top: 67px; }
.rich-closing h2 { font-size: 64px; line-height: 1.2; }
.rich-closing h2 em { color: #8bd8ff; }
.rich-closing .lead { color: #bbceea; font-size: 22px; line-height: 1.6; }
.rich-closing .button { background: #3b76fa; color: white; border: 1px solid #72a3ff; box-shadow: 0 11px 27px rgba(10,29,65,.3); }
.rich-closing .email { color: #eef5ff; }
.rich-closing .note { color: #8eaacd; }
.rich-closing .closing-bottom { color: #c1d5ee; border-color: rgba(141,186,240,.22); z-index: 2; }
.closing-flow-art { position: absolute; top: 110px; right: -48px; width: 530px; height: 550px; z-index: 1; color: #78bcf5; }
.closing-flow-art > ellipse { stroke: rgba(122,182,247,.17); stroke-width: 1; }
.closing-light-route { stroke: url(#closing-flow-light); stroke-width: 2.5; }
.closing-documents rect { stroke: rgba(157,202,255,.39); stroke-width: 1; fill: rgba(63,117,198,.16); }
.closing-documents rect:last-of-type { fill: rgba(88,143,226,.23); stroke: rgba(158,208,255,.59); }
.closing-documents path { stroke: rgba(173,217,255,.42); stroke-width: 2; }
.closing-share-node > circle:first-child { fill: rgba(67,125,214,.3); stroke: rgba(157,214,255,.5); }
.closing-share-node circle:not(:first-child),.closing-share-node path { stroke: #b3e1ff; stroke-width: 1.8; }

/* The analytical subjects differ in their wide, abstract background fields.
   These contain no place names, axes or measurements. */
.rich-framework .analysis-landscape > article { position: relative; isolation: isolate; overflow: hidden; }
.analysis-field { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; }
.climate-field path:not(.field-line) { fill: rgba(113,172,253,.075); }
.climate-field path:nth-child(2) { fill: rgba(112,167,241,.04); }
.climate-field path:nth-child(3) { fill: rgba(98,166,249,.1); }
.climate-field .field-line { stroke: rgba(132,186,255,.11); stroke-width: 1; }
.nature-field path { stroke: rgba(122,200,219,.16); stroke-width: 1; }
@media print {
  .rich-workflow,.rich-advisory,.rich-closing { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* The selected workflow stage is an explanation, not an output shared by all steps. */
.rich-workflow .flow-detail { margin-top: 18px!important; }
