body.cursor-expanded .portfolio .cursor-lens{transform:scale(.5)}.portfolio .perspective-grid-tile{--tile-color:#ef6461;min-width:1px;min-height:1px;border:1px solid #9ca3af38;background:0 0;transition:background-color 1.5s,border-color 1.5s}.portfolio .perspective-grid-tile:nth-child(4n+2){--tile-color:#2aa9df}.portfolio .perspective-grid-tile:nth-child(4n+3){--tile-color:#35ad62}.portfolio .perspective-grid-tile:nth-child(4n){--tile-color:#f4d62c}@media (hover:hover) and (pointer:fine){.portfolio .perspective-grid-tile:hover{background-color:var(--tile-color);border-color:var(--tile-color);transition-duration:0s}@supports (color:color-mix(in lab,red,red)){.portfolio .perspective-grid-tile:hover{border-color:color-mix(in srgb,var(--tile-color) 78%,white)}}}.portfolio .depth-backdrop:after,.portfolio .depth-backdrop:before{content:"";position:absolute;pointer-events:none;aspect-ratio:1;border:1px solid;border-radius:50%}.portfolio .depth-backdrop:before{width:min(58vw,820px);opacity:.14}.portfolio .depth-backdrop:after{width:min(22vw,320px);opacity:.18}.portfolio .depth-backdrop-intro{color:#704e207a;background:radial-gradient(circle at 17% 24%,#d2973d33,#0000 24%),radial-gradient(circle at 82% 76%,#4269a924,#0000 25%),repeating-linear-gradient(118deg,#15140f0a 0 1px,#0000 1px 92px);mask-image:linear-gradient(#0000,#000 22% 78%,#0000);-webkit-mask-image:linear-gradient(#0000,#000 22% 78%,#0000)}.portfolio .depth-backdrop-intro:before{top:8%;left:4%}.portfolio .depth-backdrop-intro:after{bottom:8%;right:13%}.portfolio .depth-backdrop-story{color:#dab87680;background:radial-gradient(circle at 76% 20%,#4675cc2e,#0000 25%),radial-gradient(circle at 16% 78%,#dab87621,#0000 28%),linear-gradient(#f5f1e80a 1px,#0000 0) 0 0 /88px 88px,linear-gradient(90deg,#f5f1e80a 1px,#0000 0) 0 0 /88px 88px;mask-image:radial-gradient(circle at 50% 48%,#000 25%,#0000 78%);-webkit-mask-image:radial-gradient(circle at 50% 48%,#000 25%,#0000 78%)}.portfolio .depth-backdrop-story:before{top:18%;right:3%}.portfolio .depth-backdrop-story:after{bottom:13%;left:16%}.portfolio .capabilities .section-heading>*,.portfolio .capability,.portfolio .capability>*,.portfolio .contact-actions,.portfolio .contact-copy,.portfolio .experience-row,.portfolio .experience>.section-kicker,.portfolio .intro-section>:not(.depth-backdrop),.portfolio .perspective-copy>*,.portfolio .project .case-link,.portfolio .project .metric,.portfolio .project-brief>div,.portfolio .project-heading,.portfolio .project-visual,.portfolio .story-card,.portfolio .story-card>*{opacity:1!important;visibility:visible!important;filter:none!important}@keyframes marquee-slide{0%{transform:translate(0)}to{transform:translate(-50%)}}.portfolio .project:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(circle at 78% 18%,#dab87614,#0000 24%),radial-gradient(circle at 12% 76%,#b0c4e012,#0000 28%);transition:opacity .26s}.portfolio .project:hover:before{opacity:1}.portfolio .project-visual-link{--tilt-x:0deg;--tilt-y:0deg;--image-x:0px;--image-y:0px;--cover-x:50%;--cover-y:50%;perspective:1100px;transform-style:preserve-3d;outline:1px solid #15140f14;outline-offset:-1px;transition:box-shadow .24s,outline-color .18s}.portfolio .project-visual-link:after,.portfolio .project-visual-link:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none}.portfolio .project-visual-link:before{background:linear-gradient(#0000 48%,#05070a33 70%,#05070aa8);clip-path:inset(100% 0 0);transition:clip-path .24s var(--ease-silk)}.portfolio .project-visual-link:after{background:radial-gradient(360px circle at var(--cover-x) var(--cover-y),#fff3,transparent 62%);mix-blend-mode:normal;opacity:0;transition:opacity .18s}.portfolio .project-visual-link:active:before,.portfolio .project-visual-link:focus-visible:before{clip-path:inset(48% 0 0)}@media (hover:hover) and (pointer:fine){.portfolio .project-visual-link:hover{outline-color:#05070a70;box-shadow:0 30px 70px #05070a33}.portfolio .project-visual-link:hover:before{clip-path:inset(48% 0 0)}.portfolio .project-visual-link:hover:after{opacity:1}.portfolio .project-visual-link :is(img,video){transform:translate3d(var(--image-x),var(--image-y),0) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(1.01)}.portfolio .project-visual-link:hover :is(img,video){transform:translate3d(var(--image-x),var(--image-y),0) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(1.065);filter:saturate(1.08) contrast(1.03)}.portfolio .case-link:hover:after{transform:translate(3px)}}.portfolio .case-link:after{content:"expand_circle_right";display:inline-block;margin-left:10px;font-family:Material Symbols Rounded;font-size:24px;font-style:normal;font-weight:400;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;direction:ltr;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 1,"wght" 600,"GRAD" 0,"opsz" 48;transition:transform .18s var(--ease-silk)}.portfolio .career-stage{--card-w:clamp(285px,39vw,560px);--card-h:clamp(400px,45vw,640px);height:calc(var(--card-h) + clamp(64px, 7vw, 112px));transform:translateX(calc((var(--pos) - .5) * clamp(120px, 20vw, 360px)));transition:transform .8s cubic-bezier(0,.02,0,1)}.portfolio .career-card{--x:calc(var(--active) * var(--items) * 54%);--y:calc(var(--active) * var(--items) * 13%);--rot:calc(var(--active) * var(--items) * 8deg);--opacity:calc(1 - var(--dist) * 0.42);z-index:var(--zIndex);width:var(--card-w);height:var(--card-h);margin:calc(var(--card-h) * -.5) 0 0 calc(var(--card-w) * -.5);transform-origin:0 100%;transform:translate(var(--x),var(--y)) rotate(var(--rot));opacity:var(--opacity);will-change:transform,opacity;transition:transform .8s cubic-bezier(0,.02,0,1),opacity .8s cubic-bezier(0,.02,0,1)}.portfolio .career-card:not([data-active=true]){cursor:pointer}.portfolio .career-card:not([data-active=true]) :is(a,button){pointer-events:none}.portfolio .career-dot{width:22px;background:#f5f1e83d;transition:width .4s var(--ease-silk),background-color .4s var(--ease-silk)}.portfolio .career-dot[data-active=true]{width:46px;background:var(--color-accent)}@media (prefers-reduced-motion:reduce){.portfolio .career-card{transition:none;will-change:auto}}.portfolio .depth-backdrop-capabilities{color:#3454846b;background:radial-gradient(circle at 84% 28%,#4269a929,#0000 24%),repeating-linear-gradient(132deg,#15140f0a 0 1px,#0000 1px 84px);mask-image:linear-gradient(90deg,#0000,#000 18% 86%,#0000);-webkit-mask-image:linear-gradient(90deg,#0000,#000 18% 86%,#0000)}.portfolio .depth-backdrop-capabilities:before{top:4%;right:8%}.portfolio .depth-backdrop-capabilities:after{bottom:8%;left:8%}.portfolio .depth-backdrop-experience{color:#71491e6b;background:radial-gradient(circle at 18% 36%,#c5843026,#0000 24%),repeating-radial-gradient(circle at 84% 52%,#0000 0 74px,#15140f0a 75px 76px);mask-image:linear-gradient(#0000,#000 18% 82%,#0000);-webkit-mask-image:linear-gradient(#0000,#000 18% 82%,#0000)}.portfolio .depth-backdrop-experience:before{bottom:1%;left:7%}.portfolio .depth-backdrop-experience:after{top:18%;right:12%}.portfolio .depth-backdrop-perspective{color:#3252846b;background:radial-gradient(circle at 74% 24%,#436cb029,#0000 24%),radial-gradient(circle at 22% 82%,#c3843421,#0000 26%),repeating-linear-gradient(42deg,#15140f0a 0 1px,#0000 1px 96px);mask-image:radial-gradient(#000 24%,#0000 78%);-webkit-mask-image:radial-gradient(#000 24%,#0000 78%)}.portfolio .depth-backdrop-perspective:before{bottom:8%;right:5%}.portfolio .depth-backdrop-perspective:after{top:8%;left:14%}.portfolio .social-icon:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 10px);left:50%;width:max-content;max-width:180px;padding:7px 10px;border:1px solid #f5f1e824;border-radius:999px;background:oklch(14% .012 260);color:var(--color-ink);font-size:12px;font-weight:650;line-height:1;text-align:center;opacity:0;pointer-events:none;transform:translate(-50%,4px) scale(.97);transform-origin:50% 100%;transition:opacity .15s var(--ease-silk),transform .15s var(--ease-silk)}.portfolio .social-icon:focus-visible:after,.portfolio .social-icon:hover:after{opacity:1;transform:translate(-50%) scale(1)}@media (prefers-reduced-motion:reduce){.portfolio .perspective-grid-tile{transition:none}}.portfolio .site-loader{z-index:2147483646;display:flex;align-items:center;justify-content:center;position:fixed;inset:0;min-height:100svh;overflow:hidden;background:var(--color-charcoal);color:var(--color-ink)}html.skip-home-loader .portfolio .site-loader{display:none}.portfolio .site-loader-progress{font-size:clamp(6rem,15vw,12rem);font-weight:700;line-height:1;letter-spacing:-.06em;font-variant-numeric:tabular-nums;opacity:1;transition:opacity .12s ease-out}.portfolio .site-loader:not([data-phase=counting]) .site-loader-progress{opacity:0;visibility:hidden}.portfolio .site-loader-page-up{z-index:1;display:flex;align-items:center;justify-content:center;position:absolute;inset:0;overflow:hidden;background:var(--color-ink);color:var(--color-ink);will-change:transform;transform:translateY(100%);transition:transform 1.2s cubic-bezier(.87,0,.13,1)}.portfolio .site-loader[data-phase=entering] .site-loader-page-up{transform:translateY(0)}.portfolio .site-loader[data-phase=exiting] .site-loader-page-up{transition-duration:1s;transform:translateY(-100%)}.portfolio .site-loader-banners{display:flex;flex-direction:column;justify-content:center;width:100%}.portfolio .site-loader-banner{width:105%;margin-left:-5%;overflow:hidden;background:var(--color-charcoal);will-change:transform}.portfolio .site-loader-banner:first-child{margin-bottom:4.17vw;transform-origin:100% 100%;transform:translateX(100vw) rotate(2deg)}.portfolio .site-loader-banner:last-child{transform-origin:100% 0;transform:translateX(-100vw) rotate(-2deg)}.portfolio .site-loader-banner-track{width:max-content;padding:2vw 0;font-size:clamp(5rem,9vw,11rem);font-weight:700;line-height:.84;letter-spacing:-.055em;white-space:nowrap;will-change:transform}.portfolio .site-loader-banner:first-child .site-loader-banner-track{transform:translateX(140vw)}.portfolio .site-loader-banner:last-child .site-loader-banner-track{transform:translateX(-140vw)}.portfolio .site-loader[data-phase=entering] .site-loader-banner,.portfolio .site-loader[data-phase=exiting] .site-loader-banner{animation:loader-banner-enter 1.15s cubic-bezier(.19,1,.22,1) .2s forwards}.portfolio .site-loader[data-phase=entering] .site-loader-banner:last-child,.portfolio .site-loader[data-phase=exiting] .site-loader-banner:last-child{animation-name:loader-banner-enter-reverse;animation-delay:.4s}.portfolio .site-loader[data-phase=entering] .site-loader-banner-track,.portfolio .site-loader[data-phase=exiting] .site-loader-banner-track{animation:loader-banner-scroll 8s cubic-bezier(.19,1,.22,1) .3s forwards}.portfolio .site-loader[data-phase=entering] .site-loader-banner:last-child .site-loader-banner-track,.portfolio .site-loader[data-phase=exiting] .site-loader-banner:last-child .site-loader-banner-track{animation-name:loader-banner-scroll-reverse;animation-delay:.4s}@keyframes loader-banner-enter{to{transform:translateX(0) rotate(2deg)}}@keyframes loader-banner-enter-reverse{to{transform:translateX(0) rotate(-2deg)}}@keyframes loader-banner-scroll{to{transform:translateX(-80vw)}}@keyframes loader-banner-scroll-reverse{to{transform:translateX(80vw)}}@media (width <= 640px){.portfolio .site-loader-banner:first-child{margin-bottom:16vw}.portfolio .site-loader-banner-track{padding:5vw 0;font-size:12vw}}.portfolio .credential-badge{--badge-color:#ff6d5a;--badge-soft:#ff6d5a24;position:relative;display:grid;flex:0 0 58px;width:58px;height:58px;place-items:center}.portfolio .credential-badge__halo{position:absolute;inset:0;border:1px solid color-mix(in srgb,var(--badge-color) 45%,transparent);border-radius:50%;background:var(--badge-soft);animation:credential-halo 3.4s ease-in-out infinite}.portfolio .credential-badge__mark{position:relative;display:grid;width:42px;height:42px;place-items:center;border-radius:14px;color:white;background:var(--badge-color);box-shadow:0 8px 24px var(--badge-soft);font-family:var(--font-display),Arial,sans-serif;font-size:19px;font-weight:800;line-height:1;transition:transform .35s var(--ease-silk),box-shadow .35s ease}.portfolio .credential-badge--n8n{--badge-color:#ff6d5a;--badge-soft:#ff6d5a2e}.portfolio .credential-badge--n8n svg{width:31px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.2}.portfolio .credential-badge--hackerrank{--badge-color:#00a86b;--badge-soft:#00a86b29}.portfolio .credential-badge--hackerrank .credential-badge__mark{clip-path:polygon(25% 7%,75% 7%,100% 50%,75% 93%,25% 93%,0 50%);border-radius:0}.portfolio .credential-badge--upwork{--badge-color:#14a800;--badge-soft:#14a8002b}.portfolio .credential-badge--upwork .credential-badge__mark{border-radius:50%;letter-spacing:-.08em}.portfolio .credential-row:focus-visible .credential-badge__mark,.portfolio .credential-row:hover .credential-badge__mark{transform:translateY(-3px) rotate(-5deg) scale(1.08);box-shadow:0 14px 30px var(--badge-soft)}.portfolio .credential-row:focus-visible .credential-badge__halo,.portfolio .credential-row:hover .credential-badge__halo{animation-duration:.9s}@keyframes credential-halo{0%,to{opacity:.55;transform:scale(.88)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.portfolio .credential-badge__halo{animation:none}.portfolio .credential-badge__mark{transition:none}}