/* Deck font: DM Sans (OFL, self-hosted so the deck works offline; licence in assets/fonts/). */
@font-face { font-family: "DM Sans"; src: url("./assets/fonts/dm-sans.woff2") format("woff2"); font-weight: 100 1000; font-display: swap; }
:root { --font-sans: "DM Sans", sans-serif; --font-cover: "DM Sans", sans-serif; }
/* DM Sans goes to its tight display cut above ~24px; slide body text is 30-40px, so pin it to the text cut. */
.slide :is(p, li, td, th, dd, dt, strong, span, a):not(h2 *) { font-variation-settings: "opsz" 14; }

/* The existing Mitigate palette and presentation engine remain in use.
   Comparisons use tables; process choices use sequential columns. */
/* Deck background: off-white paper with a gentle navy dot grid, one continuous field behind every slide. */
:root { --paper: #f6f6f3; }
#viewport { background-color: var(--paper); background-image: radial-gradient(circle, rgba(23, 33, 61, .05) 1.1px, transparent 1.6px); background-size: 28px 28px; background-position: 14px 14px; }
.slide, .cfo-slide, .slide--misuse { background: transparent; }
.cfo-slide { display: block; padding: 100px 112px 130px; }
.cfo-slide h2 { margin: 0 0 58px; font-size: 68px; line-height: 1.12; letter-spacing: -.01em; max-width: 1650px; }
.cfo-slide h3 { margin: 0 0 28px; font-size: 40px; line-height: 1.2; color: #006c6b; }
.cfo-slide p, .cfo-slide li { font-size: 36px; line-height: 1.4; }
.cfo-lead { margin: 0 0 44px; max-width: 1550px; }
.cfo-list { margin: 36px 0; padding-left: 36px; }
.cfo-list li { margin-bottom: 24px; padding-left: 12px; }
.cfo-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 110px; margin: 20px 0 54px; }
.cfo-pair p { margin: 0; }
.cfo-pair ul { padding-left: 32px; margin: 0; }
.cfo-pair li { margin-bottom: 24px; }
.cfo-slide .cfo-takeaway { font-size: 38px; color: #006c6b; margin: 54px 0 0; font-weight: 600; }
.cfo-slide .cfo-source { position: absolute; left: 112px; right: 112px; bottom: 98px; font-size: 23px; line-height: 1.35; color: #45506a; margin: 0; }
.cfo-cover { padding: 120px 112px 112px; display: flex; flex-direction: column; align-items: flex-start; }
.cfo-cover .cover-main { margin: auto 0; position: relative; }
.cfo-cover h2 { position: relative; margin: 0; font-weight: 800; letter-spacing: -.035em; color: #17213d; white-space: nowrap; }
.cfo-cover .cover-cfo { display: block; font-size: 250px; line-height: .76; }
.cfo-cover .cover-sp { display: block; font-size: 176px; line-height: .92; }
/* The O of CFO is a solid circle that carries MI. Empty inline-block, so it sits on the baseline. */
.cfo-cover .cover-o { position: relative; display: inline-block; width: .72em; height: .72em; margin-left: .06em; top: .01em; border-radius: 50%; background: currentColor; }
.cfo-cover .cover-o span { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font-size: .32em; letter-spacing: .01em; line-height: 1; }
.cfo-slide.cfo-cover .cfo-subtitle { margin: 44px 0 0; font-size: 34px; font-weight: 400; line-height: 1.38; color: rgba(23, 33, 61, .5); }
.cfo-cover .cover-speaker { margin: 0; display: flex; flex-direction: column; gap: 3px; }
.cfo-cover .cover-speaker strong { font-size: 24px; font-weight: 700; color: #17213d; margin-bottom: 2px; }
.cfo-cover .cover-speaker span { font-size: 15px; font-weight: 400; letter-spacing: .01em; color: rgba(23, 33, 61, .5); }
.cfo-image h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.cfo-original { display: block; width: 1696px; height: 800px; object-fit: contain; }
.cfo-rows { margin: 0; }
.cfo-rows div { padding: 28px 0; border-bottom: 1px solid #cbd0d9; }
.cfo-rows dt { font-size: 39px; font-weight: 600; margin-bottom: 12px; }
.cfo-rows dd { font-size: 32px; margin: 0; color: #45506a; }
.cfo-equation { margin: 80px 110px 70px; text-align: center; }
.cfo-equation p { font-size: 45px; margin: 0; padding-bottom: 28px; border-bottom: 3px solid #006c6b; }
.cfo-equation span { display: block; font-size: 39px; padding-top: 25px; }
.cfo-small p { font-size: 31px; }
.cfo-table { width: 100%; border-collapse: collapse; font-size: 33px; line-height: 1.35; }
.cfo-table th { text-align: left; font-size: 26px; font-weight: 600; color: #006c6b; padding: 0 26px 25px 0; border-bottom: 2px solid #17213d; }
.cfo-table td { padding: 29px 40px 29px 0; border-bottom: 1px solid #cbd0d9; vertical-align: top; }
.cfo-table td:first-child { width: 30%; font-weight: 600; }
.cfo-steps { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 60px; padding: 0; margin: 65px 0; }
.cfo-steps strong { display: block; font-size: 38px; color: #006c6b; margin-bottom: 28px; }
.cfo-steps span { font-size: 33px; }
.cfo-four { grid-template-columns: repeat(2, 1fr); row-gap: 55px; }
.cfo-four li { border-top: 1px solid #cbd0d9; padding-top: 26px; }
.cfo-final li { font-size: 40px; margin-bottom: 29px; }
.speaker-notes[hidden] { display: none !important; }
#cfo-maintenance h2 { font-size: 64px; }
#cfo-maintenance .cfo-pair { grid-template-columns: 1.15fr 1fr; gap: 100px; }
#cfo-maintenance li { font-size: 32px; margin-bottom: 22px; }
#cfo-maintenance .cfo-maintenance-caveat { font-size: 29px; color: #45506a; margin-top: 34px; }
#cfo-review-work .cfo-work-caveat { font-size: 29px; margin-top: 30px; color: #45506a; }
#cfo-review-work .cfo-source a { color: inherit; text-underline-offset: 4px; }
#cfo-review-work .cfo-source a:focus-visible { outline: 3px solid #17213d; outline-offset: 6px; }
#cfo-adl h2 { margin-bottom: 34px; }
#cfo-adl .cfo-lead { font-size: 32px; margin-bottom: 40px; }
#cfo-adl .cfo-table { font-size: 29px; }
#cfo-adl .cfo-table td { padding: 20px 30px 20px 0; }
#cfo-adl .cfo-table td:first-child { width: 27%; }
#cfo-adl .cfo-takeaway { font-size: 34px; margin-top: 32px; }
#cfo-adl .cfo-source a { color: inherit; text-underline-offset: 4px; }
#cfo-adl .cfo-source a:focus-visible { outline: 3px solid #17213d; outline-offset: 6px; }
.cfo-tax-link { margin-top: 44px; }
.cfo-tax-link a { color: #006c6b; text-decoration: underline; text-underline-offset: 7px; }
.cfo-tax-link a:focus-visible { outline: 3px solid #17213d; outline-offset: 8px; }
@media print { .cfo-slide { page-break-after: always; } }

#cfo-measures .cfo-table td { padding-top: 22px; padding-bottom: 22px; }
#cfo-measures .cfo-takeaway { margin-top: 32px; }
@media (max-width: 600px) {
  .overlay { padding: 16px; }
  .overlay-panel, .overlay-panel--compact { width: 100%; min-width: 0; padding: 24px; }
}

/* Cover: tokens rain down, pop at the middle line, some become banknotes (cover-money.js). */
.cfo-cover > :not(.cfo-cover-visual) { position: relative; z-index: 1; }
.cfo-cover-visual { position: absolute; top: 0; right: 0; width: 960px; height: 1080px; z-index: 0; pointer-events: none;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 22%); mask-image: linear-gradient(to right, transparent 0, #000 22%); }
.cfo-cover-visual canvas { display: block; width: 100%; height: 100%; }

/* Slides ported from the TAMRO deck (trend timeline, harness atom), restyled to this deck. */
.trend-heading h2 { color: #17213d; font-weight: 700; letter-spacing: -.01em; }
.trend-heading h2 em { color: #008b8a; }
.trend-so { color: #17213d; letter-spacing: -.01em; font-size: 26px; }
.trend-unlock-name { letter-spacing: -.02em; }
.harness-heading h2 { color: #17213d; font-family: var(--font-sans); font-weight: 700; letter-spacing: -.02em; }
.harness-heading h2::after { display: none; }
.harness-def { font-family: var(--font-sans); font-size: 38px; line-height: 1.35; color: rgba(23, 33, 61, .55); }
/* Layer circles: same navy double hairline as the cover tokens. */
.harness-electron { border: 1.2px solid rgba(23, 33, 61, .7); background: var(--paper); color: #17213d; font-size: 26px; letter-spacing: -.01em;
  box-shadow: inset 0 0 0 4px var(--paper), inset 0 0 0 4.8px rgba(23, 33, 61, .35); }
.harness-electron.is-guardrails, .harness-electron.is-observability { font-size: 26px; }
.harness-shell { border-color: rgba(23, 33, 61, .16); }
.bridge-model-core { color: #17213d; letter-spacing: .14em; }
#seb-china .trend-body { top: 190px; bottom: 170px; }   /* chart only; leaves room for the bottom note */

/* "Then" slide: screenshots from the 2023 SEB talk. */
#seb-then h2 { margin-bottom: 14px; }
#seb-then .then-when { margin: 0 0 40px; font-size: 26px; color: rgba(23, 33, 61, .5); }
.then-grid { display: grid; grid-template-columns: 418px 1230px; column-gap: 48px; align-items: start; }
.then-grid figure { margin: 0; }
.then-grid video, .then-svg { display: block; height: 640px; border-radius: 10px; border: 1px solid rgba(23, 33, 61, .12); box-shadow: 0 18px 40px rgba(23, 33, 61, .14); }
.then-grid video { width: 418px; object-fit: cover; background: #fff; }
.then-svg { width: 1230px; box-sizing: border-box; padding: 40px 0; background: var(--paper); }
.ag-tool rect { stroke: rgba(23, 33, 61, .55); }
.then-grid figcaption { margin-top: 18px; font-size: 22px; line-height: 1.35; color: rgba(23, 33, 61, .62); }

/* Agent hierarchy slide (tools/gen-agents.py). Nodes use the cover tokens' navy double hairline. */
#seb-agents h2 em { color: #008b8a; font-style: normal; }
.agents-wrap { margin-top: 30px; }
.agents-svg { display: block; width: 1696px; height: 660px; overflow: visible; }
.ag-edge { fill: none; stroke: rgba(23, 33, 61, .22); stroke-width: 1.4; }
.ag-edge.ag-l3 { stroke: rgba(23, 33, 61, .14); stroke-width: 1; }
.ag-pulse { fill: #008b8a; }
.ag-pulse.ag-l3 { fill: rgba(0, 139, 138, .7); }
.ag-node rect { fill: var(--paper); stroke: rgba(23, 33, 61, .7); stroke-width: 1.2; }
.ag-node .ag-inner { fill: none; stroke: rgba(23, 33, 61, .35); stroke-width: .8; }
.ag-label { fill: #17213d; font: 600 27px var(--font-sans); text-anchor: middle; }
.ag-orch .ag-label { font-size: 30px; }
.ag-sub { fill: rgba(23, 33, 61, .55); font: 400 19px var(--font-sans); text-anchor: middle; }
.ag-subagent rect { stroke: rgba(23, 33, 61, .5); }
.ag-you circle { fill: #17213d; }
.ag-you text { fill: #fff; font: 700 24px var(--font-sans); text-anchor: middle; }
.ag-tiny { fill: var(--paper); stroke: rgba(23, 33, 61, .4); stroke-width: 1; animation: ag-spawn 6s ease-in-out infinite; }
@keyframes ag-spawn { 0%, 100% { opacity: .25; } 40%, 70% { opacity: 1; } }

/* Video placeholder (to be replaced by the recorded demo). */
.video-placeholder { position: absolute; inset: 120px 112px 140px; display: grid; place-content: center; text-align: center; border: 1.5px dashed rgba(23, 33, 61, .3); border-radius: 8px; }
.video-placeholder p { margin: 0; font-size: 44px; font-weight: 600; color: rgba(23, 33, 61, .7); }
.video-placeholder .video-placeholder-sub { margin-top: 14px; font-size: 26px; font-weight: 400; color: rgba(23, 33, 61, .45); }

/* Slide bottom note: ONE style for every slide (agreed 8 Oct 2026). Left edge follows the slide's content margin. */
.slide .slide-note { position: absolute; left: 112px; right: 240px; bottom: 98px; margin: 0; font-size: 28px; font-weight: 400; line-height: 1.4; color: rgba(23, 33, 61, .6); }
.slide--editorial .slide-note { left: 120px; }
.video-play-icon { border-left-color: #008b8a; }   /* Mitigate teal instead of the TAMRO violet */
#stage:has(.cfo-cover.is-active) #slide-counter { visibility: hidden; }   /* no page number on the cover */

/* Aside slides (story + press clipping), restyled from TAMRO: DM Sans, navy, no serif. */
.slide--aside .aside-copy h2 { color: #17213d; font-family: var(--font-sans); font-weight: 700; letter-spacing: -.02em; }
.slide--aside .aside-body { font-family: var(--font-sans); font-size: 30px; line-height: 1.45; color: rgba(23, 33, 61, .75); }
.slide--aside .slide-note { left: 100px; }
.slide--aside .aside-clip figcaption { font-family: var(--font-sans); }

/* "MI jau dara ekspertu darbu": GDPval waffle + counter, CFA score track. Animates when the slide becomes active. */
@property --xp-n { syntax: "<integer>"; inherits: false; initial-value: 0; }
#seb-experts h2 em { color: #008b8a; font-style: normal; }
.xp-grid { display: grid; grid-template-columns: 1060px 1fr; column-gap: 88px; margin-top: 120px; align-items: start; }
.xp-gdp { display: grid; grid-template-columns: 500px 1fr; column-gap: 60px; align-items: start; }
.xp-waffle { display: grid; grid-template-columns: repeat(10, 1fr); gap: 8px; width: 500px; }
.xp-waffle i { aspect-ratio: 1; border-radius: 3px; border: 1.2px solid rgba(23, 33, 61, .28); box-shadow: inset 0 0 0 2.5px var(--paper), inset 0 0 0 3.3px rgba(23, 33, 61, .12); }
.xp-waffle i.on { background: #17213d; border-color: #17213d; box-shadow: inset 0 0 0 2.5px #17213d, inset 0 0 0 3.3px rgba(255, 255, 255, .22); }
#seb-experts.is-active .xp-waffle i.on { animation: xp-cell .35s ease-out both; animation-delay: calc(var(--i) * 18ms + .2s); }
@keyframes xp-cell { from { background: transparent; border-color: rgba(23, 33, 61, .28); transform: scale(.6); } to { background: #17213d; border-color: #17213d; transform: scale(1); } }
.cfo-slide .xp-big { margin: -22px 0 0; white-space: nowrap; font-size: 190px; font-weight: 800; line-height: 1; letter-spacing: -.04em; color: #17213d; }
.xp-count { --xp-n: 71; counter-reset: xp var(--xp-n); }
.xp-count::after { content: counter(xp); }
#seb-experts.is-active .xp-count { animation: xp-count 1.6s cubic-bezier(.3, .5, .3, 1) .25s both; }   /* roughly in step with the cells */
@keyframes xp-count { from { --xp-n: 0; } to { --xp-n: 71; } }
.xp-pct { font-size: 96px; color: #008b8a; margin-left: 6px; vertical-align: top; position: relative; top: 22px; }
.cfo-slide .xp-lead { margin: 14px 0 0; font-size: 30px; line-height: 1.35; color: #17213d; }
.cfo-slide .xp-meta { margin: 16px 0 0; font-size: 24px; line-height: 1.4; color: rgba(23, 33, 61, .55); }
.xp-chips { display: flex; gap: 14px; margin-top: 40px; }
.xp-chips span { padding: 12px 20px; border: 1.2px solid rgba(23, 33, 61, .5); border-radius: 4px; font-size: 24px; color: rgba(23, 33, 61, .7); box-shadow: inset 0 0 0 3px var(--paper), inset 0 0 0 3.8px rgba(23, 33, 61, .18); }
.xp-chips b { color: #17213d; font-size: 30px; margin-right: 4px; }
.xp-cfa { padding-left: 72px; border-left: 1px solid rgba(23, 33, 61, .14); min-height: 500px; }
.xp-count-cfa { --xp-n: 79; }
#seb-experts.is-active .xp-count-cfa { animation-name: xp-count-cfa; animation-delay: .5s; }
@keyframes xp-count-cfa { from { --xp-n: 0; } to { --xp-n: 79; } }
.cfo-slide .xp-lead b { font-weight: 700; }
.cfo-slide .xp-cfa-title { margin: 0; font-size: 34px; font-weight: 700; color: #17213d; }
.cfo-slide .xp-cfa-sub { margin: 8px 0 0; font-size: 24px; color: rgba(23, 33, 61, .55); }
.xp-track { position: relative; height: 22px; margin-top: 103px; border-radius: 11px; background: rgba(23, 33, 61, .08); }
.xp-fill { position: absolute; inset: 0 21% 0 0; border-radius: 11px; background: #17213d; transform-origin: left; }
#seb-experts.is-active .xp-fill { animation: xp-grow 1.4s cubic-bezier(.2, .7, .2, 1) .5s both; }
@keyframes xp-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.xp-pass { position: absolute; left: 63%; top: -16px; bottom: -16px; width: 0; border-left: 2px dashed #008b8a; }
.xp-pass em { position: absolute; top: calc(100% + 12px); left: 0; transform: translateX(-50%); font-style: normal; font-size: 22px; color: #008b8a; white-space: nowrap; }
.xp-marker { position: absolute; left: 79%; top: 50%; width: 30px; height: 30px; margin: -15px 0 0 -15px; border-radius: 50%; background: var(--paper); border: 3px solid #17213d; }
.xp-marker em { position: absolute; top: -78px; left: 50%; transform: translateX(-50%); font-style: normal; font-size: 52px; font-weight: 800; color: #17213d; }
#seb-experts.is-active .xp-marker { animation: xp-slide 1.4s cubic-bezier(.2, .7, .2, 1) .5s both; }
@keyframes xp-slide { from { left: 0%; } to { left: 79%; } }
.xp-scale { display: flex; justify-content: space-between; margin-top: 58px; font-size: 20px; color: rgba(23, 33, 61, .4); }
.cfo-slide .xp-cfa-result { margin: 36px 0 0; font-size: 30px; color: #17213d; }
@media (prefers-reduced-motion: reduce) { #seb-experts * { animation: none !important; } }

/* "MI jau vada uzņēmumus": two AI-run businesses (Andon Labs, 2026). Bar = money SPENT of the starting budget. */
#seb-shop h2 em { color: #008b8a; font-style: normal; }
.biz-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; margin-top: 80px; }
.biz-card { display: flex; flex-direction: column; padding: 40px 44px 40px; border: 1.2px solid rgba(23, 33, 61, .55); border-radius: 6px; box-shadow: inset 0 0 0 5px var(--paper), inset 0 0 0 5.8px rgba(23, 33, 61, .2); }
.biz-head { display: grid; grid-template-columns: 168px 1fr; column-gap: 36px; align-items: center; }
.biz-logo { width: 168px; height: 168px; object-fit: contain; border-radius: 8px; }
.biz-market .biz-logo { background: #004737; }
.biz-cafe .biz-logo { background: #1f4d3d; }
#seb-shop .biz-agent { margin: 0; font-size: 52px; font-weight: 800; line-height: 1; letter-spacing: -.02em; color: #17213d; }
#seb-shop .biz-meta { margin: 10px 0 0; font-size: 20px; color: rgba(23, 33, 61, .5); }
#seb-shop .biz-did { margin: 18px 0 0; font-size: 24px; line-height: 1.35; color: #17213d; }
/* The agent's mistake as a chat message from the agent. */
#seb-shop .biz-bubble { position: relative; align-self: flex-start; margin: 34px 0 0 0; padding: 16px 22px; border-radius: 16px 16px 16px 4px; background: rgba(23, 33, 61, .07); font-size: 24px; line-height: 1.35; color: #17213d; }
.biz-money { margin-top: auto; padding-top: 34px; }
.biz-bar { position: relative; height: 14px; border-radius: 7px; background: rgba(23, 33, 61, .08); overflow: hidden; }
.biz-bar span { position: absolute; inset: 0; border-radius: 7px; background: #17213d; transform-origin: left; transform: scaleX(var(--spent)); }
.biz-money-row { display: flex; justify-content: space-between; align-items: baseline; margin-top: 14px; }
#seb-shop .biz-money-row p { margin: 0; font-size: 20px; color: rgba(23, 33, 61, .55); }
#seb-shop .biz-money-row b { font-size: 36px; font-weight: 800; color: #17213d; margin-right: 6px; }

/* Slide source line: ONE style for every slide that names its sources (organisation + link). Sits in the footer zone. */
.slide .slide-source { position: absolute; left: 112px; right: 260px; bottom: 54px; margin: 0; font-size: 18px; line-height: 1.4; color: rgba(23, 33, 61, .45); }
.slide--editorial .slide-source, .slide--aside .slide-source { left: 120px; }
.slide .slide-source a { color: inherit; text-decoration: underline; text-decoration-color: rgba(23, 33, 61, .25); text-underline-offset: 4px; }
.slide .slide-source a:focus-visible { outline: 2px solid #17213d; outline-offset: 4px; }

/* Slide 8 card footer: a small balance sheet (published figures only). */
.biz-ledger { margin: auto 0 0; padding-top: 30px; }
.biz-ledger div { display: flex; align-items: baseline; gap: 12px; padding: 9px 0; border-bottom: 1px dotted rgba(23, 33, 61, .2); }
.biz-ledger dt { font-size: 20px; color: rgba(23, 33, 61, .6); }
.biz-ledger dd { margin: 0 0 0 auto; font-size: 22px; font-weight: 600; color: #17213d; font-variant-numeric: tabular-nums; }
.biz-ledger .biz-total { margin-top: 6px; padding-top: 14px; border-bottom: 0; border-top: 2px solid #17213d; }
.biz-ledger .biz-total dt { font-size: 22px; font-weight: 700; color: #17213d; }
.biz-ledger .biz-total dd { font-size: 40px; font-weight: 800; }
#seb-shop .biz-ledger-note { display: none; }

/* Iceberg: tokens above water, the rest of the cost below. */
#seb-cost h2 em { color: #008b8a; font-style: normal; }
/* Full-bleed water; the berg runs off the left edge (the stage clips it). Cards are HTML over the SVG, in the same px. */
.ib-wrap { position: absolute; left: 0; right: 0; top: 210px; height: 870px; }
.ib-svg { display: block; width: 100%; height: auto; overflow: visible; position: absolute; inset: 0; }
.ib-ray { fill: rgba(255, 255, 255, .35); animation: ib-ray 9s ease-in-out infinite; }
@keyframes ib-ray { 0%, 100% { opacity: .25; } 50% { opacity: .7; } }
.ib-bubble { fill: none; stroke: rgba(0, 139, 138, .35); stroke-width: 1.2; animation: ib-rise 8s linear infinite; }
@keyframes ib-rise { from { transform: translateY(0); opacity: 0; } 15% { opacity: 1; } 85% { opacity: .8; } to { transform: translateY(-220px); opacity: 0; } }
.ib-wave { fill: none; stroke-linecap: round; }
.ib-wave-a { stroke: #008b8a; stroke-width: 2.5; animation: ib-slide 7s linear infinite; }
.ib-wave-b { stroke: rgba(0, 139, 138, .35); stroke-width: 1.5; transform: translateY(9px); animation: ib-slide2 11s linear infinite; }
@keyframes ib-slide { from { transform: translateX(0); } to { transform: translateX(-440px); } }
@keyframes ib-slide2 { from { transform: translate(-440px, 9px); } to { transform: translate(0, 9px); } }
#seb-cost.is-active .ib-berg { animation: ib-bob 7s ease-in-out infinite; }
@keyframes ib-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(5px); } }
.ib-pin { fill: #17213d; stroke: #f6f6f3; stroke-width: 2; }
.ib-pin-top { fill: #008b8a; }
.ib-lead { fill: none; stroke: rgba(23, 33, 61, .3); stroke-width: 1.2; }
.ib-lead-top { stroke: rgba(0, 139, 138, .55); }
.ib-cards { position: absolute; inset: 0; }
.ib-list { margin: 0; padding: 0; list-style: none; }
.cfo-slide .ib-zone { position: absolute; left: 780px; margin: 0; font-size: 20px; font-weight: 600; line-height: 24px; color: rgba(23, 33, 61, .5); }
.ib-card { position: absolute; left: 780px; width: 1028px; box-sizing: border-box; padding: 14px 28px; border-radius: 14px;
  display: grid; grid-template-columns: 50px 1fr 400px; align-items: baseline; column-gap: 12px; }
/* Above water: dry, crisp. Below: frosted glass, the water and light rays show through. */
.ib-card--top { background: #fff; border: 1px solid rgba(23, 33, 61, .14); box-shadow: 0 12px 32px rgba(23, 33, 61, .08); }
.ib-card--sub { background: rgba(255, 255, 255, .5); border: 1px solid rgba(255, 255, 255, .8);
  -webkit-backdrop-filter: blur(10px) saturate(1.2); backdrop-filter: blur(10px) saturate(1.2);
  box-shadow: 0 0 0 1px rgba(23, 33, 61, .07), inset 0 1px 0 rgba(255, 255, 255, .9), 0 10px 28px rgba(23, 33, 61, .07); }
.ib-num { font-size: 24px; font-weight: 800; color: #008b8a; font-variant-numeric: tabular-nums; }
.cfo-slide .ib-txt { display: flex; flex-direction: column; gap: 4px; margin: 0; }
.ib-name { font-size: 30px; font-weight: 700; line-height: 1.1; color: #17213d; letter-spacing: -.01em; }
.ib-card--top .ib-name { color: #008b8a; font-weight: 800; }
.ib-when { font-size: 18px; font-weight: 600; line-height: 22px; color: #008b8a; }
.ib-card--top .ib-when { color: rgba(23, 33, 61, .55); }
.ib-spark { display: block; overflow: visible; align-self: center; }
.ib-spark .ib-sbase { stroke: rgba(23, 33, 61, .25); stroke-width: 1; vector-effect: non-scaling-stroke; }
.ib-spark .ib-slaunch { stroke: rgba(23, 33, 61, .3); stroke-width: 1; stroke-dasharray: 3 4; vector-effect: non-scaling-stroke; }
#seb-cost.is-active .ib-card { animation: ib-in .6s ease-out both; animation-delay: calc(.3s + var(--i) * .12s); }
@keyframes ib-in { from { opacity: 0; transform: translateX(16px); } to { opacity: 1; transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) { #seb-cost * { animation: none !important; } }

/* Cheat sheets: one photo-friendly card of numbered questions. */
.cs-card { margin-top: 56px; padding: 44px 56px; border: 1.2px solid rgba(23, 33, 61, .55); border-radius: 6px; box-shadow: inset 0 0 0 5px var(--paper), inset 0 0 0 5.8px rgba(23, 33, 61, .2); }
.cs-list { margin: 0; padding: 0; list-style: none; }
.cfo-slide .cs-list li { display: grid; grid-template-columns: 64px 1fr; align-items: baseline; margin: 0; padding: 20px 0; border-bottom: 1px dotted rgba(23, 33, 61, .22); font-size: 34px; line-height: 1.3; color: #17213d; }
.cfo-slide .cs-list li:last-child { border-bottom: 0; }
.cs-n { font-size: 34px; font-weight: 800; color: #008b8a; font-variant-numeric: tabular-nums; }

/* Placeholder slides for parts still to be built. */
.ph-box { position: absolute; left: 112px; right: 112px; top: 250px; bottom: 150px; display: grid; place-content: center; text-align: center; border: 1.5px dashed rgba(23, 33, 61, .3); border-radius: 8px; padding: 0 120px; }
.cfo-slide .ph-box p { margin: 0; font-size: 36px; font-weight: 600; color: rgba(23, 33, 61, .65); }
.cfo-slide .ph-box .ph-sub { margin-top: 16px; font-size: 26px; font-weight: 400; color: rgba(23, 33, 61, .5); }

/* "Tokeniem jāatgriežas naudā": money → tokens → (harness) → some money back. Engine: cover-money.js. */
#seb-loop h2 em { color: #008b8a; font-style: normal; }
.loop-visual { position: absolute; left: 112px; right: 112px; top: 220px; height: 700px; pointer-events: none;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 8%, #000 90%, transparent 100%); mask-image: linear-gradient(to bottom, transparent 0, #000 8%, #000 90%, transparent 100%); }
.loop-visual canvas { display: block; width: 100%; height: 100%; }
.loop-line { position: absolute; left: 0; right: 0; top: 470px; border-top: 2px dashed #008b8a; opacity: .7; }
.loop-stage { position: absolute; left: 0; font-size: 24px; font-weight: 600; color: rgba(23, 33, 61, .45); }
.loop-stage-money { top: 60px; }
.loop-stage-tokens { top: 300px; }
.loop-stage-harness { top: 432px; color: #008b8a; }
.loop-stage-value { top: 560px; color: #17213d; }
#seb-loop h2 { text-align: center; max-width: none; }

/* Loop slide v2 (loop-variants.js): ?loop=a|b|c|d */
.loop2-visual { position: absolute; left: 112px; right: 112px; top: 290px; height: 700px; pointer-events: none; }
.loop2-visual canvas { display: block; width: 100%; height: 100%; }
.loop2-labels { position: absolute; inset: 0; }
.loop2-label { position: absolute; transform: translate(-50%, -50%); font-size: 28px; font-weight: 700; color: #17213d; white-space: nowrap; }
.loop2-label.l { transform: translate(0, -50%); }
.loop2-label.r { transform: translate(-100%, -50%); }
.loop2-label.teal { color: #008b8a; }
.loop2-label.mid { font-size: 22px; font-weight: 600; color: rgba(23, 33, 61, .45); }

/* Split-flap exchange board (?loop=board, loop-board.js). */
.flap-board { position: absolute; left: 50%; top: 150px; transform: translateX(-50%); padding: 34px 40px 40px; border-radius: 14px; background: #17213d; box-shadow: 0 30px 60px rgba(23, 33, 61, .25), inset 0 0 0 1px rgba(255, 255, 255, .06); }
.flap-head { display: flex; gap: 18px; margin-bottom: 16px; }
.flap-head span { width: calc(var(--n) * 33px - 3px); font-size: 16px; font-weight: 700; letter-spacing: .14em; color: rgba(246, 246, 243, .45); }
.flap-head span.r { text-align: right; }
.flap-row { display: flex; gap: 18px; margin-top: 10px; }
.flap-group { display: flex; gap: 3px; }
.flap { position: relative; width: 30px; height: 50px; display: grid; place-items: center; border-radius: 4px; background: linear-gradient(#25325a 0 50%, #1f2b4f 50% 100%); color: #f6f6f3; font: 700 28px/1 "DM Sans", sans-serif; transform-origin: 50% 50%; }
.flap::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 2px; margin-top: -1px; background: #111a33; }
.flap.flip { animation: flap-flip 55ms linear; }
@keyframes flap-flip { from { transform: perspective(200px) rotateX(-70deg); } to { transform: perspective(200px) rotateX(0); } }
.flap-row.is-up .flap-roi .flap.is-set { color: #5fd4c4; }
.flap-row.is-down .flap-roi .flap.is-set { color: rgba(246, 246, 243, .5); }
.flap-board.is-done .flap-row.is-down { opacity: .55; transition: opacity .6s; }

/* Payback chart legend (loop-ideas.js, default view of slide 10). */
.pb-legend { position: absolute; left: 0; right: 0; top: -100px; display: flex; justify-content: center; gap: 40px; font-size: 22px; font-weight: 600; color: rgba(23, 33, 61, .7); }
.pb-legend span { display: inline-flex; align-items: center; gap: 10px; }
.pb-legend i { display: inline-block; width: 22px; height: 22px; border-radius: 4px; }
.pb-legend .pb-harn { background: #17213d; }
.pb-legend .pb-tok { background: rgba(23, 33, 61, .32); }
.pb-legend .pb-val { background: rgba(0, 139, 138, .55); }
.pb-legend .pb-line { height: 6px; border-radius: 3px; background: linear-gradient(90deg, #17213d 50%, #008b8a 50%); }

/* HarnessTax: three receipts printed by three harnesses for the same model. Length = cost. */
#seb-harnesstax h2 em { color: #008b8a; font-style: normal; }
.rc-wrap { position: absolute; left: 112px; right: 112px; top: 250px; display: grid; grid-template-columns: 1160px 1fr; column-gap: 60px; }
.rc-row-set { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 50px; align-items: start; }
.rc-slot { position: relative; z-index: 2; height: 64px; padding-bottom: 14px; box-sizing: border-box; border-radius: 10px; background: #17213d; display: grid; place-items: center; box-shadow: 0 10px 22px rgba(23, 33, 61, .2); }
.rc-slot span { font-size: 22px; font-weight: 700; color: #f6f6f3; letter-spacing: .02em; }
.rc-slot::after { content: ""; position: absolute; left: 22px; right: 22px; bottom: 9px; height: 4px; border-radius: 2px; background: #0b1226; }
.rc-clip { margin: -14px 26px 0; overflow: hidden; padding-bottom: 20px; }
.rc-paper { position: relative; display: flex; flex-direction: column; padding: 34px 26px 30px; background: #fff; box-shadow: 0 14px 28px rgba(23, 33, 61, .12);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12px), 95% 100%, 90% calc(100% - 12px), 85% 100%, 80% calc(100% - 12px), 75% 100%, 70% calc(100% - 12px), 65% 100%, 60% calc(100% - 12px), 55% 100%, 50% calc(100% - 12px), 45% 100%, 40% calc(100% - 12px), 35% 100%, 30% calc(100% - 12px), 25% 100%, 20% calc(100% - 12px), 15% 100%, 10% calc(100% - 12px), 5% 100%, 0 calc(100% - 12px));
  font-family: "Liberation Mono", "DejaVu Sans Mono", monospace; color: #17213d; }
#seb-harnesstax.is-active .rc-paper { animation: rc-print 1.8s cubic-bezier(.3, .1, .3, 1) var(--d) both; }
.rc-col { --d: 0s; }
@keyframes rc-print { from { transform: translateY(-100%); } to { transform: translateY(0); } }
.cfo-slide .rc-head { margin: 0 0 18px; padding-bottom: 14px; border-bottom: 1.5px dashed rgba(23, 33, 61, .35); font-size: 18px; color: rgba(23, 33, 61, .7); }
.rc-head b { color: #17213d; }
.cfo-slide .rc-row { display: flex; justify-content: space-between; margin: 0 0 10px; font-size: 17px; color: rgba(23, 33, 61, .75); }
.rc-line { display: block; height: 10px; margin: 12px 0; border-radius: 2px; background: repeating-linear-gradient(90deg, rgba(23, 33, 61, .12) 0 14px, transparent 14px 20px); }
.cfo-slide .rc-total { display: flex; justify-content: space-between; align-items: baseline; margin: auto 0 0; padding-top: 16px; border-top: 2px solid #17213d; font-size: 18px; font-weight: 700; }
.rc-total b { font-family: var(--font-sans); font-size: 44px; font-weight: 800; letter-spacing: -.02em; }
.rc-side { align-self: center; }
.cfo-slide .rc-big { margin: 0; font-size: 190px; font-weight: 800; line-height: 1; letter-spacing: -.04em; color: #008b8a; }
.cfo-slide .rc-side-text { margin: 10px 0 0; font-size: 32px; line-height: 1.3; color: #17213d; }
.cfo-slide .rc-side-small { margin: 22px 0 0; font-size: 22px; color: rgba(23, 33, 61, .55); }
.rc-side-small b { color: #17213d; }
@media (prefers-reduced-motion: reduce) { #seb-harnesstax .rc-paper { animation: none !important; } }

/* "Kur MI pelna?": frequency × cost-of-error matrix + four questions. */
#seb-where h2 em { color: #008b8a; font-style: normal; }
.km-wrap { position: absolute; left: 112px; right: 112px; top: 230px; display: grid; grid-template-columns: 1120px 1fr; column-gap: 70px; }
.km-svg { display: block; width: 100%; height: auto; overflow: visible; }
.km-frame { fill: none; stroke: rgba(23, 33, 61, .35); stroke-width: 1.5; }
.km-mid { stroke: rgba(23, 33, 61, .18); stroke-width: 1; stroke-dasharray: 4 6; }
.km-sweet { fill: rgba(0, 139, 138, .09); }
.km-q { fill: rgba(23, 33, 61, .4); font: 600 22px var(--font-sans); }
.km-q-sweet { fill: #008b8a; font-weight: 800; font-size: 26px; }
.km-axis { fill: rgba(23, 33, 61, .5); font: 500 20px var(--font-sans); }
.km-axis-title { fill: #17213d; font: 700 22px var(--font-sans); }
.km-dot circle { fill: #f6f6f3; stroke: #17213d; stroke-width: 3; }
.km-dot text { fill: #17213d; font: 600 22px var(--font-sans); }
.km-dot.is-sweet circle { fill: #008b8a; stroke: #f6f6f3; stroke-width: 3; }
.km-dot.is-sweet text { font-weight: 800; }
#seb-where.is-active .km-dot { animation: km-in .5s cubic-bezier(.2, .8, .3, 1.2) both; animation-delay: calc(.3s + var(--i) * .14s); }
@keyframes km-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
#seb-where.is-active .km-sweet { animation: km-glow 1.2s ease-out .2s both; }
@keyframes km-glow { from { opacity: 0; } to { opacity: 1; } }
.cfo-slide .km-side-title { margin: 0 0 22px; font-size: 30px; font-weight: 800; color: #17213d; }
.km-checks { margin: 0; padding: 0; list-style: none; }
.cfo-slide .km-checks li { display: grid; grid-template-columns: 48px 1fr; margin: 0; padding: 18px 0; border-top: 1px dotted rgba(23, 33, 61, .22); }
.km-n { font-size: 30px; font-weight: 800; color: #008b8a; }
.cfo-slide .km-ct { margin: 0; font-size: 26px; font-weight: 700; color: #17213d; }
.cfo-slide .km-cd { margin: 4px 0 0; font-size: 20px; line-height: 1.35; color: rgba(23, 33, 61, .6); }
@media (prefers-reduced-motion: reduce) { #seb-where * { animation: none !important; } }

/* "Pirkt, pielāgot vai izstrādāt?": spectrum with crossing trade-off curves + three options. */
#seb-buy h2 em { color: #008b8a; font-style: normal; }
.bb-wrap { position: absolute; left: 112px; right: 112px; top: 240px; }
.bb-svg { display: block; width: 100%; height: auto; overflow: visible; }
.bb-axis { stroke: #17213d; stroke-width: 2; }
.bb-curve { fill: none; stroke-width: 5; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 0; }
.bb-speed { stroke: rgba(23, 33, 61, .35); }
.bb-control { stroke: #008b8a; }
#seb-buy.is-active .bb-curve { animation: bb-draw 1.6s cubic-bezier(.4, 0, .2, 1) .2s both; }
#seb-buy.is-active .bb-control { animation-delay: .5s; }
@keyframes bb-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
.bb-cl { font: 700 24px var(--font-sans); }
.bb-cl-speed { fill: rgba(23, 33, 61, .55); }
.bb-cl-control { fill: #008b8a; }
.bb-tick { stroke: rgba(23, 33, 61, .3); stroke-width: 1.5; }
.bb-node { fill: #f6f6f3; stroke: #17213d; stroke-width: 3; }
.bb-cols { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 26px; }
.bb-col { padding: 0 40px; text-align: center; border-left: 1px dotted rgba(23, 33, 61, .2); }
.bb-col:first-child { border-left: 0; }
#seb-buy.is-active .bb-col { animation: km-in .5s ease-out both; animation-delay: calc(.9s + var(--i) * .15s); }
.cfo-slide .bb-name { margin: 0 0 18px; font-size: 38px; font-weight: 800; color: #17213d; }
.cfo-slide .bb-k { margin: 14px 0 2px; font-size: 18px; font-weight: 700; color: #008b8a; }
.cfo-slide .bb-v { margin: 0; font-size: 24px; line-height: 1.35; color: rgba(23, 33, 61, .75); }
@media (prefers-reduced-motion: reduce) { #seb-buy * { animation: none !important; } }

/* Slide 16 alternatives for review (?buy=1..5). Default 0 = curves. */
.bv { display: none; position: absolute; left: 112px; right: 112px; top: 240px; }
[data-buy="1"] .bv-1, [data-buy="2"] .bv-2, [data-buy="3"] .bv-3, [data-buy="4"] .bv-4, [data-buy="5"] .bv-5 { display: block; }
:root:not([data-buy="0"]) #seb-buy .bb-wrap { display: none; }
.bv-houses { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; text-align: center; }
.bv-ico svg { width: 240px; height: 200px; }
.bv-1 .bv-ico svg > *:not(.win):not(.acc):not(.acc-l):not(.acc-g):not(.dash) { fill: #f6f6f3; stroke: #17213d; stroke-width: 3; stroke-linejoin: round; }
.bv-1 .win rect, .bv-1 rect.win { fill: rgba(0, 139, 138, .25); stroke: none; }
.bv-1 .acc { fill: #008b8a; }
.bv-1 .acc-l { fill: none; stroke: #008b8a; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.bv-1 .dash { fill: none; stroke: #17213d; stroke-width: 3; stroke-dasharray: 8 8; }
.cfo-slide .bv-name { margin: 14px 0 6px; font-size: 36px; font-weight: 800; color: #17213d; }
.cfo-slide .bv-an { margin: 0 0 22px; font-size: 22px; color: rgba(23, 33, 61, .6); }
.cfo-slide .bv-row { display: flex; justify-content: center; align-items: center; gap: 14px; margin: 6px 0; font-size: 22px; color: #17213d; }
.bv-dots { display: inline-flex; gap: 6px; }
.bv-dots i { width: 16px; height: 16px; border-radius: 50%; border: 2px solid #17213d; }
.bv-dots i.on { background: #008b8a; border-color: #008b8a; }
.bv-track { position: relative; margin: 60px 60px 0; }
.bv-end { position: absolute; top: -50px; font-size: 26px; font-weight: 800; }
.bv-end.l { left: 0; color: rgba(23, 33, 61, .55); } .bv-end.r { right: 0; color: #008b8a; }
.bv-rail { position: relative; height: 14px; border-radius: 7px; background: linear-gradient(90deg, rgba(23, 33, 61, .2), #008b8a); }
.bv-rail i { position: absolute; top: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px; border-radius: 50%; background: #f6f6f3; border: 3px solid #17213d; }
.bv-handle { position: absolute; top: 50%; width: 44px; height: 44px; margin: -22px 0 0 -22px; border-radius: 50%; background: #17213d; box-shadow: 0 0 0 8px rgba(0, 139, 138, .25); animation: bv-slide 9s ease-in-out infinite; }
@keyframes bv-slide { 0%, 27% { left: 8%; } 33%, 60% { left: 50%; } 66%, 94% { left: 92%; } 100% { left: 8%; } }
.bv-stops span { position: absolute; top: 40px; transform: translateX(-50%); font-size: 26px; font-weight: 700; color: #17213d; white-space: nowrap; }
.bv-panes { position: relative; margin: 140px auto 0; width: 900px; height: 300px; text-align: center; }
.bv-pane { position: absolute; inset: 0; opacity: 0; animation: bv-pane 9s ease-in-out infinite; animation-delay: calc(var(--i) * 3s); }
@keyframes bv-pane { 0%, 3% { opacity: 0; } 8%, 27% { opacity: 1; } 32%, 100% { opacity: 0; } }
.cfo-slide .bv-pname { margin: 0 0 14px; font-size: 40px; font-weight: 800; color: #17213d; }
.cfo-slide .bv-pk { margin: 14px 0 2px; font-size: 18px; font-weight: 700; color: #008b8a; }
.cfo-slide .bv-pv { margin: 0; font-size: 26px; color: rgba(23, 33, 61, .75); }
.bv-3 svg { display: block; width: 100%; height: auto; overflow: visible; }
.bv-axis { stroke: #17213d; stroke-width: 2; } .bv-g { stroke: rgba(23, 33, 61, .08); }
.bv-l { fill: none; stroke-width: 6; stroke-linecap: round; stroke-dasharray: 1; }
#seb-buy.is-active .bv-l { animation: bb-draw 1.4s ease-out both; animation-delay: calc(.2s + var(--i) * .3s); }
.bv-ll { font: 800 28px var(--font-sans); } .bv-ax { fill: rgba(23, 33, 61, .5); font: 500 20px var(--font-sans); } .bv-yt { fill: #17213d; font: 700 22px var(--font-sans); }
.bv-table { width: 100%; border-collapse: collapse; font-size: 26px; }
.bv-table th { padding: 18px 20px; text-align: center; font-size: 30px; font-weight: 800; color: #17213d; }
.bv-table tbody th { text-align: left; font-size: 26px; font-weight: 600; }
.bv-table td { padding: 18px 20px; text-align: center; border-top: 1px dotted rgba(23, 33, 61, .22); }
.bv-table tbody th { border-top: 1px dotted rgba(23, 33, 61, .22); }
.bv-table .bv-dots i { width: 22px; height: 22px; }
.bv-5 .bv-ico svg { width: 260px; height: 190px; }

/* Lego variant (?buy=5), tools/gen-lego.py: isometric bricks, small playful motions. */
.lg-cards { gap: 30px; }
.lg-card { padding: 20px 20px 24px; border: 1.2px solid rgba(23, 33, 61, .45); border-radius: 6px; box-shadow: inset 0 0 0 5px var(--paper), inset 0 0 0 5.8px rgba(23, 33, 61, .16); }
.lg-stage { height: 330px; display: grid; place-items: center; }
.lg-stage svg { width: 400px; height: 316px; overflow: visible; }
.lg-eye { fill: #f6f6f3; }
#seb-buy.is-active .lg-bounce { animation: lg-bounce 3.2s ease-in-out infinite; transform-origin: 50% 90%; }
@keyframes lg-bounce { 0%, 70%, 100% { transform: translateY(0); } 78% { transform: translateY(-14px); } 86% { transform: translateY(0); } 91% { transform: translateY(-5px); } }
#seb-buy.is-active .lg-blink { animation: lg-blink 1.6s steps(2) infinite; }
@keyframes lg-blink { 50% { opacity: .3; } }
#seb-buy.is-active .lg-drop { animation: lg-drop 3.2s cubic-bezier(.5, 0, .6, 1) infinite; }
@keyframes lg-drop { 0% { transform: translateY(-70px); opacity: 0; } 15% { opacity: 1; } 45%, 85% { transform: translateY(0); opacity: 1; } 100% { transform: translateY(0); opacity: 0; } }
#seb-buy.is-active .lg-book { animation: lg-wiggle 4s ease-in-out infinite; transform-box: fill-box; transform-origin: 50% 100%; }
@keyframes lg-wiggle { 0%, 100% { rotate: 0deg; } 50% { rotate: 3deg; } }
#seb-buy.is-active .bv-5 .lg-brick[style] { animation: lg-jiggle 2.4s ease-in-out infinite; animation-delay: calc(var(--w) * -.35s); }
@keyframes lg-jiggle { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
.bv-5 .bv-an { min-height: 56px; padding: 0 10px; }
@media (prefers-reduced-motion: reduce) { #seb-buy .bv-5 * { animation: none !important; } }
#seb-buy.is-active .lg-flame { animation: lg-flame .18s ease-in-out infinite alternate; transform-box: fill-box; transform-origin: 50% 0; }
@keyframes lg-flame { from { scale: 1 .85; } to { scale: 1.05 1.12; } }
#seb-buy .bv-5 * { animation: none !important; }   /* Lego variant is static (Arvis, 09.10.2026) */
/* Lego cards: taller, more air between the scene and the text. */
.bv-5 .lg-card { padding-top: 34px; padding-bottom: 40px; }
.bv-5 .lg-stage { height: 360px; margin-bottom: 44px; }

/* Slide 16 uses the Lego version only (09.10.2026). */
.bv.bv-5.is-default { display: block; }

/* "Riski, kas maksā naudu": a receipt of risks and their controls + a 2023 badge. */
#seb-risks h2 em { color: #008b8a; font-style: normal; }
.rk-wrap { position: absolute; left: 112px; right: 112px; top: 230px; display: grid; grid-template-columns: 1fr 440px; column-gap: 70px; align-items: start; }
.rk-receipt { padding: 34px 44px 50px; background: #fff; box-shadow: 0 18px 40px rgba(23, 33, 61, .12); font-family: "Liberation Mono", "DejaVu Sans Mono", monospace; color: #17213d;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 14px), 97.5% 100%, 95% calc(100% - 14px), 92.5% 100%, 90% calc(100% - 14px), 87.5% 100%, 85% calc(100% - 14px), 82.5% 100%, 80% calc(100% - 14px), 77.5% 100%, 75% calc(100% - 14px), 72.5% 100%, 70% calc(100% - 14px), 67.5% 100%, 65% calc(100% - 14px), 62.5% 100%, 60% calc(100% - 14px), 57.5% 100%, 55% calc(100% - 14px), 52.5% 100%, 50% calc(100% - 14px), 47.5% 100%, 45% calc(100% - 14px), 42.5% 100%, 40% calc(100% - 14px), 37.5% 100%, 35% calc(100% - 14px), 32.5% 100%, 30% calc(100% - 14px), 27.5% 100%, 25% calc(100% - 14px), 22.5% 100%, 20% calc(100% - 14px), 17.5% 100%, 15% calc(100% - 14px), 12.5% 100%, 10% calc(100% - 14px), 7.5% 100%, 5% calc(100% - 14px), 2.5% 100%, 0 calc(100% - 14px)); }
.rk-head { display: flex; justify-content: space-between; padding-bottom: 14px; border-bottom: 2px dashed rgba(23, 33, 61, .35); font-size: 18px; color: rgba(23, 33, 61, .6); }
.rk-lines { margin: 0; padding: 0; list-style: none; }
.cfo-slide .rk-lines li { display: grid; grid-template-columns: 48px auto 1fr auto; align-items: end; column-gap: 14px; margin: 0; padding: 20px 0 16px; border-bottom: 1px dotted rgba(23, 33, 61, .22); }
.rk-n { font-size: 20px; color: #008b8a; font-weight: 700; align-self: start; padding-top: 4px; }
.rk-risk b { display: block; font-family: var(--font-sans); font-size: 28px; font-weight: 800; }
.rk-risk span { display: block; margin-top: 4px; font-size: 15px; color: rgba(23, 33, 61, .55); }
.rk-dots { align-self: end; margin-bottom: 8px; border-bottom: 2px dotted rgba(23, 33, 61, .3); }
.rk-ctrl { font-family: var(--font-sans); font-size: 24px; font-weight: 800; color: #008b8a; white-space: nowrap; }
.rk-total { display: flex; align-items: baseline; gap: 22px; margin-top: 18px; padding-top: 16px; border-top: 2px solid #17213d; font-size: 18px; }
.rk-total b { font-family: var(--font-sans); font-size: 28px; font-weight: 800; }
#seb-risks.is-active .rk-lines li { animation: km-in .45s ease-out both; animation-delay: calc(.2s + var(--i) * .18s); }
/* The badge: the 2023 slide as a pinned note. */
.rk-badge { position: relative; padding: 20px 22px 24px; background: #fff; border-radius: 6px; transform: rotate(2.5deg); box-shadow: 0 18px 40px rgba(23, 33, 61, .16); }
.rk-badge::before { content: ""; position: absolute; top: -12px; left: 50%; width: 24px; height: 24px; margin-left: -12px; border-radius: 50%; background: #008b8a; box-shadow: 0 3px 6px rgba(23, 33, 61, .3); }
.rk-badge img { display: block; width: 100%; height: auto; border-radius: 3px; border: 1px solid rgba(23, 33, 61, .12); }
.cfo-slide .rk-badge-when { margin: 16px 0 0; font-size: 18px; font-weight: 700; color: #008b8a; }
.cfo-slide .rk-badge-quote { margin: 8px 0 0; font-size: 24px; line-height: 1.35; font-weight: 700; color: #17213d; }
.cfo-slide .rk-badge-now { margin: 10px 0 0; font-size: 20px; color: rgba(23, 33, 61, .6); }
@media (prefers-reduced-motion: reduce) { #seb-risks * { animation: none !important; } }

/* Slide 17 left side, review variants: ?risk=a (cards, default) | b (shield) | receipt. */
.rkv { display: none; }
[data-risk="c"] .rkv-c, [data-risk="d"] .rkv-d, [data-risk="e"] .rkv-e, [data-risk="f"] .rkv-f { display: block; }
:root:not([data-risk="receipt"]) .rk-receipt { display: none; }
.rkA-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.rkA-card { padding: 30px 32px 28px; border: 1.2px solid rgba(23, 33, 61, .5); border-radius: 6px; box-shadow: inset 0 0 0 5px var(--paper), inset 0 0 0 5.8px rgba(23, 33, 61, .18); }
.rkA-ico svg { width: 64px; height: 64px; fill: none; stroke: #17213d; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.cfo-slide .rkA-risk { margin: 18px 0 0; min-height: 76px; font-size: 32px; line-height: 1.2; font-weight: 800; color: #17213d; }
.cfo-slide .rkA-ctrl { display: inline-flex; align-items: center; gap: 12px; margin: 16px 0 0; padding: 10px 18px 10px 12px; border-radius: 999px; background: rgba(0, 139, 138, .1); font-size: 24px; font-weight: 700; color: #006c6b; }
.rkA-lock { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #008b8a; }
.rkA-lock svg { width: 18px; height: 18px; fill: none; stroke: #fff; stroke-width: 2.4; }
.cfo-slide .rkA-total { margin: 26px 0 0; font-size: 28px; font-weight: 800; color: #17213d; }
#seb-risks.is-active .rkA-card { animation: km-in .45s ease-out both; animation-delay: calc(.2s + var(--i) * .15s); }
.rkB-svg { display: block; width: 100%; height: auto; overflow: visible; }
.rkB-core { fill: #17213d; }
.rkB-coret { fill: #f6f6f3; font: 800 28px var(--font-sans); text-anchor: middle; }
.rkB-seg { fill: rgba(0, 139, 138, .85); stroke: #f6f6f3; stroke-width: 3; }
.rkB-hit line { stroke: rgba(23, 33, 61, .45); stroke-width: 2.5; stroke-dasharray: 6 6; }
.rkB-hit circle { fill: #17213d; }
.rkB-lab text { fill: #17213d; font: 800 27px var(--font-sans); }
.rkB-lab rect { fill: rgba(0, 139, 138, .12); }
.rkB-lab .rkB-pill { fill: #006c6b; font: 700 20px var(--font-sans); }
#seb-risks.is-active .rkB-seg { animation: km-glow .5s ease-out both; animation-delay: calc(.2s + var(--i) * .15s); }
#seb-risks.is-active .rkB-lab { animation: km-in .45s ease-out both; animation-delay: calc(.6s + var(--i) * .15s); }

/* C: warning signs */
.rkC-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; text-align: center; }
.rkC-sign { width: 170px; height: 240px; }
.cfo-slide .rkC-risk { margin: 14px 0 0; min-height: 76px; font-size: 27px; line-height: 1.2; font-weight: 800; color: #17213d; }
.cfo-slide .rkC-ctrl { display: flex; flex-direction: column; align-items: center; gap: 10px; margin: 12px 0 0; font-size: 22px; font-weight: 700; color: #006c6b; }
.rkC-round { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: #fff; border: 6px solid #008b8a; }
.rkC-round svg { width: 26px; height: 26px; fill: none; stroke: #008b8a; stroke-width: 2.6; }
#seb-risks.is-active .rkC-col { animation: km-in .45s ease-out both; animation-delay: calc(.2s + var(--i) * .15s); }
/* D: insurance policy */
.rkD-doc { position: relative; padding: 40px 56px 34px; background: #fff; border: 1px solid rgba(23, 33, 61, .15); box-shadow: 0 18px 40px rgba(23, 33, 61, .12); background-image: repeating-linear-gradient(0deg, transparent 0 44px, rgba(0, 139, 138, .05) 44px 45px); }
.rkD-head { padding-bottom: 18px; border-bottom: 3px double rgba(23, 33, 61, .45); }
.cfo-slide .rkD-title { margin: 0; font-size: 40px; font-weight: 800; color: #17213d; letter-spacing: -.01em; }
.cfo-slide .rkD-no { margin: 6px 0 0; font-size: 18px; color: rgba(23, 33, 61, .55); font-family: "Liberation Mono", monospace; }
.rkD-list { margin: 10px 0 0; padding: 0; list-style: none; }
.cfo-slide .rkD-list li { display: grid; grid-template-columns: 56px 1fr; margin: 0; padding: 16px 0; border-bottom: 1px dotted rgba(23, 33, 61, .25); }
.rkD-n { font-size: 26px; font-weight: 800; color: #008b8a; }
.cfo-slide .rkD-r { margin: 0; font-size: 27px; font-weight: 800; color: #17213d; }
.cfo-slide .rkD-c { margin: 4px 0 0; font-size: 21px; color: rgba(23, 33, 61, .65); }
.rkD-c b { color: #006c6b; }
.rkD-foot { display: flex; justify-content: flex-start; margin-top: 26px; }
.rkD-sign span { display: block; width: 260px; height: 2px; background: #17213d; }
.cfo-slide .rkD-sign p { margin: 6px 0 0; font-size: 16px; color: rgba(23, 33, 61, .55); }
.rkD-stamp { position: absolute; right: 40px; bottom: 20px; width: 190px; height: 190px; transform: rotate(-12deg); opacity: .9; }
.rkD-stamp svg { width: 100%; height: 100%; }
.rkD-stamp circle { fill: none; stroke: #008b8a; stroke-width: 4; }
.rkD-stamp text { fill: #008b8a; font: 800 17px var(--font-sans); letter-spacing: .12em; }
.rkD-stamp .rkD-stc { font-size: 28px; letter-spacing: 0; text-anchor: middle; }
/* E: heat map */
.rkE-wrap { display: grid; grid-template-columns: 560px 1fr; column-gap: 40px; align-items: center; }
.rkE-svg { width: 560px; height: 560px; overflow: visible; }
.rkE-arr { fill: none; stroke: #008b8a; stroke-width: 3; stroke-dasharray: 7 6; }
.rkE-n { fill: #17213d; font: 800 20px var(--font-sans); text-anchor: middle; }
.rkE-nw { fill: #fff; }
.rkE-ax { fill: #17213d; font: 700 20px var(--font-sans); text-anchor: middle; }
.rkE-legend { margin: 0; padding: 0; list-style: none; }
.cfo-slide .rkE-legend li { display: grid; grid-template-columns: 52px 1fr; align-items: start; margin: 0; padding: 14px 0; border-bottom: 1px dotted rgba(23, 33, 61, .22); }
.rkE-ln { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #008b8a; color: #fff; font-size: 18px; font-weight: 800; }
.rkE-legend b { display: block; font-size: 25px; color: #17213d; }
.rkE-legend div span { display: block; margin-top: 4px; font-size: 21px; font-weight: 700; color: #006c6b; }
#seb-risks.is-active .rkE-arr { animation: km-glow .6s ease-out both; animation-delay: calc(.6s + var(--i) * .25s); }
#seb-risks.is-active .rkE-after { animation: km-glow .4s ease-out both; animation-delay: calc(.9s + var(--i) * .25s); }
/* F: door with locks */
.rkF-svg { display: block; width: 100%; height: auto; overflow: visible; }
.rkF-door { fill: #f6f6f3; font: 800 30px var(--font-sans); }
.rkF-lead { stroke: rgba(0, 139, 138, .55); stroke-width: 2; }
.rkF-ctrl { fill: #006c6b; font: 800 26px var(--font-sans); }
.rkF-risk { fill: #17213d; font: 700 24px var(--font-sans); text-anchor: end; }
.rkF-push { fill: none; stroke: #17213d; stroke-width: 2.5; }

/* C v2: start of a road with warning signs (slide 17). */
.rkv-c { margin-top: -30px; }
.rd-svg { display: block; width: 100%; height: auto; overflow: visible; }
.rd-hz { stroke: rgba(23, 33, 61, .18); stroke-width: 1.5; }
.rd-road { fill: url(#rd-g); }
.rd-edge { fill: none; stroke: #f6f6f3; stroke-width: 3; opacity: .8; }
.rd-dash { fill: #e9b949; }
.rd-start { fill: rgba(246, 246, 243, .85); font: 800 34px var(--font-sans); letter-spacing: .3em; text-anchor: middle; }
.rd-lab { fill: #17213d; font-weight: 800; font-family: var(--font-sans); text-anchor: middle; }
#seb-risks.is-active .rd-sign { animation: rd-pop .5s cubic-bezier(.2, .8, .3, 1.3) both; animation-delay: calc(.2s + var(--i) * .18s); transform-box: fill-box; transform-origin: 50% 100%; }
@keyframes rd-pop { from { opacity: 0; transform: scaleY(.6); } to { opacity: 1; transform: none; } }

/* Slide 17 uses the road-with-signs version only (09.10.2026). */
.rkv.rkv-c.is-default { display: block; }

/* Closing: "Vai jūsu tokeni pelna?" + Špikeris #2 on a pinned card (same style as the 2023 note). */
.cl-wrap { position: absolute; left: 112px; right: 112px; top: 120px; bottom: 120px; display: grid; grid-template-columns: 1fr 820px; column-gap: 90px; align-items: center; }
#seb-close h2 { margin: 0; font-size: 104px; font-weight: 800; line-height: 1; letter-spacing: -.03em; color: #17213d; }
#seb-close h2 em { display: block; color: #008b8a; font-style: normal; }
.cfo-slide .cl-sub { margin: 34px 0 0; max-width: 520px; font-size: 30px; line-height: 1.35; color: rgba(23, 33, 61, .55); }
.cl-contact { margin-top: 70px; }
.cfo-slide .cl-name { margin: 0; font-size: 28px; font-weight: 800; color: #17213d; }
.cfo-slide .cl-mail { margin: 4px 0 0; font-size: 22px; color: #008b8a; font-weight: 600; }
.cl-card { position: relative; padding: 46px 52px 40px; background: #fff; border-radius: 6px; transform: rotate(-1.5deg); box-shadow: 0 22px 50px rgba(23, 33, 61, .16); }
.cl-card::before { content: ""; position: absolute; top: -13px; left: 50%; width: 26px; height: 26px; margin-left: -13px; border-radius: 50%; background: #008b8a; box-shadow: 0 3px 6px rgba(23, 33, 61, .3); }
.cl-list { margin: 0; padding: 0; list-style: none; }
.cfo-slide .cl-list li { display: grid; grid-template-columns: 64px 1fr; align-items: start; margin: 0; padding: 20px 0; border-bottom: 1px dotted rgba(23, 33, 61, .22); }
.cfo-slide .cl-list li:last-child { border-bottom: 0; }
.cl-n { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #17213d; color: #f6f6f3; font-size: 22px; font-weight: 800; }
.cfo-slide .cl-q { margin: 0; font-size: 33px; line-height: 1.2; font-weight: 800; color: #17213d; }
.cfo-slide .cl-a { margin: 6px 0 0; font-size: 22px; color: rgba(23, 33, 61, .6); }
#seb-close.is-active .cl-list li { animation: km-in .45s ease-out both; animation-delay: calc(.3s + var(--i) * .14s); }
@media (prefers-reduced-motion: reduce) { #seb-close * { animation: none !important; } }

/* Closing variants (09.10.2026), switched by close.js via ?close=a|b|c|old. */
.cl-v { display: none; }
#seb-close[data-close="a"] .cl-va, #seb-close[data-close="b"] .cl-vb, #seb-close[data-close="c"] .cl-vc { display: block; }
#seb-close[data-close="old"] .cl-vold { display: grid; }
.cfo-slide .cl-by { position: absolute; left: 112px; bottom: 54px; margin: 0; font-size: 22px; color: rgba(23, 33, 61, .55); }

/* A: the cover runs back. Tokens fall through the harness line; some turn back into banknotes. */
.cl-money { position: absolute; top: 0; right: 0; width: 800px; height: 1080px; pointer-events: none; }
.cl-money canvas { width: 100%; height: 100%; display: block; }
.cl-gate { position: absolute; left: 40px; right: 40px; top: 51.85%; height: 2px; background: linear-gradient(90deg, transparent, #008b8a 18%, #008b8a 82%, transparent); opacity: .7; }
.cla-text { position: absolute; left: 112px; top: 0; bottom: 0; width: 960px; display: flex; flex-direction: column; justify-content: center; }
#seb-close .cla-title { margin: 0; font-size: 70px; font-weight: 800; line-height: 1.06; letter-spacing: -.025em; color: #17213d; max-width: 960px; }
#seb-close .cla-title em { display: block; margin-top: 14px; font-style: normal; color: #008b8a; }
.cla-list { margin: 64px 0 0; padding: 0; list-style: none; }
.cfo-slide .cla-list li { display: flex; align-items: center; gap: 26px; margin: 0; padding: 18px 0; font-size: 38px; font-weight: 700; color: #17213d; border-top: 1px solid rgba(23, 33, 61, .14); }
.cfo-slide .cla-list li:last-child { border-bottom: 1px solid rgba(23, 33, 61, .14); }
.cla-list span { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; border: 1.5px solid #17213d; font-size: 22px; font-weight: 800; }
#seb-close.is-active .cla-list li { animation: km-in .5s ease-out both; animation-delay: calc(.6s + var(--i) * .18s); }

/* B: three numbers before signing; blanks underline in turn, then one token becomes a banknote. */
.cl-vb { position: absolute; inset: 0; }
#seb-close .clb-title { position: absolute; left: 112px; top: 120px; margin: 0; font-size: 88px; font-weight: 800; letter-spacing: -.03em; line-height: 1; color: #17213d; }
.clb-list { position: absolute; left: 112px; right: 112px; top: 300px; margin: 0; padding: 0; list-style: none; }
.cfo-slide .clb-list li { display: grid; grid-template-columns: 84px 1fr 460px; grid-template-rows: auto auto; column-gap: 0; align-items: end; margin: 0 0 46px; }
.clb-n { grid-row: 1 / 3; align-self: center; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: #17213d; color: #f6f6f3; font-size: 28px; font-weight: 800; }
.clb-q { font-size: 54px; font-weight: 800; line-height: 1.1; letter-spacing: -.015em; color: #17213d; }
.clb-blank { grid-row: 1 / 3; grid-column: 3; align-self: center; position: relative; display: flex; align-items: flex-end; justify-content: flex-end; gap: 14px; height: 70px; font-size: 48px; font-weight: 700; color: rgba(23, 33, 61, .5); }
.clb-blank b { flex: none; width: 116px; font-weight: 700; }
.clb-blank i { position: relative; flex: 1; height: 100%; }
.clb-blank i::after { content: ""; position: absolute; left: 0; right: 0; bottom: 6px; height: 4px; border-radius: 2px; background: #008b8a; transform-origin: 0 50%; }
.clb-hint { grid-column: 2; margin-top: 8px; font-size: 26px; color: rgba(23, 33, 61, .55); }
#seb-close.is-active .clb-list li { animation: km-in .5s ease-out both; animation-delay: calc(.3s + var(--i) * .2s); }
#seb-close.is-active .clb-blank i::after { animation: clb-pen .55s cubic-bezier(.5, 0, .3, 1) both; animation-delay: calc(1.2s + var(--i) * .45s); }
.clb-list li:nth-child(1) .clb-blank i::after { --i: 0; } .clb-list li:nth-child(2) .clb-blank i::after { --i: 1; } .clb-list li:nth-child(3) .clb-blank i::after { --i: 2; }
@keyframes clb-pen { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.cfo-slide .clb-two { position: absolute; left: 196px; right: 112px; top: 880px; margin: 0; font-size: 32px; line-height: 1.35; color: rgba(23, 33, 61, .7); }
.clb-two b { color: #17213d; }
#seb-close.is-active .clb-two { animation: km-in .5s ease-out 2.8s both; }
.clb-coin { position: absolute; right: 150px; top: 790px; width: 260px; height: 140px; }
.clb-chip { position: absolute; left: 50%; top: 50%; padding: 8px 18px; transform: translate(-50%, -50%); border: 1.2px solid rgba(23, 33, 61, .7); outline: .8px solid rgba(23, 33, 61, .35); outline-offset: -4.5px; border-radius: 3px; background: #f6f6f3; font: 500 24px "Liberation Mono", "DejaVu Sans Mono", monospace; color: #17213d; opacity: 0; }
.clb-note { position: absolute; left: 50%; top: 50%; width: 240px; transform: translate(-50%, -50%) rotate(-6deg); filter: drop-shadow(0 12px 18px rgba(23, 33, 61, .22)); opacity: 0; }
#seb-close.is-active .clb-chip { animation: clb-chip 1.4s ease-in-out 2.8s both; }
#seb-close.is-active .clb-note { animation: clb-note .7s cubic-bezier(.2, .8, .3, 1.3) 4.0s both; }
@keyframes clb-chip { 0% { opacity: 0; transform: translate(-200%, -50%); } 25% { opacity: 1; } 70% { opacity: 1; transform: translate(-50%, -50%) scale(1); } 100% { opacity: 0; transform: translate(-50%, -50%) scale(1.6); } }
@keyframes clb-note { from { opacity: 0; transform: translate(-50%, -50%) rotate(-6deg) scale(.3); } to { opacity: 1; transform: translate(-50%, -50%) rotate(-6deg) scale(1); } }

/* C: one blank receipt, printed by "your AI process". Same paper as the HarnessTax slide. */
.cl-vc { position: absolute; left: 112px; right: 112px; top: 110px; bottom: 110px; }
.cl-vc.cl-v { display: none; }
#seb-close[data-close="c"] .cl-vc { display: grid; grid-template-columns: 1fr 640px; column-gap: 110px; align-items: center; }
#seb-close .clc-title { margin: 0; font-size: 104px; font-weight: 800; line-height: 1; letter-spacing: -.03em; color: #17213d; }
#seb-close .clc-title em { display: block; font-style: normal; color: #008b8a; }
.cfo-slide .clc-sub { margin: 40px 0 0; max-width: 680px; font-size: 36px; line-height: 1.3; color: rgba(23, 33, 61, .7); }
.clc-left .cl-by { left: 0; bottom: -56px; }
.clc-receipt .rc-slot { height: 76px; }
.clc-receipt .rc-slot span { font-size: 26px; }
.clc-paper { padding: 40px 34px 40px; }
.cfo-slide .clc-paper .rc-head { font-size: 22px; display: flex; gap: 12px; align-items: baseline; }
.cfo-slide .clc-paper .rc-row { align-items: baseline; margin: 0 0 16px; font-size: 24px; }
.cfo-slide .clc-paper .rc-total { margin: 10px 0 18px; font-size: 25px; color: #008b8a; }
.clc-fill { display: inline-flex; justify-content: flex-end; align-items: baseline; min-width: 150px; padding-bottom: 2px; border-bottom: 2px dotted rgba(23, 33, 61, .45); font-weight: 700; color: rgba(23, 33, 61, .55); }
.clc-wide { flex: 1; }
.clc-total .clc-fill { min-width: 170px; border-bottom: 3px solid #008b8a; color: #008b8a; font-size: 30px; }
#seb-close.is-active .clc-paper { animation: rc-print 2s cubic-bezier(.3, .1, .3, 1) .3s both; }
@media (prefers-reduced-motion: reduce) { #seb-close .clb-chip { display: none; } #seb-close .clb-note { opacity: 1; } }

/* D (default): "Jautājums ir, kā." Where are you on the slide-10 curve, and what to do from there. */
.cl-vd { position: absolute; inset: 0; }
#seb-close[data-close="d"] .cl-vd { display: block; }
#seb-close .cld-title { position: absolute; left: 112px; top: 110px; margin: 0; font-size: 66px; font-weight: 800; line-height: 1.05; letter-spacing: -.025em; color: #17213d; }
#seb-close .cld-title em { font-style: normal; color: #008b8a; }
.cld-svg { position: absolute; left: 112px; top: 300px; width: 1696px; height: 640px; overflow: visible; }
.cld-zero { stroke: rgba(23, 33, 61, .25); stroke-width: 1.5; stroke-dasharray: 6 8; }
.cld-curve { fill: none; stroke: #17213d; stroke-width: 6; stroke-linecap: round; stroke-dasharray: 1; }
.cld-branch { fill: none; stroke: rgba(23, 33, 61, .35); stroke-width: 4; stroke-dasharray: 2 12; stroke-linecap: round; }
.cld-turn { fill: none; stroke: #008b8a; stroke-width: 3.5; stroke-linecap: round; }
.cld-dot { fill: #f6f6f3; stroke: #17213d; stroke-width: 4; }
.cld-dot-dim { stroke: rgba(23, 33, 61, .45); }
.cld-dot-end { fill: #008b8a; stroke: #008b8a; }
.cld-k { font-size: 32px; font-weight: 800; fill: #17213d; }
.cld-a { font-size: 27px; fill: rgba(23, 33, 61, .65); }
.cld-done { font-size: 60px; font-weight: 800; letter-spacing: -.02em; fill: #008b8a; }
#seb-close.is-active .cld-curve { animation: cld-draw 2.6s cubic-bezier(.45, 0, .3, 1) .3s both; }
@keyframes cld-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
#seb-close.is-active .cld-dot, #seb-close.is-active .cld-lab { animation: km-in .5s ease-out both; animation-delay: calc(.4s + var(--i) * .75s); }
#seb-close.is-active .cld-branch, #seb-close.is-active .cld-turn { animation: km-in .6s ease-out 2s both; }
#seb-close.is-active .cld-lab-end { animation-delay: 3s; }

/* Closing d alternatives (09.10.2026): e verbs, f metro map, g road with direction signs. tools/gen-close.py */
.cl-ve, .cl-vf, .cl-vg { position: absolute; inset: 0; }
#seb-close[data-close="e"] .cl-ve, #seb-close[data-close="f"] .cl-vf, #seb-close[data-close="g"] .cl-vg { display: block; }
.cle-cols { position: absolute; left: 112px; right: 112px; top: 330px; display: grid; grid-template-columns: repeat(3, 1fr); text-align: center; }
.cfo-slide .cle-k { margin: 0; font-size: 30px; font-weight: 600; color: rgba(23, 33, 61, .55); }
.cfo-slide .cle-v { margin: 6px 0 0; font-size: 112px; font-weight: 800; letter-spacing: -.035em; line-height: 1.05; color: #17213d; }
.cfo-slide .cle-d { margin: 8px 0 0; font-size: 32px; color: rgba(23, 33, 61, .75); }
.cle-svg { position: absolute; left: 112px; top: 640px; width: 1696px; height: 140px; overflow: visible; }
.cle-path { fill: none; stroke: #008b8a; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 1; opacity: .8; }
.cfo-slide .cle-done { position: absolute; left: 0; right: 0; top: 800px; margin: 0; text-align: center; font-size: 96px; font-weight: 800; letter-spacing: -.03em; color: #008b8a; }
#seb-close.is-active .cle-col { animation: km-in .5s ease-out both; animation-delay: calc(.3s + var(--i) * .3s); }
#seb-close.is-active .cle-path { animation: cld-draw .9s ease-in-out both; animation-delay: calc(1.4s + var(--i) * .1s); }
#seb-close.is-active .cle-done { animation: km-in .6s ease-out 2.3s both; }

.clf-svg { position: absolute; left: 112px; top: 320px; width: 1696px; height: 620px; overflow: visible; }
.clf-line { fill: none; stroke: #17213d; stroke-width: 14; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; }
.clf-trunk { fill: none; stroke: #008b8a; stroke-width: 22; stroke-linecap: round; stroke-dasharray: 1; }
.clf-junc { fill: #f6f6f3; stroke: #17213d; stroke-width: 6; }
.clf-st circle { fill: #f6f6f3; stroke: #17213d; stroke-width: 7; }
.clf-a { font-size: 30px; fill: rgba(23, 33, 61, .75); }
.clf-end-o { fill: #f6f6f3; stroke: #008b8a; stroke-width: 9; }
.clf-end-i { fill: #008b8a; }
.clf-done { font-size: 76px; font-weight: 800; letter-spacing: -.025em; fill: #008b8a; }
#seb-close.is-active .clf-st { animation: km-in .45s ease-out both; animation-delay: calc(.3s + var(--i) * .25s); }
#seb-close.is-active .clf-line { animation: cld-draw 1.1s ease-in-out both; animation-delay: calc(.9s + var(--i) * .15s); }
#seb-close.is-active .clf-trunk { animation: cld-draw .8s ease-out 2.2s both; }
#seb-close.is-active .clf-end, #seb-close.is-active .clf-junc { animation: km-in .5s ease-out 2.8s both; }

.clg-svg { position: absolute; left: 112px; top: 340px; width: 1696px; height: 640px; overflow: visible; }
.clg-hz { stroke: rgba(23, 33, 61, .18); stroke-width: 1.5; }
.clg-edge { fill: none; stroke: #f6f6f3; stroke-width: 3; opacity: .8; }
.clg-dash { fill: #f6f6f3; opacity: .85; }
.clg-sun { fill: #008b8a; }
.clg-done { font-size: 76px; font-weight: 800; letter-spacing: -.025em; fill: #008b8a; }
.clg-v { font-size: 46px; font-weight: 800; letter-spacing: -.02em; fill: #17213d; }
.clg-d { font-size: 28px; font-weight: 400; letter-spacing: 0; fill: rgba(23, 33, 61, .7); }
#seb-close.is-active .clg-sign { animation: rd-pop .5s cubic-bezier(.2, .8, .3, 1.3) both; animation-delay: calc(.4s + var(--i) * .35s); transform-box: fill-box; transform-origin: 50% 100%; }
#seb-close.is-active .clg-done, #seb-close.is-active .clg-sun { animation: km-in .6s ease-out 1.8s both; }
.clf-v { font-size: 40px; font-weight: 800; fill: #17213d; letter-spacing: -.015em; }

/* Closing round 3 (09.10.2026): h memo table, i Lego, j navigation. tools/gen-close2.py */
.cl-vh, .cl-vi, .cl-vj { position: absolute; inset: 0; }
#seb-close[data-close="h"] .cl-vh, #seb-close[data-close="i"] .cl-vi, #seb-close[data-close="j"] .cl-vj { display: block; }
.cfo-slide .clh-done { position: absolute; left: 112px; top: 830px; margin: 0; font-size: 84px; font-weight: 800; letter-spacing: -.03em; line-height: 1; color: #008b8a; }

.clh-table { position: absolute; left: 112px; right: 112px; top: 270px; }
.clh-head, .clh-row { display: grid; grid-template-columns: 560px 400px 1fr; column-gap: 40px; align-items: baseline; }
.clh-head { padding-bottom: 14px; border-bottom: 2px solid #17213d; font-size: 22px; font-weight: 700; color: rgba(23, 33, 61, .55); }
.clh-row { padding: 30px 0; border-bottom: 1px solid rgba(23, 33, 61, .16); }
.cfo-slide .clh-k { margin: 0; font-size: 36px; font-weight: 600; color: rgba(23, 33, 61, .7); }
.cfo-slide .clh-v { margin: 0; font-size: 60px; font-weight: 800; letter-spacing: -.025em; line-height: 1; color: #17213d; }
.cfo-slide .clh-d { margin: 0; font-size: 30px; line-height: 1.3; color: #17213d; }
#seb-close.is-active .clh-row { animation: km-in .5s ease-out both; animation-delay: calc(.3s + var(--i) * .3s); }
#seb-close.is-active .cl-vh .clh-done, #seb-close.is-active .cli-done, #seb-close.is-active .clj-done { animation: km-in .6s ease-out 1.6s both; }

.cli-cards { position: absolute; left: 112px; right: 112px; top: 230px; display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 60px; text-align: center; }
.cli-card svg { display: block; width: 100%; height: 330px; overflow: visible; }
.cfo-slide .cli-v { margin: 4px 0 0; font-size: 72px; font-weight: 800; letter-spacing: -.03em; line-height: 1.05; color: #17213d; }
.cli-done { left: 0 !important; right: 0; text-align: center; top: 880px !important; font-size: 76px !important; }
#seb-close.is-active .cli-card { animation: km-in .5s ease-out both; animation-delay: calc(.2s + var(--i) * .25s); }
#seb-close.is-active .cli-drop { animation: cli-drop 1.4s cubic-bezier(.3, 0, .4, 1) 1.2s infinite alternate; }
#seb-close .cli-out { opacity: .45; }
.cli-arrow { fill: none; stroke: #008b8a; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 3 7; }
@keyframes cli-drop { from { transform: translateY(-14px); } to { transform: translateY(6px); } }
@keyframes cli-out { 0%, 30% { transform: none; opacity: 1; } 100% { transform: translate(-60px, -26px); opacity: .25; } }

.clj-list { position: absolute; left: 112px; top: 290px; width: 800px; }
.clj-turn { display: grid; grid-template-columns: 96px 1fr; column-gap: 28px; align-items: center; padding: 22px 0; border-bottom: 1px solid rgba(23, 33, 61, .14); }
.clj-turn:first-child { border-top: 1px solid rgba(23, 33, 61, .14); }
.clj-ico { width: 96px; height: 96px; }
.cfo-slide .clj-k { margin: 0; font-size: 26px; font-weight: 600; color: rgba(23, 33, 61, .55); }
.cfo-slide .clj-v { margin: 4px 0 0; font-size: 54px; font-weight: 800; letter-spacing: -.025em; line-height: 1.05; color: #17213d; }
.clj-v span { font-size: 28px; font-weight: 400; letter-spacing: 0; color: rgba(23, 33, 61, .7); }
.clj-done { top: 830px !important; }
.clj-map { position: absolute; right: 112px; top: 270px; width: 820px; height: 640px; filter: drop-shadow(0 24px 40px rgba(23, 33, 61, .22)); }
.clj-blk { fill: #222d50; }
.clj-st { stroke: #34406a; stroke-width: 18; stroke-linecap: round; }
.clj-old { fill: none; stroke: rgba(246, 246, 243, .4); stroke-width: 10; stroke-dasharray: 2 18; stroke-linecap: round; }
.clj-new { fill: none; stroke: #1cb499; stroke-width: 14; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; }
.clj-halo { fill: rgba(28, 180, 153, .3); }
.clj-bt { font-size: 28px; font-weight: 800; fill: #fff; }
#seb-close.is-active .clj-turn { animation: km-in .5s ease-out both; animation-delay: calc(.3s + var(--i) * .3s); }
#seb-close.is-active .clj-new { animation: cld-draw 2s cubic-bezier(.45, 0, .3, 1) 1s both; }
#seb-close.is-active .clj-halo { animation: clj-pulse 1.8s ease-out infinite; transform-box: fill-box; transform-origin: center; }
#seb-close.is-active .clj-banner { animation: km-in .5s ease-out .6s both; }
@keyframes clj-pulse { from { transform: scale(.6); opacity: 1; } to { transform: scale(1.5); opacity: 0; } }
#seb-close[data-close="ph"] .cl-vph { display: block; }

/* Closing "k": the putt (14.10.2026). Green drawn like a green-reading book; three balls play the three cases.
   Markup tools/gen-putt.py, animation putt.js. */
#seb-close[data-close="k"] .cl-vk { display: block; }

/* Closing "l": the wave (15.10.2026). Small swells come and go; this one rises out of the frame. wave.js draws the line. */
#seb-close[data-close="l"] .cl-vl { display: block; }

/* Closing "m": zoom-out field (15.10.2026). One agent dot; the camera pulls back to teams, companies, thousands. field.js. */
#seb-close[data-close="m"] .cl-vm { display: block; }

/* Closing "n" (15.10.2026): Arvis's line as a two-row equation; the cover's money-to-tokens animation in reverse. */
#seb-close[data-close="n"] .cl-vn { display: block; }
.cln-text { position: absolute; left: 112px; top: 0; bottom: 0; width: 980px; display: flex; align-items: center; }
#seb-close .cln-title { display: grid; grid-template-columns: auto auto 1fr; column-gap: 30px; row-gap: 18px; margin: 0;
  font-size: 70px; font-weight: 800; line-height: 1.08; letter-spacing: -.025em; color: #17213d; }
.cln-row { display: contents; }
.cln-title b { font-weight: 800; }
.cln-title i { font-style: normal; font-weight: 500; color: rgba(23, 33, 61, .35); }
.cln-go b, .cln-go span { color: #008b8a; }
#seb-close.is-active .cln-title b, #seb-close.is-active .cln-title i, #seb-close.is-active .cln-title span { animation: km-in .6s ease-out both; }
#seb-close.is-active .cln-go b, #seb-close.is-active .cln-go i, #seb-close.is-active .cln-go span { animation-delay: .7s; }
.clm-canvas { position: absolute; left: 0; top: 0; width: 1920px; height: 1080px; }
.clm-fade { position: absolute; left: 0; top: 0; width: 1400px; height: 1080px; opacity: 0; transition: opacity 1.8s ease-out;
  background: linear-gradient(90deg, #f6f6f3 0%, rgba(246, 246, 243, .95) 70%, rgba(246, 246, 243, 0) 100%); }
#seb-close .clm-q { position: absolute; left: 112px; top: 380px; z-index: 1; margin: 0; max-width: 1260px; font-size: 88px; font-weight: 800;
  line-height: 1.08; letter-spacing: -.025em; color: #17213d; opacity: 0; transform: translateY(14px); transition: opacity 1.6s ease-out, transform 1.6s ease-out; }
#seb-close .clm-q em { display: block; font-style: normal; color: #008b8a; }
#seb-close .cl-vm.is-q .clm-q, #seb-close .cl-vm.is-q .clm-fade { opacity: 1; transform: none; }
.cl-vm .cl-by { z-index: 1; }
@media (prefers-reduced-motion: reduce) { #seb-close .cl-vm * { transition: none !important; } }
.cll-svg { position: absolute; left: 0; top: 0; width: 1920px; height: 1080px; overflow: hidden; }
#seb-close .cll-q { position: absolute; left: 112px; top: 300px; z-index: 1; margin: 0; max-width: 1240px; font-size: 88px; font-weight: 800;
  line-height: 1.08; letter-spacing: -.025em; color: #17213d; opacity: 0; transform: translateY(14px); transition: opacity 1.4s ease-out, transform 1.4s ease-out; }
#seb-close .cll-q em { display: block; font-style: normal; color: #008b8a; }
#seb-close .cl-vl.is-q .cll-q { opacity: 1; transform: none; }
.cl-vl .cl-by { z-index: 1; }
.cll-line { fill: none; stroke: #008b8a; stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }
.cll-line2 { fill: none; stroke: rgba(0, 139, 138, .32); stroke-width: 1.6; }
.cll-face { fill: none; stroke: rgba(0, 139, 138, .26); stroke-width: 1.4; stroke-dasharray: 60 34; }
#seb-close.is-active .cll-face { animation: cll-rise 6s linear infinite; }
@keyframes cll-rise { to { stroke-dashoffset: -188; } }
@media (prefers-reduced-motion: reduce) { #seb-close .cl-vl * { animation: none !important; transition: none !important; } }
#seb-close .clk-title { margin: 0; font-size: 68px; font-weight: 700; line-height: 1.12; letter-spacing: -.01em; }
#seb-close .clk-title em { display: inline; font-style: normal; color: #008b8a; }
.clk-list { position: absolute; left: 112px; top: 404px; width: 640px; margin: 0; padding: 0; list-style: none; }
.clk-list li { display: grid; grid-template-columns: 30px 1fr; column-gap: 24px; align-items: start; margin: 0 0 36px; }
.cfo-slide .clk-list p { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.clk-list b { font-size: 31px; font-weight: 800; line-height: 1.15; color: #17213d; }
.clk-list p span { font-size: 26px; line-height: 1.3; color: rgba(23, 33, 61, .68); }
.clk-mk { box-sizing: border-box; width: 28px; height: 28px; margin-top: 4px; border-radius: 50%; border: 2px solid #17213d; background: #fff;
  transition: background .35s, border-color .35s, box-shadow .35s; }
.clk-mk-cup { background: #17213d; }
.clk-list li.clk-done { align-items: center; margin-top: 14px; }
.clk-list li.clk-done .clk-mk { margin-top: 0; }
.clk-list .clk-done b { font-size: 54px; letter-spacing: -.02em; color: #008b8a; transform-origin: 0 50%; }
.cl-vk[data-step="0"] li[data-k="0"] .clk-mk, .cl-vk[data-step="1"] li[data-k="1"] .clk-mk,
.cl-vk[data-step="2"] li[data-k="2"] .clk-mk { background: #008b8a; border-color: #008b8a; box-shadow: 0 0 0 7px rgba(0, 139, 138, .16); }
.cl-vk[data-step="3"] li[data-k="3"] .clk-mk { box-shadow: 0 0 0 7px rgba(0, 139, 138, .22); }
.cl-vk.is-hit .clk-done b { animation: clk-hit .8s cubic-bezier(.2, .8, .3, 1.3); }
@keyframes clk-hit { 0% { transform: scale(1); } 35% { transform: scale(1.06); } 100% { transform: scale(1); } }

.clk-svg { position: absolute; left: 700px; top: 170px; width: 1220px; height: 910px; overflow: visible; }
.clk-fringe { fill: rgba(0, 139, 138, .05); stroke: rgba(23, 33, 61, .3); stroke-width: 1.6; stroke-dasharray: .1 8; stroke-linecap: round; }
.clk-green { fill: rgba(0, 139, 138, .1); }
.clk-edge { fill: none; stroke: #17213d; stroke-width: 2.2; }
.clk-ct { fill: none; stroke: rgba(0, 139, 138, .4); stroke-width: 1.3; }
.clk-ar { fill: none; stroke: #008b8a; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; opacity: .3; }
#seb-close.is-active .clk-ar { animation: clk-flow 3s ease-in-out infinite; animation-delay: calc((1 - var(--d)) * -3s); }
@keyframes clk-flow { 0%, 100% { opacity: .14; } 50% { opacity: .6; } }
.clk-stick { fill: none; stroke: rgba(23, 33, 61, .18); stroke-width: 5; stroke-linecap: round; }
.clk-pennant { fill: rgba(23, 33, 61, .15); transform-box: fill-box; transform-origin: 0% 60%; }
#seb-close.is-active .clk-pennant { animation: clk-wave 2.8s ease-in-out infinite; }
@keyframes clk-wave { 0%, 100% { transform: skewY(0); } 50% { transform: skewY(7deg); } }
.clk-lip { fill: #fbfbf9; stroke: rgba(23, 33, 61, .4); stroke-width: 1.5; }
.clk-hole { fill: #17213d; }
.clk-ripple { fill: none; stroke: #008b8a; stroke-width: 3; opacity: 0; transform-box: fill-box; transform-origin: center; }
.clk-ripple.is-on { animation: clk-ripple 1s ease-out both; }
@keyframes clk-ripple { 0% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(3); } }
.clk-line { fill: none; stroke: none; }
.clk-trail { fill: none; stroke: rgba(23, 33, 61, .45); stroke-width: 3.5; stroke-linecap: round; stroke-dasharray: .1 10; }
.clk-trail-in { stroke: #008b8a; stroke-width: 4; stroke-dasharray: none; }
.clk-measure { opacity: 0; }
.clk-mline { fill: none; stroke: #008b8a; stroke-width: 2; stroke-dasharray: 6 6; }
.clk-mtick { fill: none; stroke: #008b8a; stroke-width: 2.5; stroke-linecap: round; }
.clk-aim { opacity: 0; }
.clk-aim path { fill: none; stroke: #008b8a; stroke-width: 3.5; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 10 9; }
.clk-aim .clk-aim-tip { stroke-dasharray: none; }
.clk-pulse { fill: none; stroke: #008b8a; stroke-width: 2.5; opacity: 0; transform-box: fill-box; transform-origin: center; }
.clk-pulse.is-on { animation: clk-pulse 1.2s ease-out infinite; }
@keyframes clk-pulse { 0% { opacity: .9; transform: scale(.8); } 100% { opacity: 0; transform: scale(2.2); } }
.clk-ball { opacity: 0; }
.clk-shadow { fill: rgba(23, 33, 61, .2); }
.clk-bc { fill: #fff; stroke: #17213d; stroke-width: 2; }
.clk-hl { fill: none; }
@media (prefers-reduced-motion: reduce) { #seb-close .cl-vk * { animation: none !important; } }

/* Slide 6: the escape as a five-click explainer (09.10.2026, after the NYT video). tools/gen-escape.py */
.es-wrap { position: absolute; left: 112px; right: 112px; top: 226px; display: grid; grid-template-columns: 1104px 1fr; column-gap: 80px; align-items: center; }
.es-svg { display: block; width: 1104px; height: auto; overflow: visible; }
.es-sandbox .es-l { fill: #e4e7ea; stroke: #17213d; stroke-width: 2; stroke-linejoin: round; }
.es-sandbox .es-r { fill: #d6dade; stroke: #17213d; stroke-width: 2; stroke-linejoin: round; }
.es-sb-top { fill: #fbfbf9; stroke: #17213d; stroke-width: 2; stroke-linejoin: round; }
.es-inner { fill: rgba(23, 33, 61, .04); stroke: rgba(23, 33, 61, .18); stroke-width: 1.2; }
.es-tag { font-size: 21px; font-weight: 700; fill: rgba(23, 33, 61, .6); }
.es-ring { fill: none; stroke: #17213d; stroke-width: 2; }
.es-dotc { fill: #17213d; }
.es-agent { fill: #008b8a; stroke: #fff; stroke-width: 3; }
.es-wander { fill: none; stroke: #008b8a; stroke-width: 2.5; stroke-dasharray: 3 9; stroke-linecap: round; opacity: .7; }
.es-hole { fill: #17213d; }
.es-org .es-l { fill: #eef0f2; stroke: #17213d; stroke-width: 1.8; stroke-linejoin: round; }
.es-org .es-r { fill: #dfe3e7; stroke: #17213d; stroke-width: 1.8; stroke-linejoin: round; }
.es-org .es-t { fill: #fbfbf9; stroke: #17213d; stroke-width: 1.8; stroke-linejoin: round; }
.es-win { fill: rgba(23, 33, 61, .25); }
.es-route { fill: none; stroke: #008b8a; stroke-width: 3.5; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; }
/* One build, looping (escape.js): route in the sandbox, out through the hole, a small blast in each house it enters. */
.es-hole { opacity: 0; }
.es-agent-wrap { opacity: 0; }
.es-house { transform-box: fill-box; transform-origin: 50% 100%; }
.es-house .es-win { transition: fill .35s ease-out; }
.es-house.is-hacked .es-win { fill: #e9b949; }
.es-house.is-shake { animation: es-shake .4s ease-out; }
@keyframes es-shake { 0%, 100% { transform: none; } 20% { transform: translateX(-4px) rotate(-.6deg); } 45% { transform: translateX(4px) rotate(.6deg); } 70% { transform: translateX(-2px); } }
.es-boom { pointer-events: none; }
.es-pop { opacity: 0; transform-box: fill-box; transform-origin: center; }
.es-star { fill: #e9b949; stroke: #17213d; stroke-width: 2.5; stroke-linejoin: round; }
.es-star-core { fill: #fff; }
.es-spark { stroke: #17213d; stroke-width: 4; stroke-linecap: round; opacity: 0; }
.es-boom.is-on .es-pop { animation: es-pop 1.1s cubic-bezier(.2, .8, .3, 1) both; }
.es-boom.is-on .es-spark { animation: es-spark .7s cubic-bezier(.2, .7, .3, 1) .05s both; }
@keyframes es-pop { 0% { opacity: 1; transform: scale(.15) rotate(-12deg); } 18% { opacity: 1; transform: scale(1.12) rotate(0); } 32% { transform: scale(.96); } 45% { transform: scale(1); } 75% { opacity: 1; } 100% { opacity: 0; transform: scale(1.06); } }
@keyframes es-spark { 0% { opacity: 1; transform: none; } 100% { opacity: 0; transform: translate(var(--dx), var(--dy)); } }
@media (prefers-reduced-motion: reduce) { #seb-escape * { animation: none !important; } }
.es-steps { margin: 0; padding: 0; list-style: none; }
.cfo-slide .es-step { display: grid; grid-template-columns: 50px 1fr; column-gap: 14px; margin: 0 0 22px; font-size: 27px; line-height: 1.3; color: #17213d; }
.es-step span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; border: 1.5px solid #17213d; font-size: 19px; font-weight: 800; }

/* Slide 4: the agent-team video brings its own paper frame and timer, so it fills the slide
   and the deck's logo and page number step aside while it plays. */
.army-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
#stage:has(#seb-now.is-active) #slide-counter,
#stage:has(#seb-now.is-active) > .presentation-brand,
#stage:has(#seb-demo2.is-active) #slide-counter,
#stage:has(#seb-demo2.is-active) > .presentation-brand { visibility: hidden; }
#stage:has(#seb-demo3.is-active) #slide-counter,
#stage:has(#seb-demo3.is-active) > .presentation-brand { visibility: hidden; }
#stage:has(#seb-close.is-active[data-close="n"]) #slide-counter,
#stage:has(#seb-close.is-active[data-close="n"]) > .presentation-brand { visibility: hidden; }

/* RUN-SLIDE:START */
.rs-slide h2 em { color: #008b8a; font-style: normal; }
.rs-wrap { position: absolute; left: 112px; right: 112px; top: 232px; display: grid; grid-template-columns: 660px 1fr; column-gap: 80px; }
.rs-wrap .rc-clip { margin: -14px 26px 0; }
.cfo-slide .rs-paper .rc-head { font-size: 20px; }
.cfo-slide .rs-paper .rc-row { margin: 0 0 10px; font-size: 19px; align-items: baseline; white-space: nowrap; }
.rs-paper .rc-row span:first-child { display: flex; gap: 10px; align-items: baseline; }
.rs-paper .rc-row i { font-style: normal; font-size: 15px; color: rgba(23, 33, 61, .5); }
.rs-paper .rc-row span:last-child { font-variant-numeric: tabular-nums; color: #17213d; }
.cfo-slide .rs-paper .rs-tokens { margin: 6px 0 0; padding-top: 12px; border-top: 1.5px dashed rgba(23, 33, 61, .35); }
.cfo-slide .rs-paper .rc-total { margin-top: 14px; font-size: 20px; }
.rs-slide.is-active .rc-paper { animation: rc-print 1.8s cubic-bezier(.3, .1, .3, 1) .2s both; }
.rs-stats { display: grid; grid-template-columns: repeat(4, 1fr); column-gap: 32px; padding-bottom: 30px; border-bottom: 1.5px solid rgba(23, 33, 61, .15); }
.cfo-slide .rs-num { margin: 0; font-size: 60px; font-weight: 800; line-height: 1; letter-spacing: -.03em; color: #17213d; font-variant-numeric: tabular-nums; }
.rs-num span { font-size: 30px; letter-spacing: 0; }
.cfo-slide .rs-lbl { margin: 12px 0 0; white-space: nowrap; font-size: 20px; line-height: 1.3; color: rgba(23, 33, 61, .75); }
.cfo-slide .rs-sub { margin: 4px 0 0; white-space: nowrap; font-size: 17px; line-height: 1.3; color: rgba(23, 33, 61, .5); }
.rs-finds { display: grid; row-gap: 74px; margin-top: 48px; }
.rs-find { display: grid; grid-template-columns: 180px 1fr; column-gap: 28px; align-items: baseline; }
.cfo-slide .rs-big { margin: 0; font-size: 56px; font-weight: 800; line-height: 1; letter-spacing: -.03em; color: #008b8a; }
.cfo-slide .rs-text { margin: 0; white-space: nowrap; font-size: 28px; line-height: 1.35; color: #17213d; }
.cfo-slide .rs-text small { display: block; margin-top: 4px; font-size: 17px; color: rgba(23, 33, 61, .5); }
.rs-right { align-self: center; }
.rs-stats.rs-grid { grid-template-columns: 1.25fr 1fr; column-gap: 64px; row-gap: 72px; padding-bottom: 0; border-bottom: 0; }
.rs-grid .rs-num { font-size: 120px; }
.rs-stats.rs-grid6 { row-gap: 20px; }
.rs-grid6 .rs-num { font-size: 84px; }
.cfo-slide .rs-grid6 .rs-lbl { margin-top: 10px; font-size: 24px; }
.cfo-slide .rs-grid6 .rs-sub { font-size: 19px; }
.cfo-slide .rs-grid .rs-lbl { margin-top: 18px; font-size: 28px; }
.cfo-slide .rs-grid .rs-sub { margin-top: 6px; font-size: 21px; }
.rs-qr { width: 236px; height: 236px; padding: 12px; box-sizing: border-box; background: #fff; border-radius: 20px;
  box-shadow: 0 0 0 1px rgba(23, 33, 61, .08), 0 16px 34px rgba(23, 33, 61, .12); }
.rs-qr svg { display: block; width: 100%; height: 100%; }
.cfo-slide .rs-grid .rs-qrcell .rs-lbl { margin-top: 20px; }
.cfo-slide .rs-qrcell .rs-sub { white-space: nowrap; }
.rs-fade { opacity: 0; transform: translateY(12px); transition: opacity .6s ease, transform .6s ease; }
.rs-slide.is-active .rs-fade { opacity: 1; transform: none; transition-delay: var(--d, 0s); }
@media (prefers-reduced-motion: reduce) { .rs-slide .rc-paper { animation: none !important; } .rs-fade { opacity: 1; transform: none; transition: none; } }
/* RUN-SLIDE:END */

/* "Ko es sagaidu līdz 2029. gadam" (15.10.2026): Arvis's three expectations, one line drawing each. */
#seb-next h2 em { color: #008b8a; font-style: normal; }
.nx-cols { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 136px; margin: 40px 0 0; padding: 0; list-style: none; }
.nx-cols li { margin: 0; }
.nx-svg { display: block; width: 100%; height: auto; overflow: visible; }
.cfo-slide .nx-cols h3 { margin: 30px 0 0; font-size: 40px; font-weight: 800; letter-spacing: -.015em; color: #17213d; }
.cfo-slide .nx-cols p { margin: 14px 0 0; font-size: 26px; line-height: 1.4; color: rgba(23, 33, 61, .7); }
.nx-coil { fill: none; stroke: #17213d; stroke-width: 3; stroke-linecap: round; }
.nx-coil-back { fill: none; stroke: rgba(23, 33, 61, .22); stroke-width: 2.5; stroke-linecap: round; }
.nx-dot { fill: #008b8a; stroke: #fff; stroke-width: 3; }
.nx-dot-glow { fill: rgba(28, 180, 153, .25); }
.nx-axis { fill: none; stroke: rgba(23, 33, 61, .3); stroke-width: 2; }
.nx-axl { font-size: 17px; font-weight: 600; fill: rgba(23, 33, 61, .5); }
.nx-price { fill: none; stroke: #008b8a; stroke-width: 4.5; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; }
#seb-next.is-active .nx-price { animation: cld-draw 2.2s cubic-bezier(.45, 0, .3, 1) .5s both; }
.nx-model { fill: #17213d; opacity: 0; }
#seb-next.is-active .nx-model { animation: km-in .4s ease-out both; animation-delay: calc(.8s + var(--i) * .09s); }
.nx-laptop rect, .nx-laptop path { fill: none; stroke: #17213d; stroke-width: 3; stroke-linejoin: round; }
.nx-phone rect, .nx-phone path { fill: #fff; stroke: #17213d; stroke-width: 3; stroke-linecap: round; }
#seb-next.is-active .nx-laptop { animation: nx-fade 2.4s ease-in-out .6s both; }
@keyframes nx-fade { to { opacity: .22; } }
.nx-bar { fill: #008b8a; transform-box: fill-box; transform-origin: center; }
#seb-next.is-active .nx-bar { animation: nx-talk 1.1s ease-in-out infinite; animation-delay: calc(var(--i) * -.13s); }
@keyframes nx-talk { 0%, 100% { transform: scaleY(.25); } 50% { transform: scaleY(1); } }
#seb-next.is-active .nx-cols li { animation: km-in .6s ease-out both; animation-delay: calc(.2s + var(--i) * .2s); }
@media (prefers-reduced-motion: reduce) { #seb-next * { animation: none !important; } .nx-price { stroke-dashoffset: 0; } .nx-model { opacity: 1; } }
