:root{color-scheme:dark}*{box-sizing:border-box}html{background:#000;scroll-behavior:smooth}body{margin:0;background:#000;color:#fff;overflow-x:clip}.portfolio{position:relative;width:100%;aspect-ratio:374/2047}.design-stage{position:absolute;left:0;top:0;width:374px;height:2047px;transform-origin:0 0;transform:scale(var(--display-scale,1))}.art-strip,.bracket-art,.project-name{background-image:url('./assets/current/home-web.jpg');background-repeat:no-repeat;background-size:374px 2047px}.art-strip{position:absolute;left:0;width:374px}.text-reveal{opacity:1}.reveal-enabled .text-reveal{opacity:0;transition:opacity .95s cubic-bezier(.2,.65,.3,1)}.reveal-enabled .text-reveal.is-visible{opacity:1}.hero-window{position:absolute;left:0;top:0;width:374px;height:205px;overflow:hidden;background:#000}#hero-motion,.hero-still{position:absolute;max-width:none;left:-3.714px;top:-17.93px;width:379.429px;height:237.143px;display:block;object-fit:fill}.hero-still{display:none}.hero-window.video-unavailable .hero-still{display:block}.hero-window.video-unavailable video{visibility:hidden}.original-directory{position:absolute;left:148px;top:692px;width:70px;height:166px}.spin-item{position:absolute;left:0;width:70px;height:28px;perspective:259px;color:inherit;display:block}.spin-a{top:0;--source-y:-384.5px;--phase:0s}.spin-b{top:68px;--source-y:-431px;--phase:-.65s}.spin-c{top:136px;--source-y:-477.5px;--phase:-1.3s}.spin-cube{position:absolute;inset:0;transform-style:preserve-3d;animation:horizontal-turn 7s linear infinite;animation-delay:var(--phase);will-change:transform}.spin-face{position:absolute;inset:0;background:#000 url('./assets/current/home-web.jpg') no-repeat;background-size:232.5px 1023.856767904px;background-position:-80px var(--source-y);backface-visibility:hidden}.face-0{transform:rotateY(0deg) translateZ(35px)}.face-1{transform:rotateY(90deg) translateZ(35px)}.face-2{transform:rotateY(180deg) translateZ(35px)}.face-3{transform:rotateY(270deg) translateZ(35px)}@keyframes horizontal-turn{from{transform:translateZ(-35px) rotateY(0)}to{transform:translateZ(-35px) rotateY(-360deg)}}.spin-item:hover .spin-cube,.spin-item:focus-visible .spin-cube{animation-play-state:paused}.project-names{position:absolute;left:0;width:374px;height:26px}.project-name{position:absolute;top:0;height:24px;border:0;padding:0;background-color:#000;cursor:pointer;filter:brightness(.72);transition:filter .2s ease}.project-name:hover,.project-name:focus-visible{filter:brightness(2.5)}.project-name:focus-visible,.spin-item:focus-visible,.original-carousel:focus-visible{outline:1px solid #fff;outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.preview-wrap{position:absolute;left:0;width:374px;pointer-events:none}.bracket-art{position:absolute;left:0;width:374px;height:25px;pointer-events:none}.original-carousel{position:absolute;display:block;cursor:pointer;pointer-events:auto}.original-carousel img{display:block;width:100%;height:100%;object-fit:contain;user-select:none}.section-anchor{position:absolute;left:0;width:1px;height:1px;scroll-margin-top:20px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-enabled .text-reveal{opacity:1;transition:none}.spin-cube{animation:none;transform:translateZ(-35px)}#hero-motion{visibility:hidden}.hero-still{display:block}}
.art-strip{position:absolute;left:0;width:374px;background-size:374px 2047px}.bracket-art,.project-name{background-size:374px 2047px}

/* Original-artwork presentation and synchronized hero turn. */
.hero-window{perspective:500px;overflow:visible;background:none}
@keyframes hero-together{0%,12%{transform:rotateX(0deg)}78%,100%{transform:rotateX(360deg)}}
.spin-face{background-image:url('./assets/current/home-web.jpg');background-size:374px 2047px;background-position:-148px var(--source-y)}.spin-a{--source-y:-692px}.spin-b{--source-y:-760px}.spin-c{--source-y:-828px}
.art-strip{background:none}.reveal-enabled .text-reveal{opacity:1;transition:none}.reveal-mask{position:absolute;left:0;width:374px;overflow:hidden}.reveal-ink{position:absolute;left:0;width:374px;background:url('./assets/current/home-web.jpg') no-repeat;background-size:374px 2047px;transition:transform .85s cubic-bezier(.22,1,.36,1) var(--delay),opacity .6s ease var(--delay)}.reveal-enabled .text-reveal:not(.is-visible) .reveal-ink{transform:translateY(105%);opacity:0}.is-visible .reveal-ink{transform:translateY(0);opacity:1}
.project-name{filter:brightness(.65)}.project-name[aria-pressed=true],.project-name:hover,.project-name:focus-visible{filter:brightness(2.5)}
.gallery-stage{position:absolute;left:0;width:374px}.gallery-track{position:absolute;inset:0}.bracket-art{z-index:8}.gallery-card{position:absolute;left:0;top:70px;display:block;transform:translate(var(--x),-50%) scale(var(--scale));transform-origin:center;opacity:var(--opacity);transition:transform .65s cubic-bezier(.22,1,.36,1),opacity .5s;z-index:1}.gallery-card.is-center{z-index:5}.gallery-card img{width:100%;height:100%;display:block;object-fit:contain;transition:transform .32s cubic-bezier(.2,.75,.3,1)}.gallery-card:hover img,.gallery-card:focus-visible img{transform:scale(1.333333)}.gallery-card:focus-visible{outline:1px solid #fff;outline-offset:3px}.gallery-card[aria-hidden=true]{pointer-events:none;visibility:hidden}.gallery-stage[data-kind=poster] .gallery-card{transition:opacity .15s}.gallery-stage[data-kind=poster] .gallery-card:not(.is-center){opacity:0;visibility:hidden}
@media(prefers-reduced-motion:reduce){.reveal-ink{transition:none!important;transform:none!important;opacity:1!important}.gallery-card,.gallery-card img{transition:none}}

.art-strip{background-image:url('./assets/current/home-web.jpg');background-size:374px 2047px}.text-block{position:absolute;background:#000}.line-mask{position:absolute;left:0;width:100%;overflow:hidden}.line-ink{position:absolute;left:0;width:100%;background:url('./assets/current/home-web.jpg') no-repeat;background-size:374px 2047px;transition:transform .85s cubic-bezier(.22,1,.36,1),opacity .65s ease}.reveal-enabled .text-block:not(.is-visible) .line-ink{transform:translateY(110%);opacity:0}.text-block.is-visible .line-ink{transform:translateY(0);opacity:1}@media(prefers-reduced-motion:reduce){.line-ink{transition:none!important;transform:none!important;opacity:1!important}}

.spin-item{height:32px}

.hero-window{overflow:hidden;perspective:none}.hero-upload{position:absolute;display:block;left:0;top:-12px;width:374px;height:233.75px;max-width:none;object-fit:contain;animation:none;transform:none}

/* Replay the whole section reveal on every viewport re-entry. */
.reveal-block{--reveal-delay:0ms}.reveal-enabled .reveal-block{clip-path:inset(100% 0 0 0);opacity:0;translate:none;transition:clip-path .85s cubic-bezier(.22,1,.36,1) var(--reveal-delay),translate .85s cubic-bezier(.22,1,.36,1) var(--reveal-delay),opacity .55s ease var(--reveal-delay)}.reveal-enabled .reveal-block.is-visible{clip-path:inset(0);opacity:1;translate:0 0}.reveal-enabled .reveal-block:not(.is-visible){transition:none}
@media(prefers-reduced-motion:reduce){.reveal-enabled .reveal-block{clip-path:none;opacity:1;translate:none;transition:none}}

#hero-play{position:absolute;z-index:3;left:50%;bottom:3px;transform:translateX(-50%);font:5px Arial,sans-serif;color:#fff;background:#111;border:.3px solid #777;border-radius:8px;padding:3px 6px;cursor:pointer}#hero-play[hidden]{display:none}#hero-status{position:absolute;z-index:3;left:10px;right:10px;bottom:18px;text-align:center;color:#fff;font:5px Arial,sans-serif}@media(max-width:600px){#hero-play,#hero-status{font-size:9px}}

/* The hero must remain visible independently of scrolling or script startup. */
.hero-window,.reveal-enabled .hero-window{clip-path:none!important;opacity:1!important;translate:none!important;visibility:visible!important}.hero-backdrop{position:absolute;display:block;left:0;top:-12px;width:374px;height:233.75px;object-fit:contain}.hero-upload{z-index:1}.hero-managed .hero-upload{opacity:0}.hero-managed.has-frame .hero-upload{opacity:1}
