@charset "UTF-8";
:root{--paper:#fff;--ink:#111;--muted:#555;--rule:#d5d5d5;--soft:#f6f6f6;--sans:'Avenir Next','Trebuchet MS',sans-serif;--serif:'Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--ink);outline-offset:5px}button{border-radius:0}h1,h2,h3,p{margin:0}button,a,input{touch-action:manipulation}button,a{scroll-margin-top:20px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;top:-90px;left:20px;padding:15px;background:var(--ink);color:white;z-index:20}.skip:focus{top:12px}.site-header,main,footer{max-width:1440px;margin:auto}.site-header{display:flex;justify-content:space-between;align-items:center;padding:28px 56px;border-bottom:1px solid var(--ink);gap:24px}.brand{display:inline-flex;align-items:center;font-size:25px;letter-spacing:-1.4px;font-weight:800;white-space:nowrap}.brand-mark{display:inline-flex;border:1.5px solid;margin-right:10px;width:34px;height:34px;align-items:center;justify-content:center;font-size:25px;position:relative}.brand-mark span{position:absolute;right:0;top:-9px;background:white;font-size:18px;line-height:1}.brand-dot{font-family:var(--serif)}.site-header nav{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:600}.site-header nav a{padding:8px 0;border-bottom:1px solid transparent}.site-header nav a[aria-current]{border-color:var(--ink)}.nav-saved{display:flex;gap:10px;align-items:center}.nav-saved span{border:1px solid var(--rule);padding:2px 6px;font-family:var(--mono);font-size:11px}.intro{padding:26px 56px 0}.eyebrow{font-family:var(--mono);text-transform:uppercase;font-size:10px;letter-spacing:1.1px;line-height:1.65}.edition{display:flex;justify-content:space-between;align-items:center}.dot{display:inline-block;width:6px;height:6px;background:var(--ink);border-radius:50%;margin-right:7px;vertical-align:1px}.intro-grid{display:grid;grid-template-columns:1fr 260px;gap:40px;align-items:end;padding:48px 0 37px}h1{font-size:clamp(64px,7.8vw,112px);font-weight:600;letter-spacing:-6px;line-height:.98}.serif{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-5px}.intro-note{padding:0 0 6px 12px}.orbit{display:flex;border:1px solid;width:56px;height:56px;border-radius:50%;align-items:center;justify-content:center;font-size:36px;margin-bottom:20px}.intro-note p{font-size:17px;line-height:1.5;letter-spacing:-.25px}.text-link{display:inline-flex;align-items:center;gap:23px;border-bottom:1px solid;padding:9px 0;font-size:13px;font-weight:600;margin-top:18px}.intro-bottom{display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--rule);padding:19px 0 30px;font-size:11px;line-height:1.6;color:var(--muted)}.featured{display:grid;grid-template-columns:1.1fr 1fr;border:1px solid var(--ink);margin:0 56px}.feature-art{position:relative;display:flex;flex-direction:column;justify-content:space-between;background:var(--soft);--paper:var(--soft);border-right:1px solid var(--ink);padding:24px 26px 20px;overflow:hidden}.feature-art>.eyebrow{display:flex;justify-content:space-between}.feature-art>a{display:block}.diagram{width:100%;display:block;max-height:390px}.svg-label{font:10px var(--mono);letter-spacing:1px}.art-caption{font-size:10px;font-family:var(--mono);color:var(--muted)}.feature-copy{padding:38px 40px;display:flex;flex-direction:column;align-items:start;justify-content:center}.feature-copy>.eyebrow{display:flex;gap:18px}.feature-copy h2{font-size:clamp(30px,3.3vw,46px);letter-spacing:-1.9px;line-height:1.1;margin:21px 0 18px;font-weight:600}.feature-copy p{font-size:14px;color:var(--muted);line-height:1.8;max-width:390px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:15px 21px;min-height:48px;font-size:13px;font-weight:600;margin-top:25px}.arrow{display:inline-block;font-size:21px;line-height:1;transition:transform 220ms var(--ease)}.feature-date{margin-top:22px;font-family:var(--mono);font-size:10px;color:var(--muted)}.archive{padding:75px 56px 60px;scroll-margin-top:30px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.section-heading h2{font-size:39px;font-weight:500;letter-spacing:-1.5px;line-height:1.12;margin-top:15px}.section-heading>p{font-size:13px;color:var(--muted);line-height:1.8}.archive-tools{margin-top:31px;padding:16px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;gap:15px}.filters{display:flex;gap:7px;flex-wrap:wrap}.filters button{padding:10px 14px;min-height:44px;border:1px solid transparent;background:none;font-size:12px}.filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.search{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--rule);min-width:180px}.search>span{font-size:25px}.search input{width:190px;background:none;border:none;font-size:12px;padding:10px 4px;min-height:44px}.search input::placeholder{color:#616161}.result-count{font:10px var(--mono);color:var(--muted);padding:18px 0}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.card-art{display:block;border:1px solid var(--rule);position:relative;background:var(--soft);--paper:var(--soft);overflow:hidden}.card-art .diagram{padding:19px 4px 6px}.art-number{position:absolute;top:15px;left:15px;font:10px var(--mono)}.card-art>.arrow{position:absolute;right:14px;bottom:14px;border:1px solid;border-radius:50%;padding:6px;font-size:17px}.card-meta{display:flex;justify-content:space-between;gap:8px;font-size:9px;letter-spacing:.6px;margin-top:20px}.story-card h3{font-size:23px;line-height:1.23;font-weight:600;letter-spacing:-.7px;margin-top:13px}.story-card>p{font-size:13px;line-height:1.7;color:var(--muted);margin-top:12px}.story-card{display:flex;flex-direction:column}.card-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--rule);margin-top:auto;padding-top:13px;gap:7px}.story-card>p{margin-bottom:22px}.card-bottom>span{font:9px var(--mono);color:var(--muted)}.save{background:transparent;border:1px solid var(--rule);font:11px var(--mono);min-height:44px;padding:10px;white-space:nowrap}.save[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--paper)}.storage-note{font-size:12px;line-height:1.6;margin-top:12px}.manifesto{background:var(--ink);color:white;padding:47px 56px 52px;position:relative;overflow:hidden}.manifesto h2{font-size:clamp(28px,3.5vw,47px);font-weight:400;letter-spacing:-1px;line-height:1.2;margin-top:24px;position:relative;z-index:1}.manifesto .serif{letter-spacing:-1px}.manifesto-symbol{position:absolute;right:60px;top:49px;font-size:130px;border:1px solid #777;border-radius:50%;width:190px;height:190px;line-height:165px;text-align:center}.manifesto .text-link{font-size:12px;margin-top:25px}footer{padding:35px 56px;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}footer .brand{font-size:22px}footer>p{font-size:12px;text-align:right}footer>a:not(.brand){font-size:11px}footer .arrow{font-size:15px}.footer-note{font:9px var(--mono);color:var(--muted);text-align:right}.empty{padding:65px 20px;text-align:center;grid-column:1/-1}.empty h1{font-size:50px;letter-spacing:-2px}.empty p{margin-top:20px;line-height:1.6}.empty h3{font-size:25px}.article-page{padding:40px 56px 0}.back-link{font:11px var(--mono);display:inline-block;padding:12px 0}.article-header{max-width:850px;margin:40px auto 0}.article-header>.eyebrow{display:flex;gap:22px}.article-header h1{font-size:clamp(42px,5.8vw,76px);line-height:1.05;letter-spacing:-3px;margin-top:23px}.deck{font-size:20px;line-height:1.6;color:var(--muted);margin-top:25px;max-width:710px}.article-byline{display:flex;justify-content:space-between;align-items:center;margin:25px 0;gap:16px;font:10px var(--mono);line-height:1.8}.article-illustration{background:var(--soft);--paper:var(--soft);border-block:1px solid var(--ink);padding:18px;margin-top:30px}.article-illustration .diagram{height:360px}.reading-layout{display:grid;grid-template-columns:220px minmax(0,680px);gap:60px;justify-content:center;margin:65px 0}.reading-layout aside nav{display:flex;flex-direction:column;gap:8px;margin-top:17px}.reading-layout aside a{font-size:11px;line-height:1.5;padding:8px 0}.reading-layout aside{align-self:start;position:sticky;top:30px}.prose section{margin-bottom:48px;scroll-margin-top:30px}.prose h2{font-size:31px;line-height:1.2;letter-spacing:-.8px;margin:12px 0 18px}.prose p{font-family:var(--serif);font-size:20px;line-height:1.85}.source-note{display:inline-block;font:11px var(--mono);border-bottom:1px solid;margin-top:14px}.question{border:1px solid;padding:27px;margin-top:28px}.question h3{font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.4;margin-top:14px}.sources{border-top:1px solid var(--rule);padding-top:23px}.sources p{font-family:var(--sans);font-size:13px;line-height:1.8;color:var(--muted)}.sources ol{padding-left:20px}.sources li{font-size:14px;line-height:1.8;margin:12px 0;overflow-wrap:anywhere}.sources a{text-decoration:underline;text-underline-offset:3px}.next-story{padding:44px 0;border-top:1px solid;text-align:center}.next-story h2{font-size:36px;letter-spacing:-1px;margin-top:15px}.about-page{padding:70px 56px 30px}.about-page h1{margin-top:25px}.about-lead{font-size:23px;line-height:1.65;max-width:800px;margin:40px 0 60px}.about-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;border-top:1px solid;padding-top:28px}.about-principles h2{font-size:24px;line-height:1.3;margin:18px 0 12px;letter-spacing:-.7px}.about-principles p,.method p{font-size:15px;line-height:1.9;color:var(--muted)}.method{margin:65px 0 20px;padding-top:35px;border-top:1px solid}.method h2{font-size:45px;letter-spacing:-1.8px;line-height:1.1;margin:17px 0 30px}.method p{max-width:740px;margin:20px 0}.drawing{transform-box:fill-box;transform-origin:center;transition:transform 400ms var(--ease)}
@media(hover:hover) and (pointer:fine){.button:hover .arrow,.text-link:hover .arrow,.card-art:hover>.arrow{transform:translate(3px,-3px)}.feature-art>a:hover .drawing,.card-art:hover .drawing{transform:translateY(-5px) rotate(-1deg)}.story-card h3 a:hover,.feature-copy h2 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.filters button:hover{border-color:var(--ink)}.site-header nav a:hover{border-bottom-color:var(--ink)}}
@media(max-width:1000px){.site-header{padding:24px 30px}.intro{padding:23px 30px 0}.intro-grid{grid-template-columns:1fr 210px;gap:20px}h1{font-size:80px;letter-spacing:-4px}.intro-note p{font-size:14px}.featured{margin:0 30px}.feature-copy{padding:28px}.feature-copy h2{font-size:34px}.archive{padding:60px 30px}.story-grid{gap:18px}.card-meta{flex-direction:column;gap:3px}.card-bottom{align-items:start}.card-bottom>span{line-height:1.7}.manifesto{padding:42px 30px}.manifesto-symbol{right:30px;width:120px;height:120px;font-size:80px;line-height:107px;top:75px}footer{padding:30px}.article-page,.about-page{padding-left:30px;padding-right:30px}.reading-layout{grid-template-columns:160px 1fr;gap:35px}}
@media(max-width:720px){.site-header{padding:20px;flex-wrap:wrap;gap:16px}.brand{font-size:24px}.site-header nav{gap:24px;width:100%;justify-content:space-between;font-size:12px}.intro{padding:20px 20px 0}.edition{font-size:8px;letter-spacing:.5px}.edition>span:last-child{display:none}.intro-grid{grid-template-columns:1fr;padding:33px 0 25px;gap:27px}h1{font-size:clamp(57px,11.7vw,83px);letter-spacing:-3.5px}.serif{letter-spacing:-3px}.intro-note{padding:0;display:grid;grid-template-columns:44px 1fr;column-gap:16px;align-items:center}.orbit{width:44px;height:44px;font-size:28px;margin:0}.intro-note p{font-size:14px}.intro-note p br{display:none}.intro-note .text-link{grid-column:2;justify-self:start;margin-top:8px;padding:7px 0;font-size:12px}.intro-bottom{gap:15px;align-items:center;padding:16px 0 24px;font-size:10px}.intro-bottom>.eyebrow{font-size:8px;max-width:100px;text-align:right}.featured{grid-template-columns:1fr;margin:0 20px}.feature-art{border-right:0;border-bottom:1px solid;padding:18px 18px 14px}.feature-art .diagram{height:245px}.feature-copy{padding:26px}.feature-copy h2{font-size:35px;letter-spacing:-1.4px;margin:17px 0}.feature-copy p{font-size:14px}.feature-copy>.eyebrow{font-size:9px}.feature-date{margin-top:19px}.button{min-height:48px}.archive{padding:52px 20px 38px}.section-heading{display:block}.section-heading h2{font-size:34px}.section-heading>p{margin-top:20px;font-size:12px}.archive-tools{flex-direction:column;gap:14px;margin-top:24px}.filters{gap:3px}.filters button{padding:9px 10px;font-size:11px}.search{max-width:100%}.search input{width:100%}.story-grid{grid-template-columns:1fr;gap:35px}.card-art .diagram{height:240px}.card-meta{flex-direction:row;margin-top:17px;font-size:9px}.story-card h3{font-size:27px;margin-top:12px}.story-card>p{font-size:14px}.card-bottom{align-items:center}.card-bottom>span{font-size:10px}.manifesto{padding:32px 20px}.manifesto h2{font-size:30px;max-width:440px}.manifesto-symbol{display:none}.manifesto .eyebrow{font-size:9px}.manifesto .text-link{font-size:11px;gap:15px}footer{padding:28px 20px;grid-template-columns:1fr;gap:15px}footer>p,.footer-note{text-align:left}.article-page{padding:24px 20px 0}.article-header{margin-top:24px}.article-header h1{font-size:44px;letter-spacing:-1.8px}.deck{font-size:17px}.article-byline{font-size:9px;align-items:start}.article-illustration{padding:0}.article-illustration .diagram{height:250px}.reading-layout{display:block;margin-top:30px}.reading-layout aside{position:static;border-bottom:1px solid var(--rule);padding-bottom:22px;margin-bottom:32px}.reading-layout aside nav{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}.prose h2{font-size:29px}.prose p{font-size:19px}.prose .eyebrow{font-size:9px}.question{padding:20px}.question h3{font-size:25px}.sources p{font-size:13px}.next-story h2{font-size:29px}.about-page{padding:45px 20px 20px}.about-lead{font-size:19px;margin:30px 0 40px}.about-principles{grid-template-columns:1fr;gap:32px}.method{margin-top:40px}.method h2{font-size:38px}}
/* Banner diagram */
.banner-diagram{width:100%;display:block;max-height:390px;overflow:visible}
.banner-diagram .anim-node{transform-box:fill-box;transform-origin:center}
.banner-diagram[data-animating] .anim-node{transition:opacity 700ms var(--ease),transform 700ms var(--ease)}
.banner-diagram[data-animating] .anim-node.pre-anim{opacity:0;transform:translateY(8px) scale(0.97)}
.banner-diagram[data-animating] .anim-node.animated{opacity:1;transform:none}
.banner-diagram .node-shape{stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.banner-diagram .node-hero .node-shape{stroke-width:3.5}
.banner-diagram .node-support .node-shape{stroke-width:2}
.banner-diagram .rel-line{stroke:currentColor;fill:none}
.svg-label-sm{font:8px var(--mono);letter-spacing:.5px;fill:var(--muted)}
.banner-download{display:block;font:9px var(--mono);color:var(--muted);text-decoration:underline;text-underline-offset:2px;padding:6px 0 2px;text-align:right}
.banner-replay{background:none;border:1px solid var(--rule);font:9px var(--mono);padding:5px 10px;margin:4px 0;cursor:pointer;float:right;clear:right}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.site-header nav,footer,.save,.back-link,.next-story,.reading-layout aside{display:none}.article-page{padding:0}.reading-layout{display:block}.article-illustration{max-height:220px;overflow:hidden}.prose section{break-inside:avoid}.sources a{overflow-wrap:anywhere}}

/* Readable diagram captions and responsive bounds. */
.banner-diagram{max-width:920px;margin-inline:auto;overflow:hidden;max-height:none;aspect-ratio:10/7}
.card-art .banner-diagram{height:260px;width:100%}
.banner-node-label{font:15px var(--mono);letter-spacing:0;fill:var(--ink)}
.banner-fig{font:9px var(--mono);letter-spacing:.5px}
.banner-caption{padding:12px 20px 20px;max-width:850px;margin:auto;font-size:14px;line-height:1.65;text-align:left}
.banner-caption ol{display:flex;flex-wrap:wrap;gap:5px 30px;padding-left:20px;margin:10px 0 0;font:12px/1.6 var(--mono)}
.banner-download,.banner-replay{font-size:12px;min-height:44px;padding:12px 16px;float:none;display:inline-block;margin:0;vertical-align:middle}
@media(max-width:720px){.banner-diagram .svg-label-sm,.banner-fig{display:none}.banner-caption{padding:12px 16px}.banner-node-label{font-size:16px}.banner-caption ol{font-size:12px}.article-illustration{overflow:hidden}.card-art .banner-diagram{height:230px}}
@media(prefers-reduced-motion:reduce){.banner-diagram .anim-node{opacity:1!important;transform:none!important}.banner-replay{display:none}}
@media print{.banner-diagram .anim-node{opacity:1!important;transform:none!important}.article-illustration{max-height:none;overflow:visible}.banner-replay,.banner-download{display:none}}

.banner-node-number{display:none;font:22px var(--mono);fill:var(--ink)}
.banner-node-label,.banner-node-number{paint-order:stroke;stroke:var(--soft);stroke-width:5px;stroke-linejoin:round}
.banner-caption details{margin-top:14px;font-size:13px}.banner-caption summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}.banner-caption ul{padding-left:20px;margin:10px 0}
.banner-diagram[data-motion="reveal"] .anim-node.pre-anim{transform:none}
@media(max-width:720px){.article-illustration .banner-node-label{display:none}.article-illustration .banner-node-number{display:block}}
/* Internal expressive motion — finite cycles, viewport-triggered */
@keyframes wih-hand-sweep{from{transform:rotate(-30deg)}to{transform:rotate(330deg)}}
@keyframes wih-needle-arc{from{transform:rotate(-60deg)}50%{transform:rotate(40deg)}to{transform:rotate(-5deg)}}
@keyframes wih-scan-beam{0%{opacity:0;transform:translateY(-30%)}20%{opacity:1}80%{opacity:1;transform:translateY(30%)}100%{opacity:0;transform:translateY(30%)}}
@keyframes wih-bar-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes wih-flap-open{0%{transform:rotateX(0deg)}50%{transform:rotateX(-40deg)}100%{transform:rotateX(0deg)}}
@keyframes wih-loop-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes wih-smoke-rise{from{transform:translateY(0);opacity:.7}to{transform:translateY(-24px);opacity:0}}
@keyframes wih-pulse{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes wih-bounce{0%,100%{transform:translateY(0)}40%{transform:translateY(-6px)}}
.wih-clock-hand{transform-box:fill-box;transform-origin:center bottom;animation:wih-hand-sweep 3s cubic-bezier(.4,0,.6,1) paused 1}
.wih-needle{transform-box:fill-box;transform-origin:center bottom;animation:wih-needle-arc 2.5s ease-out paused 1}
.wih-scan-beam{animation:wih-scan-beam 1.8s ease-in-out paused 1}
.wih-bar{transform-box:fill-box;transform-origin:center bottom;animation:wih-bar-grow .9s var(--ease) paused 1}
.wih-loop{transform-box:fill-box;transform-origin:center;animation:wih-loop-spin 1.2s ease-in-out paused 1}
.wih-smoke{animation:wih-smoke-rise 1.6s ease-out paused 1}
.wih-smoke2{animation:wih-smoke-rise 1.6s ease-out .4s paused 1}
.wih-pulse{animation:wih-pulse 2s ease-in-out paused 2}
.wih-bounce{animation:wih-bounce 1.2s ease-in-out paused 1}
[data-animated] .wih-clock-hand,[data-animated] .wih-needle,[data-animated] .wih-scan-beam,[data-animated] .wih-bar,[data-animated] .wih-loop,[data-animated] .wih-smoke,[data-animated] .wih-smoke2,[data-animated] .wih-pulse,[data-animated] .wih-bounce{animation-play-state:running}
@media(prefers-reduced-motion:reduce){.wih-clock-hand,.wih-needle,.wih-scan-beam,.wih-bar,.wih-loop,.wih-smoke,.wih-smoke2,.wih-pulse,.wih-bounce{animation:none!important}}

/* Editorial focal illustrations: geometry remains in the downloadable scene. */
.banner-vignette .vignette-hero .node-shape{stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round}
.banner-vignette .vignette-support .node-shape{stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.banner-vignette .vignette-label{font:14px var(--mono);letter-spacing:1px}
.banner-vignette .vignette-spark{transform-box:fill-box;transform-origin:center}
.banner-vignette[data-animated] .vignette-spark{animation:wih-pulse 1.6s ease-in-out 1}
@media(prefers-reduced-motion:reduce){.banner-vignette .vignette-spark{animation:none!important}}

@keyframes vignette-settle{0%,100%{transform:translateY(0)}40%{transform:translateY(-5px)}70%{transform:translateY(1px)}}
.banner-vignette[data-animated] .vignette-gesture{animation:vignette-settle 1.8s cubic-bezier(.22,1,.36,1) 1}
@media(prefers-reduced-motion:reduce){.vignette-gesture{animation:none!important}}
@media print{[class*=wih-],.vignette-gesture,.vignette-spark{animation:none!important}}

.banner-diagram:not([data-animated]) [class*=wih-]{animation:none}
.banner-diagram:not([data-in-view]) [class*=wih-],.banner-diagram:not([data-in-view]) .vignette-gesture,.banner-diagram:not([data-in-view]) .vignette-spark{animation-play-state:paused}

/* Story-specific path scenes: one finite performance, progressive enhancement. */
.banner-story{aspect-ratio:30/19}
.story-path-motion{transform-box:fill-box;transform-origin:center}
@keyframes story-lift{0%,100%{transform:translateY(0)}45%{transform:translateY(-5px)}}
@keyframes story-slide{0%,100%{transform:translateX(0)}50%{transform:translateX(8px)}}
@keyframes story-turn{0%,100%{transform:rotate(0)}35%{transform:rotate(-5deg)}70%{transform:rotate(3deg)}}
@keyframes story-reveal{0%{opacity:.3}100%{opacity:1}}
@keyframes story-pulse{0%,100%{opacity:1}50%{opacity:.35}}
[data-animated] .story-motion-lift{animation:story-lift 1.8s ease-in-out 1}
[data-animated] .story-motion-slide{animation:story-slide 1.8s ease-in-out 1}
[data-animated] .story-motion-turn{animation:story-turn 1.8s ease-in-out 1}
[data-animated] .story-motion-draw{animation:story-reveal 1.1s ease-out 1}
[data-animated] .story-motion-pulse{animation:story-pulse 1.8s ease-in-out 1}
.banner-diagram:not([data-in-view]) .story-path-motion{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.story-path-motion{animation:none!important;transform:none!important}}
@media print{.story-path-motion{animation:none!important;transform:none!important}}
