
deck-stage {
  --type-display: 124px;
  --type-title: 64px;
  --type-subtitle: 40px;
  --type-body: 34px;
  --type-small: 28px;
  --type-kicker: 24px;
  --pad-x: 120px;
  --pad-top: 96px;
  --pad-bottom: 120px;
  --baseline: 48px;
  --tone-green: oklch(0.52 0.1 162);
  --tone-blue: oklch(0.5 0.13 250);
}
.slide {
  display: flex; flex-direction: column;
  background: var(--color-bg); color: var(--color-text);
  font-family: var(--font-body);
  text-wrap: pretty;
  padding: var(--pad-top) var(--pad-x) var(--pad-bottom);
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
}
.kicker {
  position: absolute; top: calc(1.5 * var(--baseline) - 1cap);
  left: var(--pad-x); right: var(--pad-x); text-box: trim-both cap alphabetic;
  font-size: var(--type-kicker); letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--color-accent);
  font-feature-settings: "tnum" 1;
}
.kicker::after {
  content: ""; position: absolute; left: 0; right: 0;
  top: calc(2.5 * var(--baseline) - 1px - (1.5 * var(--baseline) - 1cap));
  height: 2px; background: var(--color-divider);
}
.slide-title {
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: var(--type-title); line-height: calc(1.5 * var(--baseline)); letter-spacing: -0.015em; margin: 0;
  margin-left: -0.058em;
  text-box: trim-both cap alphabetic;
}
.pin-bottom { position: absolute; left: var(--pad-x); right: var(--pad-x); bottom: var(--pad-bottom); }
.meta { display: flex; align-items: baseline; gap: 18px; font-size: var(--type-kicker); color: color-mix(in srgb, var(--color-text) 55%, transparent); }
.meta span { text-box: trim-both cap alphabetic; }


.cover { justify-content: center; }
.cover .rise { display: flex; flex-direction: column; gap: 48px; }
.display {
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: var(--type-display); line-height: calc(2.5 * var(--baseline)); letter-spacing: -0.02em; margin: 0;
  margin-left: -0.058em;
}
.cover-sub { font-size: var(--type-subtitle); line-height: var(--baseline); max-width: 46ch; margin: 0; }

.content { padding-top: calc(5 * var(--baseline)); }
.content > .slide-title { margin-top: -1cap; }
.content > .bullets { margin-top: calc(2.5 * var(--baseline) - 1cap); }
.content > .table { margin-top: calc(2 * var(--baseline)); }

.bullets { display: flex; flex-direction: column; max-width: 1400px; margin: 0; padding: 0; list-style: none; font-size: var(--type-body); }
.bullets li { position: relative; line-height: var(--baseline); text-box: trim-both cap alphabetic; padding-left: 40px; }
.bullets li + li { margin-top: calc(1.5 * var(--baseline) - 1cap); }
.bullets li::before { content: ""; position: absolute; left: 0; top: calc(0.5cap - 5px); width: 10px; height: 10px; background: var(--color-accent); }

.cols { display: grid; column-gap: var(--baseline); margin-top: calc(2.2 * var(--baseline) - 1px); }
.cols-2 { grid-template-columns: 1fr 1fr; }
.cols-3 { grid-template-columns: 1fr 1fr 1fr; }
.cols-4 { grid-template-columns: repeat(4, 1fr); }
.cols > div { border-top: 2px solid var(--color-divider); padding-top: calc(var(--baseline) - 1cap - 1px); }
.cols h3 { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: var(--type-body); line-height: var(--baseline); margin: 0;
  margin-top: calc(var(--baseline) - 1cap - 1px);
  text-box: trim-both cap alphabetic; }
.cols .step-no { display: block; font-size: var(--type-kicker); color: var(--color-accent);
  font-feature-settings: "tnum" 1; margin-top: calc(var(--baseline) - 1cap - 1px); }
.cols .step-no + h3 { margin-top: calc(var(--baseline) - 1cap); }
.cols h3.team-name { margin-top: calc(var(--baseline) - 1cap); }
.cols .team-role { display: block; font-size: var(--type-kicker); color: var(--color-accent);
  text-transform: uppercase; letter-spacing: 0.06em; margin-top: 10px; }
.cols p { font-size: var(--type-small); line-height: var(--baseline); margin: 0;
  margin-top: calc(var(--baseline) - 1cap); max-width: 36ch;
  text-box: trim-both cap alphabetic; }
.cols .big-stat-num { margin-top: calc(0.5 * var(--baseline)); }

.ask { flex: 1; display: flex; flex-direction: column; justify-content: space-between;
  margin-top: calc(1.5 * var(--baseline)); }
.ask-label { font-family: var(--font-heading); font-weight: 600; font-size: var(--type-kicker);
  letter-spacing: 0.08em; text-transform: uppercase; margin: 0;
  color: color-mix(in srgb, var(--color-text) 50%, transparent); }
.ask .cols { margin-top: calc(0.5 * var(--baseline)); }
.ask .cols h3 { font-size: 28px; line-height: 1.2; margin-top: calc(0.62 * var(--baseline) - 1cap); }
.ask .cols p { font-size: 24px; line-height: 1.3; margin-top: 12px; max-width: 32ch; }
.ask .cols > div { padding-top: calc(0.62 * var(--baseline) - 1cap - 1px); }
.raise + .ask-group .cols > div:first-child { grid-column: span 2; }
.raise + .ask-group .cols > div:first-child p { max-width: 46ch; }

.raise { display: grid; grid-template-columns: auto 1fr; column-gap: calc(1.6 * var(--baseline));
  align-items: start; border-top: 2px solid var(--color-divider);
  padding-top: calc(0.62 * var(--baseline) - 1cap - 1px); }
.raise-num { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 108px; line-height: 0.86; letter-spacing: -0.02em; margin: 16px 0 0;
  font-feature-settings: "tnum" 1; color: var(--color-accent); }
.raise-notes { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--baseline); margin-top: 14px; }
.raise-notes p { font-size: 24px; line-height: 1.3; margin: 0; max-width: 34ch;
  color: color-mix(in srgb, var(--color-text) 75%, transparent); }
.raise-notes strong { display: block; font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 28px; line-height: 1.2; color: var(--color-text); margin-bottom: 10px; }

.flow { display: flex; align-items: flex-start; column-gap: 20px; margin-top: calc(2.2 * var(--baseline) - 1px); }
.flow-step { flex: 1 1 0; min-width: 0; border-top: 2px solid var(--color-divider); padding-top: calc(var(--baseline) - 1cap - 1px); }
.flow-step .step-no { display: block; font-size: var(--type-kicker); color: var(--color-accent); font-feature-settings: "tnum" 1; }
.flow-step h3 { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: var(--type-body); line-height: var(--baseline); margin: 0; margin-top: calc(var(--baseline) - 1cap); text-box: trim-both cap alphabetic; }
.flow-step p { font-size: var(--type-small); line-height: var(--baseline); margin: 0; margin-top: calc(var(--baseline) - 1cap); text-box: trim-both cap alphabetic; }
.flow-arrow { flex: 0 0 auto; width: 32px; padding-top: calc(var(--baseline) - 1cap - 1px + 4px); color: var(--color-accent); }
.flow-arrow svg { display: block; width: 32px; height: 32px; }

.tone-green .kicker { color: var(--tone-green); }
.tone-green .flow-icon-row svg, .tone-green .flow-arrow { color: var(--tone-green); }
.tone-green .flow-step .step-no { color: var(--tone-green); }

.flow-shots { align-items: stretch; }
.flow-shots .flow-arrow { align-self: flex-start; }
.flow-shots .flow-step { display: flex; flex-direction: column; }
.flow-shots .flow-step p { margin-bottom: calc(0.5 * var(--baseline)); }
.slide:has(.flow-shots) { padding-bottom: calc(1.5 * var(--baseline)); }
.step-shot { position: relative; height: 276px; aspect-ratio: 264 / 293; width: auto; max-width: 100%;
  align-self: flex-start; flex: 0 0 auto; min-height: 0; margin: 0; margin-top: auto; overflow: hidden; background: var(--color-neutral-200); }
.step-shot-crop { position: absolute; inset: 0; }
.flow-shots .step-shot { opacity: 0; transition: opacity 300ms ease; }
.flow-shots .step-shot[data-shown] { opacity: 1; }
@media print { .flow-shots .step-shot { opacity: 1 !important; } }
.step-shot video { position: absolute; top: -118.771%; left: var(--shot-x, 0);
  width: 484.848%; height: 245.734%; border: 0; object-fit: fill; }
.tone-green .bullets li::before { background: var(--tone-green); }
.tone-green .bullets strong { color: var(--tone-green); }
.tone-green .note strong { color: var(--tone-green); }

.hub { position: relative; flex: 0 0 auto; width: 1680px; height: 518px; margin-top: calc(0.3 * var(--baseline)); }
.hub-lines { position: absolute; inset: 0; width: 100%; height: 100%; }
.hub-lines line { stroke: var(--color-neutral-500); stroke-width: 2.5; }
.hub-core { position: absolute; left: 840px; top: 259px; transform: translate(-50%, -50%);
  width: 244px; height: 244px; border: 2px solid var(--tone-green); border-radius: 50%;
  background: var(--color-bg); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; }
.hub-core img { width: 96px; height: 82px; object-fit: contain; mix-blend-mode: multiply; }
.hub-core span { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 38px; letter-spacing: -0.01em; color: var(--tone-green); }
.hub-node { position: absolute; transform: translate(-50%, -50%); width: 320px;
  padding: 12px 0; text-align: center; }
.hub-node figure { display: flex; align-items: center; justify-content: center; gap: 20px; height: 86px;
  width: fit-content; margin: 0 auto; padding: 0 18px; background: var(--color-bg); }
.hub-node figure img { max-height: 86px; max-width: 250px; width: auto; object-fit: contain; mix-blend-mode: multiply; }
.hub-node figure.duo img { max-height: 54px; max-width: 150px; }
.hub-node h4 { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 34px; line-height: 1.1; margin: 18px 0 0; }
.hub-node p { font-size: 27px; line-height: 1.25; margin: 6px 0 0;
  color: color-mix(in srgb, var(--color-text) 62%, transparent); }
.hub-lead { font-size: var(--type-small); line-height: var(--baseline); margin: calc(0.9 * var(--baseline) - 1cap) 0 0;
  max-width: none; color: color-mix(in srgb, var(--color-text) 85%, transparent); }
.hub-lead strong { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  color: var(--tone-green); }

.tl-fig { margin-top: calc(1.5 * var(--baseline) - 1cap); }
.tl-fig.tl-tight { margin-top: calc(0.5 * var(--baseline) - 1cap); }
.tl-fig svg { display: block; width: 100%; height: auto; overflow: visible; }
.tl-fig text { font-family: var(--font-body); font-size: 24px; fill: color-mix(in srgb, var(--color-text) 55%, transparent); font-feature-settings: "tnum" 1; }
.tl-fig .tl-line { stroke: var(--color-divider); stroke-width: 1; }
.tl-fig .tl-node { fill: var(--color-neutral-800); }
.tl-fig .tl-node-hi { fill: var(--color-accent); }
.tl-fig .tl-label { fill: var(--color-text); font-size: 24px; font-family: var(--font-heading); font-weight: 600; }

/* Slide 10 — Enter reveals the Assuta Ashdod milestone */
.tl-fig .tl-prog { stroke: var(--color-accent); stroke-width: 4; stroke-dasharray: 520; stroke-dashoffset: 520; }
.tl-fig[data-reveal] .tl-prog { stroke-dashoffset: 0; transition: stroke-dashoffset 560ms cubic-bezier(.65,0,.35,1); }
.tl-fig .tl-ping { fill: none; stroke: var(--color-accent); stroke-width: 2; opacity: 0; transform-box: fill-box; transform-origin: center; }
.tl-fig[data-reveal] .tl-ping { animation: tl-ping 720ms 460ms cubic-bezier(.2,.75,.3,1) both; }
@keyframes tl-ping { from { opacity: 1; transform: scale(1); } to { opacity: 0; transform: scale(4); } }
.tl-fig .tl-node-2 { transition: fill 1ms 470ms steps(1); }
.tl-fig[data-reveal] .tl-node-2 { fill: var(--color-accent); }
.tl-fig .tl-flag { fill: var(--color-accent); transform-box: fill-box; transform-origin: left center; transform: scaleX(0); }
.tl-fig[data-reveal] .tl-flag { transform: scaleX(1); transition: transform 360ms 600ms cubic-bezier(.65,0,.35,1); }
.tl-fig .tl-label-2, .tl-fig .tl-sub-2 { transform-box: fill-box; transition: transform 360ms 600ms cubic-bezier(.65,0,.35,1), fill 1ms 760ms steps(1); }
.tl-fig[data-reveal] .tl-label-2 { fill: var(--color-bg); transform: translateX(14px); }
.tl-fig[data-reveal] .tl-sub-2 { fill: var(--color-accent-700); transform: translateX(14px); }
/* Slide 08 — Enter extends the ribbon left to right */
[data-anim-group] .g6-ribbon .seg, [data-anim-group] .g6-ribbon .seg-hi { transform: scaleX(0); transform-box: fill-box; transform-origin: left center; }
[data-anim-group][data-reveal] .g6-ribbon .seg, [data-anim-group][data-reveal] .g6-ribbon .seg-hi { transform: scaleX(1); transition: transform 460ms var(--d, 0ms) cubic-bezier(.65,0,.35,1); }

/* Slide 06 — the market chart builds on entry */
@media (prefers-reduced-motion: no-preference) {
  [data-deck-active] .mkt-chart .base { transform-box: fill-box; transform-origin: left center; animation: mk-base 420ms cubic-bezier(.65,0,.35,1) both; }
  [data-deck-active] .mkt-chart .bar, [data-deck-active] .mkt-chart .bar-hi { transform-box: fill-box; transform-origin: center bottom; animation: mk-bar 560ms var(--d, 0ms) cubic-bezier(.2,.85,.25,1) both; }
  [data-deck-active] .mkt-chart .val { animation: mk-val 360ms var(--d, 0ms) ease both; }
  [data-deck-active] .mkt-chart .yr { animation: mk-val 360ms var(--d, 0ms) ease both; }
}
@keyframes mk-base { from { transform: scaleX(0); } }
@keyframes mk-bar { from { transform: scaleY(0); } }
@keyframes mk-val { from { opacity: 0; } }

/* Slide 03 — the solution diagram */
.sol-dia { margin: calc(1.5 * var(--baseline)) 0 0; width: 100%; }
.sol-dia svg { display: block; width: 100%; height: auto; overflow: visible; }
.sol-dia .box { fill: none; stroke: var(--color-text); stroke-width: 2; }
.sol-dia .box-hi { fill: var(--tone-green); stroke: none; }
.sol-dia .t1 { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 38px; fill: var(--color-text); }
.sol-dia .t2 { font-family: var(--font-body); font-size: 26px; fill: color-mix(in srgb, var(--color-text) 62%, transparent); }
.sol-dia .on-hi { fill: #fff; }
.sol-dia .on-hi-2 { fill: color-mix(in srgb, #fff 82%, transparent); }
.sol-dia .ln { stroke: var(--color-text); stroke-width: 2; }
.sol-dia .head { fill: var(--color-text); }
.sol-dia .lbl { font-family: var(--font-body); font-size: 24px; fill: var(--tone-green); letter-spacing: 0.04em; text-transform: uppercase; }
@media (prefers-reduced-motion: no-preference) {
  [data-deck-active] .sol-dia .u { animation: dia-in 520ms var(--d, 0ms) cubic-bezier(.2,.8,.2,1) both; }
  [data-deck-active] .sol-dia .ln { stroke-dasharray: 120; animation: dia-draw 340ms var(--d, 0ms) cubic-bezier(.65,0,.35,1) both; }
  [data-deck-active] .sol-dia .head, [data-deck-active] .sol-dia .lbl { animation: dia-fade 280ms var(--d, 0ms) ease both; }
}
@keyframes dia-in { from { opacity: 0; transform: translateY(12px); } }
@keyframes dia-draw { from { stroke-dashoffset: 120; } to { stroke-dashoffset: 0; } }
@keyframes dia-fade { from { opacity: 0; } }

/* Slide 04 - the pipeline strip, carried over from the solution slide */
.dia-strip { margin-top: calc(0.75 * var(--baseline)); }
.dia-strip .t1 { font-size: 30px; }
.dia-strip .t2 { font-size: 25px; }
.dia-strip .lbl { display: none; }
.slide:has(.dia-strip) .flow { margin-top: calc(0.85 * var(--baseline)); }
.slide:has(.dia-strip) .flow-step p { line-height: 42px; }
.slide:has(.dia-strip) .step-shot { height: 206px; }

/* Slide 05 - Enter brings the four explanations in */
.now2[data-anim-group] p:not(.gtm-label) { opacity: 0; transform: translateY(10px); }
.now2[data-anim-group][data-reveal] p:not(.gtm-label) { opacity: 1; transform: none;
  transition: opacity 460ms var(--d, 0ms) ease, transform 460ms var(--d, 0ms) cubic-bezier(.2,.8,.2,1); }
.now2 > div:nth-child(2) p { --d: 120ms; }
.now2 > div:nth-child(3) p { --d: 240ms; }
.now2 > div:nth-child(4) p { --d: 360ms; }

/* Slide 07 - Enter draws ScoraMed's four ticks */
.vs-grid[data-anim-group] .vs-us .vs-mark svg path { stroke-dasharray: 27; stroke-dashoffset: 27; }
.vs-grid[data-anim-group][data-reveal] .vs-us .vs-mark svg path { stroke-dashoffset: 0;
  transition: stroke-dashoffset 400ms var(--d, 0ms) cubic-bezier(.65,0,.35,1); }
.vs-us + .vs-us .vs-mark svg path { --d: 0ms; }
.vs-us + .vs-us + .vs-us .vs-mark svg path { --d: 130ms; }
.vs-us + .vs-us + .vs-us + .vs-us .vs-mark svg path { --d: 260ms; }
.vs-us + .vs-us + .vs-us + .vs-us + .vs-us .vs-mark svg path { --d: 390ms; }

/* Slide 10 - the network draws itself out of the ScoraMed core */
@media (prefers-reduced-motion: no-preference) {
  [data-deck-active] .hub-core { animation: hub-core-in 420ms 380ms cubic-bezier(.2,.8,.2,1) both; }
  [data-deck-active] .hub-lines line { stroke-dasharray: 560;
    animation: hub-draw 620ms 560ms cubic-bezier(.55,0,.45,1) both; }
  [data-deck-active] .hub-node { animation: hub-node-in 400ms var(--nd, 0ms) cubic-bezier(.2,.8,.2,1) both; }
}
.hub-node.nd-far { --nd: 1200ms; }
.hub-node.nd-mid { --nd: 970ms; }
.hub-node.nd-near { --nd: 930ms; }
@keyframes hub-core-in { from { opacity: 0; transform: translate(-50%, -50%) scale(0.92); } }
@keyframes hub-draw { from { stroke-dashoffset: 560; } }
@keyframes hub-node-in { from { opacity: 0; transform: translate(-50%, -50%) scale(0.96); } }

@media print {
  .now2[data-anim-group] p { opacity: 1 !important; transform: none !important; }
  .vs-grid[data-anim-group] .vs-us .vs-mark svg path { stroke-dashoffset: 0 !important; }
  .hub-lines line { stroke-dasharray: none !important; stroke-dashoffset: 0 !important; }
  .hub-node, .hub-core { opacity: 1 !important; }
}
@media (prefers-reduced-motion: reduce) {
  .now2[data-anim-group][data-reveal] p:not(.gtm-label),
  .vs-grid[data-anim-group][data-reveal] .vs-us .vs-mark svg path { transition-duration: 1ms; transition-delay: 0ms; }
}

/* Slide 02 - Enter slams a rubber stamp onto step 02 */
.flow .flow-step { position: relative; }
.flow.time-flow { position: relative; }
.stamp { position: absolute; left: 50%; top: 50%; z-index: 2; pointer-events: none; opacity: 0;
  transform: translate(-50%, -50%) rotate(-6deg) scale(1.3);
  border: 9px solid var(--color-accent); padding: 20px 30px 24px; background: transparent;
  mix-blend-mode: multiply; box-shadow: inset 0 0 0 5px var(--color-bg), inset 0 0 0 11px var(--color-accent); }
.stamp span { display: block; font-family: var(--font-heading); font-weight: 700; font-size: 104px; line-height: 1;
  letter-spacing: 0.01em; text-transform: uppercase; color: var(--color-accent); white-space: nowrap;
  text-box: trim-both cap alphabetic; }
[data-anim-group][data-reveal] .stamp { animation: stamp-hit 460ms cubic-bezier(.3,.9,.2,1) both; }
[data-anim-group][data-reveal].stamp-target,
[data-anim-group][data-reveal] .stamp-target { animation: stamp-jolt 320ms 300ms cubic-bezier(.3,.9,.3,1) both; }
@keyframes stamp-hit {
  0% { opacity: 0; transform: translate(-50%, -50%) rotate(-6deg) scale(1.3); }
  58% { opacity: 0.35; }
  72% { opacity: 1; transform: translate(-50%, -50%) rotate(-6deg) scale(0.97); }
  86% { transform: translate(-50%, -50%) rotate(-6deg) scale(1.015); }
  100% { opacity: 1; transform: translate(-50%, -50%) rotate(-6deg) scale(1); }
}
@keyframes stamp-jolt {
  0% { transform: translateY(0); }
  22% { transform: translateY(5px); }
  55% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}

/* Cover — the mark wipes in behind an accent edge each time the slide lands */
@media (prefers-reduced-motion: no-preference) {
  [data-deck-active] .cover-logo img { animation: logo-wipe 760ms 200ms cubic-bezier(.65,0,.35,1) both; }
  [data-deck-active] .cover-logo::after { content: ""; position: absolute; top: 8px; bottom: 8px; left: 0; width: 4px;
    background: var(--color-accent); animation: logo-edge 960ms 200ms cubic-bezier(.65,0,.35,1) both; }
  [data-deck-active] .cover-logo::before { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1;
    mix-blend-mode: screen; background-repeat: no-repeat; background-size: 220% 100%;
    background-image: linear-gradient(104deg, transparent 38%, rgba(255,255,255,0.92) 50%, transparent 62%);
    animation: logo-sheen 5.4s 1.3s linear infinite; }
}
@keyframes logo-sheen {
  0% { background-position: -120% 0; opacity: 0; }
  4% { opacity: 1; }
  26% { background-position: 220% 0; opacity: 1; }
  30%, 100% { background-position: 220% 0; opacity: 0; }
}
@keyframes logo-wipe { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes logo-edge {
  0% { transform: translateX(0); opacity: 1; }
  79% { transform: translateX(152px); opacity: 1; }
  100% { transform: translateX(152px); opacity: 0; }
}

/* Slide 09 — Enter fills the savings bars in sequence */
[data-anim-group] .mb-bar, [data-anim-group] .mb-seg { transform: scaleX(0); transform-origin: left center; }
[data-anim-group][data-reveal] .mb-bar, [data-anim-group][data-reveal] .mb-seg { transform: scaleX(1); transition: transform 620ms var(--d, 0ms) cubic-bezier(.65,0,.35,1); }
[data-anim-group] .mb-seg span { opacity: 0; }
[data-anim-group][data-reveal] .mb-seg span { opacity: 1; transition: opacity 200ms calc(var(--d, 0ms) + 380ms) linear; }
[data-anim-group] .mb-total { opacity: 0; transform: translateY(8px); }
[data-anim-group][data-reveal] .mb-total { opacity: 1; transform: none; transition: opacity 300ms 1040ms ease, transform 300ms 1040ms cubic-bezier(.2,.8,.2,1); }
@media print {
  [data-anim-group] .g6-ribbon .seg, [data-anim-group] .g6-ribbon .seg-hi,
  [data-anim-group] .stamp, [data-anim-group] .stamp-target,
  [data-anim-group] .mb-bar, [data-anim-group] .mb-seg, [data-anim-group] .mb-seg span, [data-anim-group] .mb-total,
  .tl-fig .tl-prog, .tl-fig .tl-flag { transform: none !important; opacity: 1 !important; stroke-dashoffset: 0 !important; }
  .tl-fig .tl-label-2 { fill: var(--color-bg) !important; }
  .tl-fig .tl-node-2 { fill: var(--color-accent) !important; }
}
@media (prefers-reduced-motion: reduce) {
  [data-anim-group][data-reveal] .g6-ribbon .seg, [data-anim-group][data-reveal] .g6-ribbon .seg-hi,
  [data-anim-group][data-reveal] .mb-bar, [data-anim-group][data-reveal] .mb-seg,
  [data-anim-group][data-reveal] .mb-seg span, [data-anim-group][data-reveal] .mb-total { transition-duration: 1ms; transition-delay: 0ms; }
  .tl-fig[data-reveal] .tl-prog, .tl-fig[data-reveal] .tl-flag,
  .tl-fig[data-reveal] .tl-label-2, .tl-fig[data-reveal] .tl-sub-2 { transition-duration: 1ms; transition-delay: 0ms; }
  .tl-fig[data-reveal] .tl-ping { animation: none; }
}
.cols .bullets { font-size: var(--type-small); max-width: none; margin-top: calc(var(--baseline) - 1cap); }
.cols .bullets li { padding-left: 32px; }
.cols .bullets li::before { width: 8px; height: 8px; }
.cols .bullets li + li { margin-top: calc(var(--baseline) - 1cap); }

.stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); column-gap: var(--baseline); margin-top: calc(2.2 * var(--baseline) - 1px); }
.stat-grid > div { border-top: 2px solid var(--color-divider); padding-top: calc(var(--baseline) - 1cap - 1px); }
.stat-num { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 100px; line-height: 1; letter-spacing: -0.02em; color: var(--color-accent); margin: 0; margin-left: -0.06em; }
.stat-label { font-size: var(--type-small); line-height: var(--baseline); margin: calc(var(--baseline) - 1cap) 0 0; max-width: 30ch; text-box: trim-both cap alphabetic; }

.big-stat-num { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 156px; line-height: 1; letter-spacing: -0.02em; color: var(--color-accent); margin: 0; margin-left: -0.07em; }
.big-stat-label { font-size: var(--type-small); line-height: var(--baseline); margin: calc(var(--baseline) - 1cap) 0 0; max-width: 38ch; text-box: trim-both cap alphabetic; }

.foot-note { font-size: var(--type-small); line-height: var(--baseline); max-width: 120ch; margin-top: calc(1.5 * var(--baseline) - 1cap); color: color-mix(in srgb, var(--color-text) 70%, transparent); text-box: trim-both cap alphabetic; }

.team-photo { width: 168px; height: 168px; margin-top: calc(var(--baseline) - 1px); }
.team-photo image-slot { width: 100%; height: 100%; }
.team-photo img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; display: block; }

.slide .table { max-width: 1680px; font-size: 29px; font-feature-settings: "tnum" 1; }
.slide .table th, .slide .table td { text-box: trim-both cap alphabetic; }
.slide .table th { font-size: var(--type-kicker); padding: calc(var(--baseline) - 0.5cap) 24px calc(var(--baseline) - 0.5cap - 1px); }
.slide .table td { padding: calc(var(--baseline) - 0.5cap - 0.5px) 24px calc(var(--baseline) - 0.5cap - 0.5px); }
.slide .table tbody tr:hover { background: none; }
.slide .table th:first-child, .slide .table td:first-child { padding-left: 0; }
.slide .table th:last-child, .slide .table td:last-child { padding-right: 0; }

.hero { justify-content: center; gap: 48px; }
.hero-num { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 280px; line-height: 1; letter-spacing: -0.02em; margin: 0; color: var(--color-accent); margin-left: -0.101em; }
.hero-caption { font-size: var(--type-small); line-height: var(--baseline); max-width: 52ch; margin: 0; }

.roi { justify-content: flex-start; padding-top: calc(3.4 * var(--baseline)); gap: 0; }
.roi .hero-num { font-size: 232px; }
.roi .hero-caption { font-size: var(--type-subtitle); line-height: calc(1.15 * var(--baseline));
  max-width: 34ch; margin-top: calc(0.6 * var(--baseline)); }
.roi .foot-note { margin-top: calc(0.9 * var(--baseline)); max-width: 96ch; }
.roi-row { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: var(--baseline);
  margin-top: auto; }
.roi-row > div { border-top: 2px solid var(--color-divider); padding-top: 22px; }
.roi-label { font-family: var(--font-heading); font-weight: 600; font-size: 24px;
  letter-spacing: 0.06em; text-transform: uppercase; margin: 0 0 14px;
  color: color-mix(in srgb, var(--color-text) 55%, transparent); }
.roi-math { font-family: var(--font-heading); font-weight: 600; font-size: 30px; line-height: 1.25;
  margin: calc(0.62 * var(--baseline)) 0 calc(0.7 * var(--baseline)); color: color-mix(in srgb, var(--color-text) 70%, transparent); }
.roi-math strong { font-weight: var(--font-heading-weight); color: var(--color-text); }
.roi-math em { font-style: normal; color: var(--color-accent); }
.roi-num { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 76px; line-height: 1; letter-spacing: -0.02em; margin: 0; margin-left: -0.03em; }
.roi-copy { font-size: var(--type-small); line-height: var(--baseline); max-width: 34ch;
  margin: calc(0.7 * var(--baseline) - 1cap) 0 0; text-box: trim-both cap alphabetic;
  color: color-mix(in srgb, var(--color-text) 72%, transparent); }

.poster { background: var(--color-bg); color: var(--color-text); justify-content: flex-start;
  padding-top: calc(2.9 * var(--baseline)); gap: calc(0.8 * var(--baseline)); overflow: hidden; }
.poster .kicker { color: var(--color-accent); }
.poster-problem { background: var(--color-accent); color: #fff; }
.poster-problem .kicker { color: color-mix(in srgb, #fff 82%, transparent); }
.poster-problem .kicker::after { background: color-mix(in srgb, #fff 45%, transparent); }
.poster-problem .poster-big { color: #fff; }
.poster-lead { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 74px; line-height: 1.1; letter-spacing: -0.027em; margin: 0; margin-left: -0.037em; max-width: 26ch; }
.poster-big { position: relative; font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 62px; line-height: 1.12; letter-spacing: -0.025em; margin: 0; margin-left: -0.035em; max-width: 30ch;
  padding-top: calc(0.9 * var(--baseline)); }
.poster-big::before { content: ""; position: absolute; top: 0; left: 0; width: 160px; height: 2px;
  background: color-mix(in srgb, currentColor 45%, transparent); }
.poster-big em { font-style: normal; color: var(--color-accent); }
.poster-problem .poster-big em { color: #fff; }
.poster-answer { position: absolute; left: 0; right: 0; bottom: 0;
  background: var(--tone-green); color: #fff;
  padding: calc(1.15 * var(--baseline)) var(--pad-x) calc(1.25 * var(--baseline)); }
.poster-answer p { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 104px; line-height: 1.02; letter-spacing: -0.03em; margin: 0; margin-left: -0.045em; }
.poster-answer span { display: block; font-family: var(--font-body); font-size: var(--type-subtitle);
  line-height: calc(1.1 * var(--baseline)); margin-top: calc(0.6 * var(--baseline)); max-width: 46ch;
  color: color-mix(in srgb, #fff 90%, transparent); }

.quote { justify-content: flex-start; padding-top: calc(3.5 * var(--baseline)); gap: 32px; }
.quote .rise { display: flex; flex-direction: column; gap: 28px; }
.quote blockquote { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 56px; line-height: calc(1.5 * var(--baseline)); letter-spacing: -0.015em;
  max-width: 1400px; margin: 0; }
.quote figcaption { font-size: var(--type-small); margin: 0; text-indent: -1.209em; }

.half-bleed { padding-top: calc(5 * var(--baseline)); }
.half-bleed .kicker::after { display: none; }
.half-bleed .kicker { right: auto; }
.half-bleed > .slide-title { margin-top: -1cap; max-width: 680px; }
.half-bleed .note { font-size: var(--type-small); line-height: var(--baseline); max-width: 680px;
  margin: calc(2 * var(--baseline) - 1cap) 0 0; text-box: trim-both cap alphabetic; color: color-mix(in srgb, var(--color-text) 70%, transparent); }
.half-bleed .note + .bullets { margin-top: calc(1.4 * var(--baseline) - 1cap); }
.half-bleed .bullets { margin-top: calc(2.5 * var(--baseline) - 1cap); max-width: 680px; }
.half-bleed-figure { position: absolute; inset: 0 auto 0 0; width: 960px; margin: 0; }
.half-bleed-figure image-slot { width: 100%; height: 100%; }
.slide-solution { justify-content: flex-start; }
.slide-solution > .sol-top { flex: 1; display: flex; flex-direction: column; justify-content: center; }
.slide-solution > .sol-top > .slide-title { font-size: 96px; line-height: 1.06; letter-spacing: -0.022em; }
.slide-solution .sol-lead { font-size: 52px; max-width: 50ch;
  margin-top: calc(2 * var(--baseline) - 1cap); }
.sol-lead { font-family: var(--font-body); font-weight: 400;
  font-size: 46px; line-height: 1.28; letter-spacing: -0.008em; max-width: 52ch;
  margin: calc(1.6 * var(--baseline) - 1cap) 0 0; text-box: trim-both cap alphabetic;
  color: color-mix(in srgb, var(--color-text) 84%, transparent); }
.sol-lead strong { font-family: var(--font-heading); font-weight: var(--font-heading-weight); color: var(--tone-green); }
/* Slide 03 - the lead follows the headline in, a beat later */
@media (prefers-reduced-motion: no-preference) {
  .slide-solution[data-deck-active] .sol-lead.rise { animation: sol-lead-in 0.68s 0.34s cubic-bezier(0.2, 0.8, 0.2, 1) both; }
  .slide-solution[data-deck-active] .sol-lead strong { animation: lead-ink 0.55s 0.78s ease both; }
}
@keyframes sol-lead-in { from { opacity: 0; transform: translateY(20px); } }
@keyframes lead-ink { from { color: var(--color-text); } }
.sol-cols { display: grid; grid-template-columns: repeat(3, 1fr);
  background: var(--tone-green); color: #fff;
  margin: 0 calc(-1 * var(--pad-x)) calc(-1 * var(--pad-bottom));
  padding: calc(1.9 * var(--baseline)) var(--pad-x) calc(2 * var(--baseline)); }
.sol-cols > div + div { border-left: 2px solid color-mix(in srgb, #fff 42%, transparent);
  padding-left: calc(0.95 * var(--baseline)); }
.sol-cols > div { padding-right: calc(0.95 * var(--baseline)); }
.sol-cols h3 { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 44px; line-height: 1.08; letter-spacing: -0.018em; margin: 0; }
.sol-cols p { font-size: 30px; line-height: 1.36; margin: 22px 0 0;
  color: color-mix(in srgb, #fff 86%, transparent); }
.half-bleed:not(.flip) > .slide-title { margin-left: calc(960px - 0.058em); }
.half-bleed:not(.flip) .note, .half-bleed:not(.flip) .bullets { margin-left: 960px; }
.half-bleed:not(.flip) .kicker { left: calc(960px + var(--pad-x)); }
.half-bleed.flip .half-bleed-figure { inset: 0 0 0 auto; }

.cover-logo { position: absolute; top: 152px; right: var(--pad-x); width: 156px; height: 140px; margin: 0; }
.cover-logo image-slot { width: 100%; height: 100%; }
.cover-logo img { width: 100%; height: 100%; object-fit: contain; object-position: right center; mix-blend-mode: multiply; }
.meta .meta-name { font-weight: 700; color: var(--color-text); }
.meta .confidential { margin-left: auto; letter-spacing: 0.06em; text-transform: uppercase; }

.stat-num.stat-num-lg { font-size: 130px; }

.price-split { display: grid; grid-template-columns: 1fr 620px; column-gap: 96px;
  margin-top: calc(1.65 * var(--baseline) - 1px); align-items: start; }
.price-split .table { max-width: none; }
.price-facts { display: flex; flex-direction: column; gap: calc(0.7 * var(--baseline)); }
.price-facts > div:last-child .price-copy { max-width: none; }
.price-facts > div { border-top: 2px solid var(--color-divider); padding-top: calc(var(--baseline) - 1cap - 1px); }
.price-num { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 76px; line-height: 1; letter-spacing: -0.02em; color: var(--color-accent); margin: 0; margin-left: -0.03em; }
.price-kicker { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: var(--type-body); line-height: 1.1; margin: 0; }
.price-copy { font-size: var(--type-small); line-height: var(--baseline); max-width: 32ch;
  margin: calc(0.8 * var(--baseline) - 1cap) 0 0; text-box: trim-both cap alphabetic;
  color: color-mix(in srgb, var(--color-text) 72%, transparent); }

.answer { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 48px; line-height: 1.16; letter-spacing: -0.02em; color: var(--color-accent-700);
  margin: calc(1.5 * var(--baseline) - 1cap) 0 0; margin-left: -0.03em; }
.flow-lead { font-size: var(--type-body); line-height: 1.2; margin: calc(0.9 * var(--baseline) - 1cap) 0 0;
  color: color-mix(in srgb, var(--color-text) 75%, transparent); }
.time-flow { margin-top: calc(0.85 * var(--baseline)); align-items: stretch; }
.time-flow .flow-step { border-top: 2px solid var(--color-divider); padding-top: calc(0.85 * var(--baseline) - 1cap); }
.time-flow .flow-arrow { padding-top: 2px; }
.time-flow .flow-step { display: flex; flex-direction: column; }
.time-flow .flow-step p { color: color-mix(in srgb, var(--color-text) 72%, transparent); }
.time-flow .step-time { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 36px; line-height: 1; color: color-mix(in srgb, var(--color-text) 80%, transparent);
  margin-top: auto; padding-top: calc(0.5 * var(--baseline)); font-feature-settings: "tnum" 1; }
.stat-row { display: grid; grid-template-columns: repeat(4, 1fr); column-gap: var(--baseline);
  margin-top: calc(1.25 * var(--baseline) - 1px); border-top: 2px solid var(--color-divider);
  padding-top: calc(var(--baseline) - 1cap - 1px); }
.stat-num-sm { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 66px; line-height: 1; letter-spacing: -0.02em; color: var(--color-accent); margin: 0; margin-left: -0.03em; }
.answer-2 { color: var(--color-accent); }
.stat-label-sm { font-size: 26px; line-height: 1.3; margin: 8px 0 0; max-width: 26ch;
  color: color-mix(in srgb, var(--color-text) 65%, transparent); }

.flow-icon-row { display: flex; align-items: center; gap: 12px; }
.flow-icon-row svg { display: block; width: 32px; height: 32px; color: var(--color-accent); flex: 0 0 auto; }

.market-lead { font-size: var(--type-subtitle); line-height: var(--baseline); margin: calc(2.2 * var(--baseline) - 1px) 0 0; max-width: 1500px; }
.market-lead strong { font-family: var(--font-heading); font-weight: var(--font-heading-weight); color: var(--color-accent); }

.mkt-split { display: grid; grid-template-columns: 1fr 640px; column-gap: 96px;
  margin-top: calc(1.1 * var(--baseline) - 1px); align-items: start; }
.mkt-chart { margin: 0; }
.mkt-chart figcaption { font-size: var(--type-kicker); letter-spacing: 0.06em; text-transform: uppercase;
  color: color-mix(in srgb, var(--color-text) 55%, transparent); margin: 0 0 calc(0.6 * var(--baseline)) 0; }
.mkt-chart svg { display: block; width: 100%; height: auto; overflow: visible; }
.mkt-chart text { font-family: var(--font-body); font-feature-settings: "tnum" 1; }
.mkt-chart .bar { fill: var(--color-neutral-800); }
.mkt-chart .bar-hi { fill: var(--color-accent); }
.mkt-chart .base { stroke: var(--color-divider); stroke-width: 2; }
.mkt-chart .split { stroke: color-mix(in srgb, var(--color-text) 25%, transparent); stroke-width: 1.5;
  stroke-dasharray: 6 7; }
.mkt-chart .yr { font-size: 24px; fill: color-mix(in srgb, var(--color-text) 55%, transparent); }
.mkt-chart .val { font-family: var(--font-heading); font-weight: 600; font-size: 30px; fill: var(--color-accent); }
.mkt-chart .flag { font-size: 24px; letter-spacing: 0.08em; text-transform: uppercase;
  fill: color-mix(in srgb, var(--color-text) 45%, transparent); }

.mkt-geos { display: flex; flex-direction: column; gap: calc(0.5 * var(--baseline)); }
.mkt-geos > div { border-top: 2px solid var(--color-divider); padding-top: calc(0.5 * var(--baseline) - 1px); }
.mkt-geo-head { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; }
.mkt-geo-name { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: var(--type-body); line-height: 1.1; margin: 0; }
.mkt-geo-tag { font-size: 24px; line-height: 1.1; text-align: right;
  color: color-mix(in srgb, var(--color-text) 55%, transparent); font-feature-settings: "tnum" 1; }
.mkt-geo-row { display: flex; align-items: baseline; gap: 14px; margin-top: 14px; font-feature-settings: "tnum" 1; }
.mkt-from { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 40px;
  line-height: 1; letter-spacing: -0.02em; color: color-mix(in srgb, var(--color-text) 45%, transparent); }
.mkt-arrow { font-size: 32px; line-height: 1; color: color-mix(in srgb, var(--color-text) 40%, transparent); }
.mkt-to { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 58px;
  line-height: 1; letter-spacing: -0.02em; color: var(--color-accent); }
.mkt-cagr { font-family: var(--font-heading); font-weight: 600; font-size: 26px; line-height: 1;
  margin-left: auto; color: var(--color-text); }
.mkt-note { font-size: 25px; line-height: 1.3; margin: 12px 0 0;
  color: color-mix(in srgb, var(--color-text) 65%, transparent); }
.mkt-foot { display: flex; align-items: baseline; justify-content: space-between; gap: 48px;
  margin-top: auto; border-top: 2px solid var(--color-divider); padding-top: calc(0.6 * var(--baseline)); }
.mkt-foot p { font-size: var(--type-small); line-height: 1.25; margin: 0; max-width: 62ch; }
.mkt-foot p strong { font-family: var(--font-heading); font-weight: var(--font-heading-weight); color: var(--color-accent); }
.vs-grid { display: grid; grid-template-columns: 700px repeat(4, 1fr);
  margin-top: calc(0.5 * var(--baseline)); }
.vs-grid > div { display: flex; align-items: center; justify-content: center;
  border-bottom: 2px solid var(--color-divider); padding: 9px 12px; }
.vs-grid > div:nth-child(5n+1) { justify-content: flex-start; padding-left: 0; }
.vs-h { align-items: flex-end !important; padding: 0 12px 14px !important;
  font-family: var(--font-heading); font-weight: 600;
  font-size: 25px; line-height: 1.15; letter-spacing: 0.04em; text-transform: uppercase;
  text-align: center; color: var(--color-text); }
.vs-h:first-child { text-align: left; }
.vs-h.key { color: var(--color-accent); }
.vs-name { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 32px; line-height: 1.05; letter-spacing: -0.015em; margin: 0;
  display: flex; align-items: baseline; gap: 16px; flex-wrap: wrap; }
.vs-name span { font-family: var(--font-body); font-weight: 400; font-size: 25px;
  letter-spacing: 0; color: var(--color-neutral-700); }
.vs-mark { display: block; width: 38px; height: 38px; }
.vs-mark svg { display: block; width: 38px; height: 38px; stroke: currentColor; stroke-width: 3;
  fill: none; stroke-linecap: square; }
.vs-yes { color: var(--tone-green); }
.vs-no { color: var(--color-accent); }
.vs-grid > .vs-us { background: var(--tone-green); color: #fff;
  border-bottom-color: var(--tone-green); padding-top: 18px; padding-bottom: 18px;
  margin-top: -2px; }
.vs-grid > .vs-us.first { padding-left: 24px; margin-left: -24px; }
.vs-grid > .vs-us.last { padding-right: 24px; margin-right: -24px; }
.vs-us .vs-name { font-size: 46px; display: block; }
.vs-us .vs-name span { display: block; color: #fff;
  font-size: 25px; line-height: 1.2; margin-top: 6px; }
.vs-us .vs-mark { color: #fff; }
.vs-us .vs-mark svg { stroke-width: 3.4; }
.vs-foot { font-size: var(--type-small); line-height: 1.35; margin: auto 0 0;
  padding-top: calc(0.5 * var(--baseline)); text-box: trim-both cap alphabetic; color: var(--color-text); }
.vs-foot strong { font-family: var(--font-heading); font-weight: var(--font-heading-weight); color: var(--tone-green); }

.mkt-foot .src { flex: 0 0 auto; font-size: 24px; letter-spacing: 0.06em; text-transform: uppercase;
  color: color-mix(in srgb, var(--color-text) 45%, transparent); }

.proof-lead { font-size: var(--type-kicker); letter-spacing: 0.06em; text-transform: uppercase; color: color-mix(in srgb, var(--color-text) 55%, transparent); margin: 0; }
.proof-logo { width: 100%; height: 48px; margin: 0; }
.proof-logo image-slot { width: 100%; height: 100%; }

.cover-proof { position: absolute; top: 320px; right: var(--pad-x); width: 660px; }
.cover-proof-list { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
.cover-proof-item { display: grid; grid-template-columns: 132px 1fr; align-items: center; gap: 20px; }
.cover-proof-item .proof-logo { width: 132px; height: 46px; display: flex; align-items: center; }
.cover-proof-item .proof-logo img { max-width: 100%; max-height: 46px; width: auto; height: auto; object-fit: contain; mix-blend-mode: multiply; }
.cover-proof-item .proof-logo.duo { flex-direction: column; align-items: flex-start; justify-content: center; gap: 7px; height: auto; }
.cover-proof-item .proof-logo.duo img:first-child { max-height: 26px; }
.cover-proof-item .proof-logo.duo img:last-child { max-height: 30px; }
.cover-proof-item h4 { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: var(--type-small); line-height: 1.18; letter-spacing: -0.008em; margin: 0; }
.cover-proof-item p { font-size: var(--type-kicker); line-height: 1.28; margin: 4px 0 0; color: color-mix(in srgb, var(--color-text) 55%, transparent); }

/* Why now - variants A-E */
.cvg { position: relative; display: grid; grid-template-columns: 560px 1fr; column-gap: 64px;
  margin-top: calc(1.7 * var(--baseline)); }
.cvg-label, .cvg-track { border-top: 2px solid var(--color-divider);
  padding-top: calc(0.5 * var(--baseline) - 1px); padding-bottom: calc(0.5 * var(--baseline)); }
.cvg-label h3 { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 34px; line-height: 1.1; margin: 0; }
.cvg-label p { font-size: 25px; line-height: 1.3; margin: 10px 0 0;
  color: color-mix(in srgb, var(--color-text) 65%, transparent); }
.cvg-track { display: flex; align-items: center; }
.cvg-bar { position: relative; width: 100%; height: 34px; background: var(--color-neutral-300); }
.cvg-on { position: absolute; top: 0; bottom: 0; left: var(--from); right: 0;
  background: var(--color-neutral-800); display: flex; align-items: center; padding-left: 14px; }
.cvg-on span { font-family: var(--font-heading); font-weight: 600; font-size: 24px;
  color: var(--color-bg); font-feature-settings: "tnum" 1; }
.cvg-rule { grid-column: 1; border-top: 2px solid var(--color-divider); }
.cvg-axis { grid-column: 2; position: relative; height: 46px; border-top: 2px solid var(--color-divider); }
.cvg-axis span { position: absolute; top: 14px; font-size: 24px; font-feature-settings: "tnum" 1;
  color: color-mix(in srgb, var(--color-text) 55%, transparent); }
.cvg-axis span.hi { color: var(--color-accent); }
.cvg-now { position: absolute; top: 0; bottom: 48px; right: 0; width: 3px; background: var(--color-accent); }
.cvg-now span { position: absolute; right: 0; bottom: 100%; padding-bottom: 12px; white-space: nowrap;
  font-size: var(--type-kicker); letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-accent); }

.tn { display: grid; grid-template-columns: 340px 1fr 1fr 260px; margin-top: calc(1.1 * var(--baseline)); }
.tn > * { border-bottom: 2px solid var(--color-divider); padding: calc(0.48 * var(--baseline)) 36px; }
.tn > *:nth-child(4n+1) { padding-left: 0; }
.tn > *:nth-child(4n) { padding-right: 0; }
.tn p.tn-num { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 48px; line-height: 1; letter-spacing: -0.02em; color: var(--color-accent);
  margin: 0; margin-left: -0.03em; font-feature-settings: "tnum" 1; }
.tn-num-cap { display: block; font-family: var(--font-body); font-weight: 400; font-size: 24px;
  line-height: 1.15; letter-spacing: 0; margin-top: 10px;
  color: color-mix(in srgb, var(--color-text) 55%, transparent); }
.tn-src { font-size: 24px; line-height: 1.2; margin: calc(0.42 * var(--baseline)) 0 0;
  letter-spacing: 0.02em; color: color-mix(in srgb, var(--color-text) 48%, transparent); }
.tn-h { align-self: end; padding-top: 0; padding-bottom: 22px;
  font-family: var(--font-heading); font-weight: 600; font-size: 25px; line-height: 1.15;
  letter-spacing: 0.04em; text-transform: uppercase; color: color-mix(in srgb, var(--color-text) 55%, transparent); }
.tn-h.now { color: var(--color-accent); }
.tn-sub { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 32px; line-height: 1.1; }
.tn p { font-size: 27px; line-height: 1.32; margin: 0; }
.tn-then p { color: color-mix(in srgb, var(--color-text) 80%, transparent); }
.tn.tn-3 { grid-template-columns: 340px 1fr 1fr; }
.tn.tn-3 > * { padding-left: 36px; padding-right: 36px; }
.tn.tn-3 > *:nth-child(3n+1) { padding-left: 0; }
.tn.tn-3 > *:nth-child(3n) { padding-right: 0; }
.tn.tn-4w { grid-template-columns: 320px 1fr 1fr 400px; }
.tn.tn-tight > * { padding-top: calc(0.4 * var(--baseline)); padding-bottom: calc(0.4 * var(--baseline)); }
.tn.tn-tight > .tn-h { padding-top: 0; padding-bottom: 22px; }
.tn .tn-fig { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 28px; letter-spacing: -0.01em; color: var(--color-accent-700); font-feature-settings: "tnum" 1; }
.tn-evi { display: flex; align-items: baseline; gap: 14px; }
.tn .tn-evi-num { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 48px; line-height: 1; letter-spacing: -0.02em; color: var(--color-accent);
  margin: 0; margin-left: -0.03em; flex: 0 0 auto; font-feature-settings: "tnum" 1; }
.tn .tn-evi-cap { font-size: 24px; line-height: 1.2; margin: 0;
  color: color-mix(in srgb, var(--color-text) 62%, transparent); }
.stat-row.tn-strip { margin-top: calc(0.6 * var(--baseline)); padding-top: 24px; }
.tn-strip .stat-num-sm { font-size: 58px; font-feature-settings: "tnum" 1; }
.tn-strip .stat-label-sm { margin-top: 10px; max-width: 28ch; }
.tn-now { background: var(--color-accent-100); }
.tn-now p strong { font-family: var(--font-heading); font-weight: var(--font-heading-weight); color: var(--color-accent-700); }

.stat-cap { font-size: var(--type-kicker); letter-spacing: 0.06em; text-transform: uppercase;
  color: color-mix(in srgb, var(--color-text) 55%, transparent); margin: 0 0 16px; }
.why-src { display: flex; align-items: baseline; justify-content: space-between; gap: 48px;
  margin-top: auto; border-top: 2px solid var(--color-divider); padding-top: calc(0.6 * var(--baseline)); }
.why-src p { font-size: var(--type-small); line-height: 1.25; margin: 0; max-width: 62ch; }
.why-src p strong { font-family: var(--font-heading); font-weight: var(--font-heading-weight); color: var(--color-accent); }
.why-src .src { flex: 0 0 auto; font-size: 24px; letter-spacing: 0.06em; text-transform: uppercase;
  color: color-mix(in srgb, var(--color-text) 45%, transparent); }

.poster-strip { display: grid; grid-template-columns: repeat(4, 1fr); column-gap: var(--baseline); margin-top: auto; }
.poster-strip > div { border-top: 2px solid color-mix(in srgb, #fff 45%, transparent);
  padding-top: calc(0.55 * var(--baseline)); }
.poster-strip .yr { display: block; font-family: var(--font-heading); font-weight: 600; font-size: 24px;
  letter-spacing: 0.08em; color: color-mix(in srgb, #fff 72%, transparent); font-feature-settings: "tnum" 1; }
.poster-strip h4 { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 32px; line-height: 1.1; margin: 14px 0 0; }
.poster-strip p { font-size: 25px; line-height: 1.3; margin: 12px 0 0;
  color: color-mix(in srgb, #fff 82%, transparent); }

.win { position: relative; height: 160px; margin-top: calc(1.5 * var(--baseline)); }
.win-rule { position: absolute; left: 0; right: 0; top: 78px; height: 2px; background: var(--color-neutral-300); }
.win-block { position: absolute; top: 42px; height: 74px; left: 46.15%; width: 23.08%;
  background: var(--color-accent); display: flex; align-items: center; padding-left: 22px; }
.win-block span { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 36px; letter-spacing: -0.01em; color: #fff; font-feature-settings: "tnum" 1; }
.win-cap { position: absolute; top: 0; left: 46.15%; font-size: var(--type-kicker);
  letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-accent); }
.win-yr { position: absolute; top: 126px; font-size: 24px; font-feature-settings: "tnum" 1;
  color: color-mix(in srgb, var(--color-text) 55%, transparent); }
.win-cols .bullets li::before { top: calc(0.5cap - 4px); }

/* Advantage - variants */
.adv { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: var(--baseline);
  margin-top: calc(2.4 * var(--baseline)); }
.adv > div { padding-top: calc(0.5 * var(--baseline)); }
.adv h3 { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 26px; line-height: 1.1; margin: 0; text-transform: uppercase;
  letter-spacing: 0.1em; color: var(--color-accent); }
.adv-proof { list-style: none; margin: calc(0.7 * var(--baseline)) 0 0; padding: 0;
  display: flex; flex-direction: column; gap: calc(0.85 * var(--baseline)); }
.adv-proof li { border-top: 2px solid color-mix(in srgb, var(--color-text) 16%, transparent);
  padding-top: 18px; font-size: 25px; line-height: 1.35;
  color: color-mix(in srgb, var(--color-text) 75%, transparent); }
.adv-proof li strong { display: block; font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 34px; line-height: 1.15; color: var(--color-text); margin-bottom: 8px; }

.adv9 { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: var(--baseline);
  row-gap: calc(1.5 * var(--baseline)); margin-top: calc(2.2 * var(--baseline)); }
.adv9 > div { border-top: 2px solid color-mix(in srgb, var(--color-text) 16%, transparent);
  padding-top: 18px; }
.adv9 h3 { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 34px; line-height: 1.15; margin: 0 0 8px; color: var(--color-text); }
.adv9 p { margin: 0; font-size: 25px; line-height: 1.35;
  color: color-mix(in srgb, var(--color-text) 75%, transparent); }

.adv6 { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: var(--baseline);
  row-gap: calc(0.9 * var(--baseline)); margin-top: calc(1.3 * var(--baseline)); }
.adv6 > div { border-top: 2px solid var(--color-divider); padding-top: calc(0.45 * var(--baseline)); }
.adv6 .n { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 62px; line-height: 1; letter-spacing: -0.02em; color: var(--color-accent);
  margin: 0; margin-left: -0.04em; font-feature-settings: "tnum" 1; }
.adv6 h3 { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 30px; line-height: 1.1; margin: 14px 0 0; }
.adv6 p { font-size: 26px; line-height: 1.3; margin: 10px 0 0; max-width: 30ch;
  color: color-mix(in srgb, var(--color-text) 72%, transparent); }

/* Go-to-market */
.gtm-label { font-family: var(--font-heading); font-weight: 600; font-size: var(--type-kicker);
  letter-spacing: 0.08em; text-transform: uppercase; margin: 0; padding-bottom: 18px;
  color: var(--color-accent); text-box: trim-both cap alphabetic; }
.gtm { flex: 1; display: flex; flex-direction: column; margin-top: calc(1.5 * var(--baseline)); }
.gtm-band { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--baseline); }
.gtm-band > div { border-top: 2px solid var(--color-divider); padding-top: 20px; }
.gtm-band h3 { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 32px; line-height: 1.15; margin: 0 0 10px; }
.gtm-band p { font-size: 25px; line-height: 1.35; margin: 0; max-width: 44ch;
  color: color-mix(in srgb, var(--color-text) 75%, transparent); }
.gtm-route { margin-top: calc(1.3 * var(--baseline)); }
.gtm-steps { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: var(--baseline); }
.gtm-steps > div { border-top: 2px solid var(--color-divider); padding-top: 18px; }
.gtm-steps .n { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 72px; line-height: 0.95; letter-spacing: -0.02em; color: var(--color-accent);
  margin: 0 0 0 -0.04em; font-feature-settings: "tnum" 1; }
.gtm-steps h3 { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 28px; line-height: 1.15; margin: 14px 0 0; }
.gtm-steps p { font-size: 24px; line-height: 1.3; margin: 10px 0 0; max-width: 32ch;
  color: color-mix(in srgb, var(--color-text) 72%, transparent); }
.gtm-foot { margin: auto 0 0; border-top: 2px solid var(--color-divider); padding-top: 20px;
  font-size: 25px; line-height: 1.35; max-width: 1560px;
  color: color-mix(in srgb, var(--color-text) 78%, transparent); }
.gtm-foot strong { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  color: var(--color-text); }

/* GTM B - coverage bars */
.g2 { flex: 1; display: flex; flex-direction: column; margin-top: calc(1.3 * var(--baseline)); }
.g2-rows { display: flex; flex-direction: column; gap: calc(0.42 * var(--baseline)); }
.g2-head { display: flex; align-items: baseline; gap: 22px; padding-bottom: 12px; }
.g2-name { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 34px; line-height: 1; margin: 0; letter-spacing: -0.015em; }
.g2-status { font-family: var(--font-heading); font-weight: 600; font-size: var(--type-kicker); line-height: 1;
  letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-accent); }
.g2-status.wait { color: color-mix(in srgb, var(--color-text) 45%, transparent); }
.g2-note { margin-left: auto; font-size: 25px; line-height: 1;
  color: color-mix(in srgb, var(--color-text) 68%, transparent); }
.g2-track { position: relative; height: 60px; background: var(--color-neutral-200); }
.g2-fill { position: absolute; left: 0; top: 0; bottom: 0; background: var(--color-accent);
  display: flex; align-items: center; padding-left: 20px; }
.g2-fill span { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 40px; line-height: 1; color: #fff; font-feature-settings: "tnum" 1; letter-spacing: -0.02em; }
.g2-fill.dark { background: var(--color-neutral-800); }
.g2-den { position: absolute; right: 20px; top: 50%; transform: translateY(-50%);
  font-size: var(--type-kicker); letter-spacing: 0.06em; text-transform: uppercase;
  color: color-mix(in srgb, var(--color-text) 45%, transparent); }
.g2-sum { border-top: 2px solid var(--color-divider); margin: calc(0.6 * var(--baseline)) 0 0;
  padding-top: 18px; font-size: 30px; line-height: 1.3; max-width: 1500px; }
.g2-sum strong { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  color: var(--color-accent); }
.g2-band { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: var(--baseline);
  margin: auto 0 0; }
.g2-band > div { border-top: 2px solid var(--color-divider); padding-top: 16px; }
.g2-band p:last-child { font-size: 24px; line-height: 1.3; margin: 0;
  color: color-mix(in srgb, var(--color-text) 72%, transparent); }
.g2-band .gtm-label { padding-bottom: 12px; }

/* GTM C - dot matrix */
.g3 { flex: 1; display: grid; grid-template-columns: auto auto 1fr; grid-template-rows: 1fr auto;
  column-gap: 84px; margin-top: calc(1.3 * var(--baseline)); align-items: start; }
.g3-field h3 { font-family: var(--font-heading); font-weight: 600; font-size: var(--type-kicker); line-height: 1;
  letter-spacing: 0.1em; text-transform: uppercase; margin: 0 0 20px;
  color: color-mix(in srgb, var(--color-text) 50%, transparent); }
.g3-dots { display: grid; grid-template-columns: repeat(5, 78px); gap: 14px; }
.g3-dots i { display: block; width: 78px; height: 78px; background: var(--color-neutral-200); }
.g3-dots i.on { background: var(--color-accent); }
.g3-dots i.alt { background: var(--color-neutral-800); }
.g3-key { display: flex; flex-direction: column; gap: 12px; margin-top: 24px; }
.g3-key div { display: flex; align-items: center; gap: 14px; font-size: 25px; line-height: 1.1; }
.g3-key b { display: block; width: 22px; height: 22px; flex: 0 0 auto; background: var(--color-accent); }
.g3-key b.alt { background: var(--color-neutral-800); }
.g3-key span { color: color-mix(in srgb, var(--color-text) 72%, transparent); }
.g3-key em { font-style: normal; font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-feature-settings: "tnum" 1; }
.g3-side { display: flex; flex-direction: column; gap: calc(0.5 * var(--baseline)); }
.g3-side > div { border-top: 2px solid var(--color-divider); padding-top: 16px; }
.g3-side h4 { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 29px; line-height: 1.1; margin: 0 0 8px; }
.g3-side p { font-size: 24px; line-height: 1.3; margin: 0;
  color: color-mix(in srgb, var(--color-text) 72%, transparent); }
.g3-foot { grid-column: 1 / -1; margin: 0; border-top: 2px solid var(--color-divider);
  padding-top: 18px; font-size: 26px; line-height: 1.35; max-width: 1560px;
  color: color-mix(in srgb, var(--color-text) 78%, transparent); }
.g3-foot strong { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  color: var(--color-text); }

/* GTM D - reach staircase */
.g4 { flex: 1; display: flex; flex-direction: column; margin-top: calc(1.1 * var(--baseline)); }
.g4-fig { margin: 0; }
.g4-fig svg { display: block; width: 100%; height: auto; overflow: visible; }
.g4-fig text { font-family: var(--font-body); font-feature-settings: "tnum" 1;
  fill: color-mix(in srgb, var(--color-text) 60%, transparent); font-size: 24px; }
.g4-fig .area { fill: color-mix(in srgb, var(--color-accent) 14%, transparent); }
.g4-fig .step { fill: none; stroke: var(--color-accent); stroke-width: 4; stroke-linejoin: miter; }
.g4-fig .base { stroke: var(--color-divider); stroke-width: 2; }
.g4-fig .tick { stroke: color-mix(in srgb, var(--color-text) 25%, transparent); stroke-width: 1.5; stroke-dasharray: 6 7; }
.g4-fig .big { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 46px; fill: var(--color-accent); letter-spacing: -0.02em; }
.g4-fig .lab { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 28px; fill: var(--color-text); }
.g4-fig .cap { font-size: 24px; }
.g4-fig .axis { font-size: 24px; letter-spacing: 0.08em; text-transform: uppercase;
  fill: color-mix(in srgb, var(--color-text) 45%, transparent); }
.g4-band { display: grid; grid-template-columns: 1fr 1fr 1fr; column-gap: var(--baseline);
  margin: auto 0 0; }
.g4-band > div { border-top: 2px solid var(--color-divider); padding-top: 16px; }
.g4-band .gtm-label { padding-bottom: 12px; }
.g4-band p:last-child { font-size: 24px; line-height: 1.3; margin: 0;
  color: color-mix(in srgb, var(--color-text) 72%, transparent); }

/* GTM F - reach ribbon */
.g6 { flex: 1; display: flex; flex-direction: column; justify-content: space-between;
  margin-top: calc(1.5 * var(--baseline)); }
.g6-stations { display: grid; grid-template-columns: 400px 400px 400px 480px; }
.g6-st { padding-right: 60px; }
.g6-st .k { font-family: var(--font-heading); font-weight: 600; font-size: 24px; line-height: 1;
  letter-spacing: 0.09em; text-transform: uppercase; color: var(--color-accent);
  margin: 0 0 18px; font-feature-settings: "tnum" 1; }
.g6-st h3 { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 46px; line-height: 1.04; letter-spacing: -0.02em; margin: 0 0 18px;
  margin-left: -0.03em; min-height: 96px; }
.g6-st p:last-child { font-size: 28px; line-height: 1.35; margin: 0;
  color: color-mix(in srgb, var(--color-text) 75%, transparent); }
.g6-ribbon { display: block; width: 100%; height: auto; }
.g6-ribbon .seg { fill: var(--color-neutral-800); }
.g6-ribbon .seg-hi { fill: var(--color-accent); }
.g6-when { display: grid; grid-template-columns: 400px 400px 400px 480px; margin-top: 22px; }
.g6-when p { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 30px; line-height: 1; letter-spacing: -0.015em; margin: 0;
  font-feature-settings: "tnum" 1; color: color-mix(in srgb, var(--color-text) 60%, transparent); }
.g6-foot { margin: 0; border-top: 2px solid var(--color-divider); padding-top: 18px;
  font-size: 28px; line-height: 1.35; max-width: 1560px;
  color: color-mix(in srgb, var(--color-text) 78%, transparent); }
.g6-foot strong { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  color: var(--color-text); }

/* GTM E - landing flow */
.g5 { flex: 1; display: flex; flex-direction: column; justify-content: space-between;
  margin-top: calc(1.4 * var(--baseline)); }
.g5-flow { display: grid; grid-template-columns: 1fr 150px 1fr 150px 1fr 150px 1fr; align-items: stretch; }
.g5-node { border-top: 2px solid var(--color-divider); padding-top: 16px; }
.g5-node.on { background: var(--color-accent); border-top-color: var(--color-accent);
  color: #fff; padding: 16px 22px 22px; }
.g5-n { font-family: var(--font-heading); font-weight: 600; font-size: 24px; line-height: 1;
  letter-spacing: 0.09em; text-transform: uppercase; color: var(--color-accent);
  margin: 0 0 16px; font-feature-settings: "tnum" 1; }
.g5-node h3 { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 46px; line-height: 1.04; letter-spacing: -0.02em; margin: 0 0 18px;
  margin-left: -0.03em; min-height: 96px; }
.g5-who { font-size: 24px; line-height: 1.15; margin: 0 0 14px;
  color: color-mix(in srgb, var(--color-text) 52%, transparent); }
.g5-d { font-size: 28px; line-height: 1.35; margin: 0;
  color: color-mix(in srgb, var(--color-text) 75%, transparent); }
.g5-node.on .g5-n, .g5-node.on .g5-who { color: color-mix(in srgb, #fff 78%, transparent); }
.g5-node.on .g5-d { color: color-mix(in srgb, #fff 94%, transparent); }
.g5-arrow { display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 14px; padding: 0 16px; }
.g5-arrow svg { display: block; width: 100px; height: 40px; fill: none;
  stroke: var(--color-accent); stroke-width: 3.5; }
.g5-arrow span { font-family: var(--font-heading); font-weight: 600; font-size: 24px;
  line-height: 1.15; text-align: center; letter-spacing: 0.04em; text-transform: uppercase;
  color: color-mix(in srgb, var(--color-text) 50%, transparent); }
.g5-when { display: grid; grid-template-columns: 1fr 150px 1fr 150px 1fr 150px 1fr; }
.g5-when > div { border-top: 2px solid var(--color-divider); padding-top: 20px; }
.g5-when .sq { display: block; width: 16px; height: 16px; background: var(--color-accent);
  margin: -29px 0 13px; }
.g5-when p { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 30px; line-height: 1; letter-spacing: -0.015em; margin: 0;
  font-feature-settings: "tnum" 1; }
.g5-when em { display: block; font-style: normal; font-family: var(--font-body); font-weight: 400;
  font-size: 24px; line-height: 1.25; margin-top: 10px; letter-spacing: 0;
  color: color-mix(in srgb, var(--color-text) 60%, transparent); }
.g5-foot { margin: 0; border-top: 2px solid var(--color-divider); padding-top: 18px;
  font-size: 28px; line-height: 1.35; max-width: 1560px;
  color: color-mix(in srgb, var(--color-text) 78%, transparent); }
.g5-foot strong { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  color: var(--color-text); }

/* The ask - A, ledger */
.askA { flex: 1; display: grid; grid-template-columns: 460px 1fr; column-gap: 96px;
  margin-top: calc(1.4 * var(--baseline)); align-items: start; }
.askA-rail { border-top: 2px solid var(--color-text); padding-top: 20px; }
.askA-num { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 132px; line-height: 0.86; letter-spacing: -0.03em; margin: 8px 0 0 -0.05em;
  color: var(--color-accent); font-feature-settings: "tnum" 1; }
.askA-run { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 40px; line-height: 1.05; margin: 14px 0 0; }
.askA-run em { font-style: normal; color: var(--color-accent); }
.askA-runnote { font-size: 24px; line-height: 1.28; margin: 8px 0 0; max-width: 36ch;
  color: color-mix(in srgb, var(--color-text) 75%, transparent); }
.askA-facts { display: flex; flex-direction: column; margin-top: calc(0.55 * var(--baseline)); }
.askA-facts > div { border-top: 2px solid var(--color-divider); padding: 16px 0 22px; }
.askA-facts > div:last-child { padding-bottom: 0; }
.askA-facts h4 { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 26px; line-height: 1.15; margin: 0 0 8px; }
.askA-facts p { font-size: 24px; line-height: 1.3; margin: 0;
  color: color-mix(in srgb, var(--color-text) 75%, transparent); }
.askA-rows > div { display: grid; grid-template-columns: 150px 340px 1fr; column-gap: 36px;
  align-items: start; border-top: 2px solid var(--color-divider); padding: 26px 0 30px; }
.askA-rows > div:first-child { border-top-color: var(--color-text); }
.askA-rows .tg { font-family: var(--font-heading); font-weight: 600; font-size: 24px;
  letter-spacing: 0.08em; text-transform: uppercase; margin: 3px 0 0; color: var(--color-accent); }
.askA-rows h3 { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 28px; line-height: 1.2; margin: 0; }
.askA-rows p { font-size: 24px; line-height: 1.3; margin: 0;
  color: color-mix(in srgb, var(--color-text) 75%, transparent); }

/* The ask - B, poster number */
.askB { flex: 1; display: flex; flex-direction: column; margin-top: calc(1.3 * var(--baseline)); }
.askB-head { display: grid; grid-template-columns: auto 1fr; column-gap: 96px; align-items: end;
  border-top: 2px solid var(--color-text); padding-top: 18px; }
.askB-num { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 168px; line-height: 0.8; letter-spacing: -0.035em; margin: 0 0 0 -0.05em;
  color: var(--color-accent); font-feature-settings: "tnum" 1; }
.askB-facts { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--baseline);
  padding-bottom: 12px; }
.askB-facts p { font-size: 25px; line-height: 1.35; margin: 0; max-width: 34ch;
  color: color-mix(in srgb, var(--color-text) 75%, transparent); }
.askB-facts strong { display: block; font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 28px; line-height: 1.15; color: var(--color-text); margin-bottom: 8px; }
.askB-grid { display: grid; grid-template-columns: repeat(5, 1fr); column-gap: 36px; }
.askB-grid > div { border-top: 2px solid var(--color-divider); padding-top: 16px; }
.askB-grid .n { font-family: var(--font-heading); font-weight: 600; font-size: 24px;
  letter-spacing: 0.06em; color: var(--color-accent); margin: 0; font-feature-settings: "tnum" 1; }
.askB-grid h3 { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 29px; line-height: 1.15; margin: 16px 0 0; }
.askB-grid p { font-size: 24px; line-height: 1.32; margin: 12px 0 0;
  color: color-mix(in srgb, var(--color-text) 72%, transparent); }
.askB-lab { margin-top: calc(1.2 * var(--baseline)); }
.now2 { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--baseline);
  row-gap: calc(1.1 * var(--baseline)); margin-top: calc(1.6 * var(--baseline)); }
.now2 > div { border-top: 2px solid var(--color-divider); padding-top: 20px; }
.now2 h3 { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 38px; line-height: 1.1; margin: 0 0 16px; }
.now2 p { font-size: 26px; line-height: 1.35; margin: 0; max-width: 42ch;
  color: color-mix(in srgb, var(--color-text) 75%, transparent); }
/* Why now - three-column timing slide */
.now2.now-3 { grid-template-columns: repeat(3, 1fr); column-gap: 64px; margin-top: calc(1.2 * var(--baseline)); }
.now2.now-3 h3 { font-size: 30px; line-height: 1.12; letter-spacing: -0.01em; margin: 0 0 14px; white-space: nowrap; }
.now2.now-3 h3 sup { font-size: 0.5em; font-weight: 500; vertical-align: super; line-height: 0; margin-left: 2px; color: var(--tone-blue); }
.now2.now-3 p { font-size: 24px; line-height: 1.36; max-width: none; }
.now-close { border-top: 2px solid var(--color-divider); margin-top: calc(1.15 * var(--baseline)); padding-top: 26px;
  font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 32px; line-height: 1.22;
  letter-spacing: -0.01em; margin-bottom: 0; }
/* Why now - variant D: minimal poster, three numbers */
.nowD { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 72px; margin-top: auto; }
.nowD > div { position: relative; padding-top: 22px; }
.nowD > div::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--color-accent); transform-origin: left; }
.nowD-no { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 44px;
  line-height: 1; letter-spacing: -0.02em; margin: 0 0 16px;
  color: color-mix(in srgb, var(--color-text) 28%, transparent);
  font-feature-settings: "tnum" 1; }
.nowD .gtm-label { margin-bottom: 12px;
  color: color-mix(in srgb, var(--color-text) 55%, transparent); }
.nowD .num { font-family: var(--font-heading); font-weight: 600; font-size: 28px;
  line-height: 1.2; letter-spacing: 0.005em; margin: 20px 0 0; padding-top: 18px;
  border-top: 2px solid color-mix(in srgb, var(--color-text) 18%, transparent);
  color: var(--color-accent); font-feature-settings: "tnum" 1; }
.nowD .cap { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 42px; line-height: 1.08; letter-spacing: -0.022em; margin: 0; margin-left: -0.025em;
  color: var(--color-text); }
.nowD .sub { font-size: 26px; line-height: 1.38; margin: 12px 0 0; max-width: 28ch;
  color: color-mix(in srgb, var(--color-text) 84%, transparent); }
.nowD .cap sup { font-size: 0.52em; font-weight: 500; vertical-align: super; line-height: 0; margin-left: 3px;
  color: var(--color-accent); }
.now-poster .poster-lead { max-width: 22ch; }

.now-fn { margin-top: auto; padding-top: 0;
  display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 56px; }
.now-fn p { font-size: 16px; line-height: 1.3; font-weight: 400; margin: 0;
  color: color-mix(in srgb, var(--color-text) 48%, transparent); }
.now-fn p sup { font-size: 1em; vertical-align: baseline; margin-right: 5px; }
/* Why now - variant A: numbered columns with vertical rules */
.nowA { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 56px; margin-top: calc(1.15 * var(--baseline)); }
.nowA > div { position: relative; padding: 22px 0 0; }
.nowA > div::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--color-accent); transform-origin: left; }

.nowA-no { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 44px;
  line-height: 1; letter-spacing: -0.02em; color: var(--color-accent); margin: 0 0 16px; font-feature-settings: "tnum" 1; }

.nowA h3 { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 32px; line-height: 1.14; letter-spacing: -0.01em; margin: 12px 0 16px; min-height: 2.28em; }
.nowA p.nowA-body { font-size: 28px; line-height: 1.4; margin: 0;
  color: color-mix(in srgb, var(--color-text) 88%, transparent); }
.nowA h3 sup { font-size: 0.5em; font-weight: 500; vertical-align: super; line-height: 0; margin-left: 2px; color: var(--color-accent); }

/* Why now - variant B: stacked rows with a solid closing band */
.nowB { margin-top: calc(1.05 * var(--baseline)); }
.nowB > div { display: grid; grid-template-columns: 520px 1fr; column-gap: 64px;
  border-top: 3px solid var(--tone-blue); padding: 18px 0 26px; }
.nowB h3 { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 32px; line-height: 1.12; letter-spacing: -0.012em; margin: 12px 0 0; }
.nowB p.nowB-body { font-size: 24px; line-height: 1.38; margin: 0; align-self: center;
  color: color-mix(in srgb, var(--color-text) 75%, transparent); }
.nowB-band { background: var(--tone-blue); color: #fff; padding: 26px 34px; margin-top: calc(0.5 * var(--baseline));
  font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 31px; line-height: 1.2;
  letter-spacing: -0.01em; }

/* Why now - variant C: anchored title, compact rows */
.nowC-wrap { display: grid; grid-template-columns: 640px 1fr; column-gap: 88px; margin-top: calc(0.7 * var(--baseline)); }
.nowC-lede { border-top: 3px solid var(--tone-blue); padding-top: 22px; font-family: var(--font-heading);
  font-weight: var(--font-heading-weight); font-size: 30px; line-height: 1.24; letter-spacing: -0.01em; margin: 0; }
.nowC > div { border-top: 1px solid color-mix(in srgb, var(--color-text) 20%, transparent); padding: 12px 0 12px;
  display: grid; grid-template-columns: 64px 1fr; column-gap: 26px; }
.nowC > div:first-child { border-top: 3px solid var(--tone-blue); }
.nowC-no { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 30px;
  line-height: 1.1; color: var(--tone-blue); margin: 0; font-feature-settings: "tnum" 1; }
.nowC h3 { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 30px; line-height: 1.12; letter-spacing: -0.01em; margin: 8px 0 12px; }
.nowC p.nowC-body { font-size: 23px; line-height: 1.38; margin: 0;
  color: color-mix(in srgb, var(--color-text) 75%, transparent); }

.tone-blue .kicker { color: var(--tone-blue); }
.tone-blue .now2 > div { border-top: 3px solid var(--tone-blue); }
.tone-blue .now2 .gtm-label, .tone-blue .nowA .gtm-label, .tone-blue .nowB .gtm-label, .tone-blue .nowC .gtm-label { color: var(--tone-blue); }
.own-title { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 26px; line-height: 1.15; margin: 0 0 18px; color: var(--color-text); }
.own { display: grid; grid-template-columns: 132px 1fr; column-gap: 24px; align-items: center; }
.own svg { width: 132px; height: 132px; display: block; }
.own-legend { display: flex; flex-direction: column; gap: 12px; }
.own-legend > div { display: flex; align-items: center; gap: 12px; font-size: 24px; line-height: 1.2;
  border-bottom: 2px solid color-mix(in srgb, var(--color-text) 14%, transparent); padding-bottom: 11px; }
.own-legend > div:last-child { border-bottom: 0; padding-bottom: 0; }
.own-legend i { width: 16px; height: 16px; flex: none; }
.own-legend span { margin-left: auto; font-feature-settings: "tnum" 1;
  color: color-mix(in srgb, var(--color-text) 55%, transparent); }

/* The ask - C, table */
.askC { flex: 1; display: flex; flex-direction: column; margin-top: calc(1.2 * var(--baseline)); }
.askC-meta { display: grid; grid-template-columns: auto 1fr 1fr; column-gap: calc(1.2 * var(--baseline));
  border-top: 2px solid var(--color-text); padding-top: 18px; align-items: start; }
.askC-meta .amt { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 78px; line-height: 0.86; letter-spacing: -0.03em; margin: 6px 0 0 -0.04em;
  color: var(--color-accent); font-feature-settings: "tnum" 1; }
.askC-meta p { font-size: 24px; line-height: 1.3; margin: 0; max-width: 32ch;
  color: color-mix(in srgb, var(--color-text) 75%, transparent); }
.askC-meta strong { display: block; font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 26px; line-height: 1.15; color: var(--color-text); margin-bottom: 8px; }
.askC .table { margin-top: calc(1.1 * var(--baseline)); max-width: none; font-size: 26px; }
.askC .table th { padding: 20px 24px 18px; }
.askC .table td { padding: 32px 24px; vertical-align: top; }
.askC .table th:nth-child(1), .askC .table td:nth-child(1) { width: 460px; }
.askC .table th:nth-child(2), .askC .table td:nth-child(2) { width: 220px; color: var(--color-accent); }
.askC .table td:nth-child(3) { color: color-mix(in srgb, var(--color-text) 75%, transparent); }

.adv-cas { display: grid; grid-template-columns: 460px 1fr; column-gap: 72px;
  margin-top: calc(1.4 * var(--baseline)); align-items: start; }
.adv-root { background: var(--color-accent); color: #fff;
  padding: calc(0.65 * var(--baseline)) 32px calc(0.8 * var(--baseline)); }
.adv-root .lbl { display: block; font-size: 24px; letter-spacing: 0.08em; text-transform: uppercase;
  color: color-mix(in srgb, #fff 78%, transparent); }
.adv-root p { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 38px; line-height: 1.12; letter-spacing: -0.015em; margin: 18px 0 0; }
.adv-cas-note { font-size: 26px; line-height: 1.3; margin: calc(0.6 * var(--baseline)) 0 0;
  color: color-mix(in srgb, var(--color-text) 72%, transparent); }
.adv-tiers { display: flex; flex-direction: column; gap: calc(0.85 * var(--baseline)); }
.adv-tier .because { font-family: var(--font-heading); font-weight: 600; font-size: 26px;
  letter-spacing: 0.06em; text-transform: uppercase; color: var(--color-accent); margin: 0 0 18px; }
.adv-tier-grid { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 40px; }
.adv-tier-grid > div { border-top: 2px solid var(--color-divider); padding-top: 20px; }
.adv-tier-grid h3 { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 30px; line-height: 1.1; margin: 0; }
.adv-tier-grid p { font-size: 25px; line-height: 1.3; margin: 10px 0 0;
  color: color-mix(in srgb, var(--color-text) 72%, transparent); }

@media (prefers-reduced-motion: no-preference) {
  [data-deck-active].poster-reveal { animation: poster-ground 0.55s cubic-bezier(0.2, 0.8, 0.2, 1) 0.5s both; }
  [data-deck-active].poster-reveal .poster-lead { animation: poster-ink 0.55s cubic-bezier(0.2, 0.8, 0.2, 1) 0.5s both; }
  [data-deck-active].poster-reveal .poster-big { animation: poster-ink-soft 0.55s cubic-bezier(0.2, 0.8, 0.2, 1) 0.5s both; }
  [data-deck-active].poster-reveal .kicker { animation: poster-kicker 0.55s cubic-bezier(0.2, 0.8, 0.2, 1) 0.5s both; }
  [data-deck-active].poster-reveal .poster-answer { animation: poster-band 0.65s cubic-bezier(0.16, 0.9, 0.2, 1) 0.45s both; }
  @keyframes poster-ground { from { background: var(--color-accent); } }
  @keyframes poster-ink { from { color: #fff; } }
  @keyframes poster-ink-soft { from { color: #fff; } }
  [data-deck-active].poster-reveal .poster-big em { animation: poster-ink-accent 0.55s cubic-bezier(0.2, 0.8, 0.2, 1) 0.5s both; }
  @keyframes poster-ink-accent { from { color: #fff; } }
  @keyframes poster-kicker { from { color: color-mix(in srgb, #fff 82%, transparent); } }
  @keyframes poster-band { from { transform: translateY(100%); } }
  [data-deck-active] .rise { animation: rise 0.45s cubic-bezier(0.2, 0.8, 0.2, 1) both; }
  @keyframes rise { from { opacity: 0; transform: translateY(14px); } }
  [data-deck-active] .nowA > div::before, [data-deck-active] .nowD > div::before {
    animation: rule-draw 0.7s cubic-bezier(0.16, 0.9, 0.2, 1) both; }
  [data-deck-active] .nowA > div:nth-child(2)::before, [data-deck-active] .nowD > div:nth-child(2)::before { animation-delay: 0.22s; }
  [data-deck-active] .nowA > div:nth-child(3)::before, [data-deck-active] .nowD > div:nth-child(3)::before { animation-delay: 0.44s; }
  @keyframes rule-draw { from { transform: scaleX(0); } }
  [data-deck-active] .nowA-no, [data-deck-active] .nowD-no, [data-deck-active] .nowD .num {
    animation: stamp 0.5s cubic-bezier(0.2, 0.8, 0.2, 1) both; }
  [data-deck-active] .nowA > div:nth-child(1) .nowA-no, [data-deck-active] .nowD > div:nth-child(1) .nowD-no { animation-delay: 0.15s; }
  [data-deck-active] .nowA > div:nth-child(2) .nowA-no, [data-deck-active] .nowD > div:nth-child(2) .nowD-no { animation-delay: 0.37s; }
  [data-deck-active] .nowA > div:nth-child(3) .nowA-no, [data-deck-active] .nowD > div:nth-child(3) .nowD-no { animation-delay: 0.59s; }
  [data-deck-active] .nowD > div:nth-child(1) .num { animation-delay: 0.45s; }
  [data-deck-active] .nowD > div:nth-child(2) .num { animation-delay: 0.67s; }
  [data-deck-active] .nowD > div:nth-child(3) .num { animation-delay: 0.89s; }
  @keyframes stamp { from { opacity: 0; transform: translateY(8px); } }
}
