/* Motion is progressive: content remains visible without JavaScript. */
.reading-progress{position:fixed;inset:0 auto auto 0;height:3px;width:100%;background:#7855c7;transform:scaleX(0);transform-origin:left;z-index:100;pointer-events:none}
.studio-tools{position:fixed;bottom:20px;right:20px;display:flex;gap:8px;z-index:30}
.studio-tools button{border:1px solid #c6c4bc;background:#f4f4f0ed;backdrop-filter:blur(10px);border-radius:30px;padding:11px 16px;font:inherit;font-size:12px;cursor:pointer;box-shadow:0 4px 18px #0000000b}
.studio-tools button:hover{background:#dfff00}.studio-tools button:focus-visible{outline:3px solid #7855c7;outline-offset:3px}
.header nav a:not(.nav-contact){position:relative}.header nav a:not(.nav-contact)::after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:2px;background:#7855c7;transform:scaleX(0);transform-origin:left;transition:transform .25s}.header nav a:hover::after,.header nav a:focus-visible::after{transform:scaleX(1)}
.artboard{isolation:isolate}.artboard::before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--light-x,50%) var(--light-y,50%),#c8b8fa45,transparent 58%);opacity:.8;transition:opacity .4s}
.artboard .poster-float,.artboard .illustration-float{transition:box-shadow .3s;will-change:auto}.artboard .poster-float:hover,.artboard .illustration-float:hover{z-index:4;box-shadow:0 20px 44px #0003}
.studio-motion-on .hero-copy{animation:studio-enter .8s both}.studio-motion-on .artboard{animation:studio-enter 1s .12s both}
@keyframes studio-enter{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
.project-art{border-radius:6px;transition:box-shadow .3s,translate .3s}.project-button:hover .project-art{box-shadow:0 18px 40px #20201f18;translate:0 -5px}
/* Keep full artwork visible even while hovering. */
.project-button:hover img{transform:none}.poster-project .project-button:hover img{transform:rotate(-5deg)}
.project-meta h3{transition:color .2s}.project:hover .project-meta h3{color:#7855c7}
.studio-cursor{position:fixed;left:0;top:0;z-index:90;pointer-events:none;background:#dfff00;color:#20201f;padding:10px 15px;border-radius:30px;font-size:12px;font-weight:700;opacity:0;transform:translate(-200px,-200px);transition:opacity .15s;box-shadow:0 3px 15px #0001}.studio-cursor.is-active{opacity:1}
.project.studio-filter-in{animation:studio-enter .35s both}
.studio-path{padding:65px 0 95px}.studio-path-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:35px}.studio-path-heading h2{max-width:650px}.studio-path-heading>p{max-width:240px;color:#65655f;line-height:1.6;font-size:14px}
.studio-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.studio-step{display:flex;flex-direction:column;min-height:280px;padding:28px;border:1px solid #d7d7d0;border-radius:8px;position:relative;overflow:hidden;transition:background .3s,translate .3s}.studio-step:nth-child(2){background:#eae4fa}.studio-step:nth-child(3){background:#e9edcf}.studio-step:hover,.studio-step:focus-visible{background:#dfff00;translate:0 -6px}.studio-step-number{font-family:monospace;font-size:12px;letter-spacing:2px}.studio-step-symbol{position:absolute;right:25px;top:15px;font-size:70px;line-height:1;color:#7855c7;transition:rotate .5s}.studio-step:hover .studio-step-symbol{rotate:35deg}.studio-step h3{font-size:32px;letter-spacing:-1px;margin:55px 0 10px}.studio-step p{font-size:14px;line-height:1.7;max-width:270px;margin:0 0 22px}.studio-step-link{font-size:12px;font-weight:700;margin-top:auto}
.studio-motion-on .studio-reveal{opacity:0;translate:0 22px;transition:opacity .7s,translate .7s;transition-delay:var(--reveal-delay,0ms)}.studio-motion-on .studio-reveal.is-visible{opacity:1;translate:0 0}
.contact-arrow{position:relative}.contact-arrow::after{content:'';position:absolute;inset:-9px;border:1px dashed #8a9181;border-radius:50%;pointer-events:none}.studio-motion-on .contact-arrow::after{animation:spin 24s linear infinite}
html.studio-motion-off{scroll-behavior:auto}html.studio-motion-off *,html.studio-motion-off *::before,html.studio-motion-off *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.studio-motion-off .reveal,.studio-motion-off .studio-reveal{opacity:1!important;transform:none!important;translate:none!important}.studio-motion-off .studio-cursor{display:none}.studio-motion-off .project-button:hover .project-art,.studio-motion-off .studio-step:hover{translate:none}
@media(max-width:760px){.studio-path{padding:35px 0 60px}.studio-path-heading{display:block}.studio-path-heading>p{max-width:100%}.studio-path-grid{grid-template-columns:1fr}.studio-step{min-height:220px;padding:24px}.studio-step h3{margin-top:35px}.studio-tools{bottom:12px;right:12px}.studio-tools button{padding:10px 13px;font-size:11px}.studio-cursor{display:none}.footer{padding-bottom:85px}}
@media(prefers-reduced-motion:reduce){.studio-reveal{opacity:1!important;translate:none!important}.studio-cursor{display:none}.project-button:hover .project-art,.studio-step:hover{translate:none}}
