/* rep0rter presentation shares the site's type, palette, and optical surfaces. */
html:has(.presentation) { scrollbar-gutter: auto; }
.presentation { --ppt-ease: cubic-bezier(.19, 1, .22, 1); min-height: 100svh; }
.presentation h1, .presentation h2 { font-weight: 500; line-height: 1.04; letter-spacing: -.065em; text-wrap: balance; }
.presentation h1 { font-size: clamp(52px, 6.3vw, 100px); }
.presentation h2 { font-size: clamp(40px, 4.7vw, 74px); }
.presentation h3 { font-weight: 500; }
.presentation em { font-style: normal; color: var(--accent); }
.ppt-ambient { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.ppt-ambient i { position: absolute; width: 60vw; height: 60vw; border-radius: 50%; filter: blur(100px); opacity: .21; background: #9cbddd; top: -40vw; left: 4vw; }
.ppt-ambient i:nth-child(2) { width: 50vw; height: 50vw; background: #b2bfcf; top: 20vh; left: 65vw; }
.ppt-ambient i:nth-child(3) { width: 30vw; height: 30vw; background: #a4bac1; top: 80vh; left: 20vw; }
.ppt-header { height: 92px; padding: 0 clamp(24px, 4vw, 72px); display: flex; align-items: center; gap: 32px; }
.ppt-brand { display: flex; align-items: center; gap: 11px; font-size: 25px; font-weight: 700; letter-spacing: -.055em; text-decoration: none; color: var(--ink); }
.ppt-brand img { border-radius: 50%; }
.ppt-edition { margin-left: auto; font-size: 12px; color: var(--muted); letter-spacing: .015em; }
.ppt-edition span { padding-inline: 10px; }
.ppt-open { font-size: 13px; color: var(--ink); text-decoration: none; border: 1px solid var(--line); border-radius: 50px; padding: 8px 15px; background: var(--glass-clear); }
.ppt-open span { padding-left: 12px; }
.ppt-stage { position: relative; width: 100%; outline: none; }
.ppt-slide { max-width: 1600px; margin: auto; padding: 40px clamp(24px, 6vw, 96px) 48px; min-height: calc(100svh - 182px); display: flex; flex-direction: column; justify-content: center; justify-content: safe center; gap: clamp(28px, 5vh, 64px); }
.ppt-kicker { text-transform: uppercase; letter-spacing: .16em; font-size: 11px; font-weight: 700; color: var(--muted); margin-bottom: 24px; }
.ppt-lead { max-width: 590px; font-size: clamp(18px, 1.8vw, 27px); line-height: 1.5; color: var(--muted); margin-top: 28px; letter-spacing: -.02em; }
.ppt-caption { color: var(--muted); font-size: 13px; margin-top: 34px; }
.ppt-cover { flex-direction: row; align-items: center; align-items: safe center; gap: 0; }
.ppt-cover-copy { width: 67%; position: relative; z-index: 1; }
.ppt-orbit { width: 37%; aspect-ratio: 1; position: relative; margin-left: -4%; flex-shrink: 0; }
.ppt-orbit-ring { position: absolute; inset: 0; border: 1px solid var(--line); border-radius: 50%; }
.ppt-orbit-ring--inner { inset: 13%; }
.ppt-logo-lens { position: absolute; inset: 27%; display: grid; place-items: center; background: var(--glass-clear); border-radius: 50%; box-shadow: 0 24px 70px var(--shade), inset 0 1px 1px var(--highlight); border: 1px solid var(--highlight); backdrop-filter: blur(24px); }
.ppt-logo-lens img { width: 78%; height: auto; border-radius: 50%; }
.ppt-logo-lens span { font-size: 64px; }
.ppt-orbit-label { position: absolute; padding: 9px 22px; border-radius: 30px; background: var(--glass); box-shadow: var(--shadow-card); border: 1px solid var(--line); font-size: 14px; }
.ppt-orbit-label--one { top: 3%; left: 34%; }.ppt-orbit-label--two { top: 54%; right: -4%; }.ppt-orbit-label--three { bottom: 12%; left: -1%; }
.ppt-orbit-note { position: absolute; bottom: 29%; left: 50%; transform: translate(-50%, 130%); font-size: 15px; font-weight: 700; letter-spacing: -.04em; }
.ppt-section-head { max-width: 1000px; }
.ppt-community-intro { font-size: 16px; color: var(--muted); margin-top: 20px; }
.ppt-communities { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ppt-communities article { padding: 26px 32px 30px; border-left: 1px solid var(--line); }
.ppt-communities article:first-child { border-left: 0; padding-left: 0; }
.ppt-community-index { color: var(--muted); font-size: 11px; letter-spacing: .12em; }
.ppt-communities h3 { margin-top: 28px; font-size: clamp(24px, 2.5vw, 39px); }
.ppt-communities p { margin-top: 8px; color: var(--muted); font-size: 16px; }
.ppt-communities a { display: inline-block; font-size: 12px; margin-top: 24px; text-decoration: none; }.ppt-communities a span { padding-left: 8px; }
.ppt-bottom-note { max-width: 820px; font-size: 12px; line-height: 1.65; color: var(--muted); }
.ppt-showcase { flex-direction: row; align-items: center; align-items: safe center; gap: 5%; padding-right: clamp(24px, 4vw, 64px); }
.ppt-showcase-copy { width: 34%; flex-shrink: 0; }.ppt-showcase h2 { font-size: clamp(39px, 4vw, 62px); }.ppt-showcase .ppt-lead { font-size: clamp(17px, 1.5vw, 22px); }
.ppt-demo-label { display: flex; align-items: center; gap: 8px; font-size: 11px; color: var(--muted); margin-top: 28px; }.ppt-demo-label span { width: 6px; height: 6px; background: var(--green); border-radius: 50%; }
.ppt-text-link { display: inline-block; font-size: 13px; margin-top: 14px; text-decoration: none; }.ppt-text-link span { padding-left: 9px; }
.ppt-browser { min-width: 0; flex: 1; border: 1px solid var(--highlight); border-radius: 20px; overflow: hidden; background: var(--surface); box-shadow: 0 30px 85px var(--shade), 0 4px 10px var(--shade); transform: perspective(1600px) rotateY(-3deg); }
.ppt-browser-bar { display: flex; align-items: center; justify-content: space-between; height: 42px; padding: 0 16px; border-bottom: 1px solid var(--line); background: var(--glass); font-size: 10px; color: var(--muted); }.ppt-browser-bar div { display: flex; gap: 5px; }.ppt-browser-bar i { width: 6px; height: 6px; border-radius: 50%; background: var(--muted); opacity: .4; }
.ppt-browser-viewport { position: relative; height: clamp(280px, 49vh, 570px); overflow: hidden; background: var(--canvas); }.ppt-browser iframe { width: 142.857%; height: 142.857%; border: 0; display: block; transform: scale(.7); transform-origin: top left; pointer-events: none; }
.ppt-preview-loading { position: absolute; inset: 0; display: grid; place-items: center; font-size: 13px; color: var(--muted); pointer-events: none; background: var(--canvas); transition: opacity 300ms; }.is-loaded .ppt-preview-loading { opacity: 0; }
.ppt-browser figcaption { padding: 9px 16px; font-size: 10px; color: var(--muted); border-top: 1px solid var(--line); }
.ppt-feature-layout { display: grid; grid-template-columns: 1fr 1.25fr; gap: 8%; align-items: center; }.ppt-language-lens { padding: 30px 36px; border: 1px solid var(--highlight); border-radius: 28px; background: var(--glass-clear); box-shadow: var(--shadow-card); backdrop-filter: blur(24px); }.ppt-small-label { text-transform: uppercase; letter-spacing: .13em; font-size: 10px; color: var(--muted); font-weight: 700; }.ppt-language-list { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 30px; margin: 30px 0; }.ppt-language-list span { font-size: clamp(23px, 2.5vw, 38px); letter-spacing: -.04em; line-height: 1.3; }.ppt-language-lens>p:last-child { font-size: 13px; color: var(--muted); }
.ppt-feature-list article { display: flex; align-items: baseline; gap: 25px; padding: 23px 0; border-bottom: 1px solid var(--line); }.ppt-feature-list article:first-child { padding-top: 0; }.ppt-feature-list article>span { font-size: 11px; color: var(--muted); }.ppt-feature-list h3 { font-size: clamp(23px, 2.4vw, 34px); }.ppt-feature-list p { font-size: 15px; margin-top: 8px; color: var(--muted); }
.ppt-pipeline { display: grid; grid-template-columns: 1fr 36px 1.3fr 36px 1fr; align-items: center; gap: 20px; }.ppt-pipeline article { padding: 24px 0; }.ppt-pipeline-step { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); }.ppt-pipeline h3 { font-size: clamp(24px, 2.5vw, 37px); margin-top: 22px; }.ppt-pipeline p { font-size: 15px; margin-top: 22px; }.ppt-pipeline small { display: block; font-size: 11px; color: var(--muted); margin-top: 8px; }.ppt-pipeline .ppt-pipeline-core { padding: 32px; border: 1px solid var(--highlight); border-radius: 28px; background: var(--glass-clear); box-shadow: var(--shadow-card); }.ppt-pipeline-arrow { color: var(--accent); font-size: 28px; text-align: center; }
.ppt-closing { flex-direction: row; align-items: center; align-items: safe center; gap: 9%; }.ppt-closing-copy { flex: 1.4; }.ppt-team-panel { flex: 1; padding: 30px 36px; border: 1px solid var(--highlight); border-radius: 28px; background: var(--glass-clear); box-shadow: var(--shadow-card); }.ppt-team-panel h3 { font-size: 26px; margin-top: 28px; }.ppt-team-panel>p:not(.ppt-small-label) { color: var(--muted); font-size: 14px; }.ppt-team { list-style: none; padding: 0; margin: 18px 0 0; }.ppt-team li { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 0; border-bottom: 1px solid var(--line); }.ppt-team a,.ppt-team strong { font-weight: 500; font-size: 22px; color: var(--ink); text-decoration: none; }.ppt-team li div>span { display: block; font-size: 12px; color: var(--muted); }.ppt-team li>span { font-size: 16px; color: var(--muted); }.ppt-team-invite { margin-top: 26px; }.ppt-join { display: inline-flex; align-items: center; gap: 36px; margin-top: 34px; background: var(--accent); color: var(--canvas); text-decoration: none; padding: 14px 25px; border-radius: 30px; font-size: 16px; box-shadow: var(--shadow-button); }
.ppt-controls { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 90px; margin: 0 clamp(24px, 4vw, 72px); border-top: 1px solid var(--line); }.ppt-progress-copy { display: flex; align-items: center; gap: 10px; font-size: 12px; font-variant-numeric: tabular-nums; }.ppt-progress-divider { color: var(--muted); }.ppt-key-hint { color: var(--muted); font-size: 10px; margin-left: 20px; }.ppt-dots { display: flex; align-items: center; gap: 8px; }.ppt-dots button { position: relative; border: 0; border-radius: 50%; background: transparent; color: var(--muted); width: 44px; height: 44px; font-size: 10px; transition: background 250ms, color 250ms; }.ppt-dots button[aria-current] { background: var(--accent-soft); color: var(--accent); font-weight: 700; }.ppt-dots button:hover { background: var(--recess); }.ppt-arrows { display: flex; gap: 10px; }.ppt-arrows button { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--glass); color: var(--ink); font-size: 22px; transition: transform 180ms, background 180ms; }.ppt-arrows button:hover:not(:disabled) { background: var(--accent-soft); transform: translateY(-2px); }.ppt-arrows button:disabled { opacity: .3; cursor: default; }.ppt-progress-track { position: absolute; top: -1px; left: 0; right: 0; height: 1px; pointer-events: none; }.ppt-progress-track span { display: block; height: 100%; width: var(--ppt-progress, 16.667%); background: var(--accent); transition: width 650ms var(--ppt-ease); }
.ppt-noscript { padding: 24px; }
.ppt-closing-copy { flex: 1; }
.ppt-team-panel { flex: 1.2; }
.ppt-team { display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; }
.ppt-team li { align-items: flex-start; padding-block: 14px; }
.ppt-team a,.ppt-team strong { font-size: 20px; line-height: 1.3; }
.ppt-team li div>span { font-size: 11px; line-height: 1.5; margin-top: 5px; }
.ppt-team li>span { display: none; }
.ppt-credits-source { display: inline-block; margin-top: 12px; font-size: 11px; text-decoration: none; }
[data-presentation="ready"] .presentation { height: 100svh; overflow: hidden; display: grid; grid-template-rows: 92px minmax(0, 1fr) 90px; }
[data-presentation="ready"] .ppt-slide { position: absolute; inset: 0; min-height: 0; overflow-y: auto; visibility: hidden; opacity: 0; pointer-events: none; transform: translate3d(7%, 0, 0) scale(.97); transition: transform 700ms var(--ppt-ease), opacity 350ms ease, visibility 700ms; }
[data-presentation="ready"] .ppt-slide.is-before { transform: translate3d(-7%, 0, 0) scale(.97); }
[data-presentation="ready"] .ppt-slide.is-active { visibility: visible; opacity: 1; pointer-events: auto; transform: translate3d(0, 0, 0) scale(1); }
[data-presentation="ready"] [data-reveal] { opacity: 0; transform: translateY(20px); transition: opacity 550ms ease, transform 750ms var(--ppt-ease); }
[data-presentation="ready"] .is-active [data-reveal] { opacity: 1; transform: translateY(0); transition-delay: 110ms; }
[data-presentation="ready"] .is-active [data-reveal]:nth-child(2) { transition-delay: 180ms; }[data-presentation="ready"] .is-active [data-reveal]:nth-child(3) { transition-delay: 250ms; }[data-presentation="ready"] .is-active [data-reveal]:nth-child(4) { transition-delay: 320ms; }[data-presentation="ready"] .is-active [data-reveal]:nth-child(5) { transition-delay: 390ms; }
@media (min-width: 1000px) and (max-height: 750px) { .ppt-slide { gap: 25px; padding-top: 18px; padding-bottom: 25px; }.presentation h1 { font-size: clamp(52px, 5.5vw, 84px); }.presentation h2 { font-size: clamp(40px, 4vw, 60px); }.ppt-kicker { margin-bottom: 16px; }.ppt-lead { margin-top: 20px; }.ppt-communities article { padding-top: 16px; padding-bottom: 20px; }.ppt-communities h3 { margin-top: 16px; }.ppt-feature-list article { padding-block: 16px; }.ppt-language-lens { padding-block: 22px; }.ppt-language-list { margin-block: 20px; }.ppt-team li { padding-block: 11px; } }
@media (max-width: 900px) { .ppt-header { height: 76px; }.ppt-edition { display: none; }.ppt-open { margin-left: auto; }[data-presentation="ready"] .presentation { grid-template-rows: 76px minmax(0, 1fr) 80px; }.ppt-controls { height: 80px; gap: 10px; }.ppt-key-hint { display: none; }.ppt-slide { padding: 28px 32px 35px; gap: 30px; }.ppt-cover-copy { width: 70%; }.ppt-orbit { width: 35%; margin-left: -5%; }.ppt-orbit-label { font-size: 11px; padding: 6px 12px; }.ppt-showcase { flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 25px; }.ppt-showcase-copy { width: auto; }.ppt-showcase h2 br { display: none; }.ppt-showcase .ppt-lead { margin-top: 15px; max-width: 660px; }.ppt-demo-label { display: none; }.ppt-text-link { margin-top: 8px; }.ppt-browser { flex: none; }.ppt-browser-viewport { height: 35vh; }.ppt-feature-layout { gap: 5%; }.ppt-language-lens { padding: 24px; }.ppt-pipeline { gap: 8px; grid-template-columns: 1fr 24px 1.2fr 24px 1fr; }.ppt-pipeline .ppt-pipeline-core { padding: 24px; }.ppt-pipeline p { font-size: 13px; }.ppt-closing { gap: 5%; }.ppt-team-panel { padding: 24px; }.ppt-team a,.ppt-team strong { font-size: 20px; } }
@media (max-width: 600px) { .ppt-header { padding-inline: 22px; }.ppt-brand { font-size: 22px; }.ppt-brand img { width: 30px; height: 30px; }.ppt-open { font-size: 11px; padding: 7px 12px; }.ppt-slide { padding: 20px 24px 30px; justify-content: flex-start; }.ppt-kicker { margin-bottom: 20px; font-size: 10px; }.presentation h1 { font-size: clamp(43px, 11vw, 66px); }.presentation h2 { font-size: clamp(35px, 9vw, 52px); }.ppt-cover { flex-direction: column; align-items: flex-start; justify-content: center; gap: 28px; }.ppt-cover-copy { width: 100%; }.ppt-cover .ppt-lead { font-size: 17px; max-width: 350px; }.ppt-caption { margin-top: 22px; font-size: 11px; }.ppt-orbit { display: none; }.ppt-lead { font-size: 18px; margin-top: 22px; }.ppt-communities { grid-template-columns: 1fr; }.ppt-communities article,.ppt-communities article:first-child { border-left: 0; border-bottom: 1px solid var(--line); padding: 16px 0; display: grid; grid-template-columns: 1fr auto; column-gap: 18px; }.ppt-communities article:last-child { border-bottom: 0; }.ppt-community-index { font-size: 9px; }.ppt-communities h3 { grid-column: 1; font-size: 27px; margin-top: 6px; }.ppt-communities p { font-size: 12px; margin-top: 4px; }.ppt-communities a { grid-column: 2; grid-row: 2 / 4; align-self: center; font-size: 10px; max-width: 95px; margin: 0; }.ppt-bottom-note { font-size: 10px; }.ppt-feature-layout { grid-template-columns: 1fr; gap: 28px; }.ppt-language-lens { padding: 22px; }.ppt-language-list { margin: 20px 0; gap: 12px 24px; }.ppt-language-list span { font-size: 29px; }.ppt-feature-list article { gap: 20px; padding-block: 16px; }.ppt-feature-list h3 { font-size: 24px; }.ppt-feature-list p { font-size: 13px; }.ppt-pipeline { grid-template-columns: 1fr; gap: 0; }.ppt-pipeline article { padding: 15px 0; }.ppt-pipeline h3 { font-size: 27px; margin-top: 10px; }.ppt-pipeline h3 br { display: none; }.ppt-pipeline p { margin-top: 10px; }.ppt-pipeline-arrow { text-align: left; transform: rotate(90deg); transform-origin: 12px 50%; height: 34px; font-size: 25px; }.ppt-pipeline .ppt-pipeline-core { padding: 22px; }.ppt-closing { flex-direction: column; align-items: stretch; gap: 30px; }.ppt-closing-copy { flex: none; }.ppt-team-panel { flex: none; }.ppt-join { margin-top: 24px; font-size: 14px; padding: 12px 22px; }.ppt-team li { padding: 12px 0; }.ppt-controls { margin-inline: 20px; }.ppt-dots { display: none; }.ppt-progress-copy { gap: 5px; font-size: 10px; }.ppt-arrows { gap: 6px; }.ppt-arrows button { width: 44px; height: 44px; font-size: 21px; }.ppt-browser-viewport { height: 38vh; min-height: 240px; }.ppt-browser iframe { width: 200%; height: 200%; transform: scale(.5); }.ppt-browser figcaption { font-size: 9px; }.ppt-browser-bar { font-size: 9px; }.ppt-showcase .ppt-lead { font-size: 16px; } }
@media (prefers-reduced-motion: reduce) { .presentation *, .presentation *::before, .presentation *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }[data-presentation="ready"] .ppt-slide,[data-presentation="ready"] [data-reveal] { transform: none; } }
@media print { [data-presentation="ready"] .presentation { display: block; height: auto; overflow: visible; }.ppt-header,.ppt-controls,.ppt-ambient,.skip-link { display: none; }[data-presentation="ready"] .ppt-slide { position: relative; visibility: visible; opacity: 1; transform: none; min-height: 90vh; break-after: page; overflow: visible; }[data-presentation="ready"] [data-reveal] { opacity: 1; transform: none; }.ppt-preview-loading { display: none; } }

[data-presentation="ready"] .ppt-stage { min-width: 0; min-height: 0; overflow: hidden; }

/* The reader demo remains inside slide 3; arrows advance four real UI states. */
.ppt-demo-steps { margin-top: 24px; }
.ppt-demo-steps>p:first-child { display: flex; align-items: center; gap: 13px; }
.ppt-demo-steps [data-demo-count] { font-size: 10px; color: var(--accent); font-variant-numeric: tabular-nums; letter-spacing: .08em; }
.ppt-demo-steps strong { font-size: 15px; font-weight: 500; }
.ppt-demo-hint { font-size: 11px; color: var(--muted); margin-top: 7px; }
.ppt-browser iframe { position: absolute; top: 0; left: 0; opacity: 0; transition: opacity 280ms ease; }
.ppt-browser.is-loaded iframe { opacity: 1; }
@media (max-width: 600px) { .ppt-demo-steps { margin-top: 14px; } }
@media (prefers-reduced-motion: reduce) { .ppt-browser iframe { transition: none; } }