#infinite-grid-menu-canvas{cursor:grab;outline:none;width:100%;height:100%;position:relative;overflow:hidden}#infinite-grid-menu-canvas:active{cursor:grabbing}.action-button{z-index:10;cursor:pointer;background:#5227ff;border:5px solid #000;border-radius:50%;place-items:center;width:60px;height:60px;display:grid;position:absolute;left:50%}.face-title{-webkit-user-select:none;user-select:none;font-size:3rem;font-weight:900;position:absolute;top:50%;left:1.6em}.action-button-icon{-webkit-user-select:none;user-select:none;color:#fff;font-size:26px;position:relative;top:2px}.face-title{position:absolute;top:50%;transform:translate(20%,-50%)}.face-title.active{opacity:1;pointer-events:auto;transition:all .5s;transform:translate(20%,-50%)}.face-title.inactive{pointer-events:none;opacity:0;transition:all .1s}.face-description{-webkit-user-select:none;user-select:none;max-width:10ch;font-size:1.2rem;position:absolute;top:50%;right:1%;transform:translateY(-50%)}.face-description.active{opacity:1;pointer-events:auto;transition:all .5s;transform:translate(-90%,-50%)}.face-description.inactive{pointer-events:none;opacity:0;transition:all .1s;transform:translate(-60%,-50%)}.action-button{position:absolute;left:50%}.action-button.active{opacity:1;pointer-events:auto;transition:all .5s;bottom:3.8em;transform:translate(-50%)scale(1)}.action-button.inactive{opacity:0;pointer-events:none;transition:all .1s;bottom:-80px;transform:translate(-50%)scale(0)}@media (width<=1500px){.face-title,.face-description{display:none}}.work-infinite-menu{background:var(--ink);touch-action:pan-y;width:100%;height:clamp(520px,70vw,760px);position:relative;overflow:hidden}.work-infinite-menu .action-button{background:var(--surface);border:1px solid var(--surface)}.work-infinite-menu .action-button-icon{color:var(--ink)}.work-infinite-menu .action-button:focus-visible{outline:2px solid var(--surface);outline-offset:4px}.work-infinite-menu .face-title,.work-infinite-menu .face-description{color:var(--surface)}.work-infinite-menu .face-title{letter-spacing:-.02em;font-size:clamp(2rem,3.4vw,3.25rem);font-weight:700}.work-infinite-menu .face-description{max-width:22ch;color:var(--ink-faint);font-size:1rem;line-height:1.5}@media (prefers-reduced-motion:reduce){.work-infinite-menu .face-title,.work-infinite-menu .face-description,.work-infinite-menu .action-button{transition:none}}@media (width>=1024px){.work-infinite-menu .face-title,.work-infinite-menu .face-description{display:block}.work-infinite-menu .face-title{left:3rem}.work-infinite-menu .face-description{right:3rem}}.tech-loop-section{width:100%;position:relative;overflow:hidden}.tech-loop-viewport{height:224px;position:relative;overflow:hidden}.tech-loop-track{width:100%}.tech-loop-viewport .text-loop-svg{margin-block:calc(112px - 21.6665vw)}.tech-loop-viewport .text-loop-text,.tech-loop-viewport .text-loop-measure{font-family:var(--font-headline)}@media (width<=1024px){.tech-loop-viewport{height:190px}.tech-loop-track{width:180%;margin-left:-40%}.tech-loop-viewport .text-loop-svg{margin-block:calc(95px - 38.9997vw)}}@media (width<=640px){.tech-loop-viewport{height:150px}.tech-loop-track{width:320%;margin-left:-110%}.tech-loop-viewport .text-loop-svg{margin-block:calc(75px - 69.3328vw)}}.tech-loop-placeholder{background:var(--ink);height:224px}.tech-loop-static{background:var(--ink);color:var(--surface);font-family:var(--font-headline);letter-spacing:.08em;text-align:center;padding:2rem 1.25rem;font-size:clamp(.85rem,2vw,1.25rem);font-weight:800}
