/* Motion overlays preserve the original, full-size Gary's World posters. */
.gary-project-poster[class*="gary-motion-"]{position:relative;isolation:isolate}
.gary-project-poster>.gary-motion-overlay{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;overflow:hidden}
.gary-motion-controls{display:flex;justify-content:flex-end;margin:20px 0 -12px}
.gary-motion-controls button{font:12px Arial,sans-serif;color:#b8c7ed;background:transparent;border:1px solid #7c8aab66;padding:8px 12px;cursor:pointer}
.gary-motion-controls button:focus-visible{outline:2px solid #709bff;outline-offset:3px}
.gary-motion-outspoken .dot{opacity:0;filter:drop-shadow(0 0 3px #ffe4a1);animation:gary-dot-one 3.4s infinite}
.gary-motion-outspoken .d2{animation-name:gary-dot-two}.gary-motion-outspoken .d3{animation-name:gary-dot-three}
@keyframes gary-dot-one{0%,12%,96%,100%{opacity:0}18%,88%{opacity:1}}
@keyframes gary-dot-two{0%,28%,96%,100%{opacity:0}34%,88%{opacity:1}}
@keyframes gary-dot-three{0%,44%,96%,100%{opacity:0}50%,88%{opacity:1}}
.gary-motion-daplug .glow,.gary-motion-we-the-people .lights,.gary-motion-filmreach .gary-motion-overlay{mix-blend-mode:screen}
.gary-motion-daplug .pulse{animation:gary-plug-glow 8s ease-in-out infinite}
@keyframes gary-plug-glow{0%,12%,75%,100%{opacity:0}35%,48%{opacity:.9}}
.gary-motion-daplug .write{transform-box:fill-box;transform-origin:left center;animation:gary-write-one 14s linear infinite}
.gary-motion-daplug .w2{animation-name:gary-write-two}.gary-motion-daplug .w3{animation-name:gary-write-three}.gary-motion-daplug .w4{animation-name:gary-write-four}
@keyframes gary-write-one{0%,4%,92%,100%{transform:scaleX(0)}14%,84%{transform:scaleX(1)}}
@keyframes gary-write-two{0%,14%,92%,100%{transform:scaleX(0)}24%,84%{transform:scaleX(1)}}
@keyframes gary-write-three{0%,24%,92%,100%{transform:scaleX(0)}34%,84%{transform:scaleX(1)}}
@keyframes gary-write-four{0%,34%,92%,100%{transform:scaleX(0)}44%,84%{transform:scaleX(1)}}
.gary-motion-filmreach .film-moving-glint{animation:gary-film-glint 8s linear infinite}
@keyframes gary-film-glint{0%,7%,75%,100%{opacity:0}14%,65%{opacity:.95}}
.gary-motion-we-the-people .lights{animation:gary-warm-lights 7s ease-in-out infinite}
.gary-motion-we-the-people .lights:last-child{animation-delay:1.3s}
@keyframes gary-warm-lights{0%,12%,95%,100%{opacity:0}42%,62%{opacity:1}}
.gary-projects.motion-paused *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.gary-project-poster>.gary-motion-overlay,.gary-motion-controls{display:none!important}}
