@font-face {
  font-family: "Geist Variable";
  src: url("assets/geist-latin-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --canvas-w: 1920;
  --canvas-h: 1080;
  --font-primary: "Geist Variable", "Helvetica Neue", sans-serif;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --type-slide-title: 72px;
  --type-card-title: 32px;
  --type-heading-leading: 0.98;
  --paper: #fbfcfe;
  --surface-soft: #f3f4f7;
  --surface-muted: #eceef2;
  --surface-deep: #e0e3e9;
  --white: #ffffff;
  --ink: #161512;
  --charcoal: #161512;
  --brand: #6b4eff;
  --brand-text: #593bd6;
  --brand-light: #c5bcff;
  --brand-gradient: linear-gradient(125deg, #5ca6f6 0%, #6e62d2 22%, #b231b0 48%, #f65138 72%, #fbc441 100%);
  --brand-blue: #5ca6f6;
  --brand-indigo: #6e62d2;
  --brand-violet: #6b4eff;
  --brand-magenta: #b231b0;
  --brand-coral: #f65138;
  --brand-gold: #fbc441;
  --chart-blue: #367dc6;
  --chart-neutral: #737986;
  --line: #d7dae1;
  --line-soft: #e5e7ec;
  --text-secondary: #575c66;
  --radius-sm: 12px;
  --radius: 22px;
  --radius-lg: 28px;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --scale: 1;
  --cover-footer-space: max(132px, calc(148px / var(--scale)));
}

/* Portrait letterboxing already separates the cover from navigation controls. */
@media (max-aspect-ratio: 1/1) {
  :root {
    --cover-footer-space: max(132px, calc(100px / var(--scale)));
  }
}

* {
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
  background: #101012;
  color: var(--ink);
  font-family: var(--font-primary);
  font-weight: var(--font-weight-regular);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

button,
input,
textarea,
select {
  font: inherit;
}

/* Align below the cover metadata while retaining an unscaled 44px touch target.
   Reserve extra cover space on small screens so the control stays on canvas. */
.cover-language {
  position: fixed;
  z-index: 20;
  top: calc(50vh + (540px - var(--cover-footer-space)) * var(--scale) + 12px);
  left: calc(50vw - 880px * var(--scale));
  display: grid;
  gap: 6px;
  max-width: calc(100vw - 32px);
  color: var(--white);
}

.cover-language[hidden] {
  display: none;
}

.cover-language-label {
  font-size: 11px;
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.03em;
  text-shadow: 0 1px 5px rgba(0, 0, 0, 0.6);
}

.language-options {
  display: flex;
  align-items: center;
  gap: 18px;
}

.language-options button {
  position: relative;
  min-height: 32px;
  border: 0;
  background: transparent;
  color: var(--white);
  padding: 2px 0 7px;
  font-size: 13px;
  font-weight: var(--font-weight-semibold);
  line-height: 1;
  opacity: 0.62;
  cursor: pointer;
  transition: color 160ms ease, opacity 160ms ease;
}

.language-options button::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 1px;
  left: 0;
  height: 2px;
  border-radius: 999px;
  background: var(--brand-light);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms var(--ease);
}

.language-options button:hover,
.language-options button[aria-pressed="true"] {
  opacity: 1;
}

.language-options button[aria-pressed="true"]::after {
  transform: scaleX(1);
}

.language-options button:focus-visible {
  outline: 2px solid var(--brand-light);
  outline-offset: 4px;
  border-radius: 2px;
}

html:lang(zh-Hans) body {
  font-family: "Geist Variable", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  line-break: strict;
}

html:lang(zh-Hans) h2,
html:lang(zh-Hans) h3 {
  line-height: 1.12;
  letter-spacing: 0;
}

html:lang(zh-Hans) h2 {
  text-wrap: balance;
}

button {
  color: inherit;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
}

.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 1000;
  transform: translateY(-140%);
  border-radius: 999px;
  background: var(--white);
  padding: 12px 18px;
  color: var(--ink);
  font-weight: var(--font-weight-bold);
  transition: transform 180ms ease;
}

.skip-link:focus {
  transform: translateY(0);
}

.viewport {
  position: fixed;
  inset: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.09), transparent 36%),
    #101012;
}

.deck {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1920px;
  height: 1080px;
  transform: translate(-50%, -50%) scale(var(--scale));
  transform-origin: center center;
  background: var(--paper);
  box-shadow: 0 44px 140px rgba(0, 0, 0, 0.5);
  overflow: clip;
  user-select: none;
}

.slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: var(--paper);
  opacity: 0;
  visibility: hidden;
  transform: translateX(40px) scale(0.995);
  transition:
    opacity 340ms ease,
    transform 560ms var(--ease),
    visibility 0s linear 560ms;
}

.slide.active {
  z-index: 2;
  opacity: 1;
  visibility: visible;
  transform: translateX(0) scale(1);
  transition:
    opacity 340ms ease,
    transform 560ms var(--ease),
    visibility 0s linear 0s;
}

.slide.was-active {
  transform: translateX(-40px) scale(0.995);
}

.slide-inner {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 60px 80px 74px;
}

.dark-slide {
  background: var(--charcoal);
  color: var(--surface-soft);
}

.slide-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 38px;
  margin-bottom: 32px;
}

.eyebrow {
  margin: 0;
  color: var(--text-secondary);
  font-size: 17px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.11em;
  line-height: 1;
  text-transform: uppercase;
}

.eyebrow-light {
  color: rgba(255, 255, 255, 0.72);
}

.slide-index {
  color: var(--text-secondary);
  font-size: 17px;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.12em;
}

.dark-slide .slide-index {
  color: rgba(255, 255, 255, 0.5);
}

h1,
h2,
h3,
p,
figure,
blockquote {
  margin-top: 0;
}

h1,
h2,
h3 {
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.05em;
}

h2 {
  margin-bottom: 0;
  font-size: var(--type-slide-title);
  font-weight: var(--font-weight-semibold);
  line-height: var(--type-heading-leading);
}

h3 {
  font-size: var(--type-card-title);
  font-weight: var(--font-weight-semibold);
  line-height: 1.05;
}

p {
  font-size: 26px;
  line-height: 1.38;
}

strong,
b {
  font-weight: var(--font-weight-bold);
}

.reveal {
  opacity: 0;
  transform: translateY(20px);
}

.slide.active .reveal {
  animation: revealIn 700ms var(--ease) both;
}

.slide.active .delay-1 {
  animation-delay: 90ms;
}

.slide.active .delay-2 {
  animation-delay: 180ms;
}

.slide.active .delay-3 {
  animation-delay: 270ms;
}

.slide.active .delay-4 {
  animation-delay: 360ms;
}

@keyframes revealIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.source-note {
  position: absolute;
  right: 80px;
  bottom: 20px;
  left: 80px;
  z-index: 6;
  margin: 0;
  color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.35;
  cursor: pointer;
}

.source-note:hover {
  color: var(--ink);
}

.source-note-dark {
  color: rgba(255, 255, 255, 0.56);
}

.source-note-dark:hover {
  color: var(--white);
}

.photo-credit {
  position: absolute;
  right: 42px;
  bottom: 30px;
  z-index: 4;
  margin: 0;
  font-size: 13px;
  line-height: 1.3;
}

.photo-credit-light {
  color: rgba(255, 255, 255, 0.74);
}

/* Cover */

.slide-cover {
  background: var(--charcoal);
  color: var(--white);
}

.cover-photo,
.close-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cover-photo {
  object-position: center bottom;
  animation: slowZoom 18s ease-out both;
}

.cover-wash {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(16, 16, 18, 0.86) 0%, rgba(16, 16, 18, 0.62) 38%, rgba(16, 16, 18, 0.12) 70%),
    linear-gradient(0deg, rgba(16, 16, 18, 0.78) 0%, transparent 56%),
    linear-gradient(180deg, rgba(16, 16, 18, 0.46) 0%, transparent 25%);
}

@keyframes slowZoom {
  from {
    transform: scale(1.03);
  }
  to {
    transform: scale(1.085);
  }
}

.cover-brandbar {
  position: absolute;
  top: 48px;
  right: 80px;
  left: 80px;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.brand-lockup {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 21px;
  font-weight: var(--font-weight-bold);
  letter-spacing: -0.02em;
}

.brand-lockup img {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  object-fit: contain;
}

.brand-lockup-light {
  color: var(--white);
}

.brand-lockup-cover {
  gap: 12px;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.34);
}

.brand-lockup-cover img {
  width: 38px;
  height: 38px;
  border-radius: 0;
  filter: drop-shadow(0 3px 12px rgba(0, 0, 0, 0.24));
}

.brand-lockup-cover span {
  font-size: 25px;
  font-weight: var(--font-weight-bold);
  letter-spacing: -0.045em;
}

.brand-lockup-cover em {
  color: inherit;
  font-style: normal;
  font-weight: var(--font-weight-semibold);
}

.cover-partner {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 4px 0;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.5);
}

.cover-partner-label {
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.cover-partner > i {
  width: 1px;
  height: 42px;
  background: rgba(255, 255, 255, 0.25);
}

.cover-partner img {
  width: 62px;
  height: 62px;
  border-radius: 0;
  background: transparent;
  padding: 0;
  object-fit: contain;
  filter: drop-shadow(0 3px 9px rgba(0, 0, 0, 0.32));
}

.cover-partner-name {
  display: grid;
  gap: 2px;
  min-width: 176px;
  color: var(--white);
}

.cover-partner-name strong {
  font-size: 24px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.08em;
}

.cover-partner-name small {
  color: rgba(255, 255, 255, 0.82);
  font-size: 13px;
  line-height: 1.2;
}

.cover-copy {
  position: absolute;
  z-index: 3;
  bottom: var(--cover-footer-space);
  left: 80px;
  width: 1550px;
}

.cover-copy h1 {
  margin: 24px 0 26px;
  font-size: 118px;
  font-weight: var(--font-weight-semibold);
  line-height: 0.9;
}

.cover-copy h1 span {
  color: var(--brand-light);
  font-weight: var(--font-weight-regular);
}

.cover-subtitle {
  max-width: 1000px;
  margin-bottom: 36px;
  color: rgba(255, 255, 255, 0.93);
  font-size: 44px;
  font-weight: var(--font-weight-regular);
  letter-spacing: -0.035em;
  line-height: 1.18;
}

.cover-meta {
  display: flex;
  gap: 24px;
}

.cover-meta span {
  padding: 0;
  color: rgba(255, 255, 255, 0.8);
  font-size: 17px;
  font-weight: var(--font-weight-semibold);
}

.cover-meta span + span {
  border-left: 1px solid rgba(255, 255, 255, 0.4);
  padding-left: 24px;
}

/* Opportunity */

.slide-opportunity {
  background: var(--paper);
}

.opportunity-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 68px;
  height: 702px;
}

.opportunity-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-bottom: 12px;
}

.opportunity-copy h2 {
  max-width: 710px;
  margin-bottom: 36px;
  font-size: 78px;
}

.arrival-number {
  display: flex;
  flex-direction: column;
  gap: 4px;
  border-top: 1px solid var(--line);
  padding-top: 24px;
}

.arrival-number strong {
  color: var(--brand);
  font-size: 94px;
  font-variant-numeric: tabular-nums;
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.065em;
  line-height: 1;
}

.arrival-number span {
  color: var(--text-secondary);
  font-size: 20px;
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.opportunity-copy > p {
  max-width: 660px;
  margin: 28px 0 0;
  color: var(--text-secondary);
  font-size: 27px;
}

.opportunity-thesis {
  display: grid;
  gap: 12px;
  max-width: 650px;
  margin-top: 30px;
  border-left: 3px solid var(--brand);
  padding-left: 22px;
}

.opportunity-thesis span {
  color: var(--brand);
  font-size: 15px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.opportunity-thesis strong {
  color: var(--charcoal);
  font-size: 26px;
  font-weight: var(--font-weight-semibold);
  line-height: 1.2;
}

.image-plate {
  position: relative;
  height: 680px;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-lg);
}

.image-plate img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.image-plate::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 33%;
  background: linear-gradient(transparent, rgba(16, 16, 18, 0.7));
}

.image-plate figcaption {
  position: absolute;
  right: 28px;
  bottom: 26px;
  left: 28px;
  z-index: 2;
  color: var(--white);
  font-size: 16px;
  line-height: 1.35;
}

.story-rail {
  position: absolute;
  right: 80px;
  bottom: 59px;
  left: 80px;
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--text-secondary);
  font-size: 14px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.story-rail span {
  white-space: nowrap;
}

.story-rail .active {
  color: var(--brand);
}

.story-rail i {
  display: block;
  flex: 1;
  height: 1px;
  background: var(--line);
}

/* Discoverability */

.slide-discoverable {
  background:
    linear-gradient(90deg, rgba(8, 8, 10, 0.94) 0%, rgba(8, 8, 10, 0.83) 58%, rgba(8, 8, 10, 0.7) 100%),
    url("assets/pantai-cenang.jpg") center 58% / cover no-repeat;
}

.slide-discoverable .slide-inner {
  background: linear-gradient(180deg, rgba(8, 8, 10, 0.08), rgba(8, 8, 10, 0.38));
}

.statement-title {
  margin: 18px 0 56px;
  font-size: 86px;
  line-height: 0.96;
}

.statement-title em {
  color: var(--brand-light);
  font-style: normal;
  font-weight: var(--font-weight-medium);
}

.evidence-strip {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.evidence-stat {
  min-height: 330px;
  padding: 34px 36px 30px;
  background: rgba(12, 12, 14, 0.55);
  backdrop-filter: blur(16px);
}

.evidence-stat small {
  display: block;
  margin-bottom: 18px;
  color: rgba(255, 255, 255, 0.64);
  font-size: 15px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.evidence-stat + .evidence-stat {
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.evidence-stat strong {
  display: block;
  color: var(--white);
  font-size: 82px;
  font-variant-numeric: tabular-nums;
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.065em;
  line-height: 0.96;
}

.evidence-stat p {
  max-width: 460px;
  margin: 28px 0 30px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 22px;
}

.evidence-stat > span {
  display: inline-block;
  border-top: 2px solid var(--brand-light);
  padding: 12px 0 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: 15px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.commercial-stat strong {
  color: var(--brand-light);
}

.scope-warning {
  max-width: 1300px;
  margin: 28px 0 0;
  color: rgba(255, 255, 255, 0.64);
  font-size: 18px;
}

/* AI readiness */

.slide-ai-readiness {
  background: #0c0c0f;
}

.ai-readiness-photo,
.ai-readiness-wash {
  position: absolute;
  inset: 0 0 0 auto;
  width: 46%;
  height: 100%;
}

.ai-readiness-photo {
  object-fit: cover;
  object-position: 72% center;
  filter: saturate(0.85) contrast(1.04);
}

.ai-readiness-wash {
  width: 62%;
  background: linear-gradient(90deg, #0c0c0f 0%, rgba(12, 12, 15, 0.94) 34%, rgba(12, 12, 15, 0.24) 100%);
}

.ai-readiness-copy {
  position: relative;
  z-index: 1;
  width: 69%;
}

.ai-readiness-copy h2 {
  max-width: 1100px;
  margin: 28px 0 22px;
  color: var(--white);
  font-size: 76px;
  line-height: 0.98;
}

.ai-readiness-lead {
  max-width: 1020px;
  margin: 0 0 34px;
  color: rgba(255, 255, 255, 0.74);
  font-size: 25px;
  line-height: 1.42;
}

.ai-readiness-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 1050px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.ai-readiness-list div {
  min-height: 164px;
  padding: 28px 34px 24px 0;
}

.ai-readiness-list div:nth-child(even) {
  border-left: 1px solid rgba(255, 255, 255, 0.2);
  padding-left: 34px;
}

.ai-readiness-list div:nth-child(n + 3) {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.ai-readiness-list strong,
.ai-readiness-list span {
  display: block;
}

.ai-readiness-list strong {
  margin-bottom: 10px;
  color: var(--brand-light);
  font-size: 30px;
}

.ai-readiness-list span {
  max-width: 430px;
  color: rgba(255, 255, 255, 0.74);
  font-size: 23px;
  line-height: 1.38;
}

.ai-readiness-answer {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 24px;
  max-width: 1050px;
  margin: 28px 0 0;
  border-left: 3px solid var(--brand);
  padding-left: 22px;
  color: var(--white);
  font-size: 19px;
  line-height: 1.45;
}

.ai-readiness-answer strong {
  color: var(--brand-light);
}

/* AI */

.slide-ai {
  background: var(--paper);
}

.ai-layout {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  gap: 56px;
  align-items: center;
  height: 810px;
}

.ai-copy h2 {
  max-width: 700px;
  margin-bottom: 24px;
  font-size: 76px;
}

.ai-copy > p {
  max-width: 690px;
  margin-bottom: 26px;
  color: var(--text-secondary);
  font-size: 27px;
}

.ai-copy > .ai-principle {
  margin: 22px 0 0;
  border-left: 3px solid var(--brand);
  padding-left: 20px;
  color: var(--text-secondary);
  font-size: 21px;
  line-height: 1.35;
}

.ai-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.ai-stats > div {
  min-height: 186px;
  padding: 22px 20px 20px 0;
}

.ai-stats > div + div {
  border-left: 1px solid var(--line);
  padding-left: 22px;
}

.ai-stats strong {
  display: block;
  color: var(--brand);
  font-size: 58px;
  font-variant-numeric: tabular-nums;
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.055em;
}

.ai-stats span {
  display: block;
  margin-top: 8px;
  color: var(--text-secondary);
  font-size: 16px;
  line-height: 1.35;
}

.ai-copy blockquote {
  margin: 36px 0 0;
  color: var(--charcoal);
  font-size: 34px;
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.035em;
  line-height: 1.18;
}

.browser-frame {
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: var(--white);
  box-shadow: 0 28px 70px rgba(16, 16, 18, 0.12);
}

.browser-frame iframe {
  display: block;
  width: 100%;
  height: 690px;
  border: 0;
  background: var(--white);
}

/* Invisible business */

.slide-invisible {
  background: var(--surface-soft);
}

.invisible-grid {
  display: grid;
  grid-template-columns: 1.12fr 0.88fr;
  gap: 72px;
  height: 820px;
}

.flow-stack h2 {
  max-width: 960px;
  margin-bottom: 28px;
  font-size: 64px;
}

.signal-flow {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.signal-flow li {
  display: grid;
  grid-template-columns: 66px 1fr;
  gap: 24px;
  min-height: 108px;
  border-top: 1px solid var(--line);
  padding: 20px 0 16px;
}

.signal-flow li:last-child {
  border-bottom: 1px solid var(--line);
}

.signal-flow > li > span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--charcoal);
  color: var(--white);
  font-size: 15px;
  font-weight: var(--font-weight-bold);
}

.signal-flow strong,
.signal-flow small {
  display: block;
}

.signal-flow strong {
  margin-bottom: 7px;
  font-size: 26px;
}

.signal-flow small {
  color: var(--text-secondary);
  font-size: 18px;
  line-height: 1.35;
}

.local-examples {
  margin-top: 20px;
}

.local-examples h3 {
  margin: 0 0 14px;
  color: var(--brand-text);
  font-size: 18px;
  font-weight: var(--font-weight-semibold);
  line-height: 1.25;
}

.local-example-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.local-example-list li {
  padding-left: 14px;
  border-left: 2px solid var(--brand-light);
}

.local-example-list strong,
.local-example-list span {
  display: block;
}

.local-example-list strong {
  margin-bottom: 6px;
  font-size: 22px;
  font-weight: var(--font-weight-semibold);
  line-height: 1.2;
}

.local-example-list span {
  color: var(--text-secondary);
  font-size: 17px;
  line-height: 1.3;
}

.example-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 14px;
  margin-top: 9px;
}

.example-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  color: var(--brand-text);
  font-size: 14px;
  font-weight: var(--font-weight-semibold);
  line-height: 1.25;
  text-decoration-line: underline;
  text-decoration-color: color-mix(in srgb, var(--brand-text) 42%, transparent);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  transition: color 160ms ease, text-decoration-color 160ms ease, transform 160ms var(--ease);
}

.example-link:hover {
  color: var(--brand-magenta);
  text-decoration-color: currentColor;
  transform: translateY(-1px);
}

.example-link:focus-visible {
  border-radius: 4px;
  outline: 2px solid var(--brand-violet);
  outline-offset: 4px;
  text-decoration-color: currentColor;
}

.local-examples p {
  margin: 14px 0 0;
  color: var(--text-secondary);
  font-size: 16px;
  line-height: 1.3;
}

.audit-panel {
  position: relative;
  align-self: stretch;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: var(--charcoal);
}

.audit-panel > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.audit-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(16, 16, 18, 0.88) 0%, rgba(16, 16, 18, 0.12) 62%);
}

.audit-callout {
  position: absolute;
  z-index: 2;
  right: 34px;
  bottom: 30px;
  left: 34px;
  color: var(--white);
}

.audit-callout strong {
  display: block;
  color: var(--brand-light);
  font-size: 96px;
  font-variant-numeric: tabular-nums;
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.06em;
  line-height: 0.9;
}

.audit-callout p {
  margin: 18px 0;
  font-size: 24px;
  line-height: 1.3;
}

.audit-callout span {
  color: rgba(255, 255, 255, 0.62);
  font-size: 14px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* LADA alignment */

.slide-lada {
  background: var(--paper);
  color: var(--ink);
}

.lada-lead {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 42px;
  align-items: center;
  max-width: 1500px;
  margin: 24px 0 44px;
}

.lada-lead img {
  width: 150px;
  height: 98px;
  padding: 0;
  object-fit: contain;
  filter: drop-shadow(0 3px 9px rgba(0, 0, 0, 0.25));
}

.lada-lead h2 {
  font-size: 76px;
}

.mandate-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  column-gap: 38px;
}

.mandate-grid article {
  min-height: 184px;
  border-bottom: 1px solid var(--line);
  padding: 28px 12px 28px 0;
}

.mandate-grid span {
  display: block;
  margin-bottom: 14px;
  color: var(--brand-text);
  font-size: 17px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.mandate-grid p {
  margin: 0;
  color: var(--ink);
  font-size: 26px;
  line-height: 1.28;
}

.mandate-note {
  max-width: 1520px;
  margin: 28px 0 0;
  color: var(--text-secondary);
  font-size: 18px;
}

/* Proposal */

.slide-proposal {
  background: var(--paper);
}

.programme-banner {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 50px;
  align-items: center;
  min-height: 260px;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background:
    linear-gradient(90deg, rgba(12, 12, 14, 0.96) 0%, rgba(12, 12, 14, 0.9) 52%, rgba(12, 12, 14, 0.62) 100%),
    url("assets/eagle-square.jpg") center 12% / cover no-repeat;
  padding: 42px 48px;
  color: var(--white);
}

.programme-banner > div:first-child > span {
  color: var(--brand-light);
  font-size: 15px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.programme-banner h2 {
  max-width: 1100px;
  margin: 18px 0 14px;
  font-size: 59px;
}

.programme-banner p {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 22px;
}

.pilot-number {
  border-left: 1px solid rgba(255, 255, 255, 0.25);
  padding-left: 44px;
}

.pilot-number strong,
.pilot-number span,
.pilot-number small {
  display: block;
}

.pilot-number strong {
  color: var(--brand-light);
  font-size: 86px;
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.06em;
  line-height: 0.9;
}

.pilot-number span {
  margin-top: 10px;
  font-size: 23px;
  font-weight: var(--font-weight-semibold);
}

.pilot-number small {
  margin-top: 8px;
  color: rgba(255, 255, 255, 0.55);
  font-size: 14px;
  text-transform: uppercase;
}

.platform-system {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin-top: 36px;
}

.platform-system article {
  min-height: 232px;
  border-top: 1px solid var(--line);
  padding: 26px 36px 20px 0;
}

.platform-system article + article {
  border-left: 1px solid var(--line);
  padding-left: 36px;
}

.system-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--brand);
  font-size: 16px;
  font-weight: var(--font-weight-bold);
}

.platform-system h3 {
  margin: 20px 0 14px;
  font-size: 34px;
}

.platform-system p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 23px;
  line-height: 1.42;
}

.commission-callout {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 24px;
  align-items: baseline;
  margin-top: 24px;
  border-top: 1px solid var(--line);
  padding-top: 22px;
}

.commission-callout strong {
  color: var(--brand);
  font-size: 17px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.commission-callout p {
  max-width: 1240px;
  margin: 0;
  color: var(--text-secondary);
  font-size: 21px;
}

/* Process */

.slide-process {
  background: var(--surface-soft);
}

.slide-process h2 {
  margin: 22px 0 42px;
  font-size: 72px;
}

.process-track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.process-track::before {
  content: "";
  position: absolute;
  top: 38px;
  right: 9%;
  left: 9%;
  height: 2px;
  background: var(--line);
}

.process-track li {
  position: relative;
  z-index: 1;
  min-height: 265px;
  border-right: 1px solid var(--line);
  padding: 0 26px;
}

.process-track li:first-child {
  padding-left: 0;
}

.process-track li:last-child {
  border-right: 0;
  padding-right: 0;
}

.process-track li > span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 76px;
  height: 76px;
  margin-bottom: 28px;
  border: 8px solid var(--surface-soft);
  border-radius: 50%;
  background: var(--charcoal);
  color: var(--white);
  font-size: 16px;
  font-weight: var(--font-weight-bold);
}

.process-track strong {
  display: block;
  margin-bottom: 12px;
  font-size: 29px;
}

.process-track p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 22px;
  line-height: 1.38;
}

.tier-bands {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 22px;
}

.tier-bands article {
  position: relative;
  min-height: 222px;
  overflow: hidden;
  border-radius: 0;
  padding: 28px 30px;
}

.tier-bands article::after {
  content: none;
}

.tier-a {
  background: var(--surface-muted);
}

.tier-b {
  background: var(--surface-deep);
}

.tier-c {
  background: var(--charcoal);
  color: var(--white);
}

.tier-bands span {
  display: block;
  margin-bottom: 14px;
  color: var(--brand-text);
  font-size: 16px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.tier-c span {
  color: var(--brand-light);
}

.tier-bands strong {
  display: block;
  margin-bottom: 12px;
  font-size: 28px;
}

.tier-bands p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 22px;
}

.tier-c p {
  color: rgba(255, 255, 255, 0.7);
}

.delivery-check {
  margin: 26px 0 0;
  border-top: 1px solid var(--line);
  padding-top: 20px;
  color: var(--text-secondary);
  font-size: 21px;
}

.delivery-check strong {
  margin-right: 24px;
  color: var(--brand);
  font-weight: var(--font-weight-semibold);
}

/* Digital kit */

.slide-kit {
  background:
    linear-gradient(90deg, var(--paper) 0 39%, var(--surface-soft) 39% 100%);
}

.kit-layout {
  display: grid;
  grid-template-columns: 0.84fr 0.72fr 1.24fr;
  gap: 40px;
  align-items: center;
  height: 720px;
}

.kit-title {
  align-self: start;
  padding-top: 54px;
}

.kit-title h2 {
  margin-bottom: 26px;
  font-size: 64px;
  line-height: 1;
}

.kit-title > p {
  max-width: 520px;
  color: var(--text-secondary);
  font-size: 26px;
}

.kit-title > .kit-acceptance {
  margin-top: 40px;
  border-top: 1px solid var(--line);
  padding-top: 22px;
  color: var(--charcoal);
  font-size: 22px;
}

.kit-sequence {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px 14px;
  align-items: center;
  margin-top: 42px;
  color: var(--charcoal);
  font-size: 15px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.kit-sequence i {
  display: block;
  width: 1px;
  height: 18px;
  margin-left: 7px;
  background: var(--line);
}

.profile-mock {
  overflow: hidden;
  border: 10px solid var(--ink);
  border-radius: 44px;
  background: var(--white);
  box-shadow: 0 16px 32px rgba(16, 16, 18, 0.09);
}

.profile-mock > img {
  width: 100%;
  height: 350px;
  object-fit: cover;
}

.profile-body {
  padding: 26px 24px 30px;
}

.verified-label {
  display: inline-block;
  border-radius: 999px;
  background: var(--surface-muted);
  padding: 8px 12px;
  color: var(--brand-text);
  font-size: 12px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.profile-body h3 {
  margin: 18px 0 8px;
  font-size: 34px;
}

.profile-body p {
  margin: 0 0 20px;
  color: var(--text-secondary);
  font-size: 16px;
}

.profile-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.profile-actions span {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 8px 11px;
  font-size: 12px;
  font-weight: var(--font-weight-semibold);
}

.kit-items,
.kit-scope {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

.kit-scope {
  align-self: stretch;
  align-content: center;
}

.kit-scope-group {
  border-top: 1px solid var(--line);
  padding: 26px 0 24px;
}

.kit-scope-group:last-child {
  border-bottom: 1px solid var(--line);
}

.kit-scope-label {
  display: block;
  margin-bottom: 12px;
  color: var(--brand-text);
  font-size: 14px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.kit-scope-proposed .kit-scope-label {
  color: var(--brand-magenta);
}

.kit-scope-group h3 {
  margin: 0 0 16px;
  font-size: 28px;
  line-height: 1.08;
}

.kit-scope-group ul {
  display: grid;
  gap: 11px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kit-scope-group li {
  position: relative;
  padding-left: 20px;
  color: var(--text-secondary);
  font-size: 19px;
  line-height: 1.34;
}

.kit-scope-group li::before {
  content: "";
  position: absolute;
  top: 0.58em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--brand-blue);
}

.kit-scope-proposed li::before {
  background: var(--brand-magenta);
}

.kit-items article {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 18px;
  align-items: start;
  min-height: 146px;
  border-top: 1px solid var(--line);
  padding: 23px 0;
}

.kit-items article span {
  padding-top: 6px;
  color: var(--brand);
  font-size: 16px;
  font-weight: var(--font-weight-bold);
}

.kit-items h3 {
  margin: 0 0 10px;
  font-size: 29px;
  letter-spacing: -0.035em;
}

.kit-items p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 23px;
  font-weight: var(--font-weight-regular);
  line-height: 1.34;
}

.kit-ai-note {
  border-top: 1px solid var(--line);
  padding-top: 18px;
  color: var(--charcoal);
  font-size: 20px;
  line-height: 1.4;
}

.kit-policy-note {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 26px;
  border-top: 1px solid var(--line);
  padding-top: 17px;
  color: var(--text-secondary);
  font-size: 18px;
  line-height: 1.4;
}

.kit-policy-note strong {
  color: var(--brand-text);
  font-size: 14px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

/* Inclusion */

.slide-inclusion {
  background: var(--surface-soft);
}

.inclusion-lead {
  display: grid;
  grid-template-columns: 1.35fr 0.65fr;
  gap: 80px;
  align-items: end;
  margin: 18px 0 46px;
}

.inclusion-lead h2 {
  font-size: 69px;
}

.inclusion-lead p {
  margin-bottom: 4px;
  border-left: 4px solid var(--brand);
  padding-left: 24px;
  color: var(--text-secondary);
  font-size: 24px;
}

.inclusion-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 34px;
}

.cohort-field {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-content: center;
  gap: 0 32px;
  min-height: 410px;
  background: var(--charcoal);
  padding: 30px 36px;
}

.cohort-field span {
  display: inline-flex;
  align-items: center;
  min-height: 65px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
  padding: 10px 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: 23px;
  font-weight: var(--font-weight-semibold);
}

.cohort-field span:nth-child(2),
.cohort-field span:nth-child(5),
.cohort-field span:nth-child(8) {
  background: transparent;
}

.inclusion-method {
  min-height: 410px;
  border-top: 1px solid var(--line);
  padding: 24px 0 0 12px;
}

.eligibility-note {
  margin: 0 0 22px;
  padding: 0 0 4px;
  color: var(--text-secondary);
  font-size: 20px;
  line-height: 1.4;
}

.method-row {
  display: grid;
  grid-template-columns: 118px 1fr;
  gap: 20px;
  border-top: 1px solid var(--line-soft);
  padding: 18px 0;
}

.method-row strong {
  color: var(--brand);
  font-size: 18px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.method-row span {
  color: var(--text-secondary);
  font-size: 23px;
  line-height: 1.35;
}

.inclusion-metrics {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 30px;
  border-top: 1px solid var(--line);
  padding-top: 22px;
}

.inclusion-metrics span {
  color: var(--charcoal);
  font-size: 22px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.05em;
}

.inclusion-metrics i {
  flex: 1;
  height: 1px;
  background: var(--line);
}

/* BizHub bridge */

.slide-bridge {
  background: var(--paper);
}

.bridge-title {
  max-width: 1650px;
  margin: 10px 0 40px;
  font-size: 72px;
}

.bridge-diagram {
  display: grid;
  grid-template-columns: 1fr 150px 1fr 150px 1fr;
  align-items: center;
}

.bridge-node {
  min-height: 414px;
  overflow: hidden;
  border-radius: 10px;
  padding: 34px 36px;
}

.bizhub-node {
  border: 1px solid var(--line);
  background: var(--surface-soft);
}

.app-node {
  background: var(--charcoal);
  color: var(--white);
}

.impact-node {
  background: var(--surface-deep);
}

.bridge-node > span {
  display: block;
  margin-bottom: 22px;
  color: var(--brand-text);
  font-size: 14px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.app-node > span {
  color: var(--brand-light);
}

.bridge-node h3 {
  margin-bottom: 26px;
  font-size: 36px;
}

.bridge-node ul {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bridge-node li {
  border-top: 1px solid var(--line);
  padding-top: 12px;
  color: var(--text-secondary);
  font-size: 23px;
}

.app-node li {
  border-color: rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.78);
}

.bridge-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  color: var(--text-secondary);
  font-size: 11px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center;
}

.bridge-link i {
  position: relative;
  display: block;
  width: 106px;
  height: 2px;
  background: var(--line);
}

.bridge-link i::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 10px;
  height: 10px;
  border-top: 2px solid var(--brand);
  border-right: 2px solid var(--brand);
  transform: translateY(-50%) rotate(45deg);
}

.bridge-quote {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 54px;
  align-items: center;
  margin-top: 34px;
  border-top: 1px solid var(--line);
  padding-top: 24px;
}

.bridge-quote p {
  margin: 0;
  color: var(--charcoal);
  font-size: 25px;
}

.bridge-quote span {
  color: var(--text-secondary);
  font-size: 21px;
  line-height: 1.45;
}

/* LADA returns */

.slide-returns {
  background: var(--surface-soft);
}

.returns-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 50px;
  margin: 18px 0 36px;
}

.returns-heading h2 {
  font-size: 76px;
}

.returns-heading p {
  max-width: 620px;
  margin: 0 0 8px;
  color: var(--text-secondary);
  font-size: 26px;
}

.deliverables-ledger,
.scorecard {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  text-align: left;
}

.deliverables-ledger thead,
.scorecard thead {
  background: var(--charcoal);
  color: var(--white);
}

.deliverables-ledger thead th,
.scorecard thead th {
  padding: 18px 24px;
  font-size: 16px;
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.deliverables-ledger th:first-child {
  width: 30%;
}

.deliverables-ledger th:nth-child(2) {
  width: 35%;
}

.deliverables-ledger tbody th,
.deliverables-ledger td {
  height: 114px;
  border-bottom: 1px solid var(--line);
  padding: 22px 24px;
  vertical-align: middle;
  font-size: 23px;
  line-height: 1.35;
}

.deliverables-ledger tbody th {
  color: var(--charcoal);
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.025em;
}

.deliverables-ledger tbody th span {
  display: inline-block;
  margin-right: 16px;
  color: var(--brand);
  font-size: 15px;
  font-weight: var(--font-weight-bold);
  vertical-align: 3px;
}

.deliverables-ledger td {
  color: var(--text-secondary);
}

.returns-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.returns-grid article {
  min-height: 330px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.78);
  padding: 28px 30px;
}

.returns-grid article > span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--charcoal);
  color: var(--white);
  font-size: 13px;
  font-weight: var(--font-weight-bold);
}

.returns-grid h3 {
  margin: 44px 0 16px;
  font-size: 32px;
}

.returns-grid p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 19px;
  line-height: 1.42;
}

.public-funding-box {
  display: grid;
  grid-template-columns: 230px 1.2fr 1fr;
  gap: 34px;
  align-items: start;
  margin-top: 30px;
  border-top: 3px solid var(--brand);
  background: var(--surface-muted);
  padding: 24px;
  color: var(--charcoal);
}

.public-funding-box strong {
  color: var(--brand-text);
  font-size: 18px;
  line-height: 1.25;
  text-transform: uppercase;
}

.public-funding-box p {
  margin: 0;
  color: var(--charcoal);
  font-size: 22px;
  line-height: 1.4;
}

.public-funding-box small {
  color: var(--text-secondary);
  font-size: 19px;
  line-height: 1.45;
}

/* Dashboard */

.slide-dashboard {
  background: var(--paper);
}

.dashboard-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 40px;
  margin: 0 0 26px;
}

.dashboard-heading h2 {
  max-width: 1290px;
  font-size: 64px;
}

.dashboard-heading p {
  max-width: 1250px;
  margin: 14px 0 0;
  color: var(--text-secondary);
  font-size: 23px;
}

.illustrative-badge {
  flex: none;
  border-radius: 999px;
  background: var(--brand-gradient);
  padding: 12px 18px;
  color: var(--white);
  font-size: 14px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.08em;
  box-shadow: 0 9px 24px rgba(107, 78, 255, 0.18);
  text-shadow: 0 1px 3px rgba(22, 21, 18, 0.28);
  text-transform: uppercase;
}

.dashboard-shell {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--surface-soft);
  box-shadow: 0 18px 50px rgba(22, 21, 18, 0.07);
}

.dashboard-shell::before {
  content: "";
  display: block;
  height: 4px;
  background: var(--brand-gradient);
}

.dashboard-topbar {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 28px;
  align-items: center;
  height: 54px;
  border-bottom: 1px solid var(--line);
  background: var(--white);
  padding: 0 22px;
}

.dashboard-topbar strong {
  font-size: 16px;
}

.dashboard-topbar span {
  color: var(--text-secondary);
  font-size: 13px;
}

.dashboard-topbar > div {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--brand);
  font-size: 12px;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.dashboard-topbar > div i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--brand-coral);
  box-shadow: 0 0 0 4px rgba(246, 81, 56, 0.12);
}

.dashboard-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.9fr 1fr;
  grid-template-rows: 304px 240px;
  gap: 12px;
  padding: 12px;
}

.dash-panel {
  --panel-tone: var(--brand-violet);
  overflow: hidden;
  border: 1px solid var(--line-soft);
  border-radius: 12px;
  background: var(--white);
  padding: 18px 20px;
  box-shadow: inset 0 3px 0 var(--panel-tone);
}

.interest-panel { --panel-tone: var(--brand-violet); }
.location-panel { --panel-tone: var(--brand-blue); }
.actions-panel { --panel-tone: var(--brand-coral); }
.participation-panel { --panel-tone: var(--brand-magenta); }
.campaign-panel { --panel-tone: var(--brand-gold); }

.dash-panel header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.dash-panel header span {
  font-size: 20px;
  font-weight: var(--font-weight-bold);
}

.dash-panel header small {
  color: var(--text-secondary);
  max-width: 180px;
  font-size: 14px;
  line-height: 1.25;
  text-align: right;
}

.bar-row {
  display: grid;
  grid-template-columns: 88px 1fr 44px;
  gap: 10px;
  align-items: center;
  height: 38px;
}

.bar-row label,
.bar-row b {
  font-size: 16px;
}

.bar-row b {
  color: var(--text-secondary);
  text-align: right;
}

.bar-row i {
  position: relative;
  display: block;
  height: 13px;
  background: var(--surface-muted);
}

.bar-row i::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 0;
  border-radius: inherit;
  background: var(--tone, var(--brand-violet));
  transition: width 1000ms var(--ease) 350ms;
}

.interest-panel .bar-row:nth-of-type(1) { --tone: var(--brand-violet); }
.interest-panel .bar-row:nth-of-type(2) { --tone: var(--brand-blue); }
.interest-panel .bar-row:nth-of-type(3) { --tone: var(--brand-magenta); }
.interest-panel .bar-row:nth-of-type(4) { --tone: var(--brand-coral); }
.interest-panel .bar-row:nth-of-type(5) { --tone: var(--brand-gold); }

.slide.active .bar-row i::after {
  width: var(--value);
}

.interest-axis {
  display: flex;
  justify-content: space-between;
  margin: 7px 54px 0 98px;
  border-top: 1px solid var(--line);
  padding-top: 5px;
  color: var(--text-secondary);
  font-size: 12px;
}

.area-ranking {
  display: grid;
}

.area-ranking > div {
  display: grid;
  grid-template-columns: 30px 1fr auto;
  gap: 14px;
  align-items: center;
  min-height: 52px;
  border-top: 1px solid var(--line-soft);
}

.area-ranking b {
  color: var(--row-tone, var(--brand-violet));
  font-size: 13px;
}

.area-ranking > div:nth-child(1) { --row-tone: var(--brand-violet); }
.area-ranking > div:nth-child(2) { --row-tone: var(--brand-blue); }
.area-ranking > div:nth-child(3) { --row-tone: var(--brand-magenta); }
.area-ranking > div:nth-child(4) { --row-tone: var(--brand-coral); }

.area-ranking span {
  font-size: 19px;
}

.area-ranking strong {
  font-size: 23px;
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.04em;
}

.location-cloud {
  position: relative;
  height: 208px;
  overflow: hidden;
  border-radius: 14px;
  background: var(--surface-muted);
}

.location-cloud span {
  position: absolute;
  z-index: 2;
  color: var(--text-secondary);
  font-size: 11px;
  font-weight: var(--font-weight-bold);
}

.loc-cenang {
  top: 135px;
  left: 74px;
}

.loc-kuah {
  right: 45px;
  bottom: 28px;
}

.loc-kilim {
  top: 30px;
  right: 58px;
}

.loc-datai {
  top: 38px;
  left: 44px;
}

.loc-matsirat {
  top: 92px;
  left: 132px;
}

.location-cloud i {
  position: absolute;
  width: 30px;
  height: 30px;
  border: 7px solid rgba(107, 78, 255, 0.3);
  border-radius: 50%;
  background: var(--brand);
  box-shadow: 0 0 0 10px rgba(107, 78, 255, 0.11);
}

.pulse-a {
  top: 110px;
  left: 100px;
}

.pulse-b {
  top: 42px;
  right: 92px;
  transform: scale(0.8);
}

.pulse-c {
  right: 60px;
  bottom: 48px;
  transform: scale(0.65);
}

.actions-panel {
  grid-row: span 2;
}

.action-numbers {
  display: grid;
  gap: 12px;
}

.action-numbers > div {
  display: flex;
  align-items: end;
  justify-content: space-between;
  min-height: 106px;
  border-top: 1px solid var(--line-soft);
  padding: 14px 0 8px;
}

.action-numbers strong {
  color: var(--number-tone, var(--brand-coral));
  font-size: 44px;
  font-variant-numeric: tabular-nums;
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.05em;
}

.action-numbers > div:nth-child(1) { --number-tone: var(--brand-violet); }
.action-numbers > div:nth-child(2) { --number-tone: var(--brand-blue); }
.action-numbers > div:nth-child(3) { --number-tone: var(--brand-magenta); }
.action-numbers > div:nth-child(4) { --number-tone: var(--brand-coral); }

.action-numbers span {
  color: var(--text-secondary);
  font-size: 17px;
}

.participation-panel {
  display: grid;
  grid-template-columns: 1fr 112px;
  grid-template-rows: auto 1fr;
  align-items: center;
}

.participation-panel header {
  grid-column: 1 / -1;
}

.ring-chart {
  display: grid;
  place-items: center;
  width: 128px;
  height: 128px;
  border-radius: 50%;
  background: conic-gradient(
    var(--brand-blue) 0 18%,
    var(--brand-violet) 18% 40%,
    var(--brand-magenta) 40% 57%,
    var(--brand-coral) 57% 72%,
    var(--brand-gold) 72% 82%,
    var(--surface-muted) 82% 100%
  );
}

.ring-chart > div {
  display: grid;
  place-content: center;
  width: 86px;
  height: 86px;
  border-radius: 50%;
  background: var(--white);
  text-align: center;
}

.ring-chart strong {
  font-size: 25px;
  font-weight: var(--font-weight-semibold);
}

.ring-chart span {
  color: var(--text-secondary);
  font-size: 10px;
  text-transform: uppercase;
}

.participation-panel ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.participation-panel li {
  display: grid;
  grid-template-columns: 12px 1fr auto;
  gap: 8px;
  color: var(--text-secondary);
  font-size: 16px;
}

.participation-panel li b {
  color: var(--ink);
}

.tier-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--brand-violet);
}

.tier-dot.b {
  background: var(--brand-blue);
}

.tier-dot.c {
  background: var(--brand-coral);
}

.campaign-panel {
  grid-column: span 1;
}

.trend-bars {
  position: relative;
  display: grid;
  grid-template-columns: 35px repeat(4, 1fr);
  gap: 12px;
  height: 156px;
  padding-top: 10px;
  padding-bottom: 22px;
}

.trend-bars::before {
  content: "";
  position: absolute;
  top: 10px;
  right: 0;
  bottom: 22px;
  left: 47px;
  border-top: 1px solid var(--line-soft);
  border-bottom: 1px solid var(--line);
  background: linear-gradient(to bottom, transparent calc(50% - 0.5px), var(--line-soft) calc(50% - 0.5px), var(--line-soft) calc(50% + 0.5px), transparent calc(50% + 0.5px));
}

.trend-axis {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: var(--text-secondary);
  font-size: 11px;
  line-height: 1;
}

.trend-axis span:first-child { transform: translateY(-50%); }
.trend-axis span:last-child { transform: translateY(50%); }

.trend-column {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
}

.trend-column i {
  display: block;
  width: 46px;
  height: var(--bar);
  flex: 0 0 var(--bar);
  background: var(--bar-tone, var(--brand-indigo));
}

.trend-column:nth-of-type(2) { --bar-tone: var(--brand-blue); }
.trend-column:nth-of-type(3) { --bar-tone: var(--brand-indigo); }
.trend-column:nth-of-type(4) { --bar-tone: var(--brand-magenta); }
.trend-column:nth-of-type(5) { --bar-tone: var(--brand-coral); }

.trend-column b {
  margin-bottom: 5px;
  font-size: 12px;
  font-weight: var(--font-weight-semibold);
}

.trend-column > span {
  position: absolute;
  top: calc(100% + 7px);
  color: var(--text-secondary);
  font-size: 12px;
}

.line-chart {
  position: relative;
  height: 140px;
  border-bottom: 1px solid var(--line-soft);
  background: repeating-linear-gradient(0deg, transparent 0 34px, var(--surface-soft) 34px 35px);
}

.line-chart::before {
  content: "";
  position: absolute;
  top: 15px;
  right: 10px;
  bottom: 0;
  left: 10px;
  clip-path: polygon(0 75%, 18% 62%, 34% 67%, 49% 39%, 65% 47%, 82% 22%, 100% 12%, 100% 100%, 0 100%);
  background: linear-gradient(rgba(107, 78, 255, 0.22), rgba(107, 78, 255, 0));
}

.line-chart::after {
  content: "";
  position: absolute;
  inset: 15px 10px 0;
  clip-path: polygon(0 74%, 18% 61%, 34% 66%, 49% 38%, 65% 46%, 82% 21%, 100% 11%, 100% 14%, 82% 24%, 65% 49%, 49% 42%, 34% 70%, 18% 65%, 0 78%);
  background: var(--brand);
}

.line-chart i {
  display: none;
}

.line-chart span {
  position: absolute;
  bottom: 6px;
  left: 49%;
  z-index: 2;
  border-radius: 999px;
  background: var(--charcoal);
  padding: 5px 8px;
  color: var(--white);
  font-size: 9px;
  transform: translateX(-50%);
}

.dashboard-disclaimer {
  margin: 10px 0 0;
  color: var(--text-secondary);
  font-size: 17px;
}

.dashboard-disclaimer strong {
  color: var(--brand-text);
}

/* Audience and search intelligence dashboards */

.analytics-dashboard {
  background: #f5f6f9;
}

.analytics-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  border-bottom: 1px solid var(--line);
  background: var(--line);
}

.analytics-metrics article {
  position: relative;
  min-height: 126px;
  overflow: hidden;
  background: var(--white);
  padding: 17px 22px 16px;
}

.analytics-metrics article::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  background: var(--metric-tone, var(--brand-violet));
}

.analytics-metrics article:nth-child(1) { --metric-tone: var(--brand-blue); }
.analytics-metrics article:nth-child(2) { --metric-tone: var(--brand-violet); }
.analytics-metrics article:nth-child(3) { --metric-tone: var(--brand-magenta); }
.analytics-metrics article:nth-child(4) { --metric-tone: var(--brand-coral); }

.analytics-metrics span,
.analytics-metrics small {
  display: block;
  color: var(--text-secondary);
}

.analytics-metrics span {
  margin-bottom: 6px;
  font-size: 14px;
  font-weight: var(--font-weight-semibold);
}

.analytics-metrics strong {
  display: block;
  margin-bottom: 3px;
  font-size: 36px;
  font-variant-numeric: tabular-nums;
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.045em;
  line-height: 1;
}

.analytics-metrics small {
  font-size: 12px;
}

.audience-dashboard-grid,
.search-dashboard-grid {
  display: grid;
  grid-template-columns: 1.15fr 1.05fr 0.9fr;
  gap: 12px;
  padding: 12px;
}

.analytics-panel {
  min-height: 345px;
  padding: 18px 20px 16px;
}

.country-panel { --panel-tone: var(--brand-blue); }
.segment-panel { --panel-tone: var(--brand-violet); }
.composition-panel { --panel-tone: var(--brand-magenta); }
.intent-panel { --panel-tone: var(--brand-violet); }
.keyword-panel { --panel-tone: var(--brand-blue); }
.funnel-panel { --panel-tone: var(--brand-coral); }

.spectrum-bars {
  display: grid;
}

.spectrum-bars > div {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr) 42px;
  gap: 12px;
  align-items: center;
  min-height: 43px;
}

.spectrum-bars label,
.spectrum-bars b {
  font-size: 15px;
}

.spectrum-bars b {
  text-align: right;
}

.spectrum-bars i {
  position: relative;
  display: block;
  height: 12px;
  border-radius: 999px;
  background: var(--surface-muted);
}

.spectrum-bars i::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 0;
  border-radius: inherit;
  background: var(--tone);
  transition: width 1000ms var(--ease) 350ms;
}

.slide.active .spectrum-bars i::after {
  width: var(--value);
}

.segment-list {
  display: grid;
}

.segment-list > div {
  position: relative;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 67px;
  border-top: 1px solid var(--line-soft);
}

.segment-list > div::before {
  content: "";
  position: absolute;
  top: 15px;
  bottom: 15px;
  left: 0;
  width: 3px;
  border-radius: 999px;
  background: var(--tone);
}

.segment-list > div > b {
  color: var(--tone);
  font-size: 12px;
  text-align: right;
}

.segment-list > div > span {
  display: grid;
  gap: 2px;
}

.segment-list strong {
  font-size: 16px;
  font-weight: var(--font-weight-semibold);
}

.segment-list small {
  color: var(--text-secondary);
  font-size: 12px;
}

.segment-list em {
  font-size: 21px;
  font-style: normal;
  font-variant-numeric: tabular-nums;
  font-weight: var(--font-weight-semibold);
}

.composition-panel {
  display: grid;
  grid-template-rows: auto 1fr 1fr;
}

.device-block {
  border-top: 1px solid var(--line-soft);
  padding-top: 13px;
}

.panel-subhead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.panel-subhead strong,
.panel-subhead span {
  font-size: 13px;
}

.panel-subhead span {
  color: var(--text-secondary);
}

.device-stack {
  display: flex;
  width: 100%;
  height: 16px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--surface-muted);
}

.device-stack i {
  display: block;
  width: var(--value);
  height: 100%;
}

.device-stack .mobile,
.device-block li > i.mobile { background: var(--brand-violet); }
.device-stack .desktop,
.device-block li > i.desktop { background: var(--brand-blue); }
.device-stack .tablet,
.device-block li > i.tablet { background: var(--brand-gold); }

.device-block ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.device-block li {
  display: grid;
  grid-template-columns: 8px 1fr;
  gap: 3px 6px;
  color: var(--text-secondary);
  font-size: 11px;
}

.device-block li > i {
  width: 8px;
  height: 8px;
  margin-top: 2px;
  border-radius: 50%;
}

.device-block li b {
  grid-column: 2;
  color: var(--ink);
  font-size: 15px;
}

.visitor-mix {
  display: grid;
  grid-template-columns: 108px 1fr;
  gap: 16px;
  align-items: center;
  border-top: 1px solid var(--line-soft);
  padding-top: 14px;
}

.return-ring {
  display: grid;
  place-items: center;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: conic-gradient(var(--brand-magenta) 0 28%, var(--brand-violet) 28% 100%);
}

.return-ring > span {
  display: grid;
  place-content: center;
  width: 67px;
  height: 67px;
  border-radius: 50%;
  background: var(--white);
  text-align: center;
}

.return-ring strong,
.return-ring small {
  display: block;
}

.return-ring strong {
  font-size: 19px;
}

.return-ring small {
  color: var(--text-secondary);
  font-size: 9px;
  text-transform: uppercase;
}

.visitor-mix > div:last-child {
  display: grid;
  gap: 3px;
}

.visitor-mix > div:last-child > span,
.visitor-mix > div:last-child > small {
  color: var(--text-secondary);
  font-size: 12px;
}

.visitor-mix > div:last-child > strong {
  font-size: 22px;
}

.intent-list {
  display: grid;
}

.intent-list > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  border-top: 1px solid var(--line-soft);
}

.intent-list span {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
}

.intent-list span i {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  background: var(--tone);
}

.intent-list strong {
  font-size: 20px;
  font-variant-numeric: tabular-nums;
}

.intent-spectrum {
  display: flex;
  height: 14px;
  margin-top: 15px;
  overflow: hidden;
  border-radius: 999px;
}

.intent-spectrum i {
  display: block;
  width: var(--value);
  height: 100%;
  background: var(--tone);
}

.keyword-panel ol {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: keyword;
}

.keyword-panel li {
  counter-increment: keyword;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  min-height: 44px;
  border-top: 1px solid var(--line-soft);
}

.keyword-panel li::before {
  content: counter(keyword, decimal-leading-zero);
  color: var(--keyword-tone, var(--brand-violet));
  font-size: 11px;
  font-weight: var(--font-weight-bold);
}

.keyword-panel li:nth-child(1) { --keyword-tone: var(--brand-violet); }
.keyword-panel li:nth-child(2) { --keyword-tone: var(--brand-blue); }
.keyword-panel li:nth-child(3) { --keyword-tone: var(--brand-magenta); }
.keyword-panel li:nth-child(4) { --keyword-tone: var(--brand-coral); }
.keyword-panel li:nth-child(5) { --keyword-tone: #c18a00; }
.keyword-panel li:nth-child(6) { --keyword-tone: var(--brand-indigo); }

.keyword-panel li span {
  overflow: hidden;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.keyword-panel li b {
  font-size: 17px;
}

.search-funnel {
  display: grid;
  justify-items: center;
  padding-top: 2px;
}

.search-funnel > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: var(--width);
  min-width: 54%;
  min-height: 49px;
  border-radius: 7px;
  background: var(--tone);
  padding: 0 12px;
  color: var(--white);
  box-shadow: 0 7px 18px color-mix(in srgb, var(--tone) 18%, transparent);
}

.search-funnel > div span {
  font-size: 12px;
  font-weight: var(--font-weight-semibold);
}

.search-funnel > div strong {
  font-size: 19px;
  font-variant-numeric: tabular-nums;
}

.search-funnel > i {
  display: grid;
  place-items: center;
  min-height: 25px;
  color: var(--text-secondary);
  font-size: 10px;
  font-style: normal;
}

/* Communication network */

.slide-network {
  background: var(--surface-soft);
}

.network-heading {
  display: grid;
  grid-template-columns: 1fr 0.65fr;
  gap: 60px;
  align-items: end;
  margin-bottom: 44px;
}

.network-heading h2 {
  font-size: 69px;
}

.network-heading p {
  margin: 0 0 7px;
  color: var(--text-secondary);
  font-size: 23px;
}

.network-stage {
  position: relative;
  display: grid;
  grid-template-columns: 270px 100px 300px 100px 530px 100px 270px;
  align-items: center;
  min-height: 360px;
}

.network-origin,
.network-hub,
.network-audience {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 244px;
  border-radius: 34px;
  padding: 28px;
  text-align: center;
}

.network-origin {
  border: 1px solid var(--line);
  background: var(--white);
}

.network-hub {
  border: 2px solid transparent;
  background:
    linear-gradient(var(--white), var(--white)) padding-box,
    var(--brand-gradient) border-box;
  box-shadow:
    0 22px 50px rgba(22, 21, 18, 0.08),
    0 6px 18px rgba(107, 78, 255, 0.09);
  color: var(--ink);
}

.network-audience {
  background: var(--surface-deep);
}

.network-origin img,
.network-hub img {
  width: 76px;
  height: 64px;
  margin-bottom: 22px;
  border-radius: 14px;
  background: var(--white);
  padding: 8px;
  object-fit: contain;
}

.network-hub img {
  width: 60px;
  height: 60px;
  border-radius: 0;
  background: transparent;
  padding: 0;
}

.network-origin strong,
.network-hub strong,
.network-audience strong {
  margin-bottom: 12px;
  font-size: 24px;
}

.network-origin span,
.network-hub span,
.network-audience span {
  color: var(--text-secondary);
  font-size: 15px;
  line-height: 1.4;
}

.network-hub span {
  color: var(--text-secondary);
}

.network-line {
  position: relative;
  height: 2px;
  background: var(--line);
}

.network-line::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 11px;
  height: 11px;
  border-top: 2px solid var(--brand);
  border-right: 2px solid var(--brand);
  transform: translateY(-50%) rotate(45deg);
}

.microsite-cluster {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
}

.microsite-cluster article {
  grid-column: span 2;
  min-height: 110px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--white);
  padding: 20px 16px;
}

.microsite-cluster article:nth-child(4) {
  grid-column: 2 / span 2;
}

.microsite-cluster span,
.microsite-cluster small {
  display: block;
}

.microsite-cluster span {
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: var(--font-weight-semibold);
}

.microsite-cluster small {
  color: var(--text-secondary);
  font-size: 12px;
}

.targeting-examples {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 34px;
}

.targeting-examples > div {
  border-top: 1px solid var(--line);
  padding-top: 16px;
}

.targeting-examples span,
.targeting-examples strong {
  display: block;
}

.targeting-examples span {
  margin-bottom: 8px;
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.targeting-examples strong {
  font-size: 20px;
}

.network-metrics {
  margin: 24px 0 0;
  color: var(--text-secondary);
  font-size: 16px;
}

/* Success measurement */

.slide-measure {
  background: var(--paper);
}

.measure-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 50px;
  margin: 12px 0 32px;
}

.measure-heading h2 {
  font-size: 72px;
}

.measure-heading p {
  margin: 0 0 5px;
  color: var(--text-secondary);
  font-size: 22px;
}

.scorecard th:first-child {
  width: 23%;
}

.scorecard th:nth-child(2) {
  width: 37%;
}

.scorecard tbody th,
.scorecard td {
  height: 83px;
  border-bottom: 1px solid var(--line);
  padding: 17px 24px;
  vertical-align: middle;
  font-size: 22px;
  line-height: 1.3;
}

.scorecard tbody th {
  color: var(--charcoal);
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.025em;
}

.scorecard td {
  color: var(--text-secondary);
}

.kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.kpi-grid article {
  min-height: 310px;
  border-right: 1px solid var(--line);
  padding: 28px 24px 22px 0;
}

.kpi-grid article + article {
  padding-left: 24px;
}

.kpi-grid article:last-child {
  border-right: 0;
}

.kpi-grid article > span {
  color: var(--brand);
  font-size: 15px;
  font-weight: var(--font-weight-bold);
}

.kpi-grid h3 {
  min-height: 78px;
  margin: 62px 0 18px;
  font-size: 29px;
}

.kpi-grid p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 17px;
  line-height: 1.42;
}

.attribution-model {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 30px;
}

.attribution-model article {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  border-radius: 0;
  background: var(--surface-muted);
  padding: 20px 22px;
}

.attribution-model span {
  color: var(--brand-text);
  font-size: 14px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.attribution-model strong {
  font-size: 24px;
}

.attribution-model p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 19px;
}

.causality-note {
  margin: 18px 0 0;
  color: var(--text-secondary);
  font-size: 17px;
}

/* Roadmap */

.slide-roadmap {
  background: var(--surface-soft);
}

.slide-roadmap h2 {
  margin: 14px 0 46px;
  font-size: 71px;
}

.roadmap-track {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.roadmap-track article {
  display: flex;
  flex-direction: column;
  min-height: 560px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.8);
  padding: 28px 30px 0;
}

.roadmap-track article:nth-child(3) {
  background: var(--surface-muted);
}

.roadmap-track article:nth-child(4) {
  background: var(--charcoal);
  color: var(--white);
}

.quarter {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
}

.quarter span {
  color: var(--brand);
  font-size: 42px;
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.05em;
}

.quarter small {
  color: var(--text-secondary);
  font-size: 16px;
}

.roadmap-track article:nth-child(4) .quarter span {
  color: var(--brand-light);
}

.roadmap-track article:nth-child(4) .quarter small {
  color: rgba(255, 255, 255, 0.52);
}

.roadmap-track h3 {
  margin: 38px 0 24px;
  font-size: 36px;
}

.roadmap-track ul {
  display: grid;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.roadmap-track li {
  border-top: 1px solid var(--line-soft);
  padding-top: 13px;
  color: var(--text-secondary);
  font-size: 23px;
}

.roadmap-track article:nth-child(4) li {
  border-color: rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.72);
}

.roadmap-track footer {
  margin: auto -30px 0;
  min-height: 120px;
  border-top: 1px solid var(--line);
  background: rgba(236, 238, 242, 0.72);
  padding: 20px 30px;
  color: var(--text-secondary);
  font-size: 20px;
  line-height: 1.4;
}

.roadmap-track footer strong {
  display: block;
  margin-bottom: 8px;
  color: var(--brand-text);
  font-size: 15px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.roadmap-track article:nth-child(4) footer strong {
  color: var(--brand-light);
}

.roadmap-track article:nth-child(4) footer {
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.6);
}

.governance-rail {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 28px;
  color: var(--text-secondary);
  font-size: 17px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.governance-rail i {
  flex: 1;
  height: 1px;
  background: var(--line);
}

/* Partnership */

.slide-partnership {
  background: var(--paper);
}

.partnership-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 50px;
  margin: 12px 0 30px;
}

.partnership-heading h2 {
  max-width: 1200px;
  font-size: 72px;
}

.partnership-heading p {
  max-width: 440px;
  margin: 0 0 6px;
  color: var(--text-secondary);
  font-size: 23px;
}

.role-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.role-row article {
  min-height: 178px;
  border-right: 1px solid var(--line);
  padding: 24px 28px 20px 0;
}

.role-row article + article {
  padding-left: 28px;
}

.role-row article:last-child {
  border-right: 0;
}

.role-row span {
  display: block;
  margin-bottom: 16px;
  color: var(--brand);
  font-size: 16px;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.role-row p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 23px;
  line-height: 1.42;
}

.funding-sustainability {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin-top: 28px;
}

.funding-block,
.sustainability-block {
  min-height: 360px;
  border-radius: 0;
  padding: 26px 30px;
}

.funding-block {
  border: 1px solid var(--line);
  background: var(--surface-soft);
}

.sustainability-block {
  background: var(--charcoal);
  color: var(--white);
}

.funding-block > span,
.sustainability-block > span {
  display: block;
  margin-bottom: 18px;
  color: var(--brand);
  font-size: 14px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.sustainability-block > span {
  color: var(--brand-light);
}

.funding-block h3 {
  max-width: 680px;
  margin-bottom: 18px;
  font-size: 34px;
}

.funding-route,
.funding-costs {
  margin: 0 0 16px;
  color: var(--text-secondary);
  font-size: 23px;
  line-height: 1.3;
}

.funding-costs {
  border-top: 1px solid var(--line);
  padding-top: 16px;
}

.mechanism-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.mechanism-list span {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--white);
  padding: 9px 13px;
  font-size: 14px;
  font-weight: var(--font-weight-semibold);
}

.funding-block small {
  display: block;
  margin-top: 18px;
  color: var(--text-secondary);
  font-size: 17px;
  line-height: 1.35;
}

.year-row {
  display: grid;
  grid-template-columns: 82px 1fr;
  gap: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  padding: 16px 0;
}

.year-row b {
  color: var(--brand-light);
  font-size: 20px;
}

.year-row p {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 23px;
  line-height: 1.3;
}

.ip-rail {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 24px;
  margin-top: 22px;
  border-top: 1px solid var(--line);
  padding-top: 18px;
}

.ip-rail strong {
  color: var(--brand);
  font-size: 17px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.ip-rail span {
  color: var(--text-secondary);
  font-size: 20px;
  line-height: 1.4;
}

/* Pricing */

.slide-pricing {
  background: var(--paper);
}

.pricing-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 40px;
  margin: -2px 0 18px;
}

.pricing-heading h2 {
  font-size: 62px;
}

.pricing-heading p {
  margin: 12px 0 0;
  color: var(--text-secondary);
  font-size: 21px;
}

.pricing-status {
  flex: none;
  margin-bottom: 4px;
  border: 1px solid var(--brand-light);
  border-radius: 999px;
  padding: 10px 16px;
  color: var(--brand-text);
  font-size: 13px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pricing-baseline {
  position: relative;
  display: grid;
  grid-template-columns: 145px 520px 1fr;
  gap: 24px;
  align-items: center;
  min-height: 74px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 13px 18px 13px 22px;
  overflow: hidden;
}

.pricing-baseline::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--brand-gradient);
}

.pricing-baseline > span {
  color: var(--brand-text);
  font-size: 14px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.pricing-baseline strong {
  font-size: 22px;
  line-height: 1.16;
}

.pricing-baseline p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 18px;
  line-height: 1.35;
}

.pricing-comparison {
  display: grid;
  grid-template-columns: 0.82fr 1.18fr;
  gap: 30px;
  margin-top: 18px;
}

.pricing-column {
  min-width: 0;
}

.pricing-column + .pricing-column {
  border-left: 1px solid var(--line);
  padding-left: 30px;
}

.pricing-column > header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  min-height: 40px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 12px;
}

.pricing-column > header span {
  color: var(--ink);
  font-size: 19px;
  font-weight: var(--font-weight-bold);
}

.pricing-column > header small {
  color: var(--text-secondary);
  font-size: 13px;
  text-align: right;
}

.commercial-price-lines {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  border-bottom: 1px solid var(--line);
  padding: 17px 0 15px;
}

.commercial-price-lines div {
  display: grid;
  gap: 4px;
}

.commercial-price-lines strong {
  color: var(--brand-text);
  font-size: 42px;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.055em;
}

.commercial-price-lines span,
.commercial-total span,
.commercial-total small {
  color: var(--text-secondary);
  font-size: 14px;
}

.commercial-total {
  display: grid;
  grid-template-columns: 120px auto 1fr;
  gap: 14px;
  align-items: baseline;
  border-bottom: 1px solid var(--line);
  padding: 14px 0;
}

.commercial-total strong {
  font-size: 30px;
  font-variant-numeric: tabular-nums;
}

.commercial-total small {
  text-align: right;
}

.pricing-scope-list {
  display: grid;
  gap: 10px;
  margin: 15px 0 0;
  padding: 0;
  list-style: none;
}

.pricing-scope-list li {
  position: relative;
  padding-left: 18px;
  color: var(--text-secondary);
  font-size: 17px;
  line-height: 1.32;
}

.pricing-scope-list li::before {
  content: "";
  position: absolute;
  top: 0.56em;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--brand-violet);
}

.pricing-band-table {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 1px solid var(--line);
}

.cohort-efficiency {
  margin: 9px 0 0;
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.35;
}

.pricing-band-table > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 45px;
  border-bottom: 1px solid var(--line-soft);
  padding: 0 14px 0 0;
}

.pricing-band-table > div:nth-child(odd) {
  border-right: 1px solid var(--line-soft);
}

.pricing-band-table > div:nth-child(even) {
  padding-left: 14px;
}

.pricing-band-table > div:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.pricing-band-table span {
  color: var(--text-secondary);
  font-size: 15px;
}

.pricing-band-table strong {
  font-size: 18px;
  font-variant-numeric: tabular-nums;
}

.pilot-math {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid var(--line);
}

.pilot-math div {
  display: grid;
  gap: 4px;
  border-right: 1px solid var(--line-soft);
  padding: 12px 14px 12px 0;
}

.pilot-math div + div {
  padding-left: 14px;
}

.pilot-math div:last-child {
  border-right: 0;
}

.pilot-math span,
.pilot-ceilings span {
  color: var(--text-secondary);
  font-size: 13px;
}

.pilot-math strong {
  font-size: 21px;
  font-variant-numeric: tabular-nums;
}

.pilot-math small {
  color: var(--text-secondary);
  font-size: 11px;
  line-height: 1.25;
}

.pilot-ceilings {
  display: grid;
  grid-template-columns: 0.9fr 1.35fr 1fr;
  border-bottom: 1px solid var(--line);
}

.pilot-ceilings > div {
  display: grid;
  align-content: center;
  gap: 3px;
  min-height: 88px;
  border-right: 1px solid var(--line-soft);
  padding: 10px 14px 10px 0;
}

.pilot-ceilings > div + div {
  padding-left: 14px;
}

.pilot-ceilings > div:last-child {
  border-right: 0;
}

.pilot-ceilings strong {
  font-size: 24px;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.035em;
}

.pilot-ceilings small {
  color: var(--text-secondary);
  font-size: 11px;
  line-height: 1.25;
}

.pilot-ceilings .lada-ceiling strong {
  color: var(--brand-text);
}

.programme-inclusions {
  margin: 12px 0 0;
  color: var(--text-secondary);
  font-size: 15px;
  line-height: 1.35;
}

.base-cap-rule {
  margin: 4px 0 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: var(--font-weight-semibold);
  line-height: 1.35;
}

.pricing-caveat {
  display: grid;
  grid-template-columns: 145px 1fr;
  gap: 20px;
  margin-top: 15px;
  border-top: 1px solid var(--line);
  padding-top: 13px;
}

.pricing-caveat strong {
  color: var(--brand-text);
  font-size: 13px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.pricing-caveat span {
  color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.35;
}

/* Shared typography roles keep the deck consistent while preserving the
   intentional display sizes used by the cover, programme banner and close. */
.opportunity-copy h2,
.statement-title,
.ai-readiness-copy h2,
.ai-copy h2,
.flow-stack h2,
.lada-lead h2,
.slide-process h2,
.kit-title h2,
.inclusion-lead h2,
.bridge-title,
.returns-heading h2,
.dashboard-heading h2,
.network-heading h2,
.measure-heading h2,
.slide-roadmap h2,
.partnership-heading h2,
.pricing-heading h2 {
  font-size: var(--type-slide-title);
  line-height: var(--type-heading-leading);
}

.platform-system h3,
.profile-body h3,
.kit-scope-group h3,
.kit-items h3,
.bridge-node h3,
.returns-grid h3,
.kpi-grid h3,
.roadmap-track h3,
.funding-block h3 {
  font-size: var(--type-card-title);
  line-height: 1.08;
}

/* Close */

.slide-close {
  background: #161512;
  color: var(--white);
}

.close-photo {
  object-position: center 55%;
  animation: slowZoom 18s ease-out both;
}

.close-wash {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(16, 16, 18, 0.82) 0%, rgba(16, 16, 18, 0.42) 50%, rgba(16, 16, 18, 0.15) 78%),
    linear-gradient(0deg, rgba(16, 16, 18, 0.72), transparent 56%);
}

.close-content {
  position: absolute;
  z-index: 3;
  top: 70px;
  bottom: 68px;
  left: 82px;
  display: flex;
  flex-direction: column;
  width: 1190px;
}

.close-content h2 {
  margin: auto 0 20px;
  max-width: 1130px;
  font-size: 106px;
  line-height: 0.9;
}

.close-main {
  max-width: 900px;
  margin-bottom: 22px;
  color: var(--brand-light);
  font-size: 42px;
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.045em;
  line-height: 1.1;
}

.close-line {
  max-width: 980px;
  margin-bottom: 30px;
  color: rgba(255, 255, 255, 0.75);
  font-size: 22px;
}

.next-step {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 16px 30px;
  max-width: 1190px;
  border-top: 1px solid rgba(255, 255, 255, 0.28);
  padding-top: 22px;
}

.next-step > span {
  grid-row: span 3;
  color: rgba(255, 255, 255, 0.56);
  font-size: 16px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.next-step strong {
  font-size: 31px;
  line-height: 1.16;
  letter-spacing: -0.025em;
}

.decision-outputs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  color: var(--brand-light);
  font-size: 20px;
  font-weight: var(--font-weight-semibold);
}

.decision-outputs span + span {
  border-left: 1px solid rgba(255, 255, 255, 0.3);
  padding-left: 20px;
}

.next-step > small {
  color: rgba(255, 255, 255, 0.75);
  font-size: 19px;
  line-height: 1.4;
}

.next-step p {
  margin: 0;
  color: rgba(255, 255, 255, 0.66);
  font-size: 16px;
}

/* Controls */

.progress-track {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 100;
  height: 3px;
  background: rgba(255, 255, 255, 0.12);
}

.progress-track > div {
  width: 0;
  height: 100%;
  background: var(--brand-gradient);
  transition: width 420ms var(--ease);
}

.presentation-controls {
  position: fixed;
  z-index: 110;
  right: 20px;
  bottom: 18px;
  display: flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  background: rgba(18, 18, 20, 0.82);
  padding: 7px;
  color: var(--white);
  box-shadow: 0 14px 45px rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(14px);
  transition: opacity 180ms ease;
}

body.idle .presentation-controls,
body.idle .help-button {
  opacity: 0.15;
}

.control-button,
.help-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: var(--white);
  cursor: pointer;
}

.control-button:hover,
.control-button:focus-visible,
.help-button:hover,
.help-button:focus-visible {
  outline: none;
  background: rgba(255, 255, 255, 0.18);
}

.control-button:disabled {
  cursor: default;
  opacity: 0.3;
}

.control-text {
  width: auto;
  border-radius: 999px;
  padding: 0 13px;
  font-size: 12px;
  font-weight: var(--font-weight-semibold);
}

.slide-count {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 72px;
  padding: 0 5px;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

.slide-count i {
  width: 18px;
  height: 1px;
  background: rgba(255, 255, 255, 0.3);
}

.help-button {
  position: fixed;
  z-index: 110;
  bottom: 23px;
  left: 22px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(18, 18, 20, 0.82);
  font-size: 14px;
  font-weight: var(--font-weight-bold);
  backdrop-filter: blur(14px);
  transition: opacity 180ms ease;
}

.notes-panel {
  position: fixed;
  z-index: 150;
  top: 20px;
  right: 20px;
  width: min(440px, calc(100vw - 40px));
  min-height: 200px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 24px;
  background: rgba(18, 18, 20, 0.94);
  padding: 22px 24px;
  color: var(--white);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.38);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-12px);
  transition: 220ms var(--ease);
  backdrop-filter: blur(18px);
}

.notes-panel.open {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.notes-panel > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: rgba(255, 255, 255, 0.54);
  font-size: 12px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.notes-panel button,
.overlay-card header button {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  color: inherit;
  cursor: pointer;
}

.notes-panel h3 {
  margin: 28px 0 12px;
  font-size: 25px;
  letter-spacing: -0.035em;
}

.notes-panel p {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 16px;
  line-height: 1.5;
}

.overlay {
  position: fixed;
  z-index: 300;
  inset: 0;
  display: grid;
  place-items: center;
  background: rgba(10, 10, 12, 0.76);
  padding: 28px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 220ms ease;
  backdrop-filter: blur(14px);
}

.overlay.open {
  opacity: 1;
  pointer-events: auto;
}

.overlay-card {
  width: min(1100px, calc(100vw - 56px));
  max-height: calc(100vh - 56px);
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 30px;
  background: var(--paper);
  padding: 34px;
  box-shadow: 0 40px 120px rgba(0, 0, 0, 0.4);
  transform: translateY(20px) scale(0.98);
  transition: transform 300ms var(--ease);
}

.overlay.open .overlay-card {
  transform: translateY(0) scale(1);
}

.overlay-card header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 30px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 24px;
}

.overlay-card header > div > span {
  color: var(--brand);
  font-size: 12px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.overlay-card header h2 {
  margin: 8px 0 0;
  font-size: 38px;
}

.overlay-card header p {
  margin: 8px 0 0;
  color: var(--text-secondary);
  font-size: 14px;
}

.overlay-card header button {
  flex: none;
  background: var(--surface-muted);
  color: var(--ink);
}

.shortcut-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  margin-top: 26px;
  background: var(--line);
}

.shortcut-grid > div {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 76px;
  background: var(--paper);
  padding: 16px;
}

kbd {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  min-height: 30px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  padding: 0 8px;
  box-shadow: 0 2px 0 var(--line);
  font-family: inherit;
  font-size: 12px;
  font-weight: var(--font-weight-semibold);
}

.shortcut-grid span {
  margin-left: auto;
  color: var(--text-secondary);
  font-size: 14px;
}

.references-card {
  width: min(1260px, calc(100vw - 56px));
}

.reference-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 30px;
  margin-top: 26px;
}

.reference-list article {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 14px;
  border-top: 1px solid var(--line-soft);
  padding: 18px 0;
}

.reference-list article:nth-child(1),
.reference-list article:nth-child(2) {
  border-top: 0;
}

.reference-list article > span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--charcoal);
  color: var(--white);
  font-size: 11px;
  font-weight: var(--font-weight-bold);
}

.reference-list h3 {
  margin: 0 0 7px;
  font-size: 18px;
  letter-spacing: -0.02em;
}

.reference-list p {
  margin: 0 0 9px;
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.45;
}

.reference-list a {
  display: inline-block;
  margin-right: 14px;
  color: var(--brand);
  font-size: 12px;
  font-weight: var(--font-weight-semibold);
  text-underline-offset: 3px;
}

.reference-disclaimer {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 20px;
  margin-top: 24px;
  border-radius: 18px;
  background: var(--surface-muted);
  padding: 18px 20px;
}

.reference-disclaimer strong {
  color: var(--brand-text);
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.reference-disclaimer p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.45;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  clip-path: inset(50%) !important;
}

@media (max-width: 900px), (max-height: 620px) {
  .control-text {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
  }
}

@media print {
  @page {
    size: 16in 9in;
    margin: 0;
  }

  html,
  body {
    width: auto;
    height: auto;
    overflow: visible;
    background: var(--white);
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .viewport {
    position: static;
    overflow: visible;
    background: var(--white);
  }

  .deck {
    position: static;
    width: 1920px;
    height: auto;
    transform: none;
    box-shadow: none;
    overflow: visible;
  }

  .cover-copy {
    bottom: 92px;
  }

  .slide {
    position: relative;
    display: block !important;
    width: 1920px;
    height: 1080px;
    page-break-after: always;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition: none !important;
  }

  .slide:last-child {
    page-break-after: auto;
  }

  .reveal {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  .bar-row i::after {
    width: var(--value) !important;
  }

  .presentation-controls,
  .cover-language,
  .progress-track,
  .help-button,
  .notes-panel,
  .overlay,
  .skip-link,
  .sr-only {
    display: none !important;
  }
}
