:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#fff;font-synthesis:none;-webkit-font-smoothing:antialiased;background:#000;font-family:Arial,Microsoft YaHei,PingFang SC,sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}html{scroll-behavior:smooth}button{font:inherit;-webkit-tap-highlight-color:transparent}a{color:inherit}.cube-loading{--cube-size:clamp(52px, min(10vw, 14svh), 104px);z-index:10;color:#fff;isolation:isolate;transition:opacity var(--motion-entry-fade,.48s) var(--motion-entry-curve,ease), visibility 0s var(--motion-entry-fade,.48s);background:#000;position:fixed;inset:0;overflow:hidden}.cube-loading[data-phase=entering],.cube-loading[data-phase=viewing]{opacity:0;visibility:hidden;pointer-events:none}.cube-viewport{clip-path:inset(0);pointer-events:none;transition:opacity calc(var(--motion-entry-label,.85s)*.706) var(--motion-entry-curve,ease);position:absolute;inset:0;overflow:hidden}.cube-loading:not([data-phase=loading]):not([data-phase=checking]):not([data-phase=closed]) .cube-viewport{opacity:0}.cube-anchor{width:var(--cube-size);height:var(--cube-size);margin:calc(var(--cube-size) / -2) 0 0 calc(var(--cube-size) / -2);position:absolute;top:50%;left:50%}.cube-flight,.cube-stage,.cube-orientation,.cube-centering,.cube-net,.cube-face{width:100%;height:100%;position:absolute}.cube-stage{perspective:1200px;perspective-origin:50%}.cube-orientation,.cube-centering,.cube-net,.cube-face{transform-style:preserve-3d}.cube-orientation{transform:rotateX(-23deg)rotateY(-32deg)rotate(-7deg)}.cube-face{transform-origin:50%;inset:0}.cube-face-front{transform:translateZ(calc(var(--cube-size) / 2))}.cube-face-back{transform:rotateY(180deg) translateZ(calc(var(--cube-size) / 2))}.cube-face-left{transform:rotateY(-90deg) translateZ(calc(var(--cube-size) / 2))}.cube-face-right{transform:rotateY(90deg) translateZ(calc(var(--cube-size) / 2))}.cube-face-top{transform:rotateX(90deg) translateZ(calc(var(--cube-size) / 2))}.cube-face-bottom{transform:rotateX(-90deg) translateZ(calc(var(--cube-size) / 2))}.cube-face-art{stroke:currentColor;stroke-width:1.5px;stroke-linejoin:round;filter:drop-shadow(0 0 3px #ffffffe6)drop-shadow(0 0 11px #ffffff7a);width:100%;height:100%;display:block;overflow:visible}.cube-face-art path{stroke-dasharray:400;stroke-dashoffset:0}.cube-entry-cluster{text-align:center;width:min(420px,100vw - 48px);transition:transform var(--motion-entry-ready,1.6s) var(--motion-entry-curve,cubic-bezier(.22, 1, .36, 1));position:absolute;top:50%;left:50%;transform:translate(-50%,calc(30svh - 50%))}.cube-entry-cluster[data-ready=true]{transform:translate(-50%,-50%)}.cube-caption{letter-spacing:.12em;margin:0;font-size:clamp(17px,1.3vw,20px);font-weight:400;line-height:1.6}.cube-entry-button{color:#fff;letter-spacing:inherit;line-height:inherit;cursor:pointer;transition:transform var(--motion-entry-ready,1.6s) var(--motion-entry-curve,cubic-bezier(.22, 1, .36, 1)), text-shadow .22s ease;background:0 0;border:0;place-items:center;padding:10px 30px;display:inline-grid;position:relative}.cube-entry-button:disabled{cursor:default;opacity:1}.cube-entry-button:focus-visible{outline-offset:8px;border-radius:6px;outline:1px solid #fff}.cube-entry-button:not(:disabled):is(:hover,:focus-visible) .cube-label-ready{animation:cube-entry-edge-glow var(--motion-entryGlow-period,2.4s) var(--motion-entryGlow-curve,ease-in-out) infinite}@keyframes cube-entry-edge-glow{0%,to{text-shadow:0 0 calc(2px*var(--motion-entryGlow-spread,1)) rgb(255 255 255/calc(.45*var(--motion-entryGlow-strength,1))), 0 0 calc(10px*var(--motion-entryGlow-spread,1)) rgb(255 255 255/calc(.25*var(--motion-entryGlow-strength,1))), 0 0 calc(24px*var(--motion-entryGlow-spread,1)) rgb(215 232 255/calc(.12*var(--motion-entryGlow-strength,1)))}50%{text-shadow:0 0 calc(4px*var(--motion-entryGlow-spread,1)) rgb(255 255 255/var(--motion-entryGlow-strength,1)), 0 0 calc(16px*var(--motion-entryGlow-spread,1)) rgb(255 255 255/calc(.8*var(--motion-entryGlow-strength,1))), 0 0 calc(36px*var(--motion-entryGlow-spread,1)) rgb(215 232 255/calc(.55*var(--motion-entryGlow-strength,1))), 0 0 calc(58px*var(--motion-entryGlow-spread,1)) rgb(198 221 255/calc(.28*var(--motion-entryGlow-strength,1)))}}.cube-entry-cluster[data-ready=true] .cube-entry-button{transform:scale(1.5)}.cube-label-preparing,.cube-label-ready{white-space:nowrap;transition:transform var(--motion-entry-label,.85s) var(--motion-entry-curve,cubic-bezier(.22, 1, .36, 1)), opacity calc(var(--motion-entry-label,.85s)*.706) var(--motion-entry-curve,ease);grid-area:1/1;position:relative}.cube-label-ready{opacity:0;transform:translateY(28px)}.cube-entry-cluster[data-ready=true] .cube-label-preparing{opacity:0;transform:translateY(-28px)}.cube-entry-cluster[data-ready=true] .cube-label-ready{opacity:1;transition-delay:.25s;transform:translateY(0)}.cube-entry-arrow{opacity:.8;font-size:.85em;position:absolute;left:calc(100% + 12px)}.cube-progress-wrap{grid-template-columns:1fr 38px;align-items:center;gap:18px;width:min(280px,78vw);transition:opacity .42s .2s,transform .65s .2s;display:grid;position:absolute;top:calc(100% + 18px);left:50%;transform:translate(-50%)}.cube-progress-wrap[data-finished=true]{opacity:0;transform:translate(-50%,-16px)}.cube-progress{background:#fff3;height:2px;overflow:hidden}.cube-progress>span{transform-origin:0;background:#fff;height:100%;transition:transform 70ms linear;display:block}.cube-progress-number{font-variant-numeric:tabular-nums;text-align:right;color:#ffffffd9;font-size:11px}.cube-progress-number>span{opacity:.65;margin-left:3px;font-size:9px}.cube-load-error{margin:58px 0 0;font-size:12px}.cube-load-error button{color:#fff;cursor:pointer;background:0 0;border:0;padding:8px;text-decoration:underline}.cube-portfolio-host[data-visible=false]{visibility:hidden;pointer-events:none;position:fixed;inset:0;overflow:hidden scroll}.cube-portfolio-host[data-visible=true]{min-height:100svh;position:relative}.cube-playback{right:max(24px, env(safe-area-inset-right));bottom:max(24px, env(safe-area-inset-bottom));color:#ffffff9e;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;transition:color .18s,background .18s;display:grid;position:absolute}.cube-playback:hover{color:#fff;background:#ffffff17}.cube-playback:focus-visible{outline-offset:3px;color:#fff;outline:1px solid #fff}.cube-sound-control{--sound-duration:.48s;--sound-curve:cubic-bezier(.2, .8, .2, 1);--sound-icon-size:22px;--sound-active:#f4f4f4;z-index:60;left:max(24px, env(safe-area-inset-left));bottom:max(24px, env(safe-area-inset-bottom));color:#ededed;-webkit-user-select:none;user-select:none;width:46px;height:46px;transition:width var(--sound-duration) var(--sound-curve), border-color .18s ease;background:#101010;border:1px solid #4a4a4a;border-radius:24px;position:fixed;overflow:hidden;box-shadow:0 5px 20px #0006}.cube-sound-control,.cube-sound-control *{box-sizing:border-box}.cube-sound-control[data-open=true]{border-color:#737373;width:254px}.cube-sound-button{-webkit-appearance:none;appearance:none;z-index:2;width:44px;height:44px;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;place-items:center;margin:0;padding:0;display:grid;position:relative}.cube-sound-button:focus-visible{outline:2px solid var(--sound-active);outline-offset:-4px}.cube-sound-signal{width:28px;height:28px;color:var(--sound-active);place-items:center;transition:color .18s;display:grid}.cube-sound-signal svg{width:var(--sound-icon-size);height:var(--sound-icon-size);transform:scaleY(var(--sound-signal-scale,.604));transition:transform .2s var(--sound-curve), opacity .2s ease}.cube-sound-silent{opacity:0;width:16px;height:1.5px;transition:transform .2s var(--sound-curve), opacity .15s ease;background:currentColor;border-radius:2px;position:absolute;transform:scaleX(0)}.cube-sound-control[data-muted=true] .cube-sound-signal{color:#909090}.cube-sound-control[data-muted=true] .cube-sound-signal svg{opacity:0;transform:scale(.6)}.cube-sound-control[data-muted=true] .cube-sound-silent{opacity:.6;transform:scaleX(1)}.cube-sound-panel{opacity:0;visibility:hidden;pointer-events:none;width:188px;height:44px;transition:opacity .15s ease, transform var(--sound-duration) var(--sound-curve), visibility 0s .15s;align-items:center;gap:12px;display:flex;position:absolute;top:0;left:52px;transform:translate(-10px)}.cube-sound-control[data-open=true] .cube-sound-panel{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translate(0)}.cube-sound-range{flex-shrink:0;width:140px;height:34px;position:relative}.cube-sound-range:has(input:focus-visible){outline:1px solid var(--sound-active);outline-offset:2px;border-radius:4px}.cube-sound-range input{-webkit-appearance:auto;appearance:auto;z-index:3;opacity:0;cursor:ew-resize;touch-action:none;width:100%;height:100%;margin:0;position:absolute;inset:0}.cube-sound-ticks{pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;inset:0 4px}.cube-sound-ticks span{background:#454545;border-radius:3px;width:2px;transition:background 90ms}.cube-sound-ticks span[data-lit=true]{background:var(--sound-active)}.cube-sound-thumb{top:8px;left:calc(4px + (100% - 8px) * var(--sound-fraction,.28));pointer-events:none;background:#fff;border-radius:3px;width:3px;height:18px;position:absolute;transform:translate(-50%);box-shadow:0 0 9px #ffffff26}.cube-sound-value{color:#aaa;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.cube-sound-value small{opacity:.7;margin-left:2px;font-size:10px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cube-entry-cluster,.cube-entry-button,.cube-label-preparing,.cube-label-ready,.cube-progress-wrap,.cube-viewport,.cube-loading{transition-duration:1ms;transition-delay:0s}.cube-sound-control,.cube-sound-control *{transition-duration:1ms!important;transition-delay:0s!important}.cube-playback{display:none}.cube-entry-button:not(:disabled):is(:hover,:focus-visible) .cube-label-ready{text-shadow:0 0 5px #fff6;animation:none}}.cube-portfolio{color:#fff;background:#000;min-height:100svh}.cube-portfolio a{text-decoration:none}.cube-portfolio :is(a[href],button){cursor:pointer}.cube-portfolio :is(button:disabled,[aria-disabled=true]){cursor:default}.cube-portfolio :is(a,button):focus-visible{outline-offset:6px;outline:1px solid}.cube-site-header{z-index:2;justify-content:space-between;align-items:center;gap:24px;padding:32px clamp(24px,4vw,72px);display:flex;position:absolute;top:0;left:0;right:0}.cube-wordmark{letter-spacing:.06em;font-size:17px}.cube-site-header nav{gap:30px;font-size:13px;display:flex}.cube-site-header nav a{opacity:.7;transition:opacity .18s}.cube-site-header nav a:hover{opacity:1}.cube-hero{isolation:isolate;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:64px 16px 80px;display:flex;position:relative;overflow:visible}.cube-hero-kicker{letter-spacing:.2em;opacity:.62;margin:0 0 14px;font-size:12px;position:relative}.cube-browse{letter-spacing:.1em;font-size:12px;position:absolute;bottom:32px}.cube-browse span{margin-left:12px}.rubik-display{flex-direction:column;align-items:center;width:100%;display:flex}.cube-hero:has(.rubik-interactive[data-focused-work]){isolation:auto;overflow:visible}.rubik-display:has(.rubik-interactive[data-focused-work]){min-height:var(--home-display-height)}.rubik-interactive{--cell-size:clamp(54px, 6.5vw, 108px);--cell-gap:4px;--cell-step:calc(var(--cell-size) + var(--cell-gap));--frost-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.76' numOctaves='3' stitchTiles='stitch' seed='13'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Cpath fill='%23fff' d='M0 0h96v96H0z' filter='url(%23n)'/%3E%3C/svg%3E");z-index:2;isolation:isolate;touch-action:none;cursor:default;-webkit-user-select:none;user-select:none;width:min(1920px,100%);height:clamp(480px,70svh,900px);position:relative;overflow:visible}.rubik-interactive[data-focused-work]{z-index:50;width:100%;max-width:none;height:100vh;background:#000;height:100dvh;position:fixed;inset:0}.rubik-interactive[data-interaction-ready=true]{cursor:grab}.rubik-interactive[data-pointer-action=pointer]{cursor:pointer}.rubik-interactive[data-pointer-action=work]{cursor:grab}.rubik-interactive[data-dragging=true],.rubik-interactive[data-pointer-action=grabbing]{cursor:grabbing}.rubik-interactive:is([data-pointer-action=default],[data-click-cancelled=true],[data-pinching=true],[data-interaction-ready=false]){cursor:default}.rubik-interactive[data-dragging-work=true][data-interaction-ready=true]:not([data-pinching=true]){cursor:grabbing}.rubik-interactive[data-focused-work=photography][data-pointer-action=pointer]{cursor:zoom-in}.rubik-interactive[data-focused-work=photography][data-photo-focused=true][data-pointer-action=pointer]{cursor:zoom-out}.rubik-interactive:focus-visible{outline:none}.rubik-display:has(.rubik-interactive:focus-visible) .rubik-hint{color:#fff;text-underline-offset:5px;text-decoration:underline}.rubik-glass-canvas{z-index:3;pointer-events:none;width:100%;height:100%;display:none;position:absolute;top:0;left:0}.rubik-glass-hit-surface{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.rubik-glass-hit-surface polygon{pointer-events:all}.rubik-interactive:not([data-renderer=glass]) .rubik-glass-hit-surface{display:none}.rubik-period{--period-shift-duration:var(--motion-description-close,.22s);z-index:2;text-align:left;cursor:default;pointer-events:none;flex-direction:column;width:clamp(220px,24vw,340px);display:flex;position:absolute;top:50%;bottom:28px}.rubik-period[data-list-open=true]{--period-shift-duration:var(--motion-description-duration,.36s);z-index:4;pointer-events:auto;top:max(28px,50% - 240px)}.rubik-period-recent{left:clamp(12px,3.5vw,56px)}.rubik-period-archive{text-align:right;right:clamp(12px,3.5vw,56px)}.rubik-period-title{color:#fff;pointer-events:auto;transition:opacity .3s, transform var(--period-shift-duration) var(--motion-description-curve,ease);flex-direction:column;flex:none;align-items:flex-start;display:inline-flex;transform:translateY(-50%)}.rubik-period[data-list-open=true] .rubik-period-title{transform:translateY(0)}.rubik-period-archive .rubik-period-title{align-items:flex-end}.rubik-period-en{letter-spacing:.16em;color:#ffffff6b;font-size:12px}.rubik-period h2{letter-spacing:-.045em;margin:12px 0 17px;font-size:clamp(28px,3.5vw,60px);font-weight:400;line-height:1.35}.rubik-period-count{color:#ffffff80;font-size:13px}.rubik-period-count>span{margin-left:18px}.rubik-display[data-preview-period=recent] .rubik-period-archive .rubik-period-title,.rubik-display[data-preview-period=archive] .rubik-period-recent .rubik-period-title{opacity:.35}.rubik-work-list{--work-hover-gutter:calc((var(--motion-workListHover-scale,1.14) - 1) * 50% + 8px);min-height:0;margin:0 calc(0px - var(--work-hover-gutter));padding:22px var(--work-hover-gutter) 24px;overscroll-behavior:contain;scrollbar-width:none;text-align:left;visibility:hidden;opacity:0;pointer-events:none;transition:opacity var(--motion-description-close,.22s) var(--motion-description-curve,ease), visibility 0s var(--motion-description-close,.22s);scroll-behavior:auto;overflow-anchor:none;list-style:none;overflow:hidden auto}.rubik-work-list::-webkit-scrollbar{width:0;height:0;display:none}.rubik-period[data-list-open=true] .rubik-work-list{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s}.rubik-work-list>li{visibility:hidden;opacity:0;transform:translateY(var(--motion-description-distance,10px));transition:opacity var(--motion-description-close,.22s) var(--motion-description-curve,ease), transform var(--motion-description-close,.22s) var(--motion-description-curve,ease), visibility 0s var(--motion-description-close,.22s);border-top:1px solid #ffffff1f;position:relative}.rubik-period[data-list-open=true] .rubik-work-list>li{visibility:visible;opacity:1;transition-duration:var(--motion-description-duration,.36s), var(--motion-description-duration,.36s), 0s;transition-delay:calc(var(--work-index) * var(--motion-description-stagger,65ms));transform:translateY(0)}.rubik-work-list>li:has(.rubik-project-link[data-selected=true]){z-index:1}.rubik-project-link{color:#fff;text-align:left;width:100%;font:inherit;transition:transform var(--motion-workListHover-duration,.24s) var(--motion-workListHover-curve,ease), background var(--motion-workListHover-duration,.24s) var(--motion-workListHover-curve,ease);background:0 0;border:0;grid-template-columns:88px minmax(0,1fr) 10px;align-items:start;gap:12px;padding:14px 3px;display:grid;transform:scale(1)}.rubik-project-link[data-selected=true]{transform:scale(var(--motion-workListHover-scale,1.14));background:#121820}.cube-portfolio .rubik-project-link:disabled{cursor:default}.cube-portfolio .rubik-project-link:focus-visible{outline-offset:-2px}.rubik-project-media{border:1px solid #ffffff29;border-radius:2px;width:88px;height:60px;margin-top:2px;display:block;position:relative;overflow:hidden}.rubik-project-thumbnail{object-fit:cover;width:100%;height:100%;display:block}.rubik-project-preview{object-fit:contain;opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity var(--motion-workListHover-duration,.24s) var(--motion-workListHover-curve,ease);background:#05070b;position:absolute;inset:0}.rubik-project-media[data-playing=true] .rubik-project-preview{opacity:1}.rubik-project-placeholder{color:#aabdd9;background:#152440;place-items:center;font-size:13px;display:grid}.rubik-project-copy{min-width:0}.rubik-project-name{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:14px;line-height:1.45;display:-webkit-box;overflow:hidden}.rubik-project-summary{-webkit-line-clamp:2;color:#ffffff8c;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin-top:6px;font-size:12px;line-height:1.65;display:-webkit-box;overflow:hidden}.rubik-project-arrow{color:#ffffff73;padding-top:3px;font-size:12px}.rubik-keyboard-works{clip-path:inset(50%);width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.rubik-keyboard-works:focus-within{z-index:4;clip-path:none;width:auto;max-width:90%;height:auto;bottom:10px;left:50%;transform:translate(-50%)}.rubik-keyboard-works button{color:#fff;background:#111;border:1px solid #555;border-radius:2px;padding:10px 16px;font-size:14px;display:block}.rubik-keyboard-works:focus-within button:not(:focus){clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute}.rubik-keyboard-works button:focus{display:block}@keyframes rubik-description-enter{0%{opacity:0;transform:translateY(var(--motion-description-distance,10px))}to{opacity:1;transform:translateY(0)}}.rubik-interactive[data-renderer=glass] .rubik-glass-canvas{display:block}.rubik-interactive[data-renderer=glass] .rubik-cell{visibility:hidden!important}.rubik-interactive[data-renderer=glass] .rubik-face{pointer-events:none}.rubik-perspective{perspective:1400px;perspective-origin:50%;transform-style:preserve-3d;pointer-events:none;position:absolute;inset:0}.rubik-zoom{width:0;height:0;transform-style:preserve-3d;transition:transform var(--motion-zoom-duration,.18s) var(--motion-zoom-curve,cubic-bezier(.2, .7, .2, 1));position:absolute;top:50%;left:50%;transform:translateZ(0)}.rubik-interactive[data-pinching=true] .rubik-zoom{transition:none}.rubik-orbit{--orb-facing:rotateY(34deg) rotateX(24deg);width:0;height:0;transform-style:preserve-3d;position:absolute;top:0;left:0;transform:rotateX(-24deg)rotateY(-34deg)}.rubik-cell{left:calc(var(--cell-size) / -2);top:calc(var(--cell-size) / -2);width:var(--cell-size);height:var(--cell-size);transform-style:preserve-3d;transform:translate3d(calc(var(--x) * var(--cell-step)), calc(var(--y) * var(--cell-step)), calc(var(--z) * var(--cell-step)));visibility:hidden;opacity:1;position:absolute;overflow:visible}.rubik-interactive:is([data-assembling=true],[data-assembled=true]) .rubik-cell{visibility:visible}.rubik-interior{transform-style:preserve-3d;pointer-events:none;position:absolute;inset:0}.rubik-orb{transform:var(--orb-facing);--mist-fill:radial-gradient(ellipse 23% 44% at 34% 31%, rgb(var(--glass-rgb) / .86), transparent 86%), radial-gradient(ellipse 32% 23% at 57% 57%, rgb(var(--glass-secondary) / .72), transparent 91%), radial-gradient(ellipse 17% 35% at 65% 72%, rgb(var(--glass-accent) / .6), transparent 86%);background:var(--mist-fill);filter:blur(calc(var(--cell-size) * .055));opacity:.76;pointer-events:none;border-radius:0;position:absolute;inset:9% 11%}.rubik-orb-hover{background:var(--mist-fill);filter:brightness(2.8);opacity:0;pointer-events:none;border-radius:0;position:absolute;inset:0}.rubik-face{-webkit-backface-visibility:hidden;backface-visibility:hidden;background:radial-gradient(ellipse at 16% 8%, rgb(218 235 255/var(--surface-light,.25)), transparent 73%), linear-gradient(145deg, #e0ebf959, #dbe7f73d 48%, #99adc93d), #d8e3f138;pointer-events:auto;border:0;border-radius:0;position:absolute;inset:0;box-shadow:inset 0 0 17px #d7e7ff2e}.rubik-cell[data-colored=false] .rubik-face{background:radial-gradient(ellipse at 18% 9%, #deedff29, transparent 75%), linear-gradient(145deg, #b1ceff1f, transparent 60%), rgb(var(--glass-rgb));box-shadow:inset 0 0 0 calc(var(--cell-size) * .055) #4464e47a, inset 0 0 14px #142a8642}.rubik-face:after{content:"";border-radius:inherit;background-image:var(--frost-grain);opacity:.11;pointer-events:none;background-size:96px 96px;position:absolute;inset:0}.rubik-cell[data-colored=false] .rubik-face:after{opacity:.13}.rubik-cell[data-colored=true][data-period=recent] .rubik-face{background:linear-gradient(135deg,#f0f8ff1f,#0000 28% 72%,#a6d2f512);box-shadow:inset 0 0 0 1px #eefaff75,inset 3px 3px 5px #d3ecff1f,inset -2px -2px 3px #609bca1f}.rubik-cell[data-colored=true][data-period=recent] .rubik-face:after{display:none}.rubik-face-glow{border-radius:inherit;background:radial-gradient(ellipse at 50% 48%, rgb(var(--glass-rgb) / .4), transparent 74%);opacity:0;pointer-events:none;position:absolute;inset:0}.rubik-interactive[data-color-settled=true] .rubik-cell[data-colored=true] .rubik-orb{opacity:.92}.rubik-interactive[data-color-settled=true] .rubik-cell[data-colored=true] .rubik-face-glow{opacity:.08}@media (hover:hover){.rubik-interactive[data-assembled=true]:not([data-dragging=true]):not([data-pinching=true]) .rubik-cell[data-selectable=true]:hover .rubik-orb{animation:4.4s ease-in-out infinite rubik-mist-flow}.rubik-interactive[data-assembled=true]:not([data-dragging=true]):not([data-pinching=true]) .rubik-cell[data-selectable=true]:hover .rubik-orb-hover{animation:1.9s ease-in-out infinite rubik-work-breathe}}@keyframes rubik-work-breathe{0%,to{opacity:.16}50%{opacity:.8}}@keyframes rubik-mist-flow{0%,to{translate:-1% 2%;rotate:-3deg}50%{translate:2% -2%;rotate:3deg}}.rubik-face-front{transform:translateZ(calc(var(--cell-size) / 2));--surface-light:.18}.rubik-face-back{transform:rotateY(180deg) translateZ(calc(var(--cell-size) / 2));--surface-light:.17;--surface-shade:.08}.rubik-face-left{transform:rotateY(-90deg) translateZ(calc(var(--cell-size) / 2));--surface-light:.19}.rubik-face-right{transform:rotateY(90deg) translateZ(calc(var(--cell-size) / 2));--surface-light:.18;--surface-shade:.08}.rubik-face-top{transform:rotateX(90deg) translateZ(calc(var(--cell-size) / 2));--surface-light:.2;--surface-shade:.06}.rubik-face-bottom{transform:rotateX(-90deg) translateZ(calc(var(--cell-size) / 2));--surface-light:.18;--surface-shade:.08}.rubik-controls{z-index:3;pointer-events:none;flex-direction:column;align-items:center;width:100%;margin-top:20px;display:flex;position:relative}.rubik-controls button{pointer-events:auto}.rubik-hint{text-align:center;letter-spacing:.1em;color:#ffffffa6;min-height:20px;margin:0;padding-inline:12px;font-size:12px}.rubik-photography-open{color:#ffffffd9;min-height:44px;font:inherit;letter-spacing:.07em;background:#ffffff0a;border:1px solid #ffffff4d;border-radius:28px;justify-content:center;align-items:center;gap:28px;margin-top:22px;padding:11px 25px;font-size:16px;transition:border-color .18s,color .18s,background-color .18s;display:inline-flex}.rubik-photography-open span{font-size:18px}.rubik-photography-open:hover:not(:disabled){color:#fff;background:#ffffff14;border-color:#ffffffa6}.rubik-photography-open:disabled{opacity:.3;cursor:default}.rubik-period,.rubik-controls,.cube-hero-kicker,.cube-browse{transition:opacity var(--motion-workScene-in,.85s) var(--motion-workScene-curve,ease), visibility var(--motion-workScene-in,.85s)}.rubik-period{transition:top var(--period-shift-duration) var(--motion-description-curve,ease), opacity var(--motion-workScene-in,.85s) var(--motion-workScene-curve,ease), visibility var(--motion-workScene-in,.85s)}.rubik-display[data-focused=true] :is(.rubik-period,.rubik-controls),.cube-portfolio[data-exploring=true] :is(.cube-hero-kicker,.cube-browse,.cube-works,.cube-site-footer){opacity:0;visibility:hidden;pointer-events:none;transition-duration:var(--motion-workScene-out,.65s)}.cube-focus-ui{z-index:5;pointer-events:none;cursor:default;position:absolute;inset:0}.cube-focus-back{z-index:20;color:#ffffffd1;min-height:44px;font:inherit;letter-spacing:.06em;pointer-events:auto;animation:cube-backdrop-enter var(--motion-workPanel-chrome,.4s) var(--motion-workPanel-curve,ease) both;background:#0f1117e6;border:1px solid #fff3;border-radius:28px;align-items:center;gap:16px;padding:10px 18px;font-size:13px;transition:border-color .18s,color .18s;display:inline-flex;position:fixed;top:24px;left:clamp(24px,4vw,64px)}.cube-focus-back span{font-size:21px;line-height:1}.cube-focus-back:hover{color:#fff;border-color:#ffffff8c}.cube-photography-ui{z-index:5;pointer-events:none;cursor:default;position:fixed;inset:0}.cube-photography-heading{text-align:right;text-shadow:0 2px 16px #000;animation:cube-backdrop-enter var(--motion-workPanel-chrome,.4s) var(--motion-workPanel-curve,ease) both;position:fixed;top:25px;right:clamp(24px,4vw,64px)}.cube-photography-heading h2{color:#ffffffe6;letter-spacing:.08em;margin:0;font-size:20px;font-weight:400;line-height:1.4}.cube-photography-heading p{color:#ffffff7a;letter-spacing:.16em;margin:5px 0 0;font-size:11px;line-height:1.6}.cube-photography-ui[data-closing=true] .cube-focus-back{pointer-events:none}.cube-photography-ui[data-closing=true] :is(.cube-focus-back,.cube-photography-heading){animation:cube-backdrop-exit var(--motion-workPanel-chrome,.4s) var(--motion-workPanel-close-curve,ease) both}.cube-focus-gesture{letter-spacing:.08em;white-space:nowrap;color:#ffffff6b;animation:cube-backdrop-enter var(--motion-workPanel-chrome,.4s) var(--motion-workPanel-curve,ease) var(--motion-workPanel-delay,1.15s) both;margin:0;font-size:12px;position:absolute;bottom:calc(4% + 54px);left:20%;transform:translate(-50%)}.cube-focus-zoom{pointer-events:auto;animation:cube-backdrop-enter var(--motion-workPanel-chrome,.4s) var(--motion-workPanel-curve,ease) var(--motion-workPanel-delay,1.15s) both;background:#0f1117e6;border:1px solid #fff3;border-radius:28px;align-items:center;gap:2px;padding:3px;display:flex;position:absolute;bottom:4%;left:20%;transform:translate(-50%)}.cube-focus-zoom button{color:#fffc;background:0 0;border:0;border-radius:24px;width:40px;height:36px;padding:0;font-size:19px}.cube-focus-zoom .cube-focus-zoom-reset{font-variant-numeric:tabular-nums;width:62px;font-size:12px}.cube-focus-zoom .cube-focus-auto-rotate{width:auto;min-width:82px;padding-inline:12px;font-size:12px}.cube-focus-zoom button:hover:not(:disabled){color:#fff;background:#ffffff1a}.cube-focus-zoom button:disabled{opacity:.3;cursor:default}.cube-focus-panel{box-sizing:border-box;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;pointer-events:auto;touch-action:pan-y;-webkit-user-select:text;user-select:text;width:60%;animation:cube-focus-content-enter var(--motion-workPanel-open,.81s) var(--motion-workPanel-curve,ease) var(--motion-workPanel-delay,1.15s) both;background:#101114;border-left:1px solid #ffffff0f;padding:clamp(72px,9svh,112px) clamp(28px,4vw,80px) 64px;position:absolute;inset:0 0 0 40%;overflow:hidden auto}.cube-focus-panel:focus-visible{outline-offset:-1px;border-radius:3px;outline:1px solid #ffffff59}.cube-focus-panel :is(h2,p,dt,dd,li){cursor:text}.cube-focus-eyebrow{color:#ffffff73;letter-spacing:.09em;margin:0 0 24px;font-size:12px;line-height:1.8}.cube-focus-eyebrow span{color:#ffffff38;padding-inline:10px}.cube-focus-panel h2{letter-spacing:-.025em;text-wrap:balance;overflow-wrap:anywhere;margin:0 0 22px;font-size:clamp(23px,1.9vw,32px);font-weight:400;line-height:1.4}.cube-focus-summary{color:#ffffffdb;margin:0 0 18px;font-size:17px;line-height:1.9}.cube-focus-demo{margin:0 0 26px}.cube-focus-demo>p{color:#ffffff73;letter-spacing:.08em;margin:0 0 12px;font-size:12px}.cube-focus-demo video{background:#101218;border-radius:5px;width:100%;height:auto;display:block}.cube-focus-description{color:#ffffffad;white-space:pre-line;margin:0 0 26px;font-size:16px;line-height:2}.cube-focus-role{grid-template-columns:auto 1fr;gap:24px;margin:28px 0 0;font-size:12px;line-height:1.8;display:grid}.cube-focus-role dt{color:#ffffff61}.cube-focus-role dd{color:#ffffffb3;margin:0}.cube-focus-tags{flex-wrap:wrap;gap:8px;margin:24px 0 0;padding:0;list-style:none;display:flex}.cube-focus-tags li{color:#ffffff8c;border:1px solid #ffffff24;border-radius:20px;padding:6px 11px;font-size:11px}.cube-focus-media{border-top:1px solid #ffffff2b;margin-top:32px}.cube-focus-media summary{letter-spacing:.06em;color:#ffffffb8;cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font-size:13px;list-style:none;display:flex}.cube-focus-media summary::-webkit-details-marker{display:none}.cube-focus-media summary span{transition:transform var(--motion-workPanel-media,.24s) var(--motion-workPanel-curve,ease);font-size:20px}.cube-focus-media[open] summary span{transform:rotate(45deg)}.cube-focus-media summary:focus-visible{outline-offset:-2px;outline:1px solid}.cube-focus-media figure{margin:0 0 14px}.cube-focus-media-content{overflow:hidden}.cube-focus-media :is(img,video){background:#0f1115;border-radius:4px;width:100%;height:auto;display:block}.cube-focus-media video{margin-bottom:14px}.cube-focus-ui[data-closing=true],.cube-focus-ui[data-closing=true] :is(.cube-focus-back,.cube-focus-panel,.cube-focus-zoom){pointer-events:none}.cube-focus-ui[data-closing=true] .cube-focus-panel{animation:cube-focus-content-exit var(--motion-workPanel-close,.49s) var(--motion-workPanel-close-curve,ease) both}.cube-focus-ui[data-closing=true] :is(.cube-focus-back,.cube-focus-gesture,.cube-focus-zoom){animation:cube-backdrop-exit var(--motion-workPanel-chrome,.4s) var(--motion-workPanel-close-curve,ease) both}@keyframes cube-focus-content-enter{0%{opacity:0;transform:translateX(var(--motion-workPanel-distance,26px))}to{opacity:1;transform:translate(0)}}@keyframes cube-focus-content-exit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translateX(calc(var(--motion-workPanel-distance,26px)*.69))}}.cube-works{max-width:1440px;margin:0 auto;padding:84px clamp(24px,4vw,72px) 100px;scroll-margin-top:28px}.cube-works-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px;display:flex}.cube-works-heading h1{letter-spacing:-.03em;margin:0;font-size:clamp(26px,3vw,44px);font-weight:400;line-height:1.3}.cube-work-filters{flex-wrap:wrap;gap:8px;display:flex}.cube-work-filters button{color:#ffffffa8;background:0 0;border:1px solid #0000;border-radius:30px;padding:10px 14px;font-size:12px;transition:border-color .18s,color .18s}.cube-work-filters button[aria-pressed=true]{color:#fff;border-color:#ffffff8c}.cube-work-filters button:hover{color:#fff}.cube-work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 24px;display:grid}.cube-work-empty{color:#fff6;padding:48px 0;font-size:14px}.cube-work-card{text-align:left;color:#fff;min-width:0;transition:transform var(--motion-cards-duration,.28s) var(--motion-cards-curve,cubic-bezier(.2, .8, .2, 1));background:0 0;border:0;padding:0}.cube-work-card:hover{transform:translateY(var(--motion-cards-distance,-5px))}.cube-work-image{aspect-ratio:4/3;background:#ffffff0f;border:1px solid #ffffff38;border-radius:3px;place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.cube-work-image img{object-fit:cover;width:100%;height:100%;display:block}.cube-work-number{opacity:.65;letter-spacing:-.08em;font-size:clamp(40px,6vw,76px);font-weight:300}.cube-demo-label{letter-spacing:.1em;color:#fffc;background:#111;padding:4px 7px;font-size:10px;position:absolute;bottom:12px;left:14px}.cube-work-title{justify-content:space-between;align-items:center;gap:12px;margin:18px 0 8px;font-size:16px;display:flex}.cube-work-title>span{opacity:.7}.cube-work-category{letter-spacing:.06em;color:#ffffff94;font-size:10px}.cube-site-footer{color:#fff9;border-top:1px solid #fff3;flex-wrap:wrap;justify-content:space-between;gap:20px;max-width:1296px;margin:0 auto;padding:28px 24px 36px;font-size:11px;display:flex}.cube-project-dialog{color:#fff;background:#111;border:1px solid #ffffff40;border-radius:8px;width:min(920px,100vw - 40px);max-height:calc(100svh - 48px);margin:auto;padding:0}.cube-project-dialog::backdrop{background:#000000d1}.cube-project-dialog[open]{animation:cube-dialog-enter var(--motion-dialog-open,.48s) var(--motion-dialog-curve,cubic-bezier(.16, 1, .3, 1)) both}.cube-project-dialog[open]::backdrop{animation:cube-backdrop-enter var(--motion-dialog-open,.48s) var(--motion-dialog-curve,ease) both}.cube-project-dialog[open][data-closing=true]{animation:cube-dialog-exit var(--motion-dialog-close,.24s) var(--motion-dialog-close-curve,ease) both;pointer-events:none}.cube-project-dialog[open][data-closing=true]::backdrop{animation:cube-backdrop-exit var(--motion-dialog-close,.24s) var(--motion-dialog-close-curve,ease) both}@keyframes cube-dialog-enter{0%{opacity:0;transform:translateY(var(--motion-dialog-distance,36px)) scale(var(--motion-dialog-scale,.96))}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes cube-dialog-exit{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(calc(var(--motion-dialog-distance,36px)*.5)) scale(calc((1 + var(--motion-dialog-scale,.96))*.5))}}@keyframes cube-backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes cube-backdrop-exit{0%{opacity:1}to{opacity:0}}.cube-project-dialog article{padding:clamp(28px,5vw,64px);position:relative}.cube-dialog-close{color:#fff;background:0 0;border:0;width:40px;height:40px;padding:0;font-size:27px;line-height:1;position:absolute;top:16px;right:16px}.cube-project-type{letter-spacing:.08em;opacity:.65;padding-right:24px;font-size:11px}.cube-project-dialog h2{overflow-wrap:anywhere;margin:24px 0;font-size:clamp(23px,2.2vw,32px);font-weight:400;line-height:1.4}.cube-project-dialog p:not(.cube-project-type){color:#fffc;font-size:14px;line-height:1.9}.cube-project-dialog :is(img,video){border-radius:3px;width:100%;max-width:100%;height:auto;margin:28px 0;display:block}.cube-project-tags{flex-wrap:wrap;gap:8px;margin-top:26px;display:flex}.cube-project-tags span{border:1px solid #ffffff40;border-radius:30px;padding:6px 10px;font-size:11px}@media (max-width:700px){.cube-site-header{padding:24px}.cube-site-header nav{gap:16px;font-size:11px}.cube-wordmark{font-size:14px}.cube-works-heading{flex-direction:column;align-items:start}.cube-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}.cube-work-title{font-size:13px}.cube-work-category{font-size:9px}}@media (max-width:760px){.cube-hero{padding-top:40px}.rubik-interactive{height:660px}.rubik-period{width:calc(50% - 30px)}.rubik-period-recent{left:12px}.rubik-period-archive{right:12px}.rubik-period h2{margin:8px 0 12px;font-size:26px}.rubik-period-en{font-size:11px}.rubik-controls{margin-top:4px}.rubik-photography-open{margin-top:20px;padding-inline:22px;font-size:15px}.cube-photography-heading h2{font-size:18px}}@media (prefers-reduced-motion:reduce){.cube-focus-ui :is(.cube-focus-back,.cube-focus-panel,.cube-focus-gesture,.cube-focus-zoom){animation:none!important}.cube-focus-ui[data-closing=true]{opacity:0}.cube-photography-ui :is(.cube-focus-back,.cube-photography-heading){animation:none!important}.cube-photography-ui[data-closing=true]{opacity:0}.rubik-photography-open,.rubik-period,.rubik-controls,.cube-hero-kicker,.cube-browse,.cube-focus-back,.cube-focus-media summary span{transition:none}.cube-project-dialog[open]{animation:none}.cube-project-dialog[open]::backdrop{animation:none}.rubik-work-list,.rubik-period[data-list-open=true] .rubik-work-list>li,.rubik-work-list>li,.rubik-project-link,.rubik-project-preview{transition:none}.rubik-project-link[data-selected=true]{transform:none}.rubik-period-title,.cube-work-card,.cube-work-filters button,.rubik-zoom{transition:none}.rubik-interactive[data-assembled=true]:not([data-dragging=true]):not([data-pinching=true]) .rubik-cell[data-selectable=true]:hover .rubik-orb-hover{opacity:.4;animation:none}.rubik-interactive[data-assembled=true]:not([data-dragging=true]):not([data-pinching=true]) .rubik-cell[data-selectable=true]:hover .rubik-orb{animation:none}}.cube-sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.interaction-hints{align-items:center;justify-content:inherit;vertical-align:baseline;max-width:100%;display:inline-flex}.interaction-hint{white-space:nowrap;transform-origin:50%;flex:none;align-items:center;display:inline-flex;overflow:hidden}.interaction-hint+.interaction-hint:before{content:"·";padding-inline:.65em}.interaction-hint-text{display:inline-block}.interaction-hint[data-leaving=true]{pointer-events:none}
