/* Interaction parameters measured from the reference; scene media belongs to this site. */
.hero-content>*{animation:none!important}.hero-content>.brand-mark{animation:none!important}.brand-mark{animation:none}.brand-mark>.mark-fold-a{animation:fold-motion 9s ease-in-out infinite}@keyframes fold-motion{0%,100%{transform:rotateY(15deg) rotateX(-12deg)}45%{transform:rotateY(52deg) rotateX(7deg)}70%{transform:rotateY(8deg) rotateX(-6deg)}}
.wave-word{white-space:nowrap}.wave-char{display:inline-block}.hero h1 .wave-char{font-weight:inherit}.reveal{will-change:auto}
.collage-card{appearance:none;display:block;padding:0;border:0;background:transparent;color:inherit;font:inherit;overflow:visible;transform:none;transition:none;will-change:auto;cursor:pointer}.collage-inner{display:block;transform:none;transition:none!important}.collage-inner>video{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}.collage-canvas{touch-action:pan-y}.collage-card:focus-visible{outline:2px solid #111;outline-offset:5px}.name-track span{min-width:180px;width:180px}.name-track{animation-name:name-loop-exact}@keyframes name-loop-exact{to{transform:translateX(-33.333333%)}}
/* Only media scales; the cover and its rounded crop stay fixed. */
.project-card:hover .project-cover>img,.project-card:focus-visible .project-cover>img{transform:scale(1.045)}.game-cover>img{inset:0;right:auto;top:0;width:100%;height:100%;max-width:none;object-fit:cover;border:0;border-radius:0;box-shadow:none;transform:scale(1)}.game-cover:hover>img,.project-card:hover .game-cover>img,.project-card:focus-visible .game-cover>img{transform:scale(1.045)}.project-card:hover .ai-cover>img.cover-phone,.project-card:focus-visible .ai-cover>img.cover-phone{transform:rotate(5deg) scale(1.045)}.meeting-cover:hover .paper-stack{transform:translateY(9%) rotate(-5deg)}.project-card:hover .paper-stack,.project-card:focus-visible .paper-stack{transform:translateY(9%) rotate(-5deg) scale(1.045)}.project-visit{display:flex;align-items:center;justify-content:center;gap:12px;width:auto;height:auto;min-height:44px;padding:12px 20px;border-radius:30px;background:#ffffffdd;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font-size:13px;line-height:20px;transition:opacity .35s var(--ease),transform .35s var(--ease)}.project-visit>svg{width:16px;height:16px}.project-card:hover .project-visit,.project-card:focus-visible .project-visit{opacity:1;transform:translateY(0)}
/* Character roll and inset background are separate layers. */
.roll-window{display:inline-block;overflow:visible;line-height:1.3}.roll-word{display:inline-flex;overflow:hidden;vertical-align:top;white-space:nowrap}.roll-char{line-height:1.3;text-shadow:0 1.3em currentColor;transform:translateY(0) rotate(.001deg);transition:transform .6s cubic-bezier(.625,.05,0,1);transition-delay:calc(var(--i)*.01s)}.button{position:relative;isolation:isolate;background:transparent!important}.button:before{content:'';position:absolute;inset:0;border-radius:inherit;background:var(--button-fill,#f3f3f3);z-index:-1;transition:inset .6s cubic-bezier(.625,.05,0,1)}.button-dark,.nav-cta{--button-fill:#121212}.button-light{--button-fill:#f3f3f3}.button:hover .arrow-disc{transform:none;background:#ffffff26}.button .arrow-disc{transition:none}.nav-links>a:not(.button):after{display:none}.button:hover .roll-char{transform:translateY(0) rotate(.001deg)}
@media(hover:hover) and (pointer:fine){.button:hover:before{inset:.125em}[data-roll-trigger]:hover .roll-char{transform:translateY(-1.3em) rotate(.001deg)}}
[data-roll-trigger]:focus-visible .roll-char{transform:translateY(-1.3em) rotate(.001deg)}.button:focus-visible:before{inset:.125em}
.nav.is-scrolled{background:#121212a6;color:#fff;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px)}.nav.is-scrolled :focus-visible{outline-color:#fff}
/* The desktop dock is a single measured capsule; its list never changes display. */
.section-dock{position:fixed;left:0;right:0;bottom:max(24px,env(safe-area-inset-bottom));margin-inline:auto;width:fit-content;min-width:0;opacity:0;visibility:hidden;transform:none;z-index:100;padding:0;border-radius:0;background:none;color:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:auto;font-size:13px;font-weight:500;letter-spacing:.01em;line-height:1.5;transition:none}.section-dock[data-hidden]{pointer-events:none}.dock-pill{position:relative;background:#121212a6;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border-radius:999px;overflow:hidden;color:#fff}.section-dock.is-open .dock-pill{border-radius:1.5em}.dock-toggle{font:inherit;color:inherit;white-space:nowrap;appearance:none;display:flex;align-items:center;gap:10px;width:auto;min-height:0;padding:.85em 1.5em;border:0;background:transparent;position:relative;cursor:pointer}.dock-label-wrap{height:1.5em;display:block;position:relative;overflow:hidden}.dock-label{display:block;line-height:1.5;white-space:nowrap}.dock-number{display:inline-block;font-size:.75em;line-height:1;color:#ffffffcc;margin-right:.6em;position:relative;bottom:.05em}.dock-toggle .chevron{width:12px;height:12px;stroke-width:1.5}.dock-list{position:absolute;top:0;left:0;width:max-content;opacity:0;visibility:hidden;padding:.5em}.dock-link{position:relative;display:block;white-space:nowrap;color:inherit;padding:.5em 1em;border-radius:100em;z-index:2}.dock-indicator{position:absolute;top:0;left:0;z-index:1;pointer-events:none;background:#121212;border-radius:100em;width:2em;height:2em}.dock-link:focus-visible,.dock-toggle:focus-visible{outline:2px solid #fff;outline-offset:-4px}
.mobile-nav{display:none}
/* The first-load five-card composition uses site-owned new artwork. */
.loading-container{display:none;z-index:500;pointer-events:none;position:fixed;inset:0;font-size:16px}.js .loading-container{display:block}.loading-screen{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;overflow:clip;pointer-events:auto;color:#121212}.loading-screen__background{position:absolute;inset:0;background:#f3f3f3}.loading-screen__logo{position:absolute;bottom:2em;font-size:15px;letter-spacing:-.04em;font-weight:500}.loading-screen__list{display:flex;justify-content:center;align-items:center;position:relative;opacity:0}.loading-screen__card{position:absolute;aspect-ratio:4/3;width:min(10em,calc(100vw - 64px),80svh);font-size:max(1.5vw,2em);border-radius:.5em}.loading-screen__card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}
/* Pointer image trail: independent enter/out timings and the original square crop. */
.image-trail{display:block;isolation:isolate}.trail-image{position:absolute;width:clamp(144px,16vw,240px);aspect-ratio:4/3;object-fit:cover;border-radius:0;animation:none;transform:translate(-50%,-50%) scale(0) rotate(-20deg);pointer-events:none}.trail-image[data-trail-state=visible]{transform:translate(-50%,-50%) scale(1) rotate(.001deg);transition:transform .4s cubic-bezier(.625,.05,0,1)}.trail-image[data-trail-state=out]{transform:translate(-50%,-50%) scale(0) rotate(180deg);transition:transform .8s cubic-bezier(.625,0,.875,0)}.about{padding-bottom:240px}
@media(max-width:700px){html{scroll-padding-top:84px}.nav-shell,.section-dock{display:none}.mobile-nav{display:block;position:fixed;top:max(16px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:calc(100vw - 40px);z-index:110;color:#fff;font-size:16px;line-height:1.5}.mobile-nav__inner{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;height:56px;background:#121212a6;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:0;border-radius:28px;overflow:hidden;transition:border-radius .45s;will-change:height}.mobile-nav.is-open .mobile-nav__inner{border-radius:18px}.mobile-nav__bar{width:100%;height:56px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:.5em .5em .5em 1em}.mobile-menu-toggle{font:inherit;width:2.5em;height:2.5em;border:0;border-radius:50%;background:#121212;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.25em;padding:0;flex:none}.mobile-menu-toggle>span{display:block;flex:none;width:1.25em;height:2px;background:currentColor}.mobile-menu-toggle:focus-visible{outline-color:#fff;outline-offset:3px}.mobile-nav__panel{width:100%;display:flex;flex:none;flex-direction:column;gap:12px;padding:1.25em 1em 1em;max-height:calc(100svh - 88px);overflow-y:auto;scrollbar-width:none;overscroll-behavior:contain;opacity:0;visibility:hidden}.mobile-nav__divider{height:1px;width:100%;background:#ffffff33;flex:none;margin-bottom:8px}.mobile-nav__link{display:flex;justify-content:space-between;align-items:center;color:inherit;letter-spacing:-.01em;padding:.2em 0;font-size:28px;line-height:1.2;font-weight:500;flex:none}.mobile-nav__link svg{width:20px;height:20px}.mobile-nav__link:focus-visible{outline-color:#fff}.collage-section{font-size:1.86vw;height:max(400.8px,calc(68.82vw + 64px));padding-block:32px}.collage-canvas{transform:none}.project-visit{display:none}.name-track span{min-width:180px;width:180px;line-height:60px}.image-trail{display:block}.about{padding-bottom:40px}.footer-bottom{padding-bottom:max(24px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.loading-container{display:none!important}.brand-mark>.mark-fold-a{animation:none}.roll-char,[data-roll-trigger]:hover .roll-char,[data-roll-trigger]:focus-visible .roll-char{transform:none!important}.collage-inner{transform:none!important}.image-trail{display:none}.reveal{opacity:1!important;visibility:visible!important;transform:none!important}}
