.about-meter-fill{transform:scaleX(0);transform-origin:left center;transition:transform 1.4s var(--ease-out) .45s}.is-visible .about-meter-fill{transform:scaleX(1)}.recognition-zoom{transform:scale(1.06);transition:transform 2.6s var(--ease-out)}.recognition-zoom.is-in{transform:scale(1)}.recognition-photo{-o-object-position:50% 40%;object-position:50% 40%;filter:saturate(.82) brightness(.82) contrast(1.05)}.recognition-tint{background:linear-gradient(180deg,rgba(10,22,52,.22),rgba(5,8,20,.38))}.recognition-tint:after{content:"";position:absolute;inset:0;background:rgba(46,110,230,.26);mix-blend-mode:color}.recognition-scrim-x{background:radial-gradient(55% 75% at 18% 55%,rgba(5,6,8,.55),transparent 70%),linear-gradient(90deg,#050608,rgba(5,6,8,.97) 34%,rgba(5,6,8,.8) 46%,rgba(5,6,8,.4) 62%,rgba(5,6,8,0) 82%)}@media (min-width:1280px){.recognition-scrim-x{background:radial-gradient(45% 75% at 22% 55%,rgba(5,6,8,.5),transparent 70%),linear-gradient(90deg,#050608,rgba(5,6,8,.97) calc(50% - 400px),rgba(5,6,8,.8) calc(50% - 170px),rgba(5,6,8,.38) calc(50% + 40px),rgba(5,6,8,0) calc(50% + 280px))}}.recognition-paper-sheet{box-shadow:0 26px 50px -14px rgba(0,0,0,.75),0 10px 22px -8px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.05);transition:box-shadow .5s var(--ease-out)}.recognition-paper:focus-visible .recognition-paper-sheet,.recognition-paper:hover .recognition-paper-sheet{box-shadow:0 36px 70px -18px rgba(0,0,0,.85),0 0 0 1px rgba(90,169,255,.4),0 0 44px rgba(90,169,255,.2)}@media (min-width:1024px){.recognition-stack{display:block;position:relative;height:230px}.recognition-paper-slot{position:absolute;bottom:0;width:64%;transition:rotate .6s var(--ease-out),translate .6s var(--ease-out),scale .6s var(--ease-out)}.recognition-paper-slot:first-child{left:0;rotate:-6deg;z-index:2}.recognition-paper-slot:nth-child(2){right:0;bottom:34px;rotate:5deg;z-index:1}.recognition-paper-slot:focus-within,.recognition-paper-slot:hover{rotate:0deg;translate:0 -10px;scale:1.04;z-index:5}.recognition-paper-caption{display:none}}@media (min-width:1280px){.recognition-stack{height:260px}}.skills-dots{background-image:radial-gradient(rgba(255,255,255,.075) 1px,transparent 0);background-size:22px 22px;-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 0,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 0,transparent 100%)}.skills-flow{stroke-dasharray:0 12;animation:skills-flow 2.4s linear infinite}@keyframes skills-flow{to{stroke-dashoffset:-48}}.skills-loop[data-inview=false] .skills-core-ping,.skills-loop[data-inview=false] .skills-flow,.skills-loop[data-inview=false] .skills-node-dot:before{animation-play-state:paused}.skills-seg path{stroke-dasharray:var(--len) var(--len);stroke-dashoffset:var(--len);opacity:0;transition:opacity .5s var(--ease-out),stroke-dashoffset 0s linear .5s}.skills-seg[data-active=true] path{stroke-dashoffset:0;opacity:1;transition:opacity .15s var(--ease-out),stroke-dashoffset .9s var(--ease-out)}.skills-core-ping{transform-box:fill-box;transform-origin:center;animation:skills-core-ping 2.8s var(--ease-out) infinite}@keyframes skills-core-ping{0%{transform:scale(.4);opacity:.7}80%,to{transform:scale(2.6);opacity:0}}.skills-node{--dot:14px;--pad:6px;position:absolute;z-index:2;display:flex;align-items:center;gap:10px;padding:var(--pad) 10px;border-radius:999px;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent}.skills-node[data-placement=top]{flex-direction:column-reverse;transform:translate(-50%,calc(-100% + var(--pad) + var(--dot) / 2))}.skills-node[data-placement=bottom]{flex-direction:column;transform:translate(-50%,calc(-1 * (var(--pad) + var(--dot) / 2)))}.skills-node[data-placement=left]{flex-direction:row-reverse;gap:13px;padding:var(--pad);padding-left:10px;transform:translate(calc(-100% + var(--pad) + var(--dot) / 2),-50%)}.skills-node[data-placement=right]{flex-direction:row;gap:13px;padding:var(--pad);padding-right:10px;transform:translate(calc(-1 * (var(--pad) + var(--dot) / 2)),-50%)}.skills-node-dot{position:relative;flex:none;width:var(--dot);height:var(--dot);border-radius:999px;background:#0b1020;border:1.5px solid rgba(255,255,255,.3);box-shadow:0 0 0 4px #070a12;transition:background-color .3s var(--ease-out),border-color .3s var(--ease-out),box-shadow .3s var(--ease-out),transform .3s var(--ease-out)}.skills-node-dot:after{content:"";position:absolute;inset:3px;border-radius:inherit;background:rgba(255,255,255,.35);transition:background-color .3s var(--ease-out),opacity .3s var(--ease-out)}.skills-node:hover .skills-node-dot{border-color:rgba(139,188,255,.85);transform:scale(1.12)}.skills-node:hover .skills-node-dot:after{background:rgba(139,188,255,.9)}.skills-node[aria-pressed=true] .skills-node-dot{background:#5aa9ff;border-color:#cfe3ff;transform:scale(1.18);box-shadow:0 0 0 4px #070a12,0 0 0 7px rgba(90,169,255,.32),0 0 26px 6px rgba(90,169,255,.5)}.skills-node[aria-pressed=true] .skills-node-dot:after{background:#ffffff}.skills-node[aria-pressed=true] .skills-node-dot:before{content:"";position:absolute;inset:-1.5px;border-radius:inherit;border:1.5px solid rgba(90,169,255,.75);animation:skills-node-ping 1.8s var(--ease-out) infinite;pointer-events:none}@keyframes skills-node-ping{0%{transform:scale(1);opacity:.85}to{transform:scale(2.6);opacity:0}}.skills-track{stroke-dasharray:var(--loop-len) var(--loop-len);stroke-dashoffset:var(--loop-len);transition:stroke-dashoffset 1.6s linear .15s}.skills-mini-node,.skills-node{opacity:0;transition:opacity .5s var(--ease-out) var(--delay,0s)}.skills-fade-late{opacity:0;transition:opacity .9s var(--ease-out) 1.5s}.skills-lobe{opacity:0;transition:opacity .9s var(--ease-out) 1.5s,color .5s var(--ease-out)}.reveal.is-visible .skills-track{stroke-dashoffset:0}.reveal.is-visible .skills-fade-late,.reveal.is-visible .skills-lobe,.reveal.is-visible .skills-mini-node,.reveal.is-visible .skills-node{opacity:1}@media (prefers-reduced-motion:reduce){.skills-fade-late,.skills-lobe,.skills-mini-node,.skills-node,.skills-seg path,.skills-track{transition:none}.skills-core-ping,.skills-flow,.skills-node[aria-pressed=true] .skills-node-dot:before{animation:none}}.skills-panel-enter{animation:skills-panel-in .55s var(--ease-out) both}@keyframes skills-panel-in{0%{opacity:0;transform:translateY(8px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}.skills-progress{transform-origin:left center;animation:skills-progress var(--dur,3.5s) linear both}@keyframes skills-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.skills-chip-hit{border-color:rgba(90,169,255,.45);background-color:rgba(90,169,255,.11);color:#ffffff;box-shadow:0 0 0 1px rgba(90,169,255,.12),0 6px 20px -8px rgba(90,169,255,.55)}.experience-rail{--experience-progress:0;-webkit-mask-image:linear-gradient(180deg,#000,#000 calc(100% - 160px),transparent);mask-image:linear-gradient(180deg,#000,#000 calc(100% - 160px),transparent)}.experience-rail-fill,.experience-rail-track{position:absolute;top:0;bottom:0;left:19px;width:2px;border-radius:999px}.experience-rail-track{background:linear-gradient(180deg,rgba(90,169,255,.3),rgba(139,124,246,.2) 65%,rgba(139,124,246,.1))}.experience-rail-fill{background:linear-gradient(180deg,#5aa9ff,#8bbcff 50%,#a78bfa);box-shadow:0 0 12px rgba(90,169,255,.45);clip-path:inset(0 -14px calc((1 - var(--experience-progress)) * 100%) -14px);transition:clip-path .2s linear}.experience-rail-headwrap{position:absolute;inset:0;transform:translateY(calc(var(--experience-progress) * 100%));transition:transform .2s linear}.experience-rail-head{position:absolute;left:50%;top:0;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:999px;background:#e8f1ff;box-shadow:0 0 0 3px rgba(90,169,255,.22),0 0 14px 3px rgba(90,169,255,.6);opacity:0;transition:opacity .35s var(--ease-out)}.experience-rail[data-moving] .experience-rail-head{opacity:1}.experience-dot{display:grid;place-items:center;width:16px;height:16px;border-radius:999px;background:#050608;border:1px solid rgba(255,255,255,.18);transition:border-color .5s var(--ease-out),box-shadow .5s var(--ease-out)}.experience-dot:after{content:"";width:6px;height:6px;border-radius:999px;background:rgba(219,231,255,.35);transition:background-color .5s var(--ease-out),box-shadow .5s var(--ease-out)}.experience-dot-current,[data-lit] .experience-dot{border-color:rgba(90,169,255,.75);box-shadow:0 0 0 4px rgba(90,169,255,.1)}.experience-dot-current:after,[data-lit] .experience-dot:after{background:#5aa9ff;box-shadow:0 0 10px rgba(90,169,255,.9)}.experience-dot-current:before{content:"";position:absolute;inset:-1px;border-radius:999px;border:1px solid rgba(90,169,255,.7);animation:experience-ping 2.6s var(--ease-out) infinite;pointer-events:none}@keyframes experience-ping{0%{transform:scale(1);opacity:.85}70%,to{transform:scale(2.4);opacity:0}}.experience-branch{height:1px;background:linear-gradient(90deg,rgba(255,255,255,.12),rgba(255,255,255,0))}.experience-branch:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(90,169,255,.75),rgba(90,169,255,0));opacity:0;transition:opacity .5s var(--ease-out)}.experience-branch-current:after,[data-lit] .experience-branch:after{opacity:1}.experience-item:hover .experience-dot{border-color:rgba(167,139,250,.8);box-shadow:0 0 0 5px rgba(139,124,246,.12)}.experience-item:hover .experience-dot:after{background:#a78bfa;box-shadow:0 0 12px rgba(167,139,250,.9)}.experience-item:hover .experience-branch:after{opacity:1}.experience-now-dot{position:relative;width:6px;height:6px;flex-shrink:0;border-radius:999px;background:#5aa9ff;box-shadow:0 0 8px rgba(90,169,255,.9)}.experience-now-dot:after{content:"";position:absolute;inset:0;border-radius:inherit;background:#5aa9ff;animation:experience-ping-soft 2s var(--ease-out) infinite}@keyframes experience-ping-soft{0%{transform:scale(1);opacity:.7}75%,to{transform:scale(2.8);opacity:0}}.experience-toc{border-left:2px solid transparent;transition:color .3s var(--ease-out),border-color .3s var(--ease-out),background-color .3s var(--ease-out)}.experience-toc[data-active]{color:#ffffff;border-left-color:#5aa9ff;background-color:rgba(90,169,255,.06)}.experience-toc[data-active] .experience-toc-meta{color:rgba(139,188,255,.85)}@media (prefers-reduced-motion:reduce){.experience-dot-current:before{animation:none;inset:-5px;opacity:.45}.experience-now-dot:after{animation:none;opacity:0}.experience-rail-fill,.experience-rail-headwrap{transition:none}}.projects-backdrop-grid{background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 0);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 70% 55% at 50% 0,#000 0,transparent 75%);mask-image:radial-gradient(ellipse 70% 55% at 50% 0,#000 0,transparent 75%)}img.projects-zoom{transition:opacity .7s var(--ease-out),transform .9s var(--ease-out),filter .5s var(--ease-out)}.projects-stage-bg{background:radial-gradient(120% 95% at 0 0,rgba(90,169,255,.24),transparent 55%),radial-gradient(90% 85% at 100% 100%,rgba(139,124,246,.16),transparent 60%),#0b1222}.projects-stage-bg[data-tone=violet]{background:radial-gradient(120% 95% at 100% 0,rgba(139,124,246,.22),transparent 55%),radial-gradient(95% 85% at 0 100%,rgba(90,169,255,.18),transparent 60%),#0b1222}.projects-stage-bg:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.11) 1px,transparent 0);background-size:18px 18px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);mask-image:linear-gradient(180deg,#000,transparent 85%);opacity:.55}.projects-featured{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "media" "body" "hl" "cta";row-gap:2rem}.projects-featured-head{grid-area:head}.projects-featured-media{grid-area:media}.projects-featured-body{grid-area:body}.projects-featured-hl{grid-area:hl}.projects-featured-cta{grid-area:cta}@media (min-width:1024px){.projects-featured{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);grid-template-rows:auto auto 1fr auto;grid-template-areas:"head media" "body media" "cta media" "hl hl";-moz-column-gap:3.5rem;column-gap:3.5rem;row-gap:1.75rem}.projects-featured[data-reverse]{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);grid-template-areas:"media head" "media body" "media cta" "hl hl"}.projects-featured-media{align-self:center}.projects-featured-hl{margin-top:.75rem;grid-template-columns:repeat(var(--hl-cols,4),minmax(0,1fr))}}.projects-collage{position:relative;padding-bottom:3%}.projects-collage-cover{position:relative;z-index:1;display:block;width:80%}.projects-collage-side{position:relative;z-index:2;display:flex;align-items:flex-start;margin-top:-13%;padding-left:3%;pointer-events:none}.projects-collage-side>*{pointer-events:auto}.projects-collage-phone{position:absolute;z-index:3;top:0;right:0;margin-top:9%;width:27%}.projects-phone.projects-phone{border-radius:17%/7.8%;padding:2.7%}.projects-phone-radius{border-radius:17%/7.8%}.projects-phone>div{border-radius:15%/6.8%}.projects-phone>div>span[aria-hidden=true]:last-child{top:2.2%;width:29%;height:auto;aspect-ratio:4/1}.projects-skeleton-bar{position:relative;overflow:hidden;background:rgba(255,255,255,.07)}.projects-skeleton-bar:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(139,188,255,.18),transparent);animation:projects-shimmer 2.4s var(--ease-in-out) infinite}@keyframes projects-shimmer{60%,to{transform:translateX(100%)}}.projects-viewer{--viewer-pad:14px;--viewer-h:clamp(190px,56vw,250px);height:calc(var(--viewer-h) + var(--viewer-pad) * 2);padding:var(--viewer-pad)}@media (min-width:640px){.projects-viewer{--viewer-pad:24px;--viewer-h:clamp(280px,48vh,470px)}}.projects-viewer-btn{padding:var(--viewer-pad)}.projects-pop{animation:projects-pop .45s var(--ease-out) both}@keyframes projects-pop{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}.projects-strip{scrollbar-width:thin;scrollbar-color:rgba(90,169,255,.25) transparent}.projects-strip::-webkit-scrollbar{height:6px}.projects-strip::-webkit-scrollbar-thumb{background:rgba(90,169,255,.25);border-radius:999px}.credentials-guilloche{background-image:repeating-radial-gradient(circle at 100% 0,rgba(139,188,255,.085) 0 1px,transparent 1px 9px);-webkit-mask-image:radial-gradient(130% 95% at 100% 0,#000 0,rgba(0,0,0,.35) 38%,transparent 66%);mask-image:radial-gradient(130% 95% at 100% 0,#000 0,rgba(0,0,0,.35) 38%,transparent 66%)}@keyframes credentials-seal-spin{to{transform:rotate(1turn)}}.credentials-seal-ring{animation:credentials-seal-spin 48s linear infinite}.credentials-meter-fill{position:relative;width:0;transition:width 1.6s var(--ease-out) .3s}.is-visible .credentials-meter-fill{width:calc(var(--fill, 0) * 100%)}.credentials-meter-fill:after{content:"";position:absolute;right:0;top:50%;width:12px;height:12px;border-radius:999px;transform:translate(50%,-50%);background:#e8f1ff;box-shadow:0 0 0 3px rgba(90,169,255,.25),0 0 14px 2px rgba(139,188,255,.7)}.credentials-meter-ticks{background-image:repeating-linear-gradient(90deg,transparent 0 calc(10% - 2px),rgba(5,6,8,.85) calc(10% - 2px) 10%)}.contact-grid-fade{-webkit-mask-image:radial-gradient(ellipse 70% 75% at 50% 0,#000 0,rgba(0,0,0,.4) 45%,transparent 75%);mask-image:radial-gradient(ellipse 70% 75% at 50% 0,#000 0,rgba(0,0,0,.4) 45%,transparent 75%)}.contact-dots-fade{-webkit-mask-image:radial-gradient(ellipse 60% 70% at 50% 100%,#000 0,transparent 70%);mask-image:radial-gradient(ellipse 60% 70% at 50% 100%,#000 0,transparent 70%)}.site-header-progress{transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,#5aa9ff,#8bbcff 55%,#a78bfa);box-shadow:0 0 10px rgba(90,169,255,.55)}.site-header-pill{transition:transform .5s var(--ease-out),width .5s var(--ease-out),opacity .3s var(--ease-out)}.site-header-menu{transition:opacity .22s var(--ease-out),transform .3s var(--ease-out),visibility 0s linear .3s}.site-header-menu[data-open=true]{transition:opacity .22s var(--ease-out),transform .3s var(--ease-out),visibility 0s linear 0s}