:is(body:has(.newroot),body:has(.n-loading)){background-color:#07070a}body:has(.newroot--light){background-color:#f3f2ef}.newroot.newroot--light{--n-bg:#f3f2ef;--n-surface:#ebebea;--n-fg:#1a1916;--n-soft:#1a1916b3;--n-muted:#1a19169e;--n-line:#00000014;--n-dot:#0000001a;--n-accent:#1a1916;--n-accent-ink:#3a3830;background:var(--n-bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.newroot{--n-bg:#07070a;--n-surface:#0b0b10;--n-fg:#f4f4f6;--n-soft:#f4f4f6a8;--n-muted:#f4f4f68c;--n-line:#ffffff14;--n-dot:#ffffff14;--n-accent:#4d9fff;--n-accent-ink:#8fc2ff;--n-tile:6.4vmin;--n-dotsize:calc(var(--n-tile) / 2);--n-ease:cubic-bezier(.32, .72, 0, 1);background:var(--n-bg);isolation:isolate;color:var(--n-fg);position:fixed;inset:0;overflow:hidden}.n-cover{z-index:80;pointer-events:none;opacity:1;background:#05060a;transition:opacity .9s .15s;position:fixed;inset:0}.n-cover[data-hide]{opacity:0}.newroot[data-intro]{transition:filter 3.4s cubic-bezier(.4,0,.2,1)}.newroot[data-intro=loading],.newroot[data-intro=armed]{filter:brightness(.42)saturate(.88)}.newroot[data-intro=entering],.newroot[data-intro=live]{filter:none}.cases2d__extras{border-top:1px solid #ffffff14;flex-direction:column;gap:1.1rem;margin-top:1.4rem;padding-top:1.2rem;display:flex}.openbadge--sheet .openbadge__pill{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;color:#f4f4f6d9;background:#0a0e18b8;border:1px solid #18c05a59;align-items:center;gap:.5rem;padding:.5rem .85rem;font-size:.68rem;font-weight:600;display:inline-flex}.openbadge--sheet .openbadge__pill em{color:#18c05ae6;font-style:normal}.openbadge--sheet .openbadge__dot{background:#18c05a;border-radius:50%;width:7px;height:7px;animation:2.2s ease-in-out infinite openbadge-pulse;box-shadow:0 0 8px #18c05acc}.openbadge__note{color:#f4f4f699;margin-top:.6rem;font-size:.8rem;line-height:1.55}.langs--sheet .langs__head,.skilldock--sheet .skilldock__head{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.24em;text-transform:uppercase;color:#f4f4f673;font-size:.66rem;font-weight:600}.langs--sheet ul{flex-direction:column;gap:.4rem;margin-top:.6rem;display:flex}.langs--sheet li{color:#f4f4f6cc;grid-template-columns:5.6rem 1fr auto;align-items:center;gap:.6rem;font-size:.8rem;display:grid}.langs--sheet .langs__bar i{background:#f4f4f624;width:7px;height:8px}.langs--sheet .langs__bar i.on{background:#4d9fff}.langs--sheet .langs__bar--dashed i.on{background:repeating-linear-gradient(135deg,#4d9fff 0 2px,#4d9fff40 2px 4px)}.langs--sheet .langs__lvl{color:#f4f4f680;white-space:nowrap;font-size:.7rem}.skilldock--sheet .skilldock__acc{border-bottom:1px solid #ffffff12}.skilldock--sheet summary{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.1em;text-transform:uppercase;color:#f4f4f6cc;cursor:pointer;justify-content:space-between;align-items:center;padding:.65rem 0;font-size:.74rem;font-weight:600;list-style:none;display:flex}.skilldock--sheet summary::-webkit-details-marker{display:none}.skilldock--sheet summary:after{content:"+";color:#4d9fffcc}.skilldock--sheet details[open] summary:after{content:"-"}.skilldock--sheet .skilldock__tools{color:#f4f4f6d9;font-size:.8rem;line-height:1.5}.skilldock--sheet .skilldock__where{color:#f4f4f68c;margin:.3rem 0 .55rem;font-size:.78rem;line-height:1.5}.skilldock--sheet .skilldock__apps{flex-wrap:wrap;gap:.65rem;margin:0 0 .75rem;display:flex}.n-tiles,.n-screen:before{-webkit-mask-image:radial-gradient(118% 96% at 50% 42%,#000 46%,#0000 92%);mask-image:radial-gradient(118% 96% at 50% 42%,#000 46%,#0000 92%)}.n-screen{z-index:20;background:var(--n-surface);transition:opacity .7s .14s;position:absolute;inset:0}.n-screen:before{content:"";background-image:radial-gradient(var(--n-dot) 1.1px, transparent 1.5px);background-size:var(--n-dotsize) var(--n-dotsize);position:absolute;inset:0}.newroot[data-open=true] .n-screen{opacity:0;pointer-events:none}.n-tiles{z-index:21;grid-template-columns:repeat(auto-fill, var(--n-tile));grid-auto-rows:var(--n-tile);pointer-events:none;display:grid;position:absolute;inset:0}.n-tile{background-color:var(--n-surface);background-image:radial-gradient(var(--n-dot) 1.1px, transparent 1.5px);background-size:var(--n-dotsize) var(--n-dotsize);transform-origin:50%;transition:transform .6s var(--n-ease), opacity .5s ease;transition-delay:var(--d,0s);box-shadow:inset 0 0 0 .5px #ffffff0a}.newroot[data-open=true] .n-tile{transform:translate(var(--tx,0), var(--ty,0)) scale(0) rotate(var(--rot,0deg));opacity:0}.n-loading{--n-bg:#07070a;--n-surface:#0b0b10;--n-accent:#4d9fff;--n-line:#ffffff14;--n-dot:#ffffff14;--n-tile:6.4vmin;--n-dotsize:calc(var(--n-tile) / 2);--n-ease:cubic-bezier(.32, .72, 0, 1);z-index:80;position:fixed;inset:0;overflow:hidden}.n-loading[data-dissolve=true] .n-screen{opacity:0;pointer-events:none}.n-loading[data-dissolve=true] .n-tile{transform:translate(var(--tx,0), var(--ty,0)) scale(0) rotate(var(--rot,0deg));opacity:0}.n-loading .n-load-ui{z-index:30;flex-direction:column;justify-content:center;align-items:center;gap:clamp(1.5rem,5vh,2.75rem);transition:opacity .3s;display:flex;position:absolute;inset:0}.n-load-id{text-align:center;flex-direction:column;align-items:center;gap:.55rem;animation:.6s both n-fade-in;display:flex}.n-load-id__name{font-family:var(--font-geist), ui-sans-serif, system-ui, sans-serif;letter-spacing:-.03em;color:#f4f4f6;font-size:clamp(1.6rem,4.5vw,2.6rem);font-weight:600}.n-load-id__role{letter-spacing:.01em;color:#f4f4f680;opacity:0;font-size:clamp(.82rem,1.5vw,.95rem);font-weight:400;transition:opacity .7s cubic-bezier(.16,1,.3,1),translate .7s cubic-bezier(.16,1,.3,1);translate:0 8px}.n-load-id__role.is-on{opacity:1;translate:0}@media (prefers-reduced-motion:reduce){.n-load-id__role{opacity:1;transition:none;translate:0}}.n-loading .n-screen:after{content:"";pointer-events:none;background-image:repeating-linear-gradient(#ffffff05 0 1px,#0000 1px 3px);position:absolute;inset:0}.n-load-enter{animation:.45s both n-fade-in,2.6s ease-in-out 1.2s infinite n-enter-pulse}@keyframes n-enter-pulse{0%,to{box-shadow:0 18px 50px -16px #4d9fffb3}50%{box-shadow:0 18px 58px -12px #4d9ffff2}}@media (prefers-reduced-motion:reduce){.n-load-enter{animation:.2s both n-fade-in}}.n-load-slot{justify-content:center;align-items:center;min-height:44px;display:flex}.n-loading[data-dissolve=true] .n-load-ui{opacity:0;pointer-events:none}.n-loading .n-spinner{width:38px;height:38px;animation:.8s steps(8,end) infinite n-spin;position:relative}.n-load-line{background:#ffffff17;width:clamp(160px,20vw,240px);height:2px;margin-top:-.4rem;overflow:hidden}.n-load-line__fill{transform-origin:0;background:var(--n-accent,#4d9fff);width:100%;height:100%;transition:transform .2s linear;display:block;box-shadow:0 0 10px -1px #4d9fff8c}.n-load-line[data-armed]{opacity:.4;transition:opacity .6s}.n-loading .n-tiles{pointer-events:auto}.n-loading[data-dissolve=true] .n-tiles{pointer-events:none}.n-loading .n-tile{transition:transform .6s var(--n-ease), opacity .5s ease, background-color 1.6s ease, box-shadow 1.6s ease}.n-loading .n-tile:hover{background-color:#4d9fff1f;transition-duration:.6s,.5s,0s,0s;box-shadow:inset 0 0 0 1px #4d9fff57}@keyframes n-spin{to{transform:rotate(360deg)}}.n-loading--bk{--n-bg:#a89a52;--n-surface:#b3a25a;--n-accent:#f3ecc7;--n-line:#28210a2e;--n-dot:#28210a29}.n-loading--bk .n-screen{animation:6.5s step-end infinite bk-flicker}.n-loading--bk .n-btn{color:#2a2410;box-shadow:0 0 18px #fff7d280}.n-loading--bk .n-spinner{animation:.8s steps(8,end) infinite n-spin,5s step-end infinite bk-flicker}.n-load-caption{z-index:30;text-align:center;font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.32em;text-transform:uppercase;color:#2a24109e;pointer-events:none;font-size:.72rem;animation:4s step-end infinite bk-flicker;position:absolute;bottom:16%;left:0;right:0}.n-loading--bk[data-dissolve=true] .n-load-caption{opacity:0;transition:opacity .3s}@keyframes bk-flicker{0%,to{opacity:1}41%{opacity:1}42%{opacity:.45}43%{opacity:1}77%{opacity:1}78%{opacity:.6}79%{opacity:1}80%{opacity:.4}81%{opacity:1}}@keyframes n-fade-in{0%{opacity:0}to{opacity:1}}.n-btn{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:#06131f;background:var(--n-accent,#4d9fff);clip-path:polygon(0 6px,6px 6px,6px 0,calc(100% - 6px) 0,calc(100% - 6px) 6px,100% 6px,100% calc(100% - 6px),calc(100% - 6px) calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,6px calc(100% - 6px),0 calc(100% - 6px));align-items:center;gap:.5rem;padding:.8rem 1.15rem;font-size:.72rem;font-weight:600;transition:transform .18s cubic-bezier(.32,.72,0,1),background-color .25s,box-shadow .18s,filter .1s;display:inline-flex;box-shadow:0 18px 50px -16px #4d9fffb3}.n-btn svg{transition:transform .2s cubic-bezier(.32,.72,0,1)}.n-btn:hover{background:var(--n-accent-ink,#8fc2ff);transform:translateY(-2px)}.n-btn:not(.n-btn--icon):not(.pwr__btn):hover svg{transform:translate(3px)}.n-btn:active{filter:brightness(.86);transform:scale(.93);box-shadow:0 5px 14px -12px #4d9fff99}.n-btn:not(.n-btn--icon):active svg{transform:translate(1px)}.n-btn:disabled{opacity:.5}.n-btn--icon{gap:0;padding:.5rem;box-shadow:0 9px 22px -14px #4d9fff99}.n-btn--off{color:var(--n-soft,#f4f4f6bd);box-shadow:none;background:#d2e6ff1f}.n-cta-bob{display:inline-block}.n-cta-bob.is-live{will-change:transform;animation:3.4s ease-in-out 1.9s infinite n-cta-bob}.n-cta-bob.is-live:hover{animation-play-state:paused}@keyframes n-cta-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.n-cta-bob.is-live{animation:none}}.reel-play{color:#10131a;clip-path:polygon(0 6px,6px 6px,6px 0,calc(100% - 6px) 0,calc(100% - 6px) 6px,100% 6px,100% calc(100% - 6px),calc(100% - 6px) calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,6px calc(100% - 6px),0 calc(100% - 6px));background:#f2f5fa;border:0;justify-content:center;align-items:center;width:50px;height:50px;transition:transform .18s cubic-bezier(.32,.72,0,1),filter .1s,box-shadow .18s;display:inline-flex;box-shadow:0 8px 22px -10px #0000008c,inset 0 -2px #0000000f}.reel-play svg{margin-left:2px;display:block}.reel-play:hover{transform:scale(1.07)}.reel-play:active{filter:brightness(.9);transform:scale(.9);box-shadow:0 4px 12px -10px #0009}.reel-square{color:#8fc2ff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);clip-path:polygon(0 6px,6px 6px,6px 0,calc(100% - 6px) 0,calc(100% - 6px) 6px,100% 6px,100% calc(100% - 6px),calc(100% - 6px) calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,6px calc(100% - 6px),0 calc(100% - 6px));background:#10141e9e;border:0;justify-content:center;align-items:center;width:58px;height:58px;transition:transform .2s cubic-bezier(.32,.72,0,1),box-shadow .2s,filter .1s;display:inline-flex;box-shadow:inset 0 0 0 1px #78aaff80,inset 0 1px #ffffff1a,0 10px 30px -12px #000000b3,0 0 22px -6px #4d9fff66}.reel-square svg{margin-left:2px;display:block}.reel-square:hover{transform:scale(1.07);box-shadow:inset 0 0 0 1px #8cb9ffb3,inset 0 1px #ffffff1f,0 12px 34px -12px #000000b3,0 0 30px -4px #4d9fff8c}.reel-square:active{filter:brightness(.92);transform:scale(.9)}@keyframes reel-spin{to{transform:rotate(360deg)}}.scene-hints{z-index:46;pointer-events:none;font-family:var(--font-pixel), ui-sans-serif, system-ui, sans-serif;position:fixed;inset:0}.hint{position:absolute}.hint-float{animation:4.5s ease-in-out infinite hint-bob;position:relative}@keyframes hint-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.hint-text{color:#4d9fff;text-shadow:0 0 20px #4d9fff59;font-size:clamp(17px,1.85vw,28px);font-weight:600;line-height:.92;display:inline-block}.hint-line{display:block}.hint-dim{color:#ffffff80}.hint-arrow{pointer-events:none;filter:drop-shadow(0 0 7px #4d9fff59);width:46px;height:69px;display:block;position:absolute}.hint--mute{top:clamp(7.5rem,17vh,11rem);right:clamp(7rem,13vw,13rem)}.hint--mute .hint-text{text-align:right}.hint--mute .hint-arrow{top:-4.6rem;left:calc(100% + .6rem)}.hint--reel{top:clamp(16%,20vh,23%);left:clamp(53%,55vw,58%)}.hint--reel .hint-arrow{top:calc(100% + .35rem);left:-1.8rem}.hint--cases{bottom:clamp(10%,12vh,13%);left:clamp(55%,57vw,60%)}.hint--cases .hint-arrow{top:0;right:calc(100% + .7rem)}.cursor-hint-anchor{z-index:90;pointer-events:none;font-family:var(--font-pixel), ui-sans-serif, system-ui, sans-serif;will-change:transform;position:fixed;top:0;left:0}.cursor-hint{transform-origin:0 0;white-space:nowrap;-webkit-backdrop-filter:blur(8px);color:#d4e3ff;letter-spacing:.01em;background:#0b0f17d1;border:1px solid #4d9fff6b;border-radius:9px;align-items:center;gap:.45rem;margin:15px 0 0 17px;padding:.36rem .66rem;font-size:.875rem;font-weight:600;display:inline-flex;position:absolute;box-shadow:0 8px 26px -10px #000000b3,0 0 16px #4d9fff38}.cursor-hint__dot{background:#4d9fff;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #4d9fffe6}.cursor-hint__spin{border:2px solid #4d9fff4d;border-top-color:#4d9fff;border-radius:50%;flex:none;width:11px;height:11px;animation:.7s linear infinite reel-spin}@media (prefers-reduced-motion:reduce){.cursor-hint__spin,.hint-float{animation:none}}.cases2d{z-index:2;color:#f4f4f6;font-family:var(--font-geist), ui-sans-serif, system-ui, sans-serif;--fs-body:1rem;--fs-label:.9rem;--fs-eyebrow:.72rem;--n-accent:#4d9fff;--n-accent-ink:#8fc2ff;--n-fg:#f4f4f6;--n-soft:#f4f4f6a8;background:radial-gradient(120% 90% at 50% -10%,#10121a 0%,#06070d 55%,#04050a 100%);position:fixed;inset:0;overflow:hidden}.cases2d__scroll{scrollbar-width:thin;scrollbar-color:#ffffff52 transparent}.cases2d__scroll::-webkit-scrollbar{width:11px;height:11px;display:block}.cases2d__scroll::-webkit-scrollbar-track{background:0 0}.cases2d__scroll::-webkit-scrollbar-thumb{background:#ffffff47 padding-box padding-box;border:3px solid #0000;border-radius:999px}.cases2d__scroll::-webkit-scrollbar-thumb:hover{background:#ffffff73 padding-box padding-box}.cases2d__scroll{position:absolute;inset:0;overflow-y:auto}.cases2d__inner{grid-template-columns:minmax(15rem,22rem) 1fr;gap:clamp(2rem,5vw,6rem);padding:clamp(2.5rem,6vw,6rem) clamp(1.5rem,5vw,6rem);display:grid}.cases2d--panel{--back-w:clamp(3rem, 3.4vw, 3.6rem);z-index:50;will-change:transform;transition:transform 1.15s cubic-bezier(.65,0,.35,1);transform:translate(0);box-shadow:-28px 0 90px -24px #000c}.cases2d--panel .cases2d__inner{padding-left:calc(var(--back-w) + clamp(1.5rem, 4vw, 4.5rem))}.cases2d__inner--full,.cases2d--panel .cases2d__inner--full{padding:0 0 0 var(--back-w,0px);display:block}.hx-progress{z-index:74;pointer-events:none;height:2px;position:absolute;inset:0 0 auto}.hx-progress__fill{height:100%;transform:scaleX(var(--p,0));transform-origin:0;background:#4d9fff;box-shadow:0 0 10px -1px #4d9fffb3}.hx-railscroll{z-index:74;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:flex-end;gap:5px;padding:.75rem 1rem .75rem 1.5rem;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.hx-railscroll__seg{pointer-events:none;background:#fff3;border-radius:999px;width:10px;height:1px;transition:width .2s,background-color .2s}.hx-railscroll__seg.is-on{background:#ffffffeb;width:18px}.cases2d--railscroll .cases2d__scroll{scrollbar-width:none}.cases2d--railscroll .cases2d__scroll::-webkit-scrollbar{display:none}@media (max-width:1024px){.hx-railscroll{display:none}}.cs-page{max-width:1500px;min-height:100svh;margin-inline:auto;padding:clamp(6rem,13vh,8.5rem) clamp(1.5rem,5vw,5rem) clamp(3rem,8vh,6rem)}.hx-loading{background:radial-gradient(60% 45% at 50% 42%,#4d9fff12,#0000 70%),#04050a;height:100svh;animation:1.6s ease-in-out infinite hx-loading-breathe}@keyframes hx-loading-breathe{0%,to{opacity:.65}50%{opacity:1}}.cases2d__chrome{top:clamp(1rem,2.6vh,1.6rem);left:calc(var(--back-w,3.4rem) + clamp(1.25rem, 2.5vw, 2.25rem));z-index:8;align-items:center;gap:1.1rem;display:flex;position:absolute}.cases2d__chrome-name{letter-spacing:-.01em;color:#f4f4f6eb;text-shadow:0 1px 14px #04050acc;font-size:.95rem;font-weight:600}.cases2d__chrome .cases-tabs{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0c128c}.cases2d--closed{pointer-events:none;transition:transform 1s cubic-bezier(.22,1,.36,1);transform:translate(100%)}@media (prefers-reduced-motion:reduce){.cases2d--panel,.cases2d--closed{transition:none}}.cases-back{z-index:8;width:var(--back-w,3.4rem);color:#f4f4f6db;font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.28em;text-transform:uppercase;cursor:pointer;background:linear-gradient(90deg,#4d9fff0d,#ffffff02),#ffffff08;border:0;border-right:1px solid #ffffff21;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:0;font-size:.72rem;font-weight:600;transition:background .35s,border-color .35s,color .35s;display:flex;position:absolute;top:0;bottom:0;left:0}.cases-back svg{box-sizing:content-box;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:999px;flex:none;width:18px;height:18px;padding:.5rem;transition:transform .35s cubic-bezier(.22,1,.36,1),background .35s,border-color .35s}.cases-back__label{writing-mode:vertical-rl;line-height:1;transform:rotate(180deg)}.cases-back:hover{color:#fff;background:linear-gradient(90deg,#4d9fff33,#4d9fff05),#ffffff08;border-color:#4d9fff73}.cases-back:hover svg{color:#06131f;background:#4d9ffff2;border-color:#4d9ffff2;transform:translateY(-4px)}.cases-back:active svg{transform:translateY(-1px)scale(.94)}.cases2d--compact{z-index:2;height:auto;min-height:100dvh;display:block;position:static;inset:auto;overflow:visible}.cases2d--compact .cases2d__scroll{position:static;overflow:visible}.cases2d--compact .cases2d__inner{padding:clamp(2rem,9vw,3rem) clamp(1.25rem,6vw,2rem) 4rem;display:block}.cases2d__about{border-top:1px solid #ffffff14;margin-top:clamp(1.75rem,3.5vw,2.75rem);padding-top:clamp(1.4rem,3vw,2rem)}.cases2d__about-name{letter-spacing:-.02em;color:#f4f4f6;font-size:clamp(1.5rem,7vw,2rem);font-weight:600}.cases2d__about-role{font-size:var(--fs-label);color:#8fc2ff;margin-top:.35rem;font-weight:500}.cases2d__about-bio{max-width:40ch;font-size:var(--fs-body);color:#f4f4f69e;text-wrap:pretty;margin-top:0;line-height:1.6}.cases2d__about-bio strong{color:#f4f4f6;font-weight:600}.cases2d__about-resume{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:#06131f;clip-path:polygon(0 6px,6px 6px,6px 0,calc(100% - 6px) 0,calc(100% - 6px) 6px,100% 6px,100% calc(100% - 6px),calc(100% - 6px) calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,6px calc(100% - 6px),0 calc(100% - 6px));background:#4d9fff;align-items:center;gap:.5rem;margin-top:1.5rem;padding:.85rem 1.3rem;font-size:.78rem;font-weight:600;transition:transform .18s cubic-bezier(.32,.72,0,1),background-color .25s,box-shadow .18s,filter .1s;display:inline-flex;box-shadow:0 14px 40px -16px #4d9fffb3}.cases2d__about-resume svg{transition:transform .2s cubic-bezier(.32,.72,0,1)}.cases2d__about-resume:hover{background:#8fc2ff;transform:translateY(-2px)}.cases2d__about-resume:hover svg{transform:translate(2px,-2px)}.cases2d__about-resume:active{filter:brightness(.86);transform:scale(.93);box-shadow:0 5px 14px -12px #4d9fff99}.cases2d__about-links{flex-wrap:wrap;gap:1.3rem;margin-top:1.6rem;display:flex}.cases2d__about-links a{color:#f4f4f6a8;text-underline-offset:3px;font-size:.85rem;font-weight:500;transition:color .2s;position:relative}.cases2d__about-links a:hover{color:#f4f4f6;text-decoration:underline}.cases2d--compact .cases2d__side{margin-bottom:clamp(2rem,8vw,3rem);position:static}.cases2d--compact .cases2d__sound{display:none}.cases2d--compact .cases2d__about-links{gap:.3rem 1.4rem}.cases2d--compact .cases2d__about-links a{align-items:center;min-height:44px;display:inline-flex}.cases2d__work{min-width:0;animation:.7s cubic-bezier(.16,1,.3,1) 80ms both cases-rise}@keyframes cases-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.about-card__text,.about-card__dock{z-index:70;color:#f4f4f6;width:clamp(13rem,22vw,20rem);font-family:var(--font-geist), ui-sans-serif, system-ui, sans-serif;position:fixed;left:clamp(1.5rem,5vw,6rem)}.about-card__text{transition:top 1s cubic-bezier(.22,1,.36,1),left .9s cubic-bezier(.22,1,.36,1)}.about-card__dock{transition:left .9s cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion:reduce){.about-card__text,.about-card__dock{transition:none}}.about-card__dock{flex-direction:column;align-items:flex-start;display:flex;bottom:clamp(1.5rem,4vh,2.5rem)}.about-card__name{letter-spacing:-.01em;color:#f4f4f6;font-size:1rem;font-weight:600}.about-card__role{color:#8fc2ff;margin-top:.3rem;font-size:.78rem;font-weight:500}.about-card__bio{color:#f4f4f699;text-wrap:pretty;margin-top:1rem;font-size:.82rem;line-height:1.6}.about-card__bio strong{color:#f4f4f6;font-weight:600}.about-card__credit{color:#f4f4f699;text-wrap:pretty;margin-top:.6rem;font-size:.82rem;line-height:1.6}.pwr{display:inline-flex;position:relative}.pwr__ring{pointer-events:none;border-radius:6px;animation:2.6s cubic-bezier(.16,1,.3,1) infinite pwr-ring;position:absolute;inset:0}.pwr__ring--2{animation-delay:1.3s}@keyframes pwr-ring{0%{opacity:1;box-shadow:0 0 #4d9fff8c}70%{opacity:1;box-shadow:0 0 0 14px #4d9fff00}to{opacity:0;box-shadow:0 0 0 14px #4d9fff00}}.pwr__btn{padding:1.05rem 1.55rem;font-size:.95rem;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,filter .2s;position:relative;overflow:hidden}.pwr:hover .pwr__btn{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 10px 34px -10px #4d9fffbf}.pwr__btn:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 32%,#ffffff52 48%,#0000 62%) 120% 0/240% 100%;animation:3.2s ease-in-out infinite pwr-shimmer;position:absolute;inset:0}@keyframes pwr-shimmer{0%,55%{background-position:130% 0}90%,to{background-position:-60% 0}}.pwr__icon{background:#06131f38;border-radius:50%;place-items:center;width:26px;height:26px;margin-right:2px;animation:1.9s ease-in-out infinite pwr-breathe;display:grid;box-shadow:0 0 0 1px #06131f47,0 0 14px #eaf2ff59}@keyframes pwr-breathe{0%,to{box-shadow:0 0 0 1px #06131f47,0 0 8px #eaf2ff40}50%{box-shadow:0 0 0 1px #06131f47,0 0 18px #eaf2ff99}}@media (prefers-reduced-motion:reduce){.pwr__ring,.pwr__btn:after,.pwr__icon{animation:none}}.hud{-webkit-user-select:none;user-select:none;opacity:0}.hud a{-webkit-user-drag:none}.hud-notes{z-index:70;translate:0;transform:translate3d(var(--hx,0px), var(--hy,0px), 0);flex-direction:column;align-items:flex-start;gap:.9rem;transition:translate .85s cubic-bezier(.65,0,.35,1) .42s,opacity .55s .42s;display:flex;position:fixed;bottom:clamp(1.5rem,4vh,2.5rem)}.note-drag{width:fit-content;transform:translate3d(var(--dx,0px), var(--dy,0px), 0);will-change:transform}.postit{--curl:2rem;color:#3a3417;width:clamp(16.5rem,21vw,20rem);font-family:var(--font-pixel), var(--font-geist), ui-sans-serif, sans-serif;clip-path:polygon(0 0, 100% 0, 100% calc(100% - var(--curl)), calc(100% - var(--curl)) 100%, 0 100%);opacity:var(--io,1);transform:rotate(-2deg) scale(var(--is,1));transform-origin:50%;cursor:grab;touch-action:none;filter:drop-shadow(0 16px 16px #0000006b) drop-shadow(0 3px 5px #0000004d) blur(calc(var(--ib,0) * 1px));background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"),linear-gradient(172deg,#ffec84 0%,#ffe45c 44%,#f1cc38 100%);padding:1.45rem 1.5rem 1.3rem;transition:clip-path .5s cubic-bezier(.22,1,.36,1);position:relative}.postit:hover{--curl:2.7rem}.note-drag.is-drag .postit,.note-drag.is-drag .langs--hud{cursor:grabbing}.postit:before{content:"";pointer-events:none;background:linear-gradient(#7c5e0a2b,#7c5e0a00 92%);height:2.1rem;position:absolute;inset:0 0 auto}.postit:after{content:"";width:var(--curl);height:var(--curl);clip-path:polygon(0 0,100% 0,0 100%);pointer-events:none;background:linear-gradient(315deg,#5e460657,#5e460600 52%),linear-gradient(135deg,#fff7c0 8%,#f4dc66 58%,#d6b32c 100%);transition:width .5s cubic-bezier(.22,1,.36,1),height .5s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;right:0}.postit__name{letter-spacing:.01em;font-size:1.42rem;font-weight:700;line-height:1.1}.postit__role{color:#2f5fd6;margin-top:.3rem;font-size:.98rem;font-weight:600}.postit__bio{color:#3a3417d9;text-wrap:pretty;margin-top:.85rem;font-size:.95rem;line-height:1.5}.postit__bio strong{color:#3a3417;font-weight:700}.postit__credit{color:#3a34179e;margin-top:.55rem;font-size:.88rem;line-height:1.45}.postit__links{gap:1.05rem;margin-top:.95rem;display:flex}.postit__links a{color:#2f5fd6;text-underline-offset:3px;text-decoration-skip-ink:none;cursor:pointer;font-size:.98rem;font-weight:600;text-decoration:underline;text-decoration-thickness:2px;transition:color .2s,text-underline-offset .2s}.postit__links a:hover{color:#1c3f9e;text-underline-offset:5px}.langs--hud{--curl:1.6rem;color:#1e2a3f;width:max-content;max-width:min(23rem,26vw);font-family:var(--font-pixel), var(--font-geist), ui-sans-serif, sans-serif;opacity:var(--io,1);transform:rotate(1.6deg) scale(var(--is,1));transform-origin:50% 100%;cursor:grab;touch-action:none;clip-path:polygon(0 0, 100% 0, 100% calc(100% - var(--curl)), calc(100% - var(--curl)) 100%, 0 100%);filter:drop-shadow(0 10px 12px #00000061) drop-shadow(0 2px 4px #00000047) blur(calc(var(--ib,0) * 1px));background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"),linear-gradient(168deg,#bfe3ff 0%,#a7d4fb 52%,#8fc0ef 100%);padding:.95rem 1.15rem 1rem;transition:clip-path .5s cubic-bezier(.22,1,.36,1);position:relative}.langs--hud:hover{--curl:2.2rem}.langs--hud:after{content:"";width:var(--curl);height:var(--curl);clip-path:polygon(0 0,100% 0,0 100%);pointer-events:none;background:linear-gradient(315deg,#14346057,#14346000 52%),linear-gradient(135deg,#eaf6ff 8%,#a9d6fb 58%,#6ba6dc 100%);transition:width .5s cubic-bezier(.22,1,.36,1),height .5s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;right:0}.langs__head{letter-spacing:.04em;text-transform:uppercase;color:#1c3f9e;font-size:.92rem;font-weight:700}.langs--hud:before{content:"";pointer-events:none;background:linear-gradient(#183c6e29,#183c6e00 92%);height:1.6rem;position:absolute;inset:0 0 auto}.langs--hud ul{flex-direction:column;gap:.34rem;margin-top:.55rem;display:flex}.langs--hud li{grid-template-columns:5.4rem 1fr auto;align-items:center;gap:.55rem;font-size:.82rem;display:grid}.langs__name{font-weight:600}.langs__bar{gap:2px;display:flex}.langs__bar i{background:#1e2a3f29;width:7px;height:8px}.langs__bar i.on{background:#2f5fd6}.langs__bar--dashed i.on{background:repeating-linear-gradient(135deg,#2f5fd6 0 2px,#2f5fd638 2px 4px)}.langs__lvl{color:#1e2a3f9e;white-space:nowrap;justify-self:end;font-size:.7rem;font-weight:600}.skilldock--hud{z-index:70;font-family:var(--font-geist-mono), ui-monospace, monospace;transform:translate3d(var(--hx,0px), var(--hy,0px), 0);flex-direction:column;align-items:flex-end;gap:.5rem;transition:translate .85s cubic-bezier(.65,0,.35,1) .48s,opacity .55s .48s;display:flex;position:fixed;bottom:clamp(1.5rem,4vh,2.5rem);right:0}.skilldock__head{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.26em;text-transform:uppercase;color:#f4f4f661;margin:0 1.15rem .6rem 0;font-size:.62rem;font-weight:600}.skilldock--hud ul{flex-direction:column;align-items:flex-end;gap:.45rem;display:flex}.skilldock__item{position:relative}.skilldock__chip{letter-spacing:.11em;text-transform:uppercase;color:#f4f4f6b8;cursor:pointer;background:#0a0d13e6;border:1px solid #ffffff17;border-right:none;border-radius:7px 0 0 7px;align-items:center;gap:.7rem;min-width:12.5rem;padding:.6rem 1.05rem .6rem 1.2rem;font-family:inherit;font-size:.72rem;font-weight:600;transition:transform .5s cubic-bezier(.22,1,.36,1),color .25s,background .25s,border-color .25s;display:flex;position:relative;transform:translate(5.2rem);box-shadow:-14px 14px 32px -22px #000000d9}.skilldock__chip:before{content:"";opacity:.6;background:#4d9fff;width:2px;height:42%;transition:height .35s cubic-bezier(.22,1,.36,1),opacity .3s;position:absolute;top:50%;left:0;transform:translateY(-50%)}.skilldock__chip-label{white-space:nowrap;flex:none}.skilldock__chip-icons{color:#f4f4f680;gap:.5rem;margin-left:auto;padding-left:.6rem;display:inline-flex}.skilldock__item:hover .skilldock__chip{color:#eaf2ff;background:#0f141ef5;border-color:#4d9fff66;transform:translate(0)}.skilldock__item:has(:focus-visible) .skilldock__chip{color:#eaf2ff;background:#0f141ef5;border-color:#4d9fff66;transform:translate(0)}.skilldock__item:hover .skilldock__chip:before{opacity:1;height:64%}.skilldock__item:has(:focus-visible) .skilldock__chip:before{opacity:1;height:64%}.skilldock__item:hover .skilldock__chip-icons{color:#f4f4f6d1}.skilldock__item:has(:focus-visible) .skilldock__chip-icons{color:#f4f4f6d1}.skilldock__tip{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:16.5rem;font-family:var(--font-geist), ui-sans-serif, sans-serif;text-transform:none;letter-spacing:0;opacity:0;visibility:hidden;pointer-events:none;background:#0a0d13f7;border:1px solid #ffffff17;border-radius:10px;padding:.9rem 1rem .85rem;transition:opacity .26s,translate .26s cubic-bezier(.22,1,.36,1),visibility 0s .26s;position:absolute;bottom:-.2rem;right:calc(100% + .85rem);translate:8px;box-shadow:0 20px 48px -24px #000000eb}.skilldock__tip:after{content:"";background:#4d9fff;border-radius:0 0 2px 2px;width:1.5rem;height:2px;position:absolute;top:-1px;right:1rem}.skilldock__tip:before{content:"";background:#0a0d13f7;border-bottom:1px solid #ffffff17;border-right:1px solid #ffffff17;width:9px;height:9px;position:absolute;bottom:1.1rem;right:-5px;transform:rotate(-45deg)}.skilldock__tip-lead{color:#eef2f7;font-size:.85rem;font-weight:600;line-height:1.46;display:block}.skilldock__tip-tools{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.01em;color:#f4f4f67a;margin-top:.42rem;font-size:.66rem;line-height:1.5;display:block}.skilldock__item:hover .skilldock__tip{opacity:1;visibility:visible;transition-delay:0s;translate:0}.skilldock__item:has(:focus-visible) .skilldock__tip{opacity:1;visibility:visible;transition-delay:0s;translate:0}.skilldock__apps{border-top:1px solid #ffffff17;flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.6rem;padding-top:.55rem;display:flex}.brandicon{color:#f4f4f6b3;transition:color .2s,transform .25s cubic-bezier(.22,1,.36,1);display:inline-flex}.brandicon:hover{color:#eaf2ff;transform:translateY(-1px)}.brandicon--tile{font-family:var(--font-geist), ui-sans-serif, sans-serif;letter-spacing:.02em;border:1.4px solid;border-radius:4px;justify-content:center;align-items:center;font-weight:700;line-height:1}.openbadge--hud{z-index:70;cursor:default;transform:translate3d(var(--hx,0px), var(--hy,0px), 0);transition:translate .85s cubic-bezier(.65,0,.35,1) .54s,opacity .55s .54s;position:fixed;top:clamp(1.6rem,3.2vh,2.4rem);left:clamp(1.5rem,3vw,2.5rem)}.openbadge__row{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.26em;text-transform:uppercase;color:#f4f4f6c7;white-space:nowrap;text-shadow:0 1px 14px #000000bf;align-items:center;gap:.6rem;font-size:.72rem;font-weight:600;transition:color .3s;display:inline-flex}.openbadge--hud:hover .openbadge__row,.openbadge--hud:focus-visible .openbadge__row{color:#f4f4f6fa;outline:none}.openbadge--hud:focus-visible{outline:none}.openbadge__dot{background:#18c05a;border-radius:50%;flex:none;width:7px;height:7px;animation:2.2s ease-in-out infinite openbadge-pulse;box-shadow:0 0 10px #18c05ae6}.openbadge__label{padding-bottom:2px;position:relative}.openbadge__label:after{content:"";transform-origin:0;background:linear-gradient(90deg,#18c05ae6,#18c05a00);width:100%;height:1px;transition:transform .4s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:0;transform:scaleX(0)}.openbadge--hud:hover .openbadge__label:after,.openbadge--hud:focus-visible .openbadge__label:after{transform:scaleX(1)}@keyframes openbadge-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.82)}}.openbadge__tip{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:min(20rem,74vw);font-family:var(--font-geist), ui-sans-serif, sans-serif;opacity:0;visibility:hidden;pointer-events:none;background:#0a0d13f7;border:1px solid #ffffff17;border-radius:10px;padding:.9rem 1rem .85rem;transition:opacity .3s,translate .3s cubic-bezier(.22,1,.36,1),visibility 0s .3s;position:absolute;top:calc(100% + .85rem);left:-.1rem;translate:0 -6px;box-shadow:0 20px 48px -24px #000000eb}.openbadge__tip:after{content:"";background:#18c05a;border-radius:0 0 2px 2px;width:1.5rem;height:2px;position:absolute;top:-1px;left:1rem}.openbadge__tip:before{content:"";background:#0a0d13f7;border-top:1px solid #ffffff17;border-left:1px solid #ffffff17;width:9px;height:9px;position:absolute;top:-5px;left:1.05rem;transform:rotate(45deg)}.openbadge--hud:hover .openbadge__tip,.openbadge--hud:focus-visible .openbadge__tip{opacity:1;visibility:visible;transition-delay:0s;translate:0}.openbadge__tip-lead{color:#eef2f7;font-size:.87rem;font-weight:600;line-height:1.45;display:block}.openbadge__tip-body{color:#f4f4f699;margin-top:.38rem;font-size:.82rem;line-height:1.5;display:block}.openbadge__tip-meta{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.08em;text-transform:uppercase;color:#18c05ad1;border-top:1px solid #ffffff14;margin-top:.75rem;padding-top:.65rem;font-size:.62rem;font-weight:600;display:block}.hud--away{pointer-events:none}.hud--away .hud-notes{opacity:0;transition-delay:0s;translate:-46px 34px}.hud--away .skilldock--hud{opacity:0;transition-delay:50ms;translate:64px}.hud--away .openbadge--hud{opacity:0;transition-delay:.1s;translate:0 -34px}.cases2d--compact.cases2d--panel{width:100vw;height:100dvh;position:fixed;inset:0;overflow:hidden}.cases2d--compact.cases2d--panel .cases2d__scroll{-webkit-overflow-scrolling:touch;height:100dvh;overflow-y:auto}.cases2d--compact.cases2d--closed{transform:translate(100%)}@media (max-width:820px){.openbadge--hud{left:1rem;right:1rem;top:max(4rem, env(safe-area-inset-top,0px));max-width:none}.hud-notes{bottom:max(1rem, env(safe-area-inset-bottom,0px));gap:.6rem;max-width:calc(100vw - 2rem);left:1rem!important}.postit{width:min(80vw,17rem);padding:1.1rem 1.2rem 1rem}.postit__name{font-size:1.2rem}.postit__role{font-size:.9rem}.postit__bio,.postit__credit{font-size:.84rem}.langs--hud{max-width:80vw;padding:.8rem 1rem}.langs--hud li{font-size:.78rem}.skilldock--hud{gap:.34rem;top:7.6rem;bottom:auto}.skilldock__head{display:none}.skilldock__chip{min-width:10.5rem;padding:.5rem .85rem;font-size:.66rem;transform:translate(4.6rem)}.skilldock__item:hover .skilldock__chip{transform:translate(0)}.skilldock__item:has(:focus-visible) .skilldock__chip{transform:translate(0)}.skilldock__tip{width:min(70vw,15rem);right:calc(100% + .4rem)}}@media (max-width:430px){.postit{width:min(84vw,15.5rem)}.skilldock__chip{min-width:9.5rem;transform:translate(4.2rem)}}@media (prefers-reduced-motion:reduce){.postit,.langs--hud,.skilldock__chip,.skilldock__chip:before,.skilldock__tip,.openbadge__dot,.openbadge__tip,.openbadge__label:after,.hud-notes,.skilldock--hud,.openbadge--hud,.brandicon{transition:none;animation:none}}.type-caret{background:var(--n-accent,#4d9fff);vertical-align:-.12em;width:2px;height:1em;margin-left:.1em;animation:1.05s infinite type-blink;display:inline-block}.type-caret[data-done]{opacity:0;animation:none}@keyframes type-blink{0%,50%{opacity:1}51%,to{opacity:0}}.about-card__role,.about-card__bio,.about-card__credit{animation:.6s cubic-bezier(.16,1,.3,1) both about-rise}.about-card__role{animation-delay:.95s}.about-card__bio{animation-delay:1.12s}.about-card__credit{animation-delay:1.32s}@keyframes about-rise{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.about-card__links{gap:1.1rem;margin-top:1.3rem;animation:.6s cubic-bezier(.16,1,.3,1) .35s both about-rise;display:flex}.about-card__links a{color:#f4f4f69e;align-items:center;gap:.45rem;font-size:.8rem;font-weight:500;transition:color .2s;display:inline-flex;position:relative}.about-card__links a:before{content:"";opacity:.6;background:#8fc2ff;border-radius:50%;width:4px;height:4px;transition:transform .2s,opacity .2s}.about-card__links a:hover{color:#f4f4f6}.about-card__links a:hover:before{opacity:1;transform:scale(1.6)}.about-card__links a>span{position:relative}.about-card__links a>span:after{content:"";transform-origin:0;background:#f4f4f6;width:100%;height:1px;transition:transform .2s;position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.about-card__links a:hover>span:after{transform:scaleX(1)}.about-card__resume{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:#06131f;clip-path:polygon(0 6px,6px 6px,6px 0,calc(100% - 6px) 0,calc(100% - 6px) 6px,100% 6px,100% calc(100% - 6px),calc(100% - 6px) calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,6px calc(100% - 6px),0 calc(100% - 6px));background:#4d9fff;align-items:center;gap:.5rem;margin-bottom:.2rem;padding:.85rem 1.3rem;font-size:.78rem;font-weight:600;transition:transform .18s cubic-bezier(.32,.72,0,1),background-color .25s,box-shadow .18s,filter .1s;animation:.85s cubic-bezier(.22,1,.36,1) .35s both cases-rise;display:inline-flex;box-shadow:0 14px 40px -16px #4d9fffb3}.about-card__resume svg{transition:transform .2s cubic-bezier(.32,.72,0,1)}.about-card__resume:hover{background:#8fc2ff;transform:translateY(-2px)}.about-card__resume:hover svg{transform:translate(2px,-2px)}.about-card__resume:active{filter:brightness(.86);transform:scale(.93);box-shadow:0 5px 14px -12px #4d9fff99}.cases2d__side{align-self:start;animation:.7s cubic-bezier(.16,1,.3,1) 40ms both cases-rise;position:sticky;top:clamp(2.5rem,6vw,6rem)}@keyframes featured-stamp{0%{opacity:0;transform:translateY(-5px)scale(.9)}to{opacity:1;transform:none}}.cases2d__sound{z-index:72;position:absolute;top:clamp(1.5rem,4vh,2.5rem);right:clamp(1.5rem,5vw,6rem)}@media (max-width:1180px){.cases2d:not(.cases2d--compact){gap:clamp(1.5rem,3vw,3rem)}}.cases2d__nav{margin-top:clamp(1.25rem,2.4vw,1.75rem)}.cases-tabs{background:#ffffff06;border:1px solid #ffffff12;border-radius:11px;gap:.15rem;padding:.28rem;display:inline-flex;position:relative}.cases-tabs__ind{width:var(--ind-w,0);transform:translateX(var(--ind-x,0));pointer-events:none;z-index:0;background:#4d9fff1f;border:1px solid #4d9fff57;border-radius:8px;position:absolute;top:.28rem;bottom:.28rem;left:0}.cases-tabs.is-ready .cases-tabs__ind{transition:transform .42s cubic-bezier(.22,1,.36,1),width .42s cubic-bezier(.22,1,.36,1)}.cases-tab{z-index:1;font-family:var(--font-geist), ui-sans-serif, system-ui, sans-serif;font-size:var(--fs-label);letter-spacing:-.01em;color:#f4f4f680;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:.5rem;padding:.48rem .9rem;font-weight:600;transition:color .28s;display:inline-flex;position:relative}.cases-tab__ico{color:#f4f4f666;flex:none;transition:color .28s,transform .35s cubic-bezier(.22,1,.36,1)}.cases-tab:hover:not(.is-active),.cases-tab.is-active{color:#eaf2ff}.cases-tab:hover:not(.is-active) .cases-tab__ico{color:#f4f4f6b8}.cases-tab.is-active .cases-tab__ico{color:#4d9fff}.cases-tabs:not(.is-ready) .cases-tab.is-active{background:#4d9fff1f;box-shadow:inset 0 0 0 1px #4d9fff57}@media (prefers-reduced-motion:reduce){.cases-tabs.is-ready .cases-tabs__ind{transition:none}}.cases2d__view{min-width:0;animation:.6s cubic-bezier(.16,1,.3,1) both tab-in}@keyframes tab-in{0%{opacity:0;filter:blur(9px);transform:translateY(14px)scale(.992)}to{opacity:1;filter:blur();transform:none}}@media (prefers-reduced-motion:reduce){.cases2d__view{animation:none}}.cases2d--compact .cases2d__nav{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#04050ae0;border-bottom:1px solid #ffffff12;margin:clamp(1.75rem,7vw,2.6rem) calc(-1*clamp(1.25rem,6vw,2rem)) 0;padding:.55rem clamp(1.25rem,6vw,2rem);position:sticky;top:0}.cases2d__postit{--curl:1.8rem;color:#3a3417;max-width:30rem;font-family:var(--font-pixel), var(--font-geist), ui-sans-serif, sans-serif;clip-path:polygon(0 0, 100% 0, 100% calc(100% - var(--curl)), calc(100% - var(--curl)) 100%, 0 100%);filter:drop-shadow(0 14px 14px #0006)drop-shadow(0 3px 5px #00000047);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"),linear-gradient(172deg,#ffec84 0%,#ffe45c 44%,#f1cc38 100%);padding:1.35rem 1.4rem 1.25rem;position:relative;transform:rotate(-1.4deg)}.cases2d__postit .cases2d__about-bio{max-width:none;color:inherit;font-size:.98rem;line-height:1.5}.cases2d__postit .cases2d__about-bio strong{color:#201c08}.cases2d__postit .cases2d__about-links{border-top:1px dashed #3a341759;margin-top:.9rem;padding-top:.75rem}.cases2d__postit .cases2d__about-links a{color:#1c3f74;text-underline-offset:3px;text-decoration:underline}.cases2d--compact .cases2d__about{border-top:0;padding-top:0}.cases2d--compact .cases2d__about .cases2d__about-resume{margin-top:1.35rem}.cases2d--compact .cases2d__nav .cases-tabs{width:100%;display:flex}.cases2d--compact .cases-tab{flex:1 1 0;justify-content:center;gap:.34rem;padding:.5rem .3rem;font-size:.72rem}.cases2d--compact .cases-tab__label{white-space:nowrap}.cases2d--compact .cases-tab__ico{width:13px;height:13px}.cs-page--index{flex-direction:column;height:100svh;min-height:0;padding:clamp(4.6rem,10vh,6.4rem) clamp(1.5rem,5vw,4.5rem) clamp(1.2rem,3.5vh,2.2rem);display:flex}.xlist,.clist{flex-direction:column;flex:1;min-height:0;display:flex}.xlist__rows,.clist__rows{flex-direction:column;flex:1;min-height:0;margin:0;padding:0;list-style:none;display:flex}.xrow{border-top:1px solid #ffffff17;flex:1 1 0;grid-template-columns:minmax(6rem,7.5rem) minmax(0,1fr) clamp(16rem,30%,23rem);align-items:center;gap:clamp(1.1rem,2.6vw,2.8rem);min-height:0;padding:clamp(.7rem,1.8vh,1.3rem) .3rem;display:grid;position:relative}.xlist__rows .xrow:last-child{border-bottom:1px solid #ffffff17}.xrow__time{flex-direction:column;gap:.2rem;display:flex}.xrow__year{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:-.01em;color:#eef2f7;font-size:clamp(1.35rem,2vw,1.85rem);font-weight:600;line-height:1}.xrow__until{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.02em;color:#f4f4f66b;font-size:.72rem}.xrow__body{min-width:0}.xrow__head{flex-direction:column;gap:.24rem;display:flex}.xrow__company{letter-spacing:.01em;color:#6fb2fff2;font-size:.8rem;font-weight:600}.xrow__role{font-family:var(--font-geist), ui-sans-serif, sans-serif;letter-spacing:-.02em;color:#f4f4f6;font-size:clamp(1.1rem,1.7vw,1.5rem);font-weight:600;line-height:1.08}.xrow__ctx{font-family:var(--font-geist), ui-sans-serif, sans-serif;color:#f4f4f680;font-size:.82rem;line-height:1.4}.xrow__points{flex-direction:column;gap:.22rem;margin:0;padding:.5rem 0 0;list-style:none;display:flex}.xrow__points li{color:#f4f4f699;padding-left:.85rem;font-size:.76rem;line-height:1.4;position:relative}.xrow__points li:before{content:"";background:#4d9fff8c;border-radius:1px;width:4px;height:4px;position:absolute;top:.5em;left:0}.xrow__shots{justify-content:flex-end;justify-self:end;gap:.45rem;width:100%;display:flex;position:relative}.xrow__shot{aspect-ratio:16/10;object-fit:cover;background:#0c0f16;border:1px solid #ffffff21;border-radius:9px;width:clamp(5.6rem,8.5vw,7.5rem)}@media (hover:hover) and (pointer:fine){.xrow{transition:flex-grow .5s cubic-bezier(.16,1,.3,1)}:is(.xrow:hover,.xrow:focus-within){flex-grow:2.4}.xrow__body{grid-template-rows:auto 0fr;align-content:center;transition:grid-template-rows .5s cubic-bezier(.16,1,.3,1);display:grid}:is(.xrow:hover,.xrow:focus-within) .xrow__body{grid-template-rows:auto 1fr}.xrow__points{min-height:0;overflow:hidden}.xrow__points li,.xrow__points li:before{opacity:0;transition:opacity .34s}:is(.xrow:hover,.xrow:focus-within) .xrow__points li,:is(.xrow:hover,.xrow:focus-within) .xrow__points li:before{opacity:1}:is(.xrow:hover,.xrow:focus-within) .xrow__points li:first-child{transition-delay:30ms}:is(.xrow:hover,.xrow:focus-within) .xrow__points li:nth-child(2){transition-delay:90ms}:is(.xrow:hover,.xrow:focus-within) .xrow__points li:nth-child(3){transition-delay:.15s}.xrow__shots{height:clamp(4.5rem,11vh,6.4rem);display:block}.xrow__shot{opacity:0;transform-origin:100%;filter:blur(5px);pointer-events:none;width:clamp(6.8rem,10vw,9rem);transition:opacity .4s,transform .55s cubic-bezier(.22,1,.36,1),filter .4s;position:absolute;top:50%;right:0;transform:translate(6px,-50%)scale(.86);box-shadow:0 18px 36px -20px #000000eb}.xrow:hover .xrow__shot,.xrow:focus-within .xrow__shot{opacity:1;filter:blur()}.xrow:hover .xrow__shot--0,.xrow:focus-within .xrow__shot--0{z-index:1;transition-delay:20ms;transform:translate(-13.2rem,-50%)rotate(-7deg)scale(1)}.xrow:hover .xrow__shot--1,.xrow:focus-within .xrow__shot--1{z-index:3;transition-delay:70ms;transform:translate(-6.6rem,-53%)rotate(-1deg)scale(1.05)}.xrow:hover .xrow__shot--2,.xrow:focus-within .xrow__shot--2{z-index:2;transition-delay:.12s;transform:translate(-.4rem,-50%)rotate(6deg)scale(1)}.xrow:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(90deg,#0000 40%,#4d9fff0d);transition:opacity .35s;position:absolute;inset:0}.xrow:hover:after{opacity:1}}.xlist__foot{justify-content:space-between;align-items:center;gap:1rem;margin-top:clamp(.3rem,1vh,.7rem);padding-top:clamp(.6rem,1.6vh,1.1rem);display:flex}.xlist__foot-note{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.05em;color:#f4f4f666;font-size:.63rem}.xlist__resume{font-family:var(--font-geist), ui-sans-serif, sans-serif;color:#eef2f7;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;text-decoration:none;transition:color .25s;display:inline-flex}.xlist__resume:hover{color:#4d9fff}.xlist__resume svg{transition:transform .35s cubic-bezier(.22,1,.36,1)}.xlist__resume:hover svg{transform:translate(2px,-2px)}.crow{border-top:1px solid #ffffff17;flex:1 1 0;min-height:0}.clist__rows .crow:last-child{border-bottom:1px solid #ffffff17}.crow__link{height:100%;color:inherit;isolation:isolate;grid-template-columns:clamp(2.2rem,3vw,3rem) minmax(0,1fr) clamp(9rem,19vw,14.5rem) clamp(1.8rem,2.6vw,2.4rem);align-items:center;gap:clamp(.9rem,2.4vw,2.4rem);padding:clamp(.7rem,1.7vh,1.15rem) .3rem;text-decoration:none;display:grid;position:relative}.crow__link:after{content:"";z-index:-1;opacity:0;background:linear-gradient(90deg,#0000 45%,#4d9fff0f);transition:opacity .35s;position:absolute;inset:0}.crow__link:hover:after,.crow__link:focus-visible:after{opacity:1}.crow__num{font-family:var(--font-geist-mono), ui-monospace, monospace;color:#f4f4f652;font-size:clamp(.9rem,1.2vw,1.15rem);font-weight:600;transition:color .3s}.crow__link:hover .crow__num{color:#4d9fffe6}.crow--featured .crow__num{color:#4d9fffd9}.crow__body{min-width:0}.crow__title{font-family:var(--font-geist), ui-sans-serif, sans-serif;letter-spacing:-.02em;color:#f4f4f6;align-items:baseline;gap:.6rem;font-size:clamp(1.15rem,1.9vw,1.75rem);font-weight:600;line-height:1.05;transition:color .3s;display:flex}.crow__link:hover .crow__title{color:#fff}.crow__flag{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;color:#06131f;background:#4d9fff;border-radius:4px;padding:.12rem .34rem;font-size:.54rem;font-style:normal;font-weight:600;transform:translateY(-.15em)}.crow__summary{color:#f4f4f68c;max-width:48ch;margin-top:.35rem;font-size:.79rem;line-height:1.45}.crow__tags{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;color:#f4f4f66b;align-items:center;gap:1rem;margin-top:.5rem;font-size:.62rem;display:inline-flex}.crow__type{color:#4d9fffd9}.crow__cover{background:#0c0f16;border:1px solid #ffffff1a;border-radius:10px;justify-self:end;width:100%;height:clamp(4.2rem,11vh,6.6rem);overflow:hidden}.crow__cover img{object-fit:cover;filter:saturate(.72)brightness(.82);width:100%;height:100%;transition:transform .6s cubic-bezier(.22,1,.36,1),filter .5s;transform:scale(1.01)}.crow__link:hover .crow__cover img,.crow__link:focus-visible .crow__cover img{filter:saturate()brightness();transform:scale(1.06)}.crow__cover-ph{width:100%;height:100%;display:block}.crow__go{color:#f4f4f64d;justify-self:end;place-items:center;transition:color .3s,transform .4s cubic-bezier(.22,1,.36,1);display:grid}.crow__link:hover .crow__go,.crow__link:focus-visible .crow__go{color:#4d9fff;transform:translate(2px,-2px)}@keyframes work-row-in{0%{opacity:0;filter:blur(9px);transform:translateY(26px)}to{opacity:1;filter:blur();transform:translateY(0)}}.xrow,.crow{animation:.62s cubic-bezier(.16,1,.3,1) backwards work-row-in;animation-delay:calc(var(--i,0) * 75ms)}.xlist__foot{animation:.55s cubic-bezier(.16,1,.3,1) .45s backwards work-row-in}@keyframes work-row-in-flat{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}.cases2d--compact .xrow,.cases2d--compact .crow,.cases2d--compact .xlist__foot{animation-name:work-row-in-flat}.cases2d--compact .cs-page--index{height:auto;min-height:0;padding:0;display:block}.cases2d--compact .xlist,.cases2d--compact .clist,.cases2d--compact .xlist__rows,.cases2d--compact .clist__rows{flex:none;display:block}.cases2d--compact .xrow{grid-template-columns:minmax(4rem,auto) 1fr;grid-template-areas:"time body";align-items:start;gap:.4rem 1rem;padding:1.15rem 0;display:grid}.cases2d--compact .xrow__time{grid-area:time;gap:.1rem}.cases2d--compact .xrow__body{grid-area:body;display:block!important}.cases2d--compact .xrow__points{overflow:visible!important}.cases2d--compact .xrow__points li,.cases2d--compact .xrow__points li:before{opacity:1!important}.cases2d--compact .xrow__shots,.cases2d--compact .xrow:after{display:none!important}.cases2d--compact .xlist__foot{padding:1.3rem 0 .4rem}.cases2d--compact .crow__link{grid-template:"num body cover""num tags cover"/auto 1fr auto;align-items:center;gap:.4rem .9rem;padding:1rem 0}.cases2d--compact .crow__num{grid-area:num}.cases2d--compact .crow__body{grid-area:body}.cases2d--compact .crow__cover{grid-area:cover;width:clamp(5rem,26vw,7rem);height:clamp(3.4rem,17vw,4.6rem)}.cases2d--compact .crow__go{display:none}@media (prefers-reduced-motion:reduce){.xrow__shot,.crow__cover img,.crow__go,.xrow:after,.crow__link:after,.xrow__body,.xrow__points li{transition:none}.xrow,.crow,.xlist__foot{animation:none}}
