:root {
  --navy: #091b31;
  --navy2: #0f2b4a;
  --ink: #11243b;
  --blue: #1464c0;
  --cyan: #43c0dc;
  --ice: #eaf8fc;
  --milk: #f4f7f9;
  --cream: #fbfcfc;
  --line: #d6e1ea;
  --muted: #5b7287;
  --warn: #d59744;
  --red: #bc514e;
  --green: #22836d;
}
* {
  box-sizing: border-box;
}
html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
}
body {
  -webkit-user-select: none;
  user-select: none;
  font-family: Cambria, Georgia, "Times New Roman", serif;
  background: #081725;
  color: #fff;
  -webkit-font-smoothing: antialiased;
}
button {
  font: inherit;
  cursor: pointer;
}
#stage {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: radial-gradient(circle at 16% 16%, #163453 0%, #071625 70%);
}
#deck {
  position: relative;
  width: 1440px;
  height: 810px;
  flex: 0 0 auto;
  transform-origin: center center;
  box-shadow: 0 26px 110px #0007;
  overflow: hidden;
  background: #0b1f33;
}
.slide {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: none;
  overflow: hidden;
  padding: 92px 92px 76px;
  background: transparent;
  color: #f4f8fb;
}
.slide.active {
  display: block;
  animation: slideEnter 0.42s ease both;
}
.slide.dark,
.slide.navy-alt,
.slide.cloud {
  background: transparent;
  color: #f4f8fb;
}
@keyframes slideEnter {
  from {
    opacity: 0.8;
    transform: translateY(5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.slide:after {
  content: "";
  position: absolute;
  right: 52px;
  bottom: 30px;
  width: 16px;
  height: 16px;
  border-right: 2px solid #2782bb88;
  border-bottom: 2px solid #2782bb88;
}
.slide .h-grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.25;
  background-image:
    linear-gradient(90deg, transparent 99.2%, #7baed733 100%),
    linear-gradient(transparent 99.2%, #7baed733 100%);
  background-size: 75px 75px;
}
.dark .h-grid,
.navy-alt .h-grid {
  opacity: 0.15;
}
.glow-a {
  position: absolute;
  right: -250px;
  top: -230px;
  width: 820px;
  height: 820px;
  border: 1px solid #61cde633;
  border-radius: 50%;
  box-shadow:
    0 0 0 90px #34b3d20d,
    0 0 0 180px #2ea7cb0a;
}
.glow-b {
  position: absolute;
  left: -230px;
  bottom: -310px;
  width: 740px;
  height: 740px;
  border: 1px solid #6fb7ec24;
  border-radius: 50%;
}
#mast {
  position: absolute;
  z-index: 30;
  top: 32px;
  left: 92px;
  right: 92px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
  color: #29425a;
}
#deck.is-dark #mast {
  color: #e6f6ff;
}
#mast .brand {
  font-family: Cambria, Georgia, serif;
  font-weight: 800;
  letter-spacing: 0.02em;
  font-size: 23px;
}
#mast .brand em {
  font-style: normal;
  color: #239cd1;
}
#mast .project {
  font-family: Cambria, Georgia, serif;
  letter-spacing: 0.16em;
  font-size: 13px;
  font-weight: 700;
  opacity: 0.79;
}
#slideFoot {
  position: absolute;
  z-index: 30;
  bottom: 33px;
  left: 92px;
  right: 92px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  letter-spacing: 0.13em;
  font-weight: bold;
  color: #62798a;
  pointer-events: none;
}
#deck.is-dark #slideFoot {
  color: #a8c7dc;
}
#slideFoot .bar {
  height: 2px;
  width: 90px;
  background: #2398cc;
  display: inline-block;
  margin-left: 16px;
  vertical-align: middle;
}
#progress {
  position: absolute;
  z-index: 31;
  bottom: 0;
  left: 0;
  height: 4px;
  background: linear-gradient(90deg, #2389cd, #51d7e9);
  transition: width 0.3s ease;
}
#atmosphere {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}
.atm-mesh {
  position: absolute;
  inset: 0;
  opacity: 0.28;
  background-image: radial-gradient(#6eb8d4 0.9px, transparent 1.1px);
  background-size: 26px 26px;
}
.atm-hatch {
  position: absolute;
  inset: 0;
  opacity: 0.45;
  background-image: repeating-linear-gradient(
    118deg,
    transparent 0 34px,
    #6eb8d414 34px 35px
  );
}
.atm-glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(2px);
}
.atm-glow-a {
  width: 620px;
  height: 620px;
  right: -220px;
  top: -260px;
  background: radial-gradient(circle, #1d5f7e55 0%, transparent 68%);
}
.atm-glow-b {
  width: 540px;
  height: 540px;
  left: -200px;
  bottom: -240px;
  background: radial-gradient(circle, #134a6a50 0%, transparent 70%);
}
.atm-arcs {
  position: absolute;
  inset: -8%;
  width: 116%;
  height: 116%;
  transition: transform 0.7s ease;
}
#deck[data-motif="2"] .atm-arcs {
  transform: scaleX(-1) translateX(-4%);
}
#deck[data-motif="2"] .atm-glow-a {
  right: auto;
  left: -240px;
  top: auto;
  bottom: -200px;
}
#deck[data-motif="2"] .atm-glow-b {
  left: auto;
  right: -180px;
  bottom: auto;
  top: -220px;
}
#deck[data-motif="3"] .atm-arcs {
  transform: rotate(16deg) scale(1.06);
  transform-origin: 72% 28%;
}
#deck[data-motif="3"] .atm-glow-a {
  right: 18%;
  top: auto;
  bottom: -280px;
}
#deck[data-motif="3"] .atm-glow-b {
  left: auto;
  right: -220px;
  bottom: auto;
  top: -180px;
}
.eyebrow {
  font-family: Cambria, Georgia, serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #73d7f3;
  margin: 0 0 15px;
}
.dark .eyebrow,
.navy-alt .eyebrow {
  color: #73d7f3;
}
h1,
h2,
h3,
p {
  margin: 0;
}
h1 {
  font-size: 76px;
  line-height: 1.04;
  letter-spacing: -0.028em;
  font-weight: 700;
}
h2 {
  font-size: 49px;
  line-height: 1.11;
  letter-spacing: -0.025em;
  font-weight: 700;
}
h3 {
  font-size: 26px;
  line-height: 1.19;
  font-weight: 700;
}
p {
  font-size: 23px;
  line-height: 1.44;
}
.lead {
  font-size: 27px;
  line-height: 1.45;
  color: #536e84;
  max-width: 1050px;
}
.dark .lead,
.navy-alt .lead {
  color: #b1cbdd;
}
.small {
  font-size: 18px;
  line-height: 1.42;
}
.mini {
  font-size: 15px;
  line-height: 1.45;
}
.tone {
  color: #64d3e9;
}
.dark .tone,
.navy-alt .tone {
  color: #64d3e9;
}
.muted {
  color: #5e7688;
}
.dark .muted,
.navy-alt .muted {
  color: #aec8db;
}
.kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  letter-spacing: 0.12em;
  color: #247bb3;
  font-weight: bold;
}
.kicker:before {
  content: "";
  width: 34px;
  height: 2px;
  background: #27a1d2;
}
.content {
  position: relative;
  z-index: 2;
}
.split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
}
.row {
  display: flex;
  align-items: center;
  gap: 16px;
}
.between {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.top {
  align-items: flex-start;
}
.grid3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 19px;
}
.grid4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.panel {
  border: 1px solid #2a5470;
  background: #102c45cc;
  border-radius: 17px;
  padding: 28px;
  color: #eef6fa;
  box-shadow: none;
}
.panel.dark-panel {
  background: #102c4b;
  border-color: #2b5675;
  color: #fff;
  box-shadow: none;
}
.panel.hollow {
  background: transparent;
  border-color: #486982;
  color: #fff;
  box-shadow: none;
}
.panel-soft {
  background: #e8f4f9;
  border-radius: 16px;
  padding: 26px;
}
.stat {
  font-size: 83px;
  line-height: 1;
  font-weight: bold;
  color: #0e588f;
  letter-spacing: -0.055em;
}
.stat-caption {
  font-size: 18px;
  line-height: 1.3;
  color: #62768a;
}
.tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 29px;
  border: 1px solid #b6d8e9;
  background: #eefaff;
  color: #135d8b;
  padding: 5px 12px;
  border-radius: 20px;
  font-size: 13px;
  letter-spacing: 0.04em;
  font-weight: bold;
}
.dark .tag {
  color: #b0eeff;
  background: #143d5a;
  border-color: #2b6687;
}
.number {
  font-size: 16px;
  letter-spacing: 0.15em;
  color: #78d3e5;
  font-weight: bold;
}
.rule {
  width: 100%;
  height: 1px;
  background: #d7e2e8;
}
.dark .rule {
  background: #38536e;
}
.vline {
  width: 1px;
  height: 100%;
  background: #dce6ed;
}
.chip {
  display: inline-block;
  font-size: 15px;
  color: #3a6881;
  background: #e6f4f8;
  border-radius: 8px;
  padding: 6px 10px;
}
.dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #2da4d7;
  border-radius: 50%;
}
.strongline {
  width: 84px;
  height: 5px;
  border-radius: 2px;
  background: linear-gradient(90deg, #1875b8, #42c7d9);
}
.slide-head {
  margin-bottom: 34px;
}
.slide-head h2 {
  max-width: 1160px;
}
.dark .slide-head .sub,
.navy-alt .slide-head .sub {
  color: #adcede;
}
.big-quote {
  font-size: 44px;
  line-height: 1.22;
  font-weight: 700;
  letter-spacing: -0.012em;
}
.quote-mark {
  font-size: 116px;
  line-height: 0.5;
  color: #40b8dc;
}
.line-icon {
  width: 41px;
  height: 41px;
  color: #147db9;
  flex: 0 0 auto;
}
.dark .line-icon {
  color: #72e0f0;
}
.flow-arrow {
  flex: 0 0 auto;
  font-family: Georgia, serif;
  font-size: 34px;
  color: #3b97bf;
}
.flowstep {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex-direction: column;
  border: 1px solid #c7dfe9;
  background: #fff;
  border-radius: 16px;
  min-height: 155px;
  flex: 1;
  padding: 17px;
  gap: 8px;
}
.flowstep .flow-label {
  font-size: 20px;
  font-weight: bold;
}
.flowstep .flow-detail {
  font-size: 15px;
  color: #6c7d8a;
  line-height: 1.32;
}
.flowstep.current {
  background: #edf9fd;
  border-color: #67bed8;
}
.flowstep.denied {
  background: #fff3f1;
  border-color: #edb1aa;
}
.flowstep.success {
  background: #eaf8f3;
  border-color: #9bd3c1;
}
.banner-note {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 14px 20px;
  border-left: 4px solid #2f93bd;
  background: #eaf5fa;
  border-radius: 0 10px 10px 0;
  font-size: 18px;
  line-height: 1.38;
}
.dark .banner-note {
  background: #163a57;
  color: #d4f2fa;
}
/* Slide 1 */
.slide.cover {
  background: transparent;
  padding-bottom: 96px;
}
.slide.cover.active {
  display: flex;
  flex-direction: column;
}
.cover-stack {
  position: relative;
  z-index: 1;
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding-top: 8px;
  padding-bottom: 6px;
}
.cover-copy {
  position: relative;
  z-index: 2;
  max-width: 1100px;
  padding-top: 86px;
}
.cover-title {
  font-size: 92px;
  line-height: 1.04;
  letter-spacing: -0.035em;
  font-weight: 700;
  white-space: nowrap;
}
.cover-title span {
  color: #70d9e9;
}
.cover-overline {
  font-size: 15px;
  color: #8cd7ea;
  letter-spacing: 0.22em;
  font-weight: bold;
  margin-bottom: 18px;
}
.cover-desc {
  font-size: 24px;
  color: #b2cee0;
  max-width: 640px;
  margin-top: 20px;
  line-height: 1.45;
}
.cover-float {
  position: absolute;
  left: 0;
  right: 0;
  top: 186px;
  height: 280px;
  z-index: 3;
  pointer-events: none;
}
.float-icon {
  --r: 0deg;
  position: absolute;
  object-fit: cover;
  border-radius: 26px;
  background: #102c45;
  box-shadow:
    0 18px 40px #04101880,
    0 0 0 1px #ffffff14;
  transform: rotate(var(--r));
  pointer-events: none;
}
.float-icon.f1 {
  --r: -8deg;
  left: 1118px;
  top: -207px;
  width: 104px;
  height: 104px;
}
.float-icon.f2 {
  --r: 7deg;
  left: 925px;
  top: 60px;
  width: 114px;
  height: 114px;
}
.float-icon.f3 {
  --r: -5deg;
  left: 767px;
  top: 137px;
  width: 100px;
  height: 100px;
}
.float-icon.f4 {
  --r: 9deg;
  left: 1011px;
  top: -79px;
  width: 110px;
  height: 110px;
}
.float-icon.f5 {
  --r: -7deg;
  left: 1199px;
  top: -67px;
  width: 102px;
  height: 102px;
}
.float-icon.f6 {
  --r: 6deg;
  left: 1083px;
  top: 34px;
  width: 112px;
  height: 112px;
}
.cover-apps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 22px;
  flex: 0 0 auto;
  margin-top: auto;
}
.app-rail {
  position: absolute;
  z-index: 0;
  top: 49px;
  left: 70px;
  right: 70px;
  height: 3px;
  border-radius: 3px;
  background: linear-gradient(90deg, #1a6a88, #4fd6ee, #1a6a88);
  box-shadow:
    0 0 10px #4fd6eecc,
    0 0 22px #70d9e966;
  overflow: visible;
}
.app-rail i {
  position: absolute;
  top: 50%;
  height: 12px;
  width: 90px;
  margin-top: -6px;
  border-radius: 8px;
  background: linear-gradient(90deg, transparent, #c8fbff, #fff, #c8fbff, transparent);
  box-shadow: 0 0 18px #9af4ff;
  animation: linkSweep 2.4s linear infinite;
}
.app-tile {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 14px 6px 12px;
  background: #102c45;
  border: 1px solid #2a5470;
  border-radius: 16px;
}
.cover .app-tile {
  transition: border-color .22s ease, box-shadow .22s ease;
}
@media (hover: hover) {
  .cover .app-tile:hover {
    border-color: #70d9e9;
    box-shadow: 0 0 0 1px #70d9e966, 0 0 22px #4fd6ee40, inset 0 0 16px #4fd6ee0d;
  }
}
@media (prefers-reduced-motion: reduce) {
  .cover .app-tile { transition: none; }
}
.app-glyph {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: grid;
  place-items: center;
}
.app-glyph svg {
  width: 26px;
  height: 26px;
  fill: none;
  stroke: #eaf8fd;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.app-glyph.g1 {
  background: #1a6a8c;
}
.app-glyph.g2 {
  background: #187a6a;
}
.app-glyph.g3 {
  background: #1b5f9a;
}
.app-glyph.g4 {
  background: #8a5a22;
}
.app-glyph.g5 {
  background: #3a5f8c;
}
.app-glyph.g6 {
  background: #5a4a8a;
}
.app-tile b {
  font-size: 15px;
  font-weight: 700;
  color: #e8f4fb;
  letter-spacing: 0.01em;
  text-align: center;
}
@keyframes linkSweep {
  0% {
    left: -90px;
  }
  100% {
    left: 100%;
  }
}
/* Cover icon entrance and gentle idle motion. */
.cover .f1, .cover .app-tile:nth-child(2) { --icon-delay: .12s; --float-duration: 5.8s; }
.cover .f2, .cover .app-tile:nth-child(3) { --icon-delay: .24s; --float-duration: 6.4s; }
.cover .f3, .cover .app-tile:nth-child(4) { --icon-delay: .36s; --float-duration: 5.4s; }
.cover .f4, .cover .app-tile:nth-child(5) { --icon-delay: .48s; --float-duration: 6.8s; }
.cover .f5, .cover .app-tile:nth-child(6) { --icon-delay: .60s; --float-duration: 6.1s; }
.cover .f6, .cover .app-tile:nth-child(7) { --icon-delay: .72s; --float-duration: 5.6s; }
.cover.active .float-icon {
  animation:
    coverIconEnter .8s cubic-bezier(.22, 1, .36, 1) var(--icon-delay) both,
    coverIconFloat var(--float-duration) ease-in-out calc(var(--icon-delay) + .8s) infinite;
}
.cover.active .app-tile {
  animation: coverIconEnter .7s cubic-bezier(.22, 1, .36, 1) calc(var(--icon-delay) + .3s) both;
}
.cover.active .app-glyph {
  animation: coverGlyphFloat var(--float-duration) ease-in-out calc(var(--icon-delay) + 1s) infinite;
}
@keyframes coverIconEnter {
  from { opacity: 0; transform: translateY(20px) rotate(var(--r, 0deg)) scale(.92); }
  to { opacity: 1; transform: translateY(0) rotate(var(--r, 0deg)) scale(1); }
}
@keyframes coverIconFloat {
  0%, 100% { translate: 0 0; rotate: 0deg; }
  50% { translate: 0 -7px; rotate: 1deg; }
}
@keyframes coverGlyphFloat {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -3px; }
}
@media (prefers-reduced-motion: reduce) {
  .cover.active .float-icon,
  .cover.active .app-tile,
  .cover.active .app-glyph,
  .cover .app-rail i { animation: none; }
}
/* slide 2 */
.hero-msg {
  font-size: 38px;
  line-height: 1.25;
  font-weight: bold;
  max-width: 800px;
}
.big-number {
  font-size: 88px;
  font-weight: bold;
  color: #1788bd;
  line-height: 1;
}
/* slide 4 mock ui */
.mock-shell {
  background: #fff;
  border: 1px solid #cfdfe6;
  border-radius: 18px;
  box-shadow: 0 16px 55px #193d5e13;
  overflow: hidden;
}
.mock-head {
  height: 47px;
  border-bottom: 1px solid #e6edf3;
  background: #f7fafc;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 18px;
}
.mock-head i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #adc5d6;
}
.mock-head span {
  font-size: 12px;
  color: #7e95a8;
  margin-left: auto;
  letter-spacing: 0.05em;
}
.mock-body {
  padding: 24px;
}
.mock-mini-row {
  height: 48px;
  margin-bottom: 7px;
  background: #f2f6f8;
  border-radius: 7px;
  display: flex;
  align-items: center;
  padding: 0 14px;
  gap: 12px;
  color: #436377;
  font-size: 14px;
}
.mock-mini-row b {
  color: #274e6d;
  font-size: 17px;
}
.mock-mini-row.active {
  background: #e6f5fa;
  border-left: 4px solid #2d9dc9;
}
.mock-badge {
  margin-left: auto;
  background: #d6ebf5;
  color: #136ca0;
  border-radius: 20px;
  padding: 4px 9px;
  font-size: 12px;
}
/* Slide 6 */
.cycle {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  max-width: 690px;
}
.cyclebox {
  min-height: 132px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 18px;
  background: #f1f8fb;
  border: 1px solid #cfdfec;
  border-radius: 17px;
  gap: 9px;
}
.cyclebox strong {
  font-size: 23px;
}
.cyclebox span {
  font-size: 16px;
  color: #6a8495;
}
/* slide 8 */
.stack-middle {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 12px;
}
.stack-box {
  padding: 15px 17px;
  border-radius: 12px;
  text-align: center;
  background: #17466a;
  border: 1px solid #367397;
  color: #f0faff;
  min-height: 74px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.stack-box strong {
  font-size: 19px;
}
.stack-box span {
  font-size: 13px;
  color: #a8d7e8;
}
/* slide 12 */
.metric {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 17px;
  padding: 12px 0;
  border-bottom: 1px solid #dce7ed;
}
.metric strong {
  font-size: 19px;
}
.metric span {
  font-size: 15px;
  color: #78909e;
}
/* slide13 */
.timeline {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: 39px;
  position: relative;
}
.timeline:before {
  content: "";
  height: 3px;
  background: #2a6a88;
  position: absolute;
  top: 25px;
  left: 8%;
  right: 8%;
}
.timecol {
  position: relative;
  padding: 0 15px;
}
.time-dot {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #102c45;
  border: 5px solid #3db4d0;
  display: grid;
  place-items: center;
  font-size: 18px;
  font-weight: bold;
  color: #8ad9ed;
  margin: 0 auto 26px;
  position: relative;
  z-index: 1;
}
.timebox {
  border: 1px solid #2a5470;
  background: #102c45cc;
  padding: 24px 19px;
  border-radius: 14px;
  min-height: 222px;
}
.timebox strong {
  font-size: 23px;
  color: #eef6fa;
}
.timebox p {
  font-size: 18px;
  color: #9db8c9;
  margin-top: 12px;
}
/* Speaker guidance is kept as source data, not painted on slides */
.speaker-notes {
  display: none !important;
}
/* Fit the dense architecture slide well above the persistent footer */
.slide.navy-alt .stack-box {
  min-height: 58px;
  padding: 10px 14px;
}
.slide.navy-alt .stack-middle {
  gap: 8px;
}
.slide.navy-alt .stack-middle .stack-box strong {
  font-size: 18px;
}
/* Edge navigation: centered chevrons, revealed from a wider edge zone. */
.edge-nav {
  position: fixed;
  top: 50%;
  width: 56px;
  height: 56px;
  transform: translateY(-50%);
  z-index: 90;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #eaf8fd;
  -webkit-tap-highlight-color: transparent;
}
.edge-nav-prev { left: 24px; }
.edge-nav-next { right: 24px; }
.edge-nav[hidden] { display: none; }
.edge-nav span {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border: 1px solid #70d9e9a6;
  border-radius: 50%;
  background: #102c45f5;
  box-shadow: 0 6px 24px #04101880, inset 0 1px 0 #ffffff14;
  opacity: 0;
  transform: scale(.9);
  transition: opacity .12s ease-out, transform .18s ease-out, border-color .18s ease, box-shadow .18s ease;
  pointer-events: none;
}
.edge-nav svg {
  display: block;
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.edge-nav.is-near-edge span,
.edge-nav:hover span,
.edge-nav:focus-visible span {
  opacity: 1;
  transform: scale(1);
}
.edge-nav:hover span,
.edge-nav:focus-visible span {
  border-color: #9aecf7;
  background: #16415b;
  box-shadow: 0 0 24px #4fd6ee50, 0 6px 24px #04101880;
}
.edge-nav:active span { transform: scale(.94); }
.edge-nav:focus-visible { outline: none; }
.edge-nav:focus-visible span { outline: 2px solid #eaf8fd; outline-offset: 4px; }
@media (hover: none) {
  .edge-nav span { opacity: .8; transform: none; }
}
@media (max-width: 600px) {
  .edge-nav-prev { left: 12px; }
  .edge-nav-next { right: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .edge-nav span { transition: none; }
}
@media print {
  .edge-nav { display: none !important; }
}
/* slide nav */
#controls {
  position: fixed;
  right: 28px;
  bottom: 25px;
  z-index: 100;
  display: flex;
  align-items: center;
  gap: 8px;
  opacity: 0.17;
  transition: opacity 0.22s ease;
}
#controls:hover,
#controls:focus-within {
  opacity: 1;
}
.control {
  height: 39px;
  min-width: 39px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #90a5b44d;
  border-radius: 9px;
  color: #d0dfeb;
  background: #193045da;
  font-family: Cambria, Georgia, serif;
  font-size: 17px;
}

.control:hover,
.control:focus {
  background: #2d6485;
  color: #fff;
  outline: 1px solid #5ac5de;
}
#counter {
  color: #b8cddb;
  font-size: 15px;
  letter-spacing: 0.05em;
  min-width: 71px;
  text-align: center;
  margin-right: 6px;
}
#keyboardHelp {
  position: fixed;
  left: 25px;
  bottom: 34px;
  color: #a0b5c4a8;
  font-size: 13px;
  z-index: 80;
  opacity: 0.15;
  transition: opacity 0.2s ease;
}
#keyboardHelp:hover {
  opacity: 1;
}
#speaker {
  display: none;
  position: fixed;
  z-index: 140;
  left: 50%;
  bottom: 80px;
  transform: translateX(-50%);
  width: min(900px, calc(100vw - 70px));
  background: #fff;
  color: #19324b;
  border-radius: 15px;
  box-shadow: 0 20px 80px #0007;
  padding: 23px 27px;
  border-top: 5px solid #26a0d0;
}
#speaker.visible {
  display: block;
}
#speaker .notes-title {
  color: #147bab;
  font-weight: bold;
  font-size: 15px;
  letter-spacing: 0.09em;
  margin-bottom: 9px;
}
#speaker .notes-text {
  font-size: 19px;
  line-height: 1.43;
}
#overview {
  display: none;
  position: fixed;
  z-index: 130;
  inset: 0;
  background: #081b2af6;
  padding: 48px 6vw;
  overflow: auto;
}
#overview.visible {
  display: block;
}
#overview h2 {
  font-size: 35px;
  margin-bottom: 8px;
}
#overview p {
  font-size: 17px;
  color: #9cc3d4;
}
#tiles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(225px, 1fr));
  gap: 13px;
  margin-top: 27px;
}
.tile {
  text-align: left;
  min-height: 110px;
  padding: 18px;
  border: 1px solid #2e5a75;
  background: #0e2c46;
  color: #f3fbff;
  border-radius: 13px;
  font-size: 19px;
  line-height: 1.25;
}
.tile:hover {
  border-color: #5cceea;
  background: #184666;
}
.tile em {
  display: block;
  color: #5ac3e7;
  font-style: normal;
  font-size: 14px;
  margin-bottom: 9px;
}
@media print {
  html,
  body {
    width: auto;
    height: auto;
    overflow: visible;
    background: white !important;
  }
  #stage {
    display: block;
    position: static;
    background: white !important;
    overflow: visible;
  }
  #deck {
    display: block;
    position: static !important;
    width: 1440px !important;
    height: auto !important;
    transform: none !important;
    box-shadow: none !important;
    overflow: visible !important;
  }
  .slide {
    position: relative;
    display: block !important;
    width: 1440px;
    height: 810px;
    page-break-after: always;
    break-after: page;
    animation: none !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  #controls,
  #keyboardHelp,
  #speaker,
  #overview,
  #progress,
  #mast,
  #slideFoot {
    display: none !important;
  }
  @page {
    size: 16in 9in;
    margin: 0;
  }
}

/* Presentation refresh: restrained and conversation-first */
.slide {
  padding-top: 100px;
}
.slide:after {
  opacity: 0.55;
}
.slide-head {
  margin-bottom: 24px;
}
.slide-head h2 {
  font-size: 47px;
  max-width: 1200px;
}
/* Shared subtitle treatment for all slide headings. */
.slide-head .sub {
  position: relative;
  color: #adcede;
  font-size: 19px;
  line-height: 1.36;
  margin-top: 6px;
  margin-left: 10px;
  padding-left: 32px;
}
.slide-head .sub::before {
  content: "";
  position: absolute;
  left: 0;
  top: .68em;
  width: 20px;
  height: 2px;
  border-radius: 2px;
  background: #70d9e9;
}
.panel {
  box-shadow: none;
}
.soft-note {
  padding: 20px 25px;
  border-left: 4px solid #3db4d0;
  background: #12364dcc;
  color: #d5ebf4;
  font-size: 20px;
  line-height: 1.4;
  border-radius: 0 9px 9px 0;
}
.simple-box {
  background: #fff;
  border: 1px solid #d4e1e9;
  border-radius: 15px;
  padding: 28px;
  min-height: 210px;
}
.klabel {
  font-size: 14px;
  letter-spacing: 0.13em;
  font-weight: bold;
  color: #237fad;
}
.big-title {
  font-size: 39px;
  line-height: 1.19;
  letter-spacing: -0.01em;
  font-weight: 700;
}
.stack-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid #3c799d;
  background: #123a58;
  border-radius: 13px;
  padding: 18px 25px;
  min-height: 76px;
  gap: 15px;
  color: #fff;
}
.stack-card b {
  font-size: 26px;
}
.stack-card span {
  font-size: 17px;
  color: #bed9e8;
}
.pill-light {
  background: #143a54;
  border: 1px solid #2a6a88;
  border-radius: 14px;
  padding: 14px 17px;
  color: #c5e4f0;
  font-size: 20px;
}
.stacked-line {
  display: flex;
  gap: 22px;
  align-items: center;
  padding: 17px 0;
  border-bottom: 1px solid #d8e5eb;
}
.stacked-line:last-child {
  border-bottom: none;
}
.stacked-line .sn {
  color: #167eb3;
  font-size: 24px;
  font-weight: 700;
  width: 40px;
  flex: 0 0 auto;
}
.stacked-line strong {
  font-size: 24px;
  display: block;
  margin-bottom: 3px;
}
.stacked-line small {
  font-size: 18px;
  color: #667f8f;
  line-height: 1.35;
}
.workflow {
  display: flex;
  align-items: stretch;
  gap: 12px;
  margin-top: 52px;
}
.workflow .wbox {
  flex: 1;
  border: 1px solid #2a5470;
  border-radius: 14px;
  background: #102c45cc;
  padding: 22px;
  min-height: 152px;
}
.workflow .wbox strong {
  font-size: 24px;
  display: block;
  margin: 18px 0 8px;
  color: #eef6fa;
}
.workflow .wbox span {
  font-size: 18px;
  color: #9db8c9;
}
.workflow .warrow {
  font-size: 32px;
  color: #4396bd;
  align-self: center;
}
.outcome {
  margin-top: 38px;
  border-left: 5px solid #3db4d0;
  background: #12364dcc;
  color: #d5ebf4;
  padding: 23px 28px;
  font-size: 23px;
  line-height: 1.38;
  border-radius: 0 13px 13px 0;
}
.hero-number {
  font-size: 104px;
  color: #186e9d;
  font-weight: 700;
  line-height: 1;
}
.clean-items {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.clean-item {
  background: #102c45cc;
  border: 1px solid #2a5470;
  border-radius: 13px;
  padding: 23px 27px;
  font-size: 23px;
  line-height: 1.35;
  color: #dceaf2;
}
.clean-item strong {
  color: #8ad9ed;
}
.note-bar {
  font-size: 17px;
  color: #a9d0e3;
  line-height: 1.5;
  border-top: 1px solid #2f5670;
  margin-top: 28px;
  padding-top: 19px;
}
.control {
  user-select: none;
}

/* Per-slide details extracted from HTML. */
#deck .deck-div-01 {
  width: 7.14%;
}
#deck .slide-02-grid3-01 {
  margin-top: 49px;
}
.slide-02-copy {
  padding: 28px 28px 18px;
}
.slide-02-art {
  margin-top: auto;
  height: 176px;
  background: #0d2438;
}
.slide-02-art img {
  display: block;
  width: 100%;
  height: 176px;
  object-fit: contain;
}
#deck .slide-02-panel-01,
#deck .slide-02-panel-02,
#deck .slide-02-panel-03 {
  border-radius: 0;
  overflow: hidden;
  padding: 0;
  display: flex;
  flex-direction: column;
  min-height: 400px;
}
#deck .slide-02-panel-01 {
  border-top: 4px solid #2489b6;
}
#deck .slide-02-h3-01 {
  font-size: 31px;
  margin: 26px 0 16px;
}
#deck .slide-02-p-01 {
  font-size: 21px;
  color: #b7cddd;
}
#deck .slide-02-panel-02 {
  border-top: 4px solid #4ba5b7;
}
#deck .slide-02-h3-02 {
  font-size: 31px;
  margin: 26px 0 16px;
}
#deck .slide-02-p-02 {
  font-size: 21px;
  color: #b7cddd;
}
#deck .slide-02-panel-03 {
  border-top: 4px solid #80a2b9;
}
#deck .slide-02-h3-03 {
  font-size: 31px;
  margin: 26px 0 16px;
}
#deck .slide-02-p-03 {
  font-size: 21px;
  color: #b7cddd;
}
#deck .slide-02-soft-note-01 {
  margin-top: 32px;
}
/* Slide 2: staggered entrance and subtle illustration movement. */
.slide-02-panel-01 { --goal-delay: .18s; --goal-duration: 6s; }
.slide-02-panel-02 { --goal-delay: .38s; --goal-duration: 6.8s; }
.slide-02-panel-03 { --goal-delay: .58s; --goal-duration: 6.4s; }
.slide.active:has(.slide-02-grid3-01) .slide-head {
  animation: goalReveal .65s cubic-bezier(.22, 1, .36, 1) both;
}
.slide.active .slide-02-grid3-01 > .panel {
  animation: goalReveal .75s cubic-bezier(.22, 1, .36, 1) var(--goal-delay) both;
}
.slide.active .slide-02-art img {
  animation:
    goalArtReveal .8s cubic-bezier(.22, 1, .36, 1) calc(var(--goal-delay) + .25s) both,
    goalArtFloat var(--goal-duration) ease-in-out calc(var(--goal-delay) + 1.05s) infinite;
}
@keyframes goalReveal {
  from { opacity: 0; transform: translateY(22px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes goalArtReveal {
  from { opacity: 0; transform: scale(.96); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes goalArtFloat {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -4px; }
}
@media (prefers-reduced-motion: reduce), print {
  .slide.active:has(.slide-02-grid3-01) .slide-head,
  .slide.active .slide-02-grid3-01 > .panel,
  .slide.active .slide-02-art img { animation: none; }
}
/* Slide 3: project experience. */
.project-experience-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 24px;
}
.project-experience-item {
  display: flex;
  align-items: center;
  gap: 20px;
  min-height: 256px;
  padding: 20px;
  border: 1px solid #315268;
  background: #102c40;
}
.project-experience-logo-frame {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 176px;
  height: 176px;
  flex: 0 0 176px;
}
.project-experience-logo {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  border-radius: 16px;
}
.project-experience-logo--square {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.project-experience-copy {
  min-width: 0;
}
.project-experience-category {
  margin-bottom: 12px;
  color: #73d7f3;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.project-experience-copy h3 {
  color: #f4f8fb;
  font-size: 30px;
  line-height: 1.22;
}
/* The first three projects lead; the remaining projects are secondary. */
.project-experience-item:nth-child(n + 4) {
  min-height: 144px;
  gap: 20px;
}
.project-experience-item:nth-child(n + 4) .project-experience-logo-frame {
  width: 96px;
  height: 96px;
  flex-basis: 96px;
}
.project-experience-item:nth-child(n + 4) .project-experience-category {
  margin-bottom: 8px;
  font-size: 12px;
}
.project-experience-item:nth-child(n + 4) h3 {
  font-size: 24px;
}
/* Slide 2: project introductions appear in sequence. */
.project-experience-item:nth-child(1) { --project-delay: .2s; }
.project-experience-item:nth-child(2) { --project-delay: .32s; }
.project-experience-item:nth-child(3) { --project-delay: .44s; }
.project-experience-item:nth-child(4) { --project-delay: .56s; }
.project-experience-item:nth-child(5) { --project-delay: .68s; }
.project-experience-item:nth-child(6) { --project-delay: .8s; }
.project-experience-more { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-top: 16px; color: #b7d1df; font-size: 19px; line-height: 1.2; }
.project-experience-more::before { content: ""; width: 28px; height: 2px; background: #70d9e9; }
.project-experience-more strong { color: #70d9e9; font-size: 32px; font-weight: 700; }
.project-experience.active .slide-head .eyebrow { animation: goalReveal .55s ease-out both; }
.project-experience.active .slide-head h2 { animation: goalReveal .65s ease-out .1s both; }
.project-experience.active .slide-head .sub { animation: goalReveal .65s ease-out .2s both; }
.project-experience.active .project-experience-item { animation: goalReveal .65s cubic-bezier(.22, 1, .36, 1) var(--project-delay) both; }
.project-experience.active .project-experience-logo-frame { animation: goalArtReveal .7s ease-out calc(var(--project-delay) + .2s) both; }
.project-experience.active .project-experience-category { animation: goalReveal .5s ease-out calc(var(--project-delay) + .12s) both; }
.project-experience.active .project-experience-copy h3 { animation: goalReveal .55s ease-out calc(var(--project-delay) + .24s) both; }
.project-experience.active .project-experience-more { animation: goalReveal .65s ease-out 1.2s both; }
@media (prefers-reduced-motion: reduce), print {
  .project-experience * { animation: none !important; }
}
/* Slide 3: illustrated accounting process in a six-cell grid. */
.accounting-project-head { margin-bottom: 12px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.accounting-project-head .eyebrow { margin-bottom: 8px; }
.accounting-project-head h2 { font-size: 42px; }
.accounting-project-logo { width: 68px; height: 68px; border-radius: 14px; object-fit: contain; }
.accounting-voucher-types { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 12px; }
.accounting-voucher { display: grid; place-items: center; min-height: 42px; padding: 8px 14px; border: 1px solid var(--role-color); border-left-width: 3px; border-radius: 6px; background: var(--role-bg); }
.accounting-voucher h3 { color: var(--role-color); font-size: 19px; line-height: 1.2; }
.accounting-voucher-blue, .accounting-role-blue { --role-color: #81bdff; --role-bg: #143452; }
.accounting-voucher-violet, .accounting-role-violet { --role-color: #bdabff; --role-bg: #2b294e; }
.accounting-voucher-orange, .accounting-role-orange { --role-color: #ffc48a; --role-bg: #40342c; }
.accounting-voucher-green, .accounting-role-green { --role-color: #84dfba; --role-bg: #153c39; }
.accounting-role-cyan { --role-color: #7edfee; --role-bg: #123b49; }
.accounting-lifecycle { margin-top: 12px; }
.accounting-approval-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.accounting-approval-step { min-width: 0; overflow: hidden; border: 1px solid #2a5470; border-radius: 10px; background: #102c45; transition: border-color .25s ease, box-shadow .25s ease; }
.accounting-step-heading { display: flex; align-items: center; gap: 9px; height: 38px; padding: 9px 14px 2px; }
.accounting-step-number { display: grid; place-items: center; min-width: 25px; height: 22px; border: 1px solid #477086; border-radius: 5px; color: #9fc6d9; font-size: 11px; font-weight: 700; }
.accounting-step-heading h3 { color: #eff8fc; font-size: 21px; line-height: 1.2; }
.accounting-step-art { height: 150px; padding: 0 5px 3px; }
.accounting-step-art img { display: block; width: 100%; height: 100%; object-fit: contain; }
.accounting-approval-step.is-current { border-color: var(--role-color); box-shadow: 0 0 0 1px var(--role-color), 0 0 18px #4fd6ee20; }
.accounting-approval-step.is-current .accounting-step-number { color: #0b1f33; background: var(--role-color); border-color: var(--role-color); }
.accounting-approval-step.is-complete { border-color: #477d71; }
.accounting-approval-step.is-complete .accounting-step-number { color: #a3edcc; background: #173f3a; border-color: #4b9d84; }
@media (hover: hover) {
  .accounting-approval-step:hover { border-color: var(--role-color); box-shadow: 0 0 16px #4fd6ee30; }
}
/* Reveal text first, then the illustrated process in each cell. */
.accounting-project.active .accounting-project-head .eyebrow { animation: accountingTextReveal .55s ease-out .05s both; }
.accounting-project.active .accounting-project-head h2 { animation: accountingTextReveal .65s cubic-bezier(.22, 1, .36, 1) .13s both; }
.accounting-project.active .accounting-project-head .sub { animation: accountingTextReveal .6s ease-out .25s both; }
.accounting-project.active .accounting-project-logo { animation: accountingArtReveal .7s ease-out .22s both; }
.accounting-voucher:nth-child(1) { --voucher-delay: .28s; }
.accounting-voucher:nth-child(2) { --voucher-delay: .36s; }
.accounting-voucher:nth-child(3) { --voucher-delay: .44s; }
.accounting-voucher:nth-child(4) { --voucher-delay: .52s; }
.accounting-project.active .accounting-voucher { animation: accountingTextReveal .55s ease-out var(--voucher-delay) both; }
.accounting-project.active .accounting-approval-step { animation: goalReveal .65s cubic-bezier(.22, 1, .36, 1) calc(var(--step-delay) + .3s) both; }
.accounting-project.active .accounting-step-heading { animation: accountingTextReveal .5s ease-out calc(var(--step-delay) + .48s) both; }
.accounting-project.active .accounting-step-art img { animation: accountingArtReveal .65s cubic-bezier(.22, 1, .36, 1) calc(var(--step-delay) + .65s) both; }
.accounting-project.active .accounting-demo { animation: accountingTextReveal .6s ease-out 1.25s both; }
@keyframes accountingTextReveal {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes accountingArtReveal {
  from { opacity: 0; transform: translateY(8px) scale(.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@media print {
  .accounting-project * { animation: none !important; }
}
.accounting-demo { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 56px; margin-top: 8px; padding: 9px 15px; border: 1px solid #3b647a; border-radius: 8px; background: #102c40; }
.accounting-demo-copy { flex: 1; min-width: 0; }
.accounting-demo-label { display: block; margin-bottom: 4px; color: #87bcd0; font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.accounting-demo-copy p { color: #f4f8fb; font-size: 18px; line-height: 1.2; }
.accounting-demo-files { display: flex; align-items: center; gap: 8px; }
.accounting-demo-file { display: inline-block; padding: 6px 10px; border: 1px dashed #5e7b8b; border-radius: 6px; color: #91acbc; font-size: 14px; white-space: nowrap; transition: color .3s, border-color .3s, background .3s; }
.accounting-demo-file.is-added { border-style: solid; border-color: #4b9d84; color: #a3edcc; background: #173f3a; animation: accountingAttach .45s ease both; }
.accounting-project.is-demo-complete .accounting-demo { border-color: #5bbf98; background: #143b34; }
.accounting-project.is-demo-complete .accounting-demo-copy p { color: #a3edcc; }
@keyframes accountingAttach { from { opacity: .3; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  .accounting-project *, .accounting-project *::after { animation: none !important; transition: none !important; }
}
@media print {
  .accounting-project .accounting-approval-step { animation: none !important; opacity: 1 !important; box-shadow: none; }
  .accounting-project .accounting-demo { display: none !important; }
}
/* Slide 4: a friendly illustrated record journey with history alongside. */
.record-walkthrough .slide-head { margin-bottom: 12px; }
.record-walkthrough .slide-head h2 { font-size: 44px; }
.record-journey { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); align-items: center; gap: 36px; }
.record-journey-art { min-width: 0; margin: 0; }
.record-journey-art img { display: block; width: 100%; height: 320px; object-fit: contain; }
.record-history { border-left: 1px solid #315065; padding: 8px 0 8px 28px; }
.record-history-overline { color: #79d6e8; font-size: 12px; font-weight: 700; letter-spacing: .15em; margin-bottom: 12px; }
.record-history h3 { color: #f1f8fc; font-size: 28px; line-height: 1.24; white-space: nowrap; }
.record-history ul { display: flex; flex-direction: column; gap: 14px; margin: 22px 0 0; padding: 0; list-style: none; }
.record-history li { position: relative; padding-left: 20px; color: #b7d1df; font-size: 19px; line-height: 1.35; }
.record-history li::before { content: ""; position: absolute; left: 0; top: .55em; width: 6px; height: 6px; border-radius: 50%; background: #70d9e9; }
.record-details { margin-top: 18px; padding-top: 16px; border-top: 1px solid #315065; }
.record-details > h3 { margin-bottom: 12px; font-size: 21px; }
.record-details-list { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 12px; }
.record-detail-item { position: relative; display: flex; flex-direction: column; gap: 5px; align-items: center; justify-content: center; min-height: 38px; padding: 7px 0; border-radius: 5px; outline: none; cursor: help; }
.record-detail-3d {
  display: block;
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  object-fit: contain;
  filter: drop-shadow(0 5px 8px #0005);
  transition: transform .2s ease, filter .2s ease;
}
.record-detail-item:hover .record-detail-3d,
.record-detail-item:focus .record-detail-3d {
  transform: translateY(-4px) scale(1.06);
  filter: drop-shadow(0 7px 11px #43c0dc40);
}
.record-detail-name { color: #bfd9e5; font-size: 17px; line-height: 1.25; text-align: center; border-bottom: 1px dashed #527c90; padding-bottom: 4px; transition: color .18s, border-color .18s; }
.record-detail-item:hover .record-detail-name,
.record-detail-item:focus .record-detail-name { color: #9de5f5; border-color: #9de5f5; }
.record-detail-item:focus-visible { outline: 2px solid #8bd7ed; outline-offset: 3px; }
.record-detail-tooltip { position: absolute; z-index: 12; bottom: calc(100% + 12px); left: 50%; width: 272px; padding: 17px 19px; border: 1px solid #6790a6; border-radius: 12px; color: #f4f8fb; background: #173d54; box-shadow: 0 12px 28px #0005; opacity: 0; visibility: hidden; transform: translate(-50%, 5px); transition: opacity .18s, transform .18s, visibility .18s; pointer-events: none; }
.record-detail-tooltip strong { display: block; margin-bottom: 8px; color: #9de5f5; font-size: 21px; }
.record-detail-tooltip p { color: #d8eaf3; font-size: 18px; line-height: 1.4; }
.record-detail-item:first-child .record-detail-tooltip { left: 0; transform: translate(0, 5px); }
.record-detail-item:last-child .record-detail-tooltip { right: 0; left: auto; transform: translate(0, 5px); }
.record-detail-item:hover .record-detail-tooltip,
.record-detail-item:focus .record-detail-tooltip { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.record-detail-item:first-child:hover .record-detail-tooltip,
.record-detail-item:first-child:focus .record-detail-tooltip,
.record-detail-item:last-child:hover .record-detail-tooltip,
.record-detail-item:last-child:focus .record-detail-tooltip { transform: translate(0, 0); }
.record-walkthrough.active .slide-head .eyebrow { animation: goalReveal .55s ease-out both; }
.record-walkthrough.active .slide-head h2 { animation: goalReveal .65s ease-out .1s both; }
.record-walkthrough.active .slide-head .sub { animation: goalReveal .65s ease-out .2s both; }
.record-walkthrough.active .record-journey-art { animation: goalArtReveal .8s ease-out .2s both; }
.record-walkthrough.active .record-history { animation: goalReveal .7s ease-out .4s both; }
.record-walkthrough.active .record-details { animation: goalReveal .7s ease-out .55s both; }
@media (prefers-reduced-motion: reduce), print {
  .record-walkthrough * { animation: none !important; transition: none !important; }
}
@media print {
  .record-detail-tooltip { display: none; }
}

/* Slide 5: illustrated I-COOL Staff capabilities. */
.staff-project .slide-head { position: relative; padding-right: 90px; }
.staff-brand { position: absolute; right: 0; top: 6px; width: 68px; height: 68px; border-radius: 16px; }
.staff-visual-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 22px; }
.staff-feature { --staff-color: #8cbfff; --staff-delay: .2s; padding: 15px 16px 12px; border: 1px solid #3b6d875c; border-radius: 16px; background: #102c4570; }
.staff-feature-time { --staff-color: #ffc48a; --staff-delay: .35s; }
.staff-feature-access { --staff-color: #bbadff; --staff-delay: .5s; }
.staff-feature h3 { color: var(--staff-color); font-size: 24px; line-height: 1.2; text-align: center; }
.staff-feature-art { display: block; width: 100%; height: 224px; object-fit: contain; margin: 12px 0; border-radius: 10px; }
.staff-feature-copy { margin: 4px 4px 8px; color: #b8d0df; font-size: 19px; line-height: 1.6; }
.staff-feature-copy strong { color: #eef6fc; font-weight: 600; }
.staff-project.active .slide-head .eyebrow { animation: goalReveal .55s ease-out both; }
.staff-project.active .slide-head h2 { animation: goalReveal .65s ease-out .1s both; }
.staff-project.active .slide-head .sub { animation: goalReveal .65s ease-out .2s both; }
.staff-project.active .staff-brand { animation: goalArtReveal .7s ease-out .2s both; }
.staff-project.active .staff-feature { animation: goalReveal .7s cubic-bezier(.22, 1, .36, 1) var(--staff-delay) both; }
.staff-project.active .staff-feature-art { animation: goalArtReveal .8s ease-out calc(var(--staff-delay) + .15s) both; }
.staff-project.active .staff-feature-copy { animation: goalReveal .65s ease-out calc(var(--staff-delay) + .3s) both; }
@media (prefers-reduced-motion: reduce), print {
  .staff-project.active .slide-head .eyebrow,
  .staff-project.active .slide-head h2,
  .staff-project.active .slide-head .sub,
  .staff-project.active .staff-brand,
  .staff-project.active .staff-feature,
  .staff-project.active .staff-feature-art,
  .staff-project.active .staff-feature-copy { animation: none; opacity: 1; transform: none; }
}

/* Slide 6: illustrated asset proposal and lifecycle. */
.asset-project .slide-head { position: relative; padding-right: 90px; }
.asset-brand { position: absolute; right: 0; top: 6px; width: 68px; height: 68px; object-fit: cover; border-radius: 16px; }
.asset-visual-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 22px; }
.asset-visual-card { --asset-delay: .2s; --asset-color: #8cbfff; padding: 18px 20px 16px; border: 1px solid #3b6d875c; border-radius: 16px; background: #102c4570; }
.asset-visual-lifecycle { --asset-delay: .4s; --asset-color: #90e2be; }
.asset-visual-card h3 { color: var(--asset-color); text-align: center; font-size: 25px; line-height: 1.2; }
.asset-visual-art { display: block; width: 100%; height: 268px; object-fit: contain; margin: 14px 0; border-radius: 10px; }
.asset-visual-copy { margin: 4px 4px 0; color: #b8d0df; font-size: 19px; line-height: 1.6; }
.asset-visual-copy strong { color: #eef6fc; font-weight: 600; }
.asset-project.active .slide-head .eyebrow { animation: goalReveal .55s ease-out both; }
.asset-project.active .slide-head h2 { animation: goalReveal .65s ease-out .1s both; }
.asset-project.active .slide-head .sub { animation: goalReveal .65s ease-out .2s both; }
.asset-project.active .asset-brand { animation: goalArtReveal .7s ease-out .2s both; }
.asset-project.active .asset-visual-card { animation: goalReveal .7s cubic-bezier(.22, 1, .36, 1) var(--asset-delay) both; }
.asset-project.active .asset-visual-art { animation: goalArtReveal .8s ease-out calc(var(--asset-delay) + .15s) both; }
.asset-project.active .asset-visual-copy { animation: goalReveal .65s ease-out calc(var(--asset-delay) + .3s) both; }
@media (prefers-reduced-motion: reduce), print {
  .asset-project.active .slide-head .eyebrow,
  .asset-project.active .slide-head h2,
  .asset-project.active .slide-head .sub,
  .asset-project.active .asset-brand,
  .asset-project.active .asset-visual-card,
  .asset-project.active .asset-visual-art,
  .asset-project.active .asset-visual-copy { animation: none; opacity: 1; transform: none; }
}
/* Slide 8: seven connected business steps, following numbered reading order. */
.business-flow { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px 28px; list-style: none; padding: 0; margin: 20px 0 0; }
.business-step { --step-delay: .15s; position: relative; padding: 14px 18px; min-height: 214px; border: 1px solid #477e986e; border-radius: 14px; background: #103249ba; }
.business-step-top { display: flex; justify-content: center; align-items: center; margin-bottom: 8px; }
.business-step-art { display: block; width: 100%; height: 106px; object-fit: contain; }
.business-step-number { position: absolute; right: 14px; top: 12px; color: #76bed4; font-size: 15px; letter-spacing: .08em; }
.business-step h3 { font-size: 23px; color: #eef7fc; margin-bottom: 5px; }
.business-step p { color: #b8d0df; font-size: 17px; line-height: 1.35; }
.business-step:not(:last-child)::after { content: "\2192"; position: absolute; right: -24px; top: 50%; transform: translateY(-50%); color: #7ed8e7; font-size: 27px; line-height: 1; }
.business-step-2 { --step-delay: .25s; }
.business-step-3 { --step-delay: .35s; }
.business-step-4 { --step-delay: .45s; }
.business-step-4::after { content: "\2193" !important; right: 50% !important; top: auto !important; bottom: -31px; transform: translateX(50%) !important; }
.business-step-5 { --step-delay: .55s; grid-column: 4; grid-row: 2; }
.business-step-6 { --step-delay: .65s; grid-column: 3; grid-row: 2; }
.business-step-5::after, .business-step-6::after { content: "\2190" !important; right: auto !important; left: -24px; }
.business-step-7 { --step-delay: .75s; grid-column: 1 / span 2; grid-row: 2; border-color: #67cfb27a; background: #123f43ad; }
.business-step-7 h3 { color: #a1f3cf; }
.business-workflow.active .slide-head .eyebrow { animation: goalReveal .55s ease-out both; }
.business-workflow.active .slide-head h2 { animation: goalReveal .65s ease-out .1s both; }
.business-workflow.active .slide-head .sub { animation: goalReveal .65s ease-out .2s both; }
.business-workflow.active .business-step { animation: goalReveal .65s ease-out var(--step-delay) both; }
@media (prefers-reduced-motion: reduce), print {
  .business-workflow.active .slide-head .eyebrow,
  .business-workflow.active .slide-head h2,
  .business-workflow.active .slide-head .sub,
  .business-workflow.active .business-step { animation: none; opacity: 1; transform: none; }
}
/* The final published document is the visual endpoint. */
.business-step-7 { display: grid; grid-template-columns: 190px minmax(0,1fr); grid-template-rows: auto auto; align-content: center; column-gap: 20px; }
.business-step-7 .business-step-top { grid-row: 1 / span 2; margin: 0; }
.business-step-7 .business-step-art { height: 150px; }
.business-step-7 h3 { align-self: end; }
.business-step-7 p { align-self: start; }
.business-workflow.active .business-step-art { animation: goalArtReveal .7s ease-out calc(var(--step-delay) + .15s) both; }
@media (prefers-reduced-motion: reduce), print {
  .business-workflow.active .business-step-art { animation: none; opacity: 1; transform: none; }
}
/* Slide 9: share selected content and collect confirmation. */
.confirmation-flow { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; list-style: none; margin: 28px 0 0; padding: 0; }
.confirmation-step { position: relative; padding: 14px 18px; border: 1px solid #477e986e; border-radius: 14px; background: #103249ba; min-height: 218px; }
.confirmation-number { position: absolute; right: 14px; top: 12px; display: block; color: #75d5e7; font-size: 14px; letter-spacing: .08em; margin-bottom: 12px; }
.confirmation-step h3 { font-size: 23px; line-height: 1.2; margin-bottom: 7px; }
.confirmation-step p { color: #b8d0df; font-size: 17px; line-height: 1.4; }
.confirmation-step:not(:last-child)::after { content: "\2192"; position: absolute; right: -25px; top: 50%; transform: translateY(-50%); font-size: 27px; color: #79d9e8; }
.confirmation-step:last-child { background: #123f43ad; border-color: #67cfb27a; }
.confirmation-views { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-top: 24px; }
.confirmation-view { padding: 16px 20px; border-left: 3px solid #6abfea; border-radius: 0 12px 12px 0; background: #14344aaf; }
.confirmation-view-2 { border-left-color: #8bd9bc; }
.confirmation-view-label { color: #8fcfe6; font-size: 12px; font-weight: 700; letter-spacing: .12em; margin-bottom: 7px; }
.confirmation-view-2 .confirmation-view-label { color: #9adfc6; }
.confirmation-view h3 { font-size: 24px; margin-bottom: 6px; }
.confirmation-view-description { font-size: 17px; line-height: 1.4; color: #b8d0df; }
.confirmation-fields { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.confirmation-fields span { padding: 6px 12px; border-radius: 7px; background: #214e64; color: #def1f9; font-size: 16px; }
.confirmation-view-2 .confirmation-fields span { background: #24554f; color: #c5f3df; }
.confirmation-note { margin-top: 20px; padding-left: 16px; border-left: 2px solid #78ccdf; color: #a9c7d7; font-size: 17px; line-height: 1.4; }
.sharing-confirmation.active .slide-head .eyebrow { animation: goalReveal .55s ease-out both; }
.sharing-confirmation.active .slide-head h2 { animation: goalReveal .65s ease-out .1s both; }
.sharing-confirmation.active .slide-head .sub { animation: goalReveal .65s ease-out .2s both; }
.sharing-confirmation.active .confirmation-step { animation: goalReveal .65s ease-out var(--confirm-delay) both; }
.sharing-confirmation.active .confirmation-view { animation: goalReveal .7s ease-out .55s both; }
.sharing-confirmation.active .confirmation-view-2 { animation-delay: .7s; }
.sharing-confirmation.active .confirmation-note { animation: goalReveal .6s ease-out .85s both; }
@media (prefers-reduced-motion: reduce), print {
  .sharing-confirmation.active .slide-head .eyebrow,
  .sharing-confirmation.active .slide-head h2,
  .sharing-confirmation.active .slide-head .sub,
  .sharing-confirmation.active .confirmation-step,
  .sharing-confirmation.active .confirmation-view,
  .sharing-confirmation.active .confirmation-note { animation: none; opacity: 1; transform: none; }
}
.confirmation-art { display: block; width: 100%; height: 104px; object-fit: contain; margin-bottom: 8px; }
.sharing-confirmation.active .confirmation-art { animation: goalArtReveal .7s ease-out calc(var(--confirm-delay) + .15s) both; }
@media (prefers-reduced-motion: reduce), print {
  .sharing-confirmation.active .confirmation-art { animation: none; opacity: 1; transform: none; }
}
/* Slide 10: permissions, roles and data scope. */
.permissions-layout { display: grid; grid-template-columns: 430px minmax(0,1fr); gap: 44px; align-items: center; margin-top: 22px; }
.permissions-art { margin: 0; }
.permissions-art img { display: block; width: 100%; height: 310px; object-fit: contain; }
.permissions-rules { display: grid; gap: 12px; }
.permissions-rule { padding: 14px 20px; border-left: 3px solid #76c9ed; border-radius: 0 12px 12px 0; background: #14374cb3; }
.permissions-rule-2 { border-left-color: #b8acfa; }
.permissions-rule-3 { border-left-color: #90dcbf; }
.permissions-rule h3 { color: #d7f1fc; font-size: 25px; line-height: 1.2; margin-bottom: 6px; }
.permissions-rule-2 h3 { color: #d5cafa; }
.permissions-rule-3 h3 { color: #b6ecd6; }
.permissions-rule p { color: #b8d0df; font-size: 19px; line-height: 1.4; }
.permissions-change { display: grid; grid-template-columns: 260px minmax(0,1fr); gap: 24px; align-items: center; margin-top: 24px; padding: 18px 22px; border: 1px solid #477e986e; border-radius: 14px; background: #103249a8; }
.permissions-change h3 { color: #9bdded; font-size: 25px; line-height: 1.25; }
.permissions-change ul { display: flex; flex-wrap: wrap; gap: 12px 24px; list-style: none; padding: 0; margin: 0; }
.permissions-change li { position: relative; color: #e3f1f8; font-size: 18px; line-height: 1.3; padding-left: 15px; }
.permissions-change li::before { content: ""; position: absolute; left: 0; top: .5em; width: 5px; height: 5px; border-radius: 50%; background: #7ed8e7; }
.permissions-change p { color: #9dbfce; font-size: 17px; line-height: 1.35; margin-top: 12px; }
.permissions-slide.active .slide-head .eyebrow { animation: goalReveal .55s ease-out both; }
.permissions-slide.active .slide-head h2 { animation: goalReveal .65s ease-out .1s both; }
.permissions-slide.active .slide-head .sub { animation: goalReveal .65s ease-out .2s both; }
.permissions-slide.active .permissions-art { animation: goalArtReveal .85s ease-out .15s both; }
.permissions-slide.active .permissions-rule { animation: goalReveal .7s ease-out var(--permission-delay) both; }
.permissions-slide.active .permissions-change { animation: goalReveal .7s ease-out .65s both; }
@media (prefers-reduced-motion: reduce), print {
  .permissions-slide.active .slide-head .eyebrow,
  .permissions-slide.active .slide-head h2,
  .permissions-slide.active .slide-head .sub,
  .permissions-slide.active .permissions-art,
  .permissions-slide.active .permissions-rule,
  .permissions-slide.active .permissions-change { animation: none; opacity: 1; transform: none; }
}
/* Slide 11: visual reporting metrics. */
#deck .reporting-slide .slide-11-grid4-01 { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; margin-top: 28px; }
#deck .reporting-slide .panel { --report-delay: .15s; position: relative; min-height: 332px; padding: 20px; border-radius: 14px; background: #113249a8; }
#deck .reporting-slide .panel:nth-child(2) { --report-delay: .3s; }
#deck .reporting-slide .panel:nth-child(3) { --report-delay: .45s; }
#deck .reporting-slide .panel:nth-child(4) { --report-delay: .6s; }
.reporting-slide .panel .number { position: absolute; top: 16px; right: 16px; font-size: 13px; }
.report-metric-art { display: block; width: 100%; height: 148px; object-fit: contain; margin: 4px 0 14px; }
#deck .reporting-slide .panel h3 { display: flex; align-items: center; min-height: 60px; margin: 0 0 9px; font-size: 26px; line-height: 1.15; }
#deck .reporting-slide .panel p { color: #b7cddd; font-size: 19px; line-height: 1.4; }
.reporting-slide .outcome { margin-top: 26px; font-size: 21px; }
.reporting-slide.active .slide-head .eyebrow { animation: goalReveal .55s ease-out both; }
.reporting-slide.active .slide-head h2 { animation: goalReveal .65s ease-out .1s both; }
.reporting-slide.active .slide-head .sub { animation: goalReveal .65s ease-out .2s both; }
#deck .reporting-slide.active .panel { animation: goalReveal .7s ease-out var(--report-delay) both; }
.reporting-slide.active .report-metric-art { animation: goalArtReveal .8s ease-out calc(var(--report-delay) + .15s) both; }
.reporting-slide.active .outcome { animation: goalReveal .65s ease-out .85s both; }
@media (prefers-reduced-motion: reduce), print {
  .reporting-slide.active .slide-head .eyebrow,
  .reporting-slide.active .slide-head h2,
  .reporting-slide.active .slide-head .sub,
  #deck .reporting-slide.active .panel,
  .reporting-slide.active .report-metric-art,
  .reporting-slide.active .outcome { animation: none; opacity: 1; transform: none; }
}
#deck .slide-12-timeline-01 {
  margin-top: 72px;
}
#deck .slide-12-soft-note-01 {
  margin-top: 46px;
}
/* Slide 13: preparation and continuing technical support. */
.operations-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px; margin-top: 26px; }
.operations-card { --operations-color: #7dcfe5; --operations-delay: .15s; padding: 22px 24px 18px; border: 1px solid #477e986e; border-top: 3px solid var(--operations-color); border-radius: 14px; background: #103249b3; }
.operations-card-support { --operations-color: #91ddbf; --operations-delay: .35s; }
.operations-card-head { display: grid; grid-template-columns: minmax(0,1fr) 156px; gap: 16px; align-items: center; min-height: 130px; margin-bottom: 16px; }
.operations-label { color: var(--operations-color); font-size: 12px; font-weight: 700; letter-spacing: .12em; margin-bottom: 10px; }
.operations-card h3 { color: #eef7fb; font-size: 29px; line-height: 1.2; }
.operations-art { display: block; width: 100%; height: 130px; object-fit: contain; }
.operations-card ul { list-style: none; margin: 0; padding: 0; }
.operations-card li { position: relative; padding: 13px 0 13px 18px; border-top: 1px solid #53738a45; color: #c0d7e4; font-size: 20px; line-height: 1.35; }
.operations-card li::before { content: ""; position: absolute; left: 0; top: 1.17em; width: 5px; height: 5px; border-radius: 50%; background: var(--operations-color); }
.operations-slide.active .slide-head .eyebrow { animation: goalReveal .55s ease-out both; }
.operations-slide.active .slide-head h2 { animation: goalReveal .65s ease-out .1s both; }
.operations-slide.active .slide-head .sub { animation: goalReveal .65s ease-out .2s both; }
.operations-slide.active .operations-card { animation: goalReveal .7s ease-out var(--operations-delay) both; }
.operations-slide.active .operations-art { animation: goalArtReveal .8s ease-out calc(var(--operations-delay) + .2s) both; }
@media (prefers-reduced-motion: reduce), print {
  .operations-slide.active .slide-head .eyebrow,
  .operations-slide.active .slide-head h2,
  .operations-slide.active .slide-head .sub,
  .operations-slide.active .operations-card,
  .operations-slide.active .operations-art { animation: none; opacity: 1; transform: none; }
}
/* Slide 14: closing thank-you with supporting artwork. */
.closing-slide .closing-content { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; column-gap: 28px; row-gap: 10px; min-height: 570px; }
.closing-head { position: relative; }
.closing-slide .closing-head h2 { font-size: 72px; line-height: 1.12; margin: 24px 0 0; letter-spacing: -.025em; }
.closing-head h2 span { color: #78d9e9; }
.closing-art { display: block; width: 100%; height: 370px; object-fit: contain; pointer-events: none; }
.closing-slide.active .closing-head .eyebrow { animation: goalReveal .55s ease-out both; }
.closing-slide.active .closing-head h2 { animation: goalReveal .75s ease-out .1s both; }
.closing-slide.active .closing-art { animation: goalArtReveal .9s ease-out .25s both; }
@media (prefers-reduced-motion: reduce), print {
  .closing-slide.active .closing-head .eyebrow,
  .closing-slide.active .closing-head h2,
  .closing-slide.active .closing-art { animation: none; opacity: 1; transform: none; }
}

.closing-contact { grid-column: 1 / -1; border-top: 1px solid #70d9e940; padding-top: 22px; }
.closing-contact h3 { font-size: 19px; color: #78d9e9; margin: 0 0 22px; font-weight: 600; }
.closing-contact-grid { display: grid; grid-template-columns: .8fr 1fr 1.9fr; gap: 30px; }
.closing-contact-item { display: grid; grid-template-columns: 40px minmax(0, 1fr); align-items: start; gap: 14px; }
.closing-contact-item svg { display: block; width: 40px; height: 40px; padding: 9px; fill: none; stroke: #78d9e9; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; margin: 4px 0 0; background: #78d9e914; border: 1px solid #78d9e930; border-radius: 10px; }
.closing-contact-item h4 { font-size: 17px; line-height: 22px; color: #eef7fc; margin: 0 0 6px; font-weight: 600; }
.closing-contact-item p, .closing-contact-item a { font-size: 18px; line-height: 1.5; color: #b7d0df; margin: 0; text-decoration: none; }
.closing-contact-item a:hover { color: #78d9e9; text-decoration: underline; }
.closing-slide.active .closing-contact { animation: goalReveal .7s ease-out .45s both; }
@media (prefers-reduced-motion: reduce), print {
  .closing-slide.active .closing-contact { animation: none; opacity: 1; transform: none; }
}

/* Current contract management pain points. */
.pain-slide .slide-head h2 { font-size: 48px; }
.pain-layout { display: grid; grid-template-columns: 1fr 1.05fr; gap: 34px; align-items: center; margin-top: 24px; }
.pain-visual { position: relative; display: flex; align-items: center; justify-content: center; }
.pain-visual::before { content: ""; position: absolute; inset: 12% 5%; background: radial-gradient(ellipse, #3e9bc026, transparent 70%); pointer-events: none; }
.pain-visual img { display: block; position: relative; width: 100%; height: 408px; object-fit: contain; }
.pain-list { display: grid; gap: 11px; }
.pain-item { padding: 12px 18px; border-left: 2px solid #edb99c; background: linear-gradient(90deg,#20445d80,#20445d15); border-radius: 0 10px 10px 0; }
.pain-item h3 { margin: 0 0 5px; font-size: 22px; line-height: 1.2; color: #f4e5da; }
.pain-item p { margin: 0; font-size: 17px; line-height: 1.4; color: #bbd2e0; }
.pain-slide.active .slide-head { animation: goalReveal .65s ease-out both; }
.pain-slide.active .pain-visual { animation: goalArtReveal .9s ease-out .15s both; }
.pain-slide.active .pain-item { animation: goalReveal .6s ease-out var(--pain-delay) both; }
@media (prefers-reduced-motion: reduce), print {
  .pain-slide.active .slide-head, .pain-slide.active .pain-visual, .pain-slide.active .pain-item { animation: none; opacity: 1; transform: none; }
}

/* Accounting case study: illustration and open editorial layout. */
.case-head { position: relative; padding-right: 244px; }
.case-slide .case-head h2 { font-size: 52px; }
.case-logo { position: absolute; right: 0; top: 0; width: 220px; height: 86px; padding: 10px 14px; object-fit: contain; background: #fff; border-radius: 6px; box-shadow: 0 5px 20px #0002; }
.case-editorial { display: grid; grid-template-columns: 2.7fr 1fr; gap: 40px; margin-top: 30px; align-items: center; }
.case-phase-row, .case-outcomes { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.case-phase-row { border-bottom: 1px solid #a4c9d52e; padding-bottom: 12px; }
.case-phase-row h3 { font-size: 22px; margin: 0; font-weight: 600; }
.case-phase-row h3 span { font-size: 16px; font-weight: 400; color: #a9c4d3; }
.case-art-row { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin: 7px 0; }
.case-art-window { position: relative; height: 300px; overflow: hidden; }
.case-story-art { display: block; position: absolute; width: 200%; max-width: none; height: auto; top: 50%; left: 0; transform: translateY(-50%); }
.case-art-after .case-story-art { left: -100%; }
.case-progress-number b { font: inherit; font-variant-numeric: tabular-nums; }
.case-before-copy strong { font-variant-numeric: tabular-nums; }
.case-outcomes ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.case-outcomes li { position: relative; padding-left: 16px; font-size: 18px; line-height: 1.35; color: #c5d9e3; }
.case-outcomes li::before { content: ""; position: absolute; left: 0; top: .55em; width: 5px; height: 5px; background: #dfb29a; }
.case-outcomes .case-after-copy li::before { background: #78d9ce; }
.case-before-copy strong { color: #e8b89d; font-weight: 600; }
.case-progress { border-left: 1px solid #9ac5d13b; padding-left: 30px; }
.case-progress-label { font-size: 12px; letter-spacing: .12em; color: #9dc4d6; margin: 0 0 20px; }
.case-progress-number { font-size: 65px; line-height: 1.05; color: #78d9ce; font-weight: 700; letter-spacing: -.035em; white-space: nowrap; }
.case-progress-number span { font-size: 30px; }
.case-progress-caption { font-size: 19px; line-height: 1.5; margin: 12px 0 24px; color: #e2f0f5; }
.case-progress-caption small { font-size: 15px; color: #9cbecd; }
.case-range { display: flex; height: 8px; overflow: hidden; position: relative; background: #8eb1c13b; }
.case-range span:nth-child(1) { width: var(--case-solid, 60%); background: #64cfc3; }
.case-range span:nth-child(2) { width: var(--case-estimate, 20%); background: repeating-linear-gradient(135deg,#64cfc388 0 3px,#64cfc322 3px 6px); }
.case-range span:nth-child(3) { display: none; }
.case-scale { position: relative; height: 24px; font-size: 11px; color: #9fc3d2; margin-top: 7px; }
.case-scale span { position: absolute; }
.case-scale span:nth-child(1) { left: 0; }
.case-scale span:nth-child(2) { left: 60%; transform: translateX(-50%); }
.case-scale span:nth-child(3) { left: 80%; transform: translateX(-50%); }
.case-scale span:nth-child(4) { right: 0; }
.case-next { font-size: 17px; line-height: 1.5; color: #b5d0dd; margin: 23px 0 0; }
.case-next strong { display: block; font-size: 18px; color: #e4f0f6; font-weight: 600; margin-bottom: 7px; }
.case-source { font-size: 12px; color: #92b2c3; line-height: 1.4; margin: 22px 0 0; }
.case-slide.active .case-head { animation: goalReveal .6s ease-out both; }
.case-slide.active .case-art-row { animation: goalArtReveal .85s ease-out .15s both; }
.case-slide.active .case-phase-row, .case-slide.active .case-outcomes { animation: goalReveal .65s ease-out .3s both; }
.case-slide.active .case-progress { animation: goalReveal .7s ease-out .45s both; }
@media (prefers-reduced-motion: reduce), print {
  .case-slide.active .case-head, .case-slide.active .case-art-row, .case-slide.active .case-phase-row, .case-slide.active .case-outcomes, .case-slide.active .case-progress { animation: none; opacity: 1; transform: none; }
}


/* Friendly architecture and document digitization benefits. */
.architecture-slide .slide-head h2, .digitization-benefits .slide-head h2 { font-size: 50px; }
.friendly-architecture { display: grid; grid-template-columns: 1.2fr 1fr; gap: 50px; align-items: center; margin-top: 20px; }
.architecture-hero { display: block; width: 100%; height: 360px; object-fit: contain; }
.architecture-summary { display: grid; gap: 30px; }
.architecture-summary article, .benefits-summary article { position: relative; padding-left: 24px; }
.architecture-summary article::before { content: ""; position: absolute; left: 0; top: 7px; width: 3px; height: 24px; background: #78d9e9; }
.architecture-summary h3, .benefits-summary h3 { font-size: 28px; font-weight: 600; color: #eaf5fb; margin: 0 0 9px; line-height: 1.2; }
.architecture-summary p, .benefits-summary p { font-size: 20px; line-height: 1.45; color: #b4cedd; margin: 0; }
.architecture-compliance { display: flex; align-items: baseline; gap: 24px; border-top: 1px solid #a4c9d533; padding-top: 19px; margin-top: 15px; }
.architecture-compliance span { font-size: 11px; letter-spacing: .12em; color: #78d9e9; flex-shrink: 0; }
.architecture-compliance p { font-size: 17px; color: #b4cedd; margin: 0; }
.friendly-benefits { display: grid; grid-template-columns: 1fr 1.18fr; gap: 42px; align-items: center; margin-top: 32px; }
.benefits-summary { display: grid; gap: 12px; }
.benefits-summary article { width: calc(100% - 66px); min-height: 100px; padding: 17px 32px 17px 55px; background: linear-gradient(90deg, #23515f99, #2b687466); clip-path: polygon(0 0, calc(100% - 25px) 0, 100% 50%, calc(100% - 25px) 100%, 0 100%, 18px 50%); }
.benefits-summary article:nth-child(2) { margin-left: 22px; }
.benefits-summary article:nth-child(3) { margin-left: 44px; }
.benefits-summary article:nth-child(4) { margin-left: 66px; }
.benefits-summary article::before { content: ""; position: absolute; left: 28px; top: 20px; width: 10px; height: 18px; border: solid #63d592; border-width: 0 3px 3px 0; transform: rotate(45deg); }
.benefits-summary h3 { font-size: 26px; margin-bottom: 6px; }
.benefits-summary p { font-size: 18px; }
.benefits-hero { display: block; width: 100%; height: 430px; object-fit: contain; }
.architecture-slide.active .slide-head, .digitization-benefits.active .slide-head { animation: goalReveal .6s ease-out both; }
.architecture-slide.active .architecture-hero, .digitization-benefits.active .benefits-hero { animation: goalArtReveal .9s ease-out .15s both; }
.architecture-slide.active .architecture-summary article, .digitization-benefits.active .benefits-summary article { animation: goalReveal .65s ease-out .2s both; }
.architecture-slide.active .architecture-summary article:nth-child(2), .digitization-benefits.active .benefits-summary article:nth-child(2) { animation-delay: .32s; }
.architecture-slide.active .architecture-summary article:nth-child(3), .digitization-benefits.active .benefits-summary article:nth-child(3) { animation-delay: .44s; }
.digitization-benefits.active .benefits-summary article:nth-child(4) { animation-delay: .56s; }
.architecture-slide.active .architecture-compliance { animation: goalReveal .65s ease-out .6s both; }
@media (prefers-reduced-motion: reduce), print {
  .architecture-slide.active .slide-head, .digitization-benefits.active .slide-head, .architecture-slide.active .architecture-hero, .digitization-benefits.active .benefits-hero, .architecture-slide.active .architecture-summary article, .digitization-benefits.active .benefits-summary article, .architecture-slide.active .architecture-compliance { animation: none; opacity: 1; transform: none; }
}


/* Friendly operating advice with one coherent illustration. */
.operating-tips .slide-head h2 { font-size: 46px; }
.operating-tips-layout { display: grid; grid-template-columns: 1.18fr 1fr; align-items: center; gap: 45px; margin-top: 25px; }
.operating-tips-hero { display: block; width: 100%; height: 400px; object-fit: contain; }
.operating-tips-summary { display: grid; gap: 10px; } .operating-tips-summary article { position: relative; display: grid; grid-template-columns: 1fr; align-content: center; gap: 8px; min-height: 104px; padding: 12px 18px; background: #173d50b3; border: 1px solid #86bdcf45; border-radius: 0 11px 11px 11px; }
.operating-tips-summary .tip-quote { position: absolute; right: 16px; top: 14px; width: 23px; height: 23px; fill: #78d9e9; opacity: .65; pointer-events: none; }
.operating-tips-summary h3 { padding-right: 34px; display: flex; align-items: center; gap: 18px; white-space: nowrap; color: #eaf5fb; font-size: 22px; font-weight: 600; line-height: 1.25; margin: 0; }
.operating-tips-summary h3::after { content: ""; flex: 1; border-top: 1px solid #86bdcf55; } .operating-tips-summary p { text-align: right; color: #b4cedd; font-size: 17px; line-height: 1.4; margin: 0; }
.operating-tips-note { margin: 20px 0 0; padding-top: 16px; border-top: 1px solid #96c4d432; color: #a9c6d6; font-size: 15px; line-height: 1.5; }
.operating-tips-note strong { color: #78d9e9; font-weight: 600; margin-right: 20px; }
.operating-tips.active .slide-head { animation: goalReveal .6s ease-out both; }
.operating-tips.active .operating-tips-hero { animation: goalArtReveal .9s ease-out .15s both; }
.operating-tips.active .operating-tips-summary article { animation: goalReveal .65s ease-out var(--tip-delay) both; }
.operating-tips.active .operating-tips-note { animation: goalReveal .65s ease-out .7s both; }
@media (prefers-reduced-motion: reduce), print {
  .operating-tips.active .slide-head, .operating-tips.active .operating-tips-hero, .operating-tips.active .operating-tips-summary article, .operating-tips.active .operating-tips-note { animation: none; opacity: 1; transform: none; }
}

/* General benefits and VTCODE's delivery approach. */
.benefits-with-vtcode { grid-template-columns: 1fr 1fr; align-items: start; gap: 46px; margin-top: 24px; }
.benefits-column-title { font-size: 23px; font-weight: 600; color: #b9d7e4; margin: 0 0 17px; line-height: 1.2; }
.benefits-with-vtcode .benefits-summary article { min-height: 88px; padding-top: 13px; padding-bottom: 13px; }
.benefits-with-vtcode .benefits-summary h3 { font-size: 24px; }
.benefits-with-vtcode .benefits-summary p { font-size: 17px; }
.vtcode-approach { border-left: 1px solid #8cb4c43b; padding-left: 34px; }
.vtcode-approach > .benefits-column-title { color: #78d9e9; }
.vtcode-approach-list { display: grid; gap: 22px; padding-top: 9px; }
.vtcode-approach-list h3 { font-size: 24px; color: #edf7fc; font-weight: 600; margin: 0 0 7px; }
.vtcode-approach-list p { font-size: 18px; line-height: 1.4; color: #b4cedd; margin: 0; }
.vtcode-approach .benefits-hero { width: 310px; height: 177px; margin: 8px 0 0 auto; }
.digitization-benefits.active .vtcode-approach-list article { animation: goalReveal .65s ease-out var(--approach-delay) both; }
@media (prefers-reduced-motion: reduce), print {
  .digitization-benefits.active .vtcode-approach-list article { animation: none; opacity: 1; transform: none; }
}

/* Balance benefit groups around a central illustration. */
.benefits-with-vtcode { grid-template-columns: 1fr 1.12fr 1fr; gap: 24px; align-items: center; }
.benefits-with-vtcode .benefits-column { align-self: start; position: relative; z-index: 1; }
.benefits-with-vtcode .benefits-column-title { font-size: 22px; }
.benefits-with-vtcode .benefits-summary article { width: calc(100% - 24px); min-height: 86px; padding: 13px 30px 13px 58px; text-align: left; }
.benefits-with-vtcode .benefits-summary article:nth-child(2) { margin-left: 36px; }
.benefits-with-vtcode .benefits-summary article:nth-child(3) { margin-left: 72px; }
.benefits-with-vtcode .benefits-summary article:nth-child(4) { margin-left: 108px; }
.benefits-with-vtcode .benefits-summary article::before { left: 34px; top: 18px; width: 8px; height: 14px; }
.benefits-with-vtcode .benefits-summary h3 { font-size: 22px; }
.benefits-with-vtcode .benefits-summary p { font-size: 16px; line-height: 1.35; }
.benefits-with-vtcode > .benefits-hero { width: 100%; height: 410px; margin: 0; object-fit: contain; }
.benefits-with-vtcode .vtcode-approach { border: 0; padding: 0; align-self: start; position: relative; z-index: 1; }
.benefits-with-vtcode .vtcode-approach-list { gap: 23px; padding-top: 12px; }
.benefits-with-vtcode .vtcode-approach-list article { padding: 0 0 20px; border-bottom: 1px solid #8cb4c42e; }
.benefits-with-vtcode .vtcode-approach-list h3 { font-size: 23px; line-height: 1.2; }
.benefits-with-vtcode .vtcode-approach-list p { font-size: 18px; line-height: 1.45; }

/* Mirror VTCODE arrows toward the central illustration. */
.benefits-with-vtcode .vtcode-approach > .benefits-column-title { text-align: left; }
.benefits-with-vtcode .vtcode-approach-list { gap: 12px; padding-top: 0; }
.benefits-with-vtcode .vtcode-approach-list article { position: relative; width: calc(100% - 24px); min-height: 86px; padding: 13px 30px 13px 58px; border: 0; text-align: left; background: linear-gradient(270deg,#23515f99,#2b687466); clip-path: polygon(25px 0,100% 0,calc(100% - 18px) 50%,100% 100%,25px 100%,0 50%); }
.benefits-with-vtcode .vtcode-approach-list article:nth-child(1) { margin-left: 24px; }
.benefits-with-vtcode .vtcode-approach-list article:nth-child(2) { margin-left: -12px; }
.benefits-with-vtcode .vtcode-approach-list article:nth-child(3) { margin-left: -48px; }
.benefits-with-vtcode .vtcode-approach-list article:nth-child(4) { margin-left: -84px; }
.benefits-with-vtcode .vtcode-approach-list article::before { content: ""; position: absolute; left: 34px; right: auto; top: 18px; width: 8px; height: 14px; border: solid #63d592; border-width: 0 3px 3px 0; transform: rotate(45deg); }
.benefits-with-vtcode .vtcode-approach-list h3 { font-size: 22px; line-height: 1.2; margin: 0 0 6px; color: #eaf5fb; }
.benefits-with-vtcode .vtcode-approach-list p { font-size: 16px; line-height: 1.35; }

/* Distinct, restrained colors keep each benefit easy to scan. */
.benefits-with-vtcode .benefits-summary article,
.benefits-with-vtcode .vtcode-approach-list article {
  background: linear-gradient(var(--card-direction, 100deg), var(--card-color), var(--card-shade));
}
.benefits-with-vtcode .vtcode-approach-list article { --card-direction: 260deg; }
.benefits-with-vtcode .benefits-summary article:nth-child(1) { --card-color: #195478; --card-shade: #153b55ed; }
.benefits-with-vtcode .benefits-summary article:nth-child(2) { --card-color: #17605f; --card-shade: #163f46ed; }
.benefits-with-vtcode .benefits-summary article:nth-child(3) { --card-color: #494d7d; --card-shade: #303650ed; }
.benefits-with-vtcode .benefits-summary article:nth-child(4) { --card-color: #35634c; --card-shade: #234638ed; }
.benefits-with-vtcode .vtcode-approach-list article:nth-child(1) { --card-color: #705830; --card-shade: #4c402ced; }
.benefits-with-vtcode .vtcode-approach-list article:nth-child(2) { --card-color: #764d3b; --card-shade: #50372fed; }
.benefits-with-vtcode .vtcode-approach-list article:nth-child(3) { --card-color: #70435d; --card-shade: #49324aed; }
.benefits-with-vtcode .vtcode-approach-list article:nth-child(4) { --card-color: #505b83; --card-shade: #343e5ced; }
.benefits-with-vtcode .benefits-summary p,
.benefits-with-vtcode .vtcode-approach-list p { color: #dce7ec; }

/* Stagger architecture messages toward the illustration. */
.architecture-summary { gap: 16px; position: relative; z-index: 1; }
.architecture-summary article {
  width: calc(100% - 24px); min-height: 108px;
  padding: 20px 28px 20px 44px;
  border: 1px solid #b5d7e329; border-radius: 6px;
  background: linear-gradient(105deg, var(--architecture-color), var(--architecture-shade));
}
.architecture-summary article:nth-child(1) { margin-left: 24px; --architecture-color: #194e70; --architecture-shade: #16364deb; }
.architecture-summary article:nth-child(2) { margin-left: -12px; --architecture-color: #195b58; --architecture-shade: #163e42eb; }
.architecture-summary article:nth-child(3) { margin-left: -48px; --architecture-color: #494d77; --architecture-shade: #30374feb; }
.architecture-summary article::before { left: 21px; top: 24px; width: 3px; height: 24px; border-radius: 2px; }
.architecture-summary h3 { font-size: 26px; margin-bottom: 8px; }
.architecture-summary p { font-size: 18px; color: #dce7ec; }

/* Digital assets establish the foundation for future AI use. */
.architecture-summary { gap: 12px; }
.architecture-summary article { min-height: 94px; padding-top: 16px; padding-bottom: 16px; }
.architecture-summary article::before { top: 20px; }
.architecture-summary h3 { font-size: 24px; margin-bottom: 7px; }
.architecture-summary article.architecture-ai { margin-left: -84px; --architecture-color: #68532d; --architecture-shade: #433c2e; border-color: #e9c56a66; }
.architecture-summary .architecture-ai::before { background: #ffdb7d; }
.architecture-ai-star { position: absolute; right: 20px; top: 20px; width: 23px; height: 23px; color: #ffdb7d; }
.architecture-summary .architecture-ai h3 { color: #ffe5a6; }
.architecture-slide.active .architecture-summary article:nth-child(4) { animation-delay: .56s; }

.architecture-summary article.architecture-ai { padding-right: 58px; }
.architecture-slide.active .architecture-ai-star { animation: architectureStarFloat 2.6s ease-in-out infinite; }
@keyframes architectureStarFloat {
  0%, 100% { transform: translateY(3px); }
  50% { transform: translateY(-3px); }
}
@media (prefers-reduced-motion: reduce), print {
  .architecture-slide.active .architecture-ai-star { animation: none; transform: none; }
}

/* Four illustrated weeks of the pilot rollout. */
#deck .slide-12-timeline-01 { margin-top: 26px; }
#deck .slide-12-soft-note-01 { margin-top: 24px; }
.slide-12-timeline-01 .time-dot { margin-bottom: 14px; }
.slide-12-timeline-01 .timebox { padding: 14px 16px 18px; min-height: 338px; }
.pilot-step-art { display: block; width: 100%; height: 158px; object-fit: contain; margin-bottom: 12px; }
.slide-12-timeline-01 .number { margin-bottom: 8px; }
.slide-12-timeline-01 .timebox strong { display: block; font-size: 22px; line-height: 1.2; }
.slide-12-timeline-01 .timebox p { font-size: 17px; line-height: 1.4; margin-top: 10px; }
.slide-12-timeline-01 .timecol:nth-child(1) { --pilot-delay: .15s; }
.slide-12-timeline-01 .timecol:nth-child(2) { --pilot-delay: .28s; }
.slide-12-timeline-01 .timecol:nth-child(3) { --pilot-delay: .41s; }
.slide-12-timeline-01 .timecol:nth-child(4) { --pilot-delay: .54s; }
.active .slide-12-timeline-01 .timebox { animation: goalReveal .65s ease-out var(--pilot-delay) both; }
.active .slide-12-timeline-01 .pilot-step-art { animation: goalArtReveal .8s ease-out calc(var(--pilot-delay) + .1s) both; }
@media (prefers-reduced-motion: reduce), print {
  .active .slide-12-timeline-01 .timebox, .active .slide-12-timeline-01 .pilot-step-art { animation: none; opacity: 1; transform: none; }
}

/* Draw the pilot connection from week one to week four on entry. */
.slide-12-timeline-01::before { left: 12.5%; right: 12.5%; }
.slide-12-timeline-01::after {
  content: ""; position: absolute; top: 25px; left: 12.5%; right: 12.5%; height: 3px;
  background: linear-gradient(90deg, #3db4d0, #9beafa);
  box-shadow: 0 0 9px #78d9e966; pointer-events: none;
  transform: scaleX(0); transform-origin: left center;
}
.active .slide-12-timeline-01::after { animation: pilotLineSweep 1.4s ease-in-out .2s both; }
@keyframes pilotLineSweep { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce), print {
  .active .slide-12-timeline-01::after { animation: none; transform: scaleX(1); }
}

/* Partner identity accompanies VTCODE on the opening slide. */
#mast .brand { display: flex; align-items: center; gap: 16px; }
#mast .cover-partner { display: none; align-items: center; gap: 16px; }
#deck:has(.cover.active) #mast .cover-partner { display: flex; }
#mast .cover-partner-divider { color: #a4c9d5; font-size: 22px; font-weight: 400; }
#mast .cover-partner img { display: block; width: 105px; height: 48px; object-fit: contain; }

#mast .vtcode-brand-logo { display: block; width: 144px; height: 46px; padding: 5px 8px; object-fit: contain; background: #c8d8df; border-radius: 6px; opacity: .9; }

/* Section labels replace the brand after the opening slide. */
#mast .mast-chapter { display: flex; align-items: center; gap: 14px; font-size: 14px; font-weight: 600; letter-spacing: .09em; color: #c4dce6; }
#mast #mastPart { color: #78d9e9; font-size: 12px; letter-spacing: .13em; }
#mast .mast-chapter-line { width: 28px; height: 1px; background: #78d9e97a; }
#deck:has(.cover.active) #mast .mast-chapter { display: none; }
#deck:not(:has(.cover.active)) #mast .brand { display: none; }

/* Opening agenda introduces the two presentation parts. */
.agenda-parts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 64px; margin-top: 34px; }
.agenda-part { padding: 22px 30px 26px; background: linear-gradient(135deg,#17465d66,#102e4222); border-top: 2px solid #68d1e7; }
.agenda-part:nth-child(2) { border-top-color: #8bd9bb; background: linear-gradient(135deg,#1d514e55,#102e4222); }
.agenda-part-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.agenda-number { font-size: 70px; line-height: 1; font-weight: 700; color: #78d9e95c; }
.agenda-part-top svg { width: 62px; height: 62px; fill: none; stroke: #78d9e9; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.agenda-part:nth-child(2) .agenda-part-top svg { stroke: #8bd9bb; }
.agenda-label { color: #78d9e9; font-size: 12px; letter-spacing: .14em; font-weight: 700; margin: 0 0 10px; }
.agenda-part:nth-child(2) .agenda-label { color: #8bd9bb; }
.agenda-part h3 { font-size: 32px; line-height: 1.2; color: #eef7fc; margin: 0 0 22px; }
.agenda-part ul { list-style: none; margin: 0; padding: 0; }
.agenda-part li { position: relative; padding: 10px 0 10px 22px; color: #c4dce6; font-size: 20px; line-height: 1.3; border-top: 1px solid #a4c9d51f; }
.agenda-part li::before { content: ""; position: absolute; left: 0; top: 22px; width: 9px; height: 1px; background: #78d9e9; }
.agenda-slide.active .slide-head { animation: goalReveal .6s ease-out both; }
.agenda-slide.active .agenda-part { animation: goalReveal .7s ease-out .15s both; }
.agenda-slide.active .agenda-part:nth-child(2) { animation-delay: .3s; }
@media (prefers-reduced-motion: reduce), print {
  .agenda-slide.active .slide-head, .agenda-slide.active .agenda-part { animation: none; opacity: 1; transform: none; }
}

/* A spacious transition into the contract management project. */
.part-two-content { display: grid; grid-template-columns: 1.4fr 1fr; align-items: center; gap: 40px; min-height: 560px; }
.part-two-copy h2 { font-size: 70px; line-height: 1.12; letter-spacing: -.02em; margin: 24px 0; color: #eef7fc; }
.part-two-copy h2 span { color: #78d9e9; }
.part-two-sub { font-size: 25px; line-height: 1.5; color: #bad5e2; margin: 0; }
.part-two-route { display: flex; align-items: center; gap: 18px; margin-top: 34px; font-size: 17px; color: #a7cedc; }
.part-two-route i { width: 32px; height: 1px; background: #78d9e977; }
.part-two-mark { position: relative; display: grid; place-items: center; height: 390px; }
.part-two-mark > span { font-size: 300px; font-weight: 700; line-height: 1; color: #78d9e916; letter-spacing: -.06em; }
.part-two-mark svg { position: absolute; width: 210px; height: 210px; fill: none; stroke: #85ddec; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transform: rotate(-7deg); filter: drop-shadow(0 0 20px #78d9e933); }
.part-two-divider.active .part-two-copy { animation: goalReveal .8s ease-out both; }
.part-two-divider.active .part-two-mark { animation: goalArtReveal .9s ease-out .2s both; }
@media (prefers-reduced-motion: reduce), print {
  .part-two-divider.active .part-two-copy, .part-two-divider.active .part-two-mark { animation: none; opacity: 1; transform: none; }
}

/* Keep the closing salutation together across scaled presentation sizes. */
.closing-slide .closing-content { grid-template-columns: 1.35fr 1fr; }
.closing-slide .closing-head h2 { font-size: 66px; }
.closing-head h2 .closing-salutation { display: block; white-space: nowrap; color: #eef7fc; }
