:root{--brand-ink:#171214;--brand-blue:#0f0f94;--brand-blue-soft:#d9d9ff;--brand-blue-wash:#ececff;--ink:var(--brand-ink);--paper:#f1efe8;--paper-light:#f8f7f2;--cobalt:var(--brand-blue);--muted-ink:#5c565d;--rule:#1712142e;--light-rule:#f8f7f238;--focus:var(--brand-blue);--motion-quick:.14s;--motion-standard:.42s;--motion-slow:.76s;--ease-brand:cubic-bezier(.2, .8, .2, 1);--site-header-offset:calc(76px + env(safe-area-inset-top));--pointer-x:0;--pointer-y:0}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}main[id],section[id],footer[id],.contact-anchor{scroll-margin-top:var(--site-header-offset)}.contact-anchor{height:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-space-grotesk), "Helvetica Neue", Arial, sans-serif;margin:0;overflow-x:hidden}body.mobile-menu-open{overflow:hidden}html[data-language=zh] body{font-family:-apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans CJK SC", "Microsoft YaHei", var(--font-space-grotesk), sans-serif}html[data-language=zh] p,html[data-language=zh] li{text-wrap:pretty}html[data-language=zh] .hero-intro,html[data-language=zh] .section-heading h2,html[data-language=zh] .work-gateway-copy h2,html[data-language=zh] .work-slots-heading h2,html[data-language=zh] .work-close h2{letter-spacing:-.045em;line-height:.96}html.language-changing main,html.language-changing footer{animation:language-change-in .28s var(--ease-brand) both}main,section,article,div{min-inline-size:0}p,li,dd,strong,a{overflow-wrap:anywhere}a,button{color:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{text-decoration:none}button{cursor:pointer}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}::selection{background:var(--cobalt);color:#fff}.portfolio-page{background:var(--paper);min-width:320px}html.motion-ready [data-reveal]{opacity:.4;transform:translateY(12px)}html.motion-ready [data-reveal=slide]{transform:translate(-18px)}html.motion-ready [data-reveal].is-visible{opacity:1;transition:opacity var(--motion-standard) var(--ease-brand), transform var(--motion-standard) var(--ease-brand);transition-delay:calc(var(--reveal-order,0) * 45ms);transform:translate(0,0)}.skip-link{z-index:100;background:var(--ink);color:#fff;align-items:center;min-height:44px;padding:12px 16px;font-size:.8rem;font-weight:600;transition:transform .18s;display:flex;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:50;width:100%;height:calc(76px + env(safe-area-inset-top));padding-right:max(clamp(24px, 4vw, 72px), env(safe-area-inset-right));padding-top:env(safe-area-inset-top);padding-left:max(clamp(24px, 4vw, 72px), env(safe-area-inset-left));border-bottom:1px solid var(--rule);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f1efe8f0;grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr);align-items:center;gap:32px;display:grid;position:fixed;top:0;left:0}.wordmark{width:max-content;min-height:44px;font-family:var(--font-archivo), Arial, sans-serif;align-items:center;gap:14px;display:inline-flex}.brand-logo-window{flex:none;width:62px;height:42px;display:block;position:relative;overflow:hidden}.brand-logo-image{object-fit:contain;width:96px;max-width:none;height:96px;transition:transform .22s cubic-bezier(.2,.8,.2,1);position:absolute;top:-27px;left:-17px}.wordmark:hover .brand-logo-image,.wordmark:focus-visible .brand-logo-image{transform:translate(2px,-1px)}.wordmark-copy{gap:4px;line-height:1;display:grid}.wordmark-name{letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;font-weight:680}.wordmark-role{color:var(--muted-ink);font-family:var(--font-space-grotesk), "Helvetica Neue", Arial, sans-serif;letter-spacing:.09em;text-transform:uppercase;font-size:.58rem;font-weight:560}.desktop-nav{align-items:center;gap:clamp(18px,1.7vw,32px);display:flex}.desktop-nav a,.nav-dropdown-trigger,.availability{letter-spacing:.08em;text-transform:uppercase;align-items:center;min-height:44px;font-size:.7rem;font-weight:600;display:inline-flex;position:relative}.nav-dropdown{position:relative}.nav-dropdown-trigger{color:var(--ink);cursor:pointer;background:0 0;border:0;gap:5px;padding:0;font-family:inherit}.nav-dropdown-trigger svg{stroke-width:1.8px;width:13px;height:13px;transition:transform .18s cubic-bezier(.2,.8,.2,1)}.nav-dropdown.is-open .nav-dropdown-trigger{color:var(--cobalt)}.nav-dropdown.is-open .nav-dropdown-trigger svg{transform:rotate(180deg)}.nav-dropdown-menu{border:1px solid var(--rule);background:var(--paper-light);opacity:0;pointer-events:none;visibility:hidden;min-width:190px;padding:8px;transition:opacity .14s,transform .18s cubic-bezier(.2,.8,.2,1),visibility 0s linear .18s;display:grid;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%,-6px);box-shadow:0 18px 38px #17121424}.nav-dropdown.is-open .nav-dropdown-menu{opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s;transform:translate(-50%)}.desktop-nav .nav-dropdown-menu a{white-space:nowrap;min-height:44px;padding:0 12px}.desktop-nav .nav-dropdown-menu a:after{bottom:7px;left:12px;right:12px}.desktop-nav a:after,.text-action:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .22s cubic-bezier(.4,0,.2,1);position:absolute;bottom:8px;left:0;right:0;transform:scaleX(0)}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after,.desktop-nav a[aria-current=page]:after,.text-action:hover:after,.text-action:focus-visible:after{transform-origin:0;transform:scaleX(1)}.desktop-nav a[aria-current=page],.mobile-nav a[aria-current=page]{color:var(--cobalt)}.availability{white-space:nowrap;gap:9px}.header-actions{justify-self:end;align-items:center;gap:14px;display:flex}.language-toggle{border:1px solid var(--rule);background:var(--paper-light);min-width:58px;min-height:44px;color:var(--ink);font-family:var(--font-space-grotesk), "Helvetica Neue", Arial, sans-serif;letter-spacing:.04em;transition:color var(--motion-quick) ease, border-color var(--motion-quick) ease, background var(--motion-quick) ease, transform var(--motion-standard) var(--ease-brand);border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:.66rem;font-weight:680;display:inline-flex}.language-toggle svg{stroke-width:1.7px;flex:none;width:15px;height:15px}.language-toggle:hover,.language-toggle:focus-visible{border-color:var(--cobalt);background:var(--brand-blue-wash);color:var(--cobalt);transform:translateY(-2px)}.language-toggle:active{transform:scale(.97)}.availability:hover,.availability:focus-visible,.nav-dropdown-trigger:hover,.nav-dropdown-trigger:focus-visible,.menu-button:hover,.menu-button:focus-visible,.mobile-nav-group-toggle:hover,.mobile-nav-group-toggle:focus-visible,.mobile-nav a:hover,.mobile-nav a:focus-visible{color:var(--cobalt)}.availability-dot{background:var(--cobalt);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #0f0f941f}.menu-button,.mobile-nav,.mobile-nav[hidden]{display:none}.hero{min-height:max(100svh,760px);padding-top:calc(76px + env(safe-area-inset-top));padding-right:max(clamp(24px, 4vw, 72px), env(safe-area-inset-right));padding-bottom:env(safe-area-inset-bottom);padding-left:max(clamp(24px, 4vw, 72px), env(safe-area-inset-left));isolation:isolate;position:relative;overflow:hidden}.hero-copy{z-index:4;flex-direction:column;justify-content:center;width:min(60vw,880px);min-height:calc(max(100svh,760px) - 76px);padding:5vh 0 7vh;display:flex;position:relative}.eyebrow,.section-index{letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:clamp(.66rem,.7vw,.76rem);font-weight:650;line-height:1.35}.eyebrow{color:var(--muted-ink)}.hero-title{font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.072em;text-transform:uppercase;text-wrap:balance;flex-direction:column;margin:clamp(28px,4vh,52px) 0 0;font-size:clamp(5.4rem,10.2vw,10.4rem);font-weight:500;line-height:.72;display:flex}.hero-title>span{transform-origin:50% 60%;width:max-content;max-width:100%;display:block}.hero-title>span:first-child{animation:hero-name-from-left .78s .1s var(--ease-brand) both}.hero-title>span:last-child{color:#0000;-webkit-text-stroke:1.5px var(--ink);animation:hero-name-from-right .78s .17s var(--ease-brand) both;margin-left:clamp(34px,5.2vw,84px)}.hero-intro{width:min(640px,88%);color:var(--ink);font-family:var(--font-bodoni-moda), "Times New Roman", serif;font-optical-sizing:auto;letter-spacing:-.045em;text-wrap:balance;margin:clamp(34px,5vh,56px) 0 0 clamp(28px,4vw,66px);font-size:clamp(1.75rem,2.6vw,2.9rem);font-weight:500;line-height:.98;display:grid}.hero-intro span,.hero-intro em{display:block}.hero-intro em{color:var(--cobalt);margin-left:clamp(24px,4.5vw,74px);font-style:italic;font-weight:500}.hero-actions{align-items:center;gap:28px;margin:28px 0 0;display:flex}.primary-action,.text-action{letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;gap:12px;min-height:48px;font-size:.74rem;font-weight:650;display:inline-flex}.primary-action{border:1px solid var(--ink);background:var(--ink);color:#fff;min-width:190px;padding:0 20px;transition:color .18s cubic-bezier(.4,0,.2,1),background .18s cubic-bezier(.4,0,.2,1)}.primary-action:hover,.primary-action:focus-visible{color:var(--ink);background:0 0}.hero-work-action svg{transition:transform var(--motion-standard) var(--ease-brand)}.hero-work-action:hover svg,.hero-work-action:focus-visible svg{transform:translate(3px,-3px)}.primary-action svg,.text-action svg{stroke-width:1.7px;width:15px;height:15px}.text-action{position:relative}.text-action:after{bottom:5px}.hero-facts{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr);width:min(420px,82%);margin:clamp(26px,3.6vh,38px) 0 0;display:grid}.hero-facts>div{border-bottom:1px solid var(--rule);gap:4px;padding:12px 12px 12px 0;display:grid}.hero-facts dt{color:var(--muted-ink);letter-spacing:.11em;text-transform:uppercase;font-size:.58rem;font-weight:650}.hero-facts dd{color:var(--ink);margin:0;font-size:.86rem;font-weight:560;line-height:1.3}.hero-projects{gap:10px;width:min(710px,82%);margin:clamp(28px,4vh,42px) 0 0 clamp(28px,4vw,66px);display:grid}.hero-projects-label{color:var(--muted-ink);letter-spacing:.11em;text-transform:uppercase;font-size:.58rem;font-weight:650}.hero-project-grid{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.hero-project-tease{width:100%;min-height:108px;transition:color var(--motion-quick) ease, background var(--motion-quick) ease, transform var(--motion-standard) var(--ease-brand);grid-template-columns:92px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:12px;display:grid}.hero-project-tease:first-child{border-right:1px solid var(--rule)}.hero-project-image{aspect-ratio:16/9;background:var(--ink);width:92px;display:block;position:relative;overflow:hidden}.hero-project-image img{object-fit:cover;transition:transform var(--motion-standard) var(--ease-brand)}.hero-project-hopli .hero-project-image{background:#e7dfcf}.hero-project-payroll .hero-project-image{background:#1836a8}.hero-payroll-flow{color:#fff;grid-template-columns:1fr 10px 1fr 10px 1fr;align-items:center;gap:3px;padding:10px;display:grid}.hero-payroll-flow i{letter-spacing:.03em;border:1px solid #ffffff73;place-items:center;min-width:0;height:28px;font-size:.46rem;font-style:normal;font-weight:750;display:grid}.hero-payroll-flow i:last-child{color:#176743;background:#b9e6ce;border-color:#b9e6ce}.hero-payroll-flow b{background:#ffffffb3;height:1px}.hero-project-hopli .hero-project-image img{object-position:center 18%}.hero-project-copy{gap:4px;min-width:0;display:grid}.hero-project-copy small{color:var(--muted-ink);letter-spacing:.11em;text-transform:uppercase;font-size:.58rem;font-weight:650}.hero-project-copy strong{font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.025em;font-size:clamp(.92rem,1.18vw,1.12rem);font-weight:560;line-height:1.03}.hero-project-copy>span{color:var(--cobalt);font-size:.66rem;font-weight:610;line-height:1.35}.hero-project-tease>svg{stroke-width:1.5px;width:18px;height:18px;transition:transform var(--motion-standard) var(--ease-brand)}.hero-project-tease:hover,.hero-project-tease:focus-visible{background:var(--brand-blue-wash);transform:translateY(-4px)}.hero-project-tease:hover img,.hero-project-tease:focus-visible img{transform:scale(1.06)}.hero-project-tease:hover>svg,.hero-project-tease:focus-visible>svg{transform:translate(3px,-3px)}.portrait-stage{z-index:3;pointer-events:none;perspective:1200px;width:50%;animation:.95s cubic-bezier(.2,.8,.2,1) 80ms both portrait-arrive;position:absolute;inset:76px 0 0 50%}.portrait-figure{z-index:2;width:clamp(590px,53vw,890px);transform:translate3d(calc(-50% + var(--pointer-x) * 18px), calc(var(--pointer-y) * 10px), 0) rotateX(calc(var(--pointer-y) * -2.6deg)) rotateY(calc(var(--pointer-x) * 4.5deg));transform-origin:48% 82%;transform-style:preserve-3d;will-change:transform;margin:0;position:absolute;bottom:clamp(-18px,-1vh,-8px);left:50%}.portrait-figure img{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.avatar-rig{aspect-ratio:1;transform-origin:48% 88%;will-change:transform;width:100%;animation:4.8s cubic-bezier(.4,0,.2,1) infinite greeting-sway;position:relative}.portrait-figure .avatar-original{position:absolute;inset:0}.motion-toggle{z-index:5;right:max(20px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));border:1px solid var(--rule);width:44px;height:44px;color:var(--ink);letter-spacing:.09em;pointer-events:auto;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8f7f2e0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.66rem;font-weight:650;transition:background .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1),transform .14s cubic-bezier(.2,0,0,1);display:inline-flex;position:absolute}.motion-toggle:hover,.motion-toggle:focus-visible{border-color:var(--ink);background:var(--ink);color:var(--paper-light)}.motion-toggle:active{transform:scale(.97)}.motion-toggle svg{stroke-width:1.8px;width:14px;height:14px}.portrait-stage.is-paused{--pointer-x:0;--pointer-y:0}.portrait-stage.is-paused .avatar-rig{animation:none;transform:none}.portrait-stage.is-dormant .avatar-rig{animation-play-state:paused}.portrait-stage.is-dormant .portrait-figure,.portrait-stage.is-paused .portrait-figure{will-change:auto}.metrics{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--paper-light);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.metric{border-right:1px solid var(--rule);align-content:center;gap:12px;min-height:180px;padding:36px clamp(24px,3vw,48px);transition:background .22s cubic-bezier(.4,0,.2,1);display:grid;position:relative;overflow:hidden}.metric:before{background:var(--cobalt);content:"";transform-origin:0;height:3px;transition:transform .28s cubic-bezier(.2,.8,.2,1);position:absolute;top:0;left:0;right:0;transform:scaleX(.12)}.metric:last-child{border-right:0}.metric strong{font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.06em;font-variant-numeric:tabular-nums;font-size:clamp(2.4rem,4vw,4.5rem);font-weight:500;line-height:.9}.metric-index{color:var(--cobalt);letter-spacing:.12em;font-size:.62rem;font-weight:680;position:absolute;top:18px;right:18px}.metric-label{max-width:220px;color:var(--muted-ink);font-size:.78rem;line-height:1.45}@media (hover:hover) and (pointer:fine){.metric:hover{background:var(--brand-blue-wash)}.metric:hover:before{transform:scaleX(1)}}.resume-section{padding:clamp(110px, 12vw, 190px) max(clamp(24px, 6vw, 104px), env(safe-area-inset-right)) clamp(110px, 12vw, 190px) max(clamp(24px, 6vw, 104px), env(safe-area-inset-left));grid-template-columns:minmax(240px,.55fr) minmax(0,1.45fr);align-items:start;gap:clamp(70px,10vw,170px);display:grid}.resume-section>*,.contact>*{min-width:0}.section-heading{isolation:isolate;position:sticky;top:128px}.section-brand-mark{z-index:-1;opacity:.055;pointer-events:none;-webkit-user-select:none;user-select:none;width:clamp(310px,28vw,470px);max-width:none;height:auto;position:absolute;top:-102px;left:-112px}.section-index{color:var(--cobalt)}.section-heading h2,.contact h2{font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.065em;text-wrap:balance;margin:28px 0 24px;font-size:clamp(3.3rem,5.8vw,6.7rem);font-weight:480;line-height:.9}.section-heading>p:last-child{max-width:420px;color:var(--muted-ink);text-wrap:pretty;margin:0;font-size:.95rem;line-height:1.65}.experience-list{border-top:1px solid var(--rule);padding-left:44px;position:relative}.experience-list:before{background:linear-gradient(to bottom, var(--cobalt), var(--cobalt) 84%, transparent);content:"";width:1px;position:absolute;top:0;bottom:0;left:13px}.experience-item{border-bottom:1px solid var(--rule);content-visibility:auto;contain-intrinsic-size:auto 640px;grid-template-columns:132px minmax(0,1fr);gap:clamp(24px,4vw,68px);padding:clamp(44px,5vw,72px) 0;display:grid;position:relative}.experience-item:after{background:var(--cobalt);content:"";transform-origin:0;height:2px;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.experience-item.is-visible:after{animation:experience-rule-enter .56s var(--ease-brand) .12s both}.experience-sequence{border:1px solid var(--cobalt);background:var(--cobalt);width:27px;height:27px;color:var(--paper-light);letter-spacing:.04em;border-radius:50%;place-items:center;font-size:.52rem;font-weight:700;display:grid;position:absolute;top:clamp(42px,5vw,70px);left:-44px}.experience-dates,.education-date{color:var(--muted-ink);letter-spacing:.08em;text-transform:uppercase;margin:5px 0 0;font-size:.72rem;font-weight:620;line-height:1.4}.experience-content header{gap:8px;display:grid}.experience-content{min-width:0}.experience-content h3,.education-degree-title h3{font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(1.55rem,2.3vw,2.35rem);font-weight:520;line-height:1.05}.experience-content header p{color:var(--cobalt);margin:0;font-size:.9rem;font-weight:600}.experience-cells{border-top:1px solid var(--rule);border-left:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:34px 0 0;padding:0;list-style:none;display:grid}.experience-cell{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);min-height:184px;transition:background var(--motion-standard) var(--ease-brand), color var(--motion-standard) var(--ease-brand);background:#f8f7f26b;align-content:start;gap:14px;padding:clamp(22px,2.4vw,30px);display:grid;position:relative;overflow:hidden}.experience-cell:last-child:nth-child(odd){grid-column:1/-1;min-height:164px}.experience-cell:before{background:var(--cobalt);content:"";transform-origin:0;height:3px;transition:transform .42s var(--ease-brand);position:absolute;top:0;left:0;right:0;transform:scaleX(.08)}.experience-cell-index{color:var(--cobalt);letter-spacing:.13em;text-transform:uppercase;font-size:.56rem;font-weight:720}.experience-cell strong{color:var(--ink);font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.025em;text-wrap:balance;font-size:clamp(1.12rem,1.55vw,1.45rem);font-weight:520;line-height:1.08}.experience-cell>span:last-child{color:#171214b8;text-wrap:pretty;max-width:690px;font-size:.84rem;line-height:1.62}html.motion-ready .experience-item.is-visible .experience-cell{animation:.42s cubic-bezier(.05,.7,.1,1) both experience-cell-enter;animation-delay:calc(.1s + var(--cell-order) * 38ms)}html.motion-ready .experience-item.is-visible .experience-sequence{animation:.42s cubic-bezier(.05,.7,.1,1) both experience-node-enter}@media (hover:hover) and (pointer:fine){.experience-cell:hover{background:var(--brand-blue-wash)}.experience-cell:hover:before{transform:scaleX(1)}}@keyframes experience-rule-enter{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes experience-cell-enter{0%{opacity:.4;transform:translateY(14px)}to{opacity:1;transform:translate(0,0)}}@keyframes experience-node-enter{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}.skills-section{border-top:1px solid var(--rule);background:var(--paper-light)}.skills-content{min-width:0;container:skills-content/inline-size}.skills-signal-board{border-top:1px solid var(--ink);background:var(--ink);min-height:190px;color:var(--paper-light);isolation:isolate;grid-template-columns:minmax(136px,.3fr) minmax(0,1fr);align-items:center;gap:clamp(28px,4vw,64px);padding:clamp(32px,4vw,54px);display:grid;position:relative;overflow:hidden}.skills-signal-board:before,.skills-signal-board:after{content:"";pointer-events:none;position:absolute}.skills-signal-board:before{z-index:-2;background-color:#0000;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:52px 52px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 24% 82%,#0000);mask-image:linear-gradient(90deg,#0000,#000 24% 82%,#0000)}.skills-signal-board:after{z-index:-1;background:linear-gradient(90deg,#0000,#222bc157,#0000);width:34%;animation:1.4s cubic-bezier(.4,0,.2,1) .18s both skills-signal-sweep;top:0;bottom:0;left:0;transform:translate(-120%)}.skills-signal-status{align-items:center;gap:14px;display:flex}.skills-signal-status>span:last-child{gap:5px;display:grid}.skills-signal-status small,.skills-signal-copy small{color:#fbfaf794;letter-spacing:.13em;text-transform:uppercase;font-size:.58rem;font-weight:700}.skills-signal-status strong{letter-spacing:.04em;font-size:.76rem;font-weight:620}.skills-signal-pulse{border:1px solid #fbfaf742;border-radius:50%;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid;position:relative}.skills-signal-pulse:before,.skills-signal-pulse i{content:"";border-radius:50%;display:block}.skills-signal-pulse:before{border:1px solid #fbfaf726;width:24px;height:24px;animation:2.2s cubic-bezier(.4,0,.2,1) 2 skills-signal-ring;position:absolute}.skills-signal-pulse i{background:#5864ff;width:7px;height:7px;box-shadow:0 0 18px #5864ffd6}.skills-signal-copy{gap:8px;animation:.42s cubic-bezier(.05,.7,.1,1) both skills-signal-enter;display:grid}.skills-signal-copy>strong{font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.045em;font-size:clamp(1.7rem,3vw,3.1rem);font-weight:470;line-height:.96}.skills-signal-copy p{color:#fbfaf7ad;text-wrap:pretty;max-width:620px;margin:2px 0 0;font-size:.88rem;line-height:1.55}.skills-signal-tags{flex-wrap:wrap;grid-column:2;justify-content:flex-start;gap:8px;display:flex}.skills-signal-tags span{color:#fbfaf7b8;min-height:28px;animation:.38s cubic-bezier(.05,.7,.1,1) both skills-tag-enter;animation-delay:calc(var(--signal-order) * 45ms);border:1px solid #fbfaf72e;border-radius:999px;align-items:center;padding:5px 10px;font-size:.64rem;font-weight:580;display:inline-flex}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.skills-grid-compact{border-top:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,1fr))}.skill-group{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--paper-light);min-height:300px;padding:clamp(32px,4vw,56px);transition:background .42s cubic-bezier(.4,0,.2,1),box-shadow .42s cubic-bezier(.4,0,.2,1),transform .42s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.skill-group:before{background:var(--cobalt);content:"";transform-origin:0;height:3px;transition:transform .42s cubic-bezier(.05,.7,.1,1);position:absolute;top:0;left:0;right:0;transform:scaleX(.09)}.skill-group:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(90deg,#0000,#222bc114,#0000);width:18%;position:absolute;top:0;bottom:0;left:-28%;transform:skew(-12deg)}.skill-group:nth-child(2n){border-right:0}.skill-group-head{justify-content:space-between;align-items:flex-start;gap:24px;margin:0 0 30px;display:flex}.skill-group-title{gap:10px;display:grid}.skill-group-title>span{color:var(--cobalt);letter-spacing:.12em;font-size:.62rem;font-weight:700}.skill-group-select{border:1px solid var(--rule);min-width:96px;min-height:44px;color:var(--muted-ink);cursor:pointer;font:inherit;letter-spacing:.08em;text-transform:uppercase;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 14px;font-size:.62rem;font-weight:680;transition:border-color .14s cubic-bezier(.2,0,0,1),background .14s cubic-bezier(.2,0,0,1),color .14s cubic-bezier(.2,0,0,1),transform .14s cubic-bezier(.2,0,0,1);display:inline-flex}.skill-group-select i{background:0 0;border:1px solid;border-radius:50%;width:7px;height:7px;transition:background .22s cubic-bezier(.4,0,.2,1),box-shadow .22s cubic-bezier(.4,0,.2,1);display:block}.skill-group-select:active{transform:scale(.97)}.skill-group-select:focus-visible{outline:2px solid var(--cobalt);outline-offset:3px}.skill-group h3,.education-detail h3{letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:680}.skill-group h3{color:var(--ink)}.skill-group-summary{max-width:500px;min-height:48px;color:var(--muted-ink);text-wrap:pretty;margin:0 0 26px;font-size:.84rem;line-height:1.5}.education-detail h3{color:var(--cobalt);margin-bottom:28px}.skill-group ul{flex-wrap:wrap;gap:0;margin:0;padding:0;list-style:none;display:flex}.skill-group li{font-family:var(--font-archivo), Arial, sans-serif;font-size:clamp(1.18rem,1.7vw,1.55rem);font-weight:470;line-height:1.55;position:relative}.skills-grid-compact .skill-group{min-height:0;padding:clamp(26px,2.6vw,40px)}.skills-grid-compact .skill-group ul{gap:8px;display:grid}.skills-grid-compact .skill-group li{font-size:clamp(.98rem,1.1vw,1.12rem);line-height:1.35}.skills-grid-compact .skill-group li:not(:last-child):after{content:none}.skill-group li:not(:last-child):after{color:#17121452;content:"·";margin:0 10px}.skill-workflows{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));margin:clamp(30px,4vw,48px) 0 0;display:grid}.skill-workflow{gap:24px;padding:clamp(26px,3vw,40px) clamp(22px,3vw,38px) clamp(28px,3vw,42px) 0;display:grid}.skill-workflow+.skill-workflow{border-left:1px solid var(--rule);padding-left:clamp(22px,3vw,38px);padding-right:0}.skill-workflow:last-child:nth-child(odd){border-top:1px solid var(--rule);border-left:0;grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding-left:0;padding-right:0}.skill-workflow:last-child:nth-child(odd) .skill-workflow-heading{align-self:start}.skill-workflow:last-child:nth-child(odd) dl{align-self:center;margin-left:0}.skill-workflow:last-child:nth-child(odd) .built-skill-link{grid-column:2;margin-left:0}.skill-workflow-heading{grid-template-columns:28px minmax(0,1fr);gap:14px;display:grid}.skill-workflow-heading>span,.skill-workflow dt{color:var(--cobalt);letter-spacing:.12em;text-transform:uppercase;font-size:.6rem;font-weight:700}.skill-workflow h3{font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.025em;margin:0 0 8px;font-size:clamp(1.2rem,2vw,1.7rem);font-weight:520}.skill-workflow-heading small{color:var(--cobalt);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:.58rem;font-weight:700;display:block}.skill-workflow-heading p,.skill-workflow dd,.skill-evidence-note{color:var(--muted-ink);line-height:1.55}.built-skills-section{border-top:1px solid var(--rule);background:var(--paper)}.built-skills-content{min-width:0;container-type:inline-size}.built-skills-intro{max-width:720px;color:var(--ink);font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.035em;text-wrap:balance;margin:0;padding:clamp(38px,5vw,68px) 0 clamp(28px,4vw,48px);font-size:clamp(1.45rem,2.5vw,2.6rem);font-weight:470;line-height:1.08}.built-skills-content .skill-workflows{margin-top:0}.built-skill-link{width:fit-content;min-height:44px;color:var(--cobalt);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;margin-left:42px;font-size:.72rem;font-weight:700;display:inline-flex}.built-skill-link svg{width:16px;height:16px;transition:transform .18s cubic-bezier(.2,0,0,1)}.built-skill-link:hover svg,.built-skill-link:focus-visible svg{transform:translate(3px,-3px)}.built-skill-link:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.skill-workflow-heading p{max-width:48ch;margin:0;font-size:.83rem}.skill-workflow dl{gap:18px;margin:0 0 0 42px;display:grid}.skill-workflow dl>div{grid-template-columns:minmax(104px,.28fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.skill-workflow dt{padding-top:3px}.skill-workflow dd{margin:0;font-size:.8rem}.skill-evidence-note{border-left:2px solid var(--cobalt);max-width:92ch;margin:22px 0 0;padding-left:14px;font-size:.8rem}@container (max-width:680px){.skill-workflows{grid-template-columns:1fr}.skill-workflow,.skill-workflow+.skill-workflow{border-left:0;padding:26px 0 28px}.skill-workflow:last-child:nth-child(odd){grid-column:auto;grid-template-columns:1fr;padding:26px 0 28px;display:grid}.skill-workflow:last-child:nth-child(odd) .built-skill-link{grid-column:auto}.skill-workflow+.skill-workflow{border-top:1px solid var(--rule)}.skill-workflow dl,.built-skill-link{margin-left:0}}@media (hover:hover) and (pointer:fine){.skill-group:hover{background:var(--brand-blue-wash)}.skill-group:hover:before,.skill-group.is-active:before{transform:scaleX(1)}}.skill-group.is-active{z-index:1;background:var(--brand-blue-wash);box-shadow:inset 0 0 0 1px #222bc11f}.skill-group.is-active:before{transform:scaleX(1)}.skill-group.is-active:after{opacity:1;animation:1.1s cubic-bezier(.05,.7,.1,1) both skill-card-scan}.skill-group.is-active .skill-group-select{border-color:var(--cobalt);background:var(--cobalt);color:var(--paper-light)}.skill-group.is-active .skill-group-select i{background:currentColor;box-shadow:0 0 10px #fbfaf799}.skill-group.is-active li{animation:.38s cubic-bezier(.05,.7,.1,1) both skill-item-enter;animation-delay:calc(var(--skill-order) * 24ms)}@keyframes skills-signal-sweep{0%{transform:translate(-120%)}to{transform:translate(410%)}}@keyframes skills-signal-ring{0%,to{opacity:.35;transform:scale(.72)}50%{opacity:1;transform:scale(1)}}@keyframes skills-signal-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translate(0,0)}}@keyframes skills-tag-enter{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0,0)}}@keyframes skill-card-scan{0%{transform:translate(0,0)skew(-12deg)}to{transform:translate(760%)skew(-12deg)}}@keyframes skill-item-enter{0%{opacity:.35;transform:translateY(7px)}to{opacity:1;transform:translate(0,0)}}.education-section{--utm-blue:#1e3765;border-top:1px solid var(--rule)}.education-content{border-top:1px solid var(--rule);container:education/inline-size}.education-record{border-bottom:1px solid var(--rule);background:var(--paper-light);isolation:isolate;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main signature";gap:clamp(42px,6cqw,78px);padding:clamp(42px,6cqw,78px);display:grid;position:relative;overflow:hidden}.education-record:before{background:var(--cobalt);content:"";width:48px;height:3px;position:absolute;top:0;left:0}.utm-signature-panel{z-index:1;background:var(--utm-blue);grid-area:signature;align-self:start;width:clamp(170px,22cqw,230px);margin:0;padding:clamp(18px,2.4cqw,26px);display:grid}.utm-signature{object-fit:contain;width:100%;height:auto}.education-record-main{z-index:1;grid-area:main;align-content:start;min-width:0;display:grid;position:relative}.education-record-meta{z-index:2;color:var(--utm-blue);letter-spacing:.13em;text-transform:uppercase;border-bottom:1px solid #1e376533;justify-content:space-between;gap:24px;padding-bottom:18px;font-size:.58rem;font-weight:680;line-height:1.4;display:flex;position:relative}.education-degree-title{z-index:2;max-width:680px;padding:clamp(52px,7cqw,86px) 0 clamp(38px,5cqw,62px);position:relative}.education-degree-title h3{font-family:var(--font-bodoni-moda), "Times New Roman", serif;font-optical-sizing:auto;letter-spacing:-.055em;text-wrap:balance;white-space:normal;margin-top:18px;font-size:clamp(2.55rem,5.2cqw,3.35rem);font-weight:520;line-height:1}.education-degree-title h3 em{color:var(--utm-blue);margin-left:.08em;font-style:italic;font-weight:470;display:inline}@container education (min-width:620px){.education-degree-title h3{text-wrap:nowrap;white-space:nowrap}}.education-school{min-height:44px;color:var(--ink);letter-spacing:.06em;text-underline-offset:6px;align-items:center;gap:10px;margin-top:24px;font-size:.78rem;font-weight:650;line-height:1.4;text-decoration-color:#1e376561;text-decoration-thickness:1px;display:inline-flex}.education-school svg{flex:none;transition:transform .12s cubic-bezier(.2,0,0,1)}.education-school:focus-visible{outline:2px solid var(--cobalt);outline-offset:5px;border-radius:2px}@media (hover:hover) and (pointer:fine){.education-school:hover{color:var(--utm-blue)}.education-school:hover svg{transform:translate(3px,-3px)}}.education-programs{z-index:2;border-top:1px solid #1e376533;border-bottom:1px solid #1e376533;grid-template-columns:minmax(140px,.7fr) minmax(240px,1.3fr);display:grid;position:relative}.education-programs p{border-right:1px solid #1e376533;grid-template-columns:10px minmax(0,1fr);align-items:start;gap:12px;min-width:0;margin:0;padding:18px 20px;font-size:clamp(.76rem,1vw,.88rem);font-weight:620;line-height:1.45;display:grid;position:relative}.education-programs p:last-child{border-right:0}.education-programs p>span{background:var(--cobalt);color:#0000;border-radius:50%;width:6px;height:6px;margin-top:.48em;overflow:hidden}.education-year{z-index:0;color:#1e37655c;font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:.2em;pointer-events:none;text-transform:uppercase;-webkit-user-select:none;user-select:none;writing-mode:vertical-rl;font-size:.68rem;font-weight:680;line-height:1;position:absolute;bottom:clamp(24px,3cqw,42px);right:clamp(8px,1.2cqw,16px)}.education-detail{border-bottom:1px solid var(--rule);grid-template-columns:1.35fr .65fr;display:grid}.education-detail article{border-right:1px solid var(--rule);min-height:300px;padding:clamp(34px,4vw,56px);position:relative}.education-detail article:before{background:var(--cobalt);content:"";width:36px;height:3px;position:absolute;top:0;left:0}.education-detail article:last-child{border-right:0}.education-detail-heading{justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:clamp(34px,5vw,60px);display:flex}.education-detail-heading h3{margin-bottom:0}.education-detail-heading span{color:var(--muted-ink);letter-spacing:.1em;text-align:right;text-transform:uppercase;font-size:.58rem;font-weight:620}.course-list{border-top:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;display:grid}.course-list li{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);font-family:var(--font-archivo), Arial, sans-serif;padding:18px 14px 18px 28px;font-size:clamp(1rem,1.4vw,1.32rem);font-weight:490;line-height:1.35;position:relative}.course-list li:nth-child(2n){border-right:0}.course-list li:before{background:var(--cobalt);content:"";width:8px;height:1px;position:absolute;top:50%;left:8px}.continuing-study-list{border-top:1px solid var(--rule)}.continuing-study-list p{border-bottom:1px solid var(--rule);font-family:var(--font-bodoni-moda), "Times New Roman", serif;grid-template-columns:72px minmax(0,1fr);gap:16px;margin:0;padding:20px 0;font-size:clamp(1.15rem,1.6vw,1.5rem);font-weight:520;line-height:1.25;display:grid}.continuing-study-list span{color:var(--utm-blue);font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:.1em;text-transform:uppercase;padding-top:.35em;font-size:.56rem;font-weight:680;line-height:1.4}@container education (max-width:820px){.education-record{grid-template-columns:1fr;grid-template-areas:"signature""main";gap:42px}.utm-signature-panel{width:190px;padding:20px}.utm-signature{width:100%}.education-record-main{min-height:0}.education-degree-title h3{font-size:clamp(2.55rem,5.2cqw,3.35rem)}.education-detail{grid-template-columns:1fr}.education-detail article{border-right:0;border-bottom:1px solid var(--rule);min-height:auto}.education-detail article:last-child{border-bottom:0}}.contact{min-height:74svh;padding:clamp(100px, 12vw, 170px) max(clamp(24px, 6vw, 104px), env(safe-area-inset-right)) max(clamp(54px, 7vw, 92px), env(safe-area-inset-bottom)) max(clamp(24px, 6vw, 104px), env(safe-area-inset-left));background:var(--ink);color:var(--paper-light);isolation:isolate;grid-template-columns:minmax(260px,.7fr) minmax(520px,1.3fr);align-items:start;gap:clamp(70px,10vw,180px);display:grid;position:relative;overflow:hidden}.contact>:not(.contact-brand-mark){z-index:1;position:relative}.contact-brand-mark{z-index:0;opacity:.82;pointer-events:none;-webkit-user-select:none;user-select:none;width:clamp(760px,72vw,1160px);max-width:none;height:auto;position:absolute;bottom:clamp(80px,12vw,170px);left:clamp(-300px,-17vw,-120px)}.contact .section-index{color:#f8f7f29e}.contact h2{margin-top:30px;font-size:clamp(4.8rem,8vw,9rem)}.contact-intro>p:last-child{color:#f8f7f2b8;max-width:400px;margin:0;font-size:.95rem;line-height:1.62}.contact-links{border-top:1px solid var(--light-rule)}.contact-links a{border-bottom:1px solid var(--light-rule);grid-template-columns:88px minmax(0,1fr) 22px;align-items:center;gap:20px;min-height:112px;transition:color .18s cubic-bezier(.4,0,.2,1);display:grid}.contact-links a:hover,.contact-links a:focus-visible{color:var(--brand-blue-soft)}.contact a:focus-visible{outline-color:var(--paper-light)}.contact-links span{color:#f8f7f28f;letter-spacing:.1em;text-transform:uppercase;font-size:.66rem;font-weight:650}.contact-links strong{overflow-wrap:anywhere;min-width:0;font-family:var(--font-archivo), Arial, sans-serif;font-size:clamp(1.1rem,2vw,1.7rem);font-weight:500}.contact-links svg{stroke-width:1.5px;width:19px;height:19px;transition:transform .18s cubic-bezier(.4,0,.2,1)}.contact-links a:hover svg,.contact-links a:focus-visible svg{transform:translate(3px,-3px)}.contact-foot{border-top:1px solid var(--light-rule);color:#f8f7f28f;letter-spacing:.12em;text-transform:uppercase;grid-column:1/-1;margin:clamp(60px,8vw,120px) 0 0;padding-top:20px;font-size:.66rem;font-weight:600}.work-gateway{min-height:72svh;padding:clamp(100px, 11vw, 170px) max(clamp(24px, 6vw, 104px), env(safe-area-inset-right)) clamp(100px, 11vw, 170px) max(clamp(24px, 6vw, 104px), env(safe-area-inset-left));border-top:1px solid var(--rule);background:var(--paper-light);isolation:isolate;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);align-items:center;gap:clamp(64px,10vw,170px);display:grid;position:relative;overflow:hidden}.work-gateway-mark{z-index:-1;opacity:.055;pointer-events:none;width:min(920px,72vw);max-width:none;height:auto;position:absolute;bottom:-280px;right:-170px}.work-gateway-copy h2{max-width:820px;font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.07em;text-wrap:balance;margin:28px 0 30px;font-size:clamp(4rem,7vw,8rem);font-weight:490;line-height:.88}.work-gateway-copy>p:last-child{max-width:590px;color:var(--muted-ink);margin:0;font-size:1rem;line-height:1.65}.work-gateway-link{--scroll-focus:0;border:1px solid var(--ink);background:var(--ink);min-height:290px;color:var(--paper-light);font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.04em;transition:transform var(--motion-standard) var(--ease-brand);isolation:isolate;align-content:space-between;padding:clamp(28px,3vw,44px);font-size:clamp(1.7rem,3vw,3rem);font-weight:500;line-height:1;display:grid;position:relative;overflow:hidden}.work-gateway-link>:not(.work-gateway-preview){z-index:2;position:relative}.work-gateway-preview{z-index:0;opacity:.2;transform-origin:50%;transition:transform var(--motion-slow) var(--ease-brand), opacity var(--motion-standard) var(--ease-brand);position:absolute;inset:0;transform:scaleY(.08)}.work-gateway-preview:after{content:"";background:linear-gradient(135deg,#171214ad,#171214f0);position:absolute;inset:0}.work-gateway-preview img{object-fit:cover;transition:transform var(--motion-slow) var(--ease-brand);transform:scale(1.08)}html.motion-ready .work-gateway-link[data-scroll-focus] .work-gateway-preview{opacity:calc(.2 + var(--scroll-focus) * .34);transform:scaleY(calc(.08 + var(--scroll-focus) * .92))}html.motion-ready .work-gateway-link[data-scroll-focus] .work-gateway-preview img{transform:scale(calc(1.08 - var(--scroll-focus) * .08))}.work-gateway-link>svg{stroke-width:1.35px;width:28px;height:28px;transition:transform var(--motion-standard) var(--ease-brand);position:absolute;bottom:32px;right:32px}.work-gateway-label{gap:8px;max-width:82%;display:grid}.work-gateway-label small{color:#f8f7f29e;font-family:var(--font-space-grotesk), "Helvetica Neue", Arial, sans-serif;letter-spacing:.12em;text-transform:uppercase;font-size:.62rem;font-weight:650}.work-gateway-signal{background:var(--light-rule);transform-origin:0;width:100%;height:1px;display:block;position:relative}.work-gateway-signal:before,.work-gateway-signal span{border:1px solid var(--paper-light);background:var(--ink);content:"";border-radius:50%;width:12px;height:12px;position:absolute;top:50%;transform:translateY(-50%)}.work-gateway-signal:before{left:0}.work-gateway-signal span{background:var(--cobalt);transition:transform var(--motion-standard) var(--ease-brand);right:0}.work-gateway-link:hover,.work-gateway-link:focus-visible{transform:translateY(-8px)}.work-gateway-link:hover .work-gateway-preview,.work-gateway-link:focus-visible .work-gateway-preview{opacity:.54;transform:scaleY(1)}.work-gateway-link:hover .work-gateway-preview img,.work-gateway-link:focus-visible .work-gateway-preview img{transform:scale(1)}.work-gateway-link:hover .work-gateway-signal span,.work-gateway-link:focus-visible .work-gateway-signal span{transform:translate(-50px,-50%)scale(1.35)}.work-gateway-link:hover>svg,.work-gateway-link:focus-visible>svg{transform:translate(5px,-5px)}.work-transition{z-index:200;padding:max(32px, env(safe-area-inset-top)) max(clamp(24px, 7vw, 120px), env(safe-area-inset-right)) max(32px, env(safe-area-inset-bottom)) max(clamp(24px, 7vw, 120px), env(safe-area-inset-left));background:var(--cobalt);color:var(--paper-light);visibility:hidden;pointer-events:none;grid-template-columns:auto 1fr;align-content:center;gap:10px clamp(18px,3vw,44px);display:grid;position:fixed;inset:0;transform:translateY(100%)}.work-transition span{letter-spacing:.16em;text-transform:uppercase;align-self:end;padding-bottom:.2em;font-size:clamp(.65rem,1vw,.82rem);font-weight:680}.work-transition strong{font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.08em;text-transform:uppercase;font-size:clamp(6rem,20vw,19rem);font-weight:480;line-height:.68}.work-transition i{background:var(--paper-light);transform-origin:0;grid-column:1/-1;width:100%;height:2px;margin-top:clamp(22px,4vw,54px);display:block;transform:scaleX(0)}.work-transition.is-active{visibility:visible;pointer-events:auto;animation:work-transition-enter .62s var(--ease-brand) both}.work-transition.is-active strong,.work-transition.is-active span{animation:work-transition-copy .43s .15s var(--ease-brand) both}.work-transition.is-active i{animation:work-transition-line .36s .23s var(--ease-brand) both}.work-page{--work-progress:0;background:var(--ink);min-width:320px;color:var(--paper-light);overflow:clip}.work-progress{z-index:45;pointer-events:none;background:#f8f7f224;width:3px;position:fixed;top:76px;bottom:0;right:0}.work-progress span{background:var(--cobalt);width:100%;height:100%;transform:scaleY(var(--work-progress));transform-origin:top;transition:transform 80ms linear;display:block}.work-hero{--work-x:0;--work-y:0;min-height:max(100svh,780px);padding:calc(76px + clamp(44px, 5vw, 74px)) max(clamp(24px, 4vw, 72px), env(safe-area-inset-right)) clamp(54px, 6vw, 88px) max(clamp(24px, 4vw, 72px), env(safe-area-inset-left));isolation:isolate;grid-template-columns:minmax(360px,.82fr) minmax(620px,1.18fr);align-items:center;gap:clamp(30px,4vw,80px);display:grid;position:relative;overflow:hidden}.work-hero:before,.work-hero:after{z-index:-1;content:"";pointer-events:none;background:#f8f7f21a;position:absolute}.work-hero:before{width:1px;top:76px;bottom:0;left:42%}.work-hero:after{height:1px;bottom:12%;left:0;right:0}.work-hero-copy{z-index:2;animation:work-copy-in var(--motion-slow) var(--ease-brand) both;position:relative}.work-hero-copy>p:first-child,.work-slots-heading>p:first-child,.work-close>p:first-child{color:var(--brand-blue-soft);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:680}.work-hero h1{font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.075em;text-transform:uppercase;margin:clamp(34px,5vh,64px) 0 0;font-size:clamp(5.6rem,9vw,10rem);font-weight:480;line-height:.76;display:grid}.work-hero h1 span:last-child{color:#0000;-webkit-text-stroke:1.2px var(--paper-light);margin-left:clamp(28px,4vw,64px)}.work-hero-intro{color:#f8f7f2b3;max-width:470px;margin:clamp(36px,5vh,58px) 0 0 clamp(28px,4vw,64px);font-size:clamp(.95rem,1.1vw,1.08rem);line-height:1.6}.work-hero-action{border-bottom:1px solid var(--light-rule);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:14px;min-height:48px;margin:28px 0 0 clamp(28px,4vw,64px);font-size:.7rem;font-weight:660;display:inline-flex}.work-hero-action svg{stroke-width:1.5px;width:17px;height:17px;transition:transform var(--motion-standard) var(--ease-brand)}.work-hero-action:hover svg,.work-hero-action:focus-visible svg{transform:translate(5px,5px)}.work-orbit{aspect-ratio:1;perspective:1200px;width:min(48vw,690px);transform:translate3d(calc(var(--work-x) * 12px), calc(var(--work-y) * 8px), 0) rotateX(calc(var(--work-y) * -3deg)) rotateY(calc(var(--work-x) * 4deg));transform-style:preserve-3d;transition:transform var(--motion-standard) var(--ease-brand);animation:work-orbit-in .9s .1s var(--ease-brand) both;will-change:transform;justify-self:end;position:relative}.work-orbit-rails,.work-orbit-rails i{border:1px solid #f8f7f22b;border-radius:50%;position:absolute;inset:50%;transform:translate(-50%,-50%)}.work-orbit-rails{width:100%;height:100%}.work-orbit-rails i:first-child{width:76%;height:76%}.work-orbit-rails i:nth-child(2){width:53%;height:53%}.work-orbit-rails i:nth-child(3){border:0;border-left:1px solid #f8f7f21f;border-radius:0;width:1px;height:100%}.work-orbit-core{aspect-ratio:1.48;background:var(--paper-light);clip-path:polygon(0 0,100% 0,100% 72%,78% 100%,0 100%);place-items:center;width:58%;display:grid;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate3d(-50%,-50%,46px)}.work-core-logo-window{aspect-ratio:1.5;width:78%;display:block;position:relative;overflow:hidden}.work-core-logo{width:156%;max-width:none;height:auto;position:absolute;top:-65%;left:-28%}.work-orbit-node{z-index:4;background:var(--ink);min-width:104px;min-height:48px;color:var(--paper-light);letter-spacing:.12em;text-transform:uppercase;transition:color var(--motion-quick) ease, background var(--motion-quick) ease, border-color var(--motion-quick) ease, transform var(--motion-standard) var(--ease-brand);border:1px solid #f8f7f257;border-radius:0;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:.64rem;font-weight:680;display:inline-flex;position:absolute}.work-orbit-node span{color:#f8f7f27a;font-size:.56rem}.work-orbit-node:hover,.work-orbit-node:focus-visible,.work-orbit-node[aria-pressed=true]{border-color:var(--paper-light);background:var(--paper-light);color:var(--cobalt)}.work-orbit-node[aria-pressed=true]{transform:scale(1.08)}.work-orbit-node[aria-pressed=true] span{color:var(--cobalt)}.work-orbit-node-1{top:3%;left:50%;transform:translate(-50%)}.work-orbit-node-2{top:50%;right:-2%;transform:translateY(-50%)}.work-orbit-node-3{bottom:3%;left:50%;transform:translate(-50%)}.work-orbit-node-4{top:50%;left:-2%;transform:translateY(-50%)}.work-orbit-node-5{top:16%;left:12%;transform:rotate(-7deg)}.work-orbit-node-1[aria-pressed=true],.work-orbit-node-3[aria-pressed=true]{transform:translate(-50%)scale(1.08)}.work-orbit-node-2[aria-pressed=true],.work-orbit-node-4[aria-pressed=true]{transform:translateY(-50%)scale(1.08)}.work-orbit-node-5[aria-pressed=true]{transform:rotate(-7deg)scale(1.08)}.work-orbit-readout{z-index:3;background:var(--cobalt);max-width:230px;color:var(--paper-light);gap:6px;padding:12px 14px;display:grid;position:absolute;bottom:19%;right:15%;transform:translateZ(70px)}.work-orbit-readout span{letter-spacing:.11em;text-transform:uppercase;font-size:.55rem;font-weight:650}.work-orbit-readout strong{font-family:var(--font-archivo), Arial, sans-serif;font-size:.9rem;font-weight:520}.work-slots{padding:clamp(120px, 13vw, 200px) max(clamp(24px, 6vw, 104px), env(safe-area-inset-right)) clamp(120px, 13vw, 200px) max(clamp(24px, 6vw, 104px), env(safe-area-inset-left));background:var(--paper);color:var(--ink);grid-template-columns:minmax(260px,.52fr) minmax(0,1.48fr);align-items:start;gap:clamp(64px,9vw,150px);display:grid}.work-slots>*,.project-slot-list,.project-slot-shell{min-width:0}.work-slots-heading{position:sticky;top:128px}.work-slots-heading>p:first-child{color:var(--cobalt)}.work-slots-heading h2{font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.067em;text-wrap:balance;margin:28px 0;font-size:clamp(3.7rem,6vw,7rem);font-weight:490;line-height:.88}.work-slots-heading>p:last-child{max-width:430px;color:var(--muted-ink);margin:0;line-height:1.65}.project-slot-list{border-top:1px solid var(--rule)}.project-slot-shell{--slot-x:0;--slot-y:0;perspective:1200px;position:relative}.project-slot-shell:before{z-index:3;background:var(--cobalt);content:"";opacity:0;transform-origin:top;width:3px;transition:opacity var(--motion-quick) ease, transform var(--motion-standard) var(--ease-brand);pointer-events:none;position:absolute;top:0;bottom:0;left:0;transform:scaleY(.25)}.project-slot-shell[data-signal-active=true]:before,.project-slot-shell:focus-within:before{opacity:1;transform:scaleY(1)}.project-slot-trigger{border:0;border-bottom:1px solid var(--rule);background:var(--paper);width:100%;min-height:260px;color:var(--ink);text-align:left;transform:rotateX(calc(var(--slot-y) * -2deg)) rotateY(calc(var(--slot-x) * 2deg));transform-style:preserve-3d;transition:background var(--motion-quick) ease, transform var(--motion-standard) var(--ease-brand);will-change:transform;border-radius:0;grid-template-columns:58px minmax(0,1fr) minmax(220px,.68fr) 44px;align-items:center;gap:clamp(20px,3vw,44px);padding:clamp(34px,4vw,56px) 0;display:grid}.project-slot-trigger:hover,.project-slot-trigger:focus-visible,.project-slot-shell[data-signal-active=true] .project-slot-trigger{background:var(--paper-light)}.project-slot-index{color:var(--cobalt);letter-spacing:.12em;align-self:start;font-size:.64rem;font-weight:700}.project-slot-copy{gap:13px;display:grid}.project-slot-status{color:var(--cobalt);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:680}.project-slot-copy strong{font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.055em;font-size:clamp(2rem,3.2vw,3.5rem);font-weight:500;line-height:.95}.project-slot-copy>span:last-child{max-width:520px;color:var(--muted-ink);font-size:.9rem;line-height:1.55}.project-slot-visual{aspect-ratio:1.65;border:1px solid var(--rule);background:var(--paper-light);width:100%;display:block;position:relative;overflow:hidden;transform:translateZ(24px)}.project-slot-visual i{background:var(--ink);transition:transform var(--motion-standard) var(--ease-brand);display:block;position:absolute}.project-slot-visual i:first-child{height:1px;top:22%;left:10%;right:10%}.project-slot-visual i:nth-child(2){width:1px;top:10%;bottom:10%;left:28%}.project-slot-visual i:nth-child(3){background:var(--cobalt);transform-origin:100%;width:42%;height:3px;bottom:16%;right:14%}.project-slot-visual b{color:var(--cobalt);font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.04em;font-size:clamp(1.5rem,2.5vw,2.7rem);font-weight:560;position:absolute;bottom:24%;right:10%}.project-slot-trigger:hover .project-slot-visual i:first-child,.project-slot-trigger:focus-visible .project-slot-visual i:first-child{transform:translate(14%)}.project-slot-trigger:hover .project-slot-visual i:nth-child(2),.project-slot-trigger:focus-visible .project-slot-visual i:nth-child(2){transform:translateY(12%)}.project-slot-trigger:hover .project-slot-visual i:nth-child(3),.project-slot-trigger:focus-visible .project-slot-visual i:nth-child(3){transform:scaleX(1.65)}.project-slot-toggle{border:1px solid var(--rule);align-self:start;place-items:center;width:44px;height:44px;display:grid}.project-slot-toggle svg{stroke-width:1.5px;width:17px;height:17px}.project-slot-panel{background:var(--ink);color:var(--paper-light);animation:slot-panel-in .36s var(--ease-brand) both;grid-template-columns:180px minmax(0,1fr) minmax(200px,.65fr);gap:clamp(24px,4vw,56px);padding:clamp(32px,4vw,54px);display:grid}.project-slot-panel>p{color:var(--brand-blue-soft);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.62rem;font-weight:680}.project-slot-panel ul{gap:12px;margin:0;padding:0;list-style:none;display:grid}.project-slot-panel li{padding-left:18px;font-size:.86rem;line-height:1.45;position:relative}.project-slot-panel li:before{background:var(--brand-blue-soft);content:"";width:7px;height:1px;position:absolute;top:.65em;left:0}.project-slot-panel>span{color:#f8f7f294;font-size:.78rem;line-height:1.55}.work-close{min-height:82svh;padding:clamp(110px, 13vw, 190px) max(clamp(24px, 7vw, 120px), env(safe-area-inset-right)) max(clamp(80px, 10vw, 140px), env(safe-area-inset-bottom)) max(clamp(24px, 7vw, 120px), env(safe-area-inset-left));background:var(--cobalt);color:var(--paper-light);align-content:center;display:grid;position:relative;overflow:hidden}.work-close h2{max-width:1120px;font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.075em;text-wrap:balance;margin:clamp(32px,5vw,62px) 0 32px;font-size:clamp(5rem,10vw,11rem);font-weight:480;line-height:.78}.work-close>p:nth-of-type(2){color:#f8f7f2bd;max-width:600px;margin:0;line-height:1.6}.work-close-actions{flex-wrap:wrap;gap:12px;margin-top:46px;display:flex}.work-close-actions a{letter-spacing:.09em;text-transform:uppercase;min-height:50px;transition:color var(--motion-quick) ease, background var(--motion-quick) ease, transform var(--motion-standard) var(--ease-brand);border:1px solid #f8f7f26b;align-items:center;gap:12px;padding:0 18px;font-size:.7rem;font-weight:680;display:inline-flex}.work-close-actions a:hover,.work-close-actions a:focus-visible{background:var(--paper-light);color:var(--cobalt);transform:translateY(-4px)}.work-close-actions svg{stroke-width:1.5px;width:16px;height:16px}@keyframes work-copy-in{0%{opacity:0;transform:translate(-22px)}to{opacity:1;transform:translate(0,0)}}@keyframes work-orbit-in{0%{opacity:0;transform:translate(28px,12px)scale(.94)}to{opacity:1}}@keyframes slot-panel-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translate(0,0)}}@keyframes hero-name-from-left{0%{opacity:0;transform:translate(-48px)}to{opacity:1;transform:translate(0,0)}}@keyframes language-change-in{0%{opacity:.72;transform:translateY(4px)}to{opacity:1;transform:translate(0,0)}}@keyframes hero-name-from-right{0%{opacity:0;transform:translate(48px)}to{opacity:1;transform:translate(0,0)}}@keyframes portrait-arrive{0%{opacity:0;transform:translate(5%,5%)}to{opacity:1;transform:translate(0,0)}}@keyframes greeting-sway{0%,to{transform:translate(0,0)rotate(-.08deg)}28%{transform:translate(.6px,-1.8px)rotate(.2deg)}52%{transform:translate(-.5px,-.7px)rotate(-.14deg)}76%{transform:translate(.5px,-1.6px)rotate(.16deg)}}@media (pointer:coarse){.avatar-rig{animation:none;transform:none}.motion-toggle{display:none}}@keyframes work-transition-enter{0%{transform:translateY(100%)}to{transform:translate(0,0)}}@keyframes work-transition-copy{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translate(0,0)}}@keyframes work-transition-line{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (hover:none),(pointer:coarse){.work-gateway-preview{opacity:.42;transform:scaleY(1)}.work-gateway-preview img{transform:scale(1)}}@media (max-width:1100px){.hero{min-height:max(100svh,1520px)}.site-header{grid-template-columns:1fr auto}.desktop-nav,.availability{display:none}.header-actions{gap:6px}.menu-button{width:44px;height:44px;color:var(--ink);background:0 0;border:0;justify-self:end;place-items:center;display:grid}.menu-button svg{stroke-width:1.6px;width:22px;height:22px}.mobile-nav{top:calc(76px + env(safe-area-inset-top));border-bottom:1px solid var(--rule);background:var(--paper);max-height:calc(100dvh - 76px - env(safe-area-inset-top));overscroll-behavior:contain;padding:10px clamp(24px,4vw,72px) 26px;display:grid;position:absolute;left:0;right:0;overflow-y:auto;box-shadow:0 24px 50px #1712141f}.mobile-nav>a,.mobile-nav-group-toggle{border-bottom:1px solid var(--rule);width:100%;min-height:54px;color:var(--ink);font-family:var(--font-archivo), Arial, sans-serif;text-align:left;background:0 0;border-top:0;border-left:0;border-right:0;align-items:center;padding:0;font-size:1.05rem;font-weight:520;display:flex}.mobile-nav-group-toggle{cursor:pointer;justify-content:space-between}.mobile-nav-group-toggle svg{stroke-width:1.7px;width:18px;height:18px;transition:transform .18s cubic-bezier(.2,.8,.2,1)}.mobile-nav-group.is-open .mobile-nav-group-toggle{color:var(--cobalt)}.mobile-nav-group.is-open .mobile-nav-group-toggle svg{transform:rotate(180deg)}.mobile-nav-submenu{border-bottom:1px solid var(--rule);padding:6px 0 8px 18px;animation:.18s cubic-bezier(.2,.8,.2,1) mobile-submenu-enter;display:grid}.mobile-nav-submenu[hidden]{display:none}.mobile-nav-submenu a{min-height:48px;color:var(--muted-ink);font-family:var(--font-space-grotesk), "Helvetica Neue", Arial, sans-serif;letter-spacing:.03em;align-items:center;font-size:.9rem;font-weight:560;display:flex;position:relative}.mobile-nav-submenu a:before{background:var(--cobalt);content:"";width:14px;height:1px;margin-right:10px}@keyframes mobile-submenu-enter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.hero-copy{justify-content:flex-start;width:64vw;min-height:auto;padding-top:clamp(110px,16vh,180px)}.hero-title{font-size:clamp(4.8rem,11.8vw,8.2rem)}.portrait-stage{width:54%;left:46%}.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{border-bottom:1px solid var(--rule)}.metric:nth-child(3){border-right:0}.metric:nth-child(4),.metric:nth-child(5){border-bottom:0}.resume-section{gap:70px}.skills-signal-board{grid-template-columns:136px minmax(0,1fr)}.skills-signal-tags{flex-wrap:wrap;grid-column:2;justify-content:flex-start;display:flex}}@media (max-width:820px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.resume-section,.contact{grid-template-columns:minmax(0,1fr);gap:64px}.section-heading{position:relative;top:auto}.contact-links{width:100%}}@media (max-width:760px){:root{--site-header-offset:calc(68px + env(safe-area-inset-top))}.site-header{height:calc(68px + env(safe-area-inset-top));padding-right:max(20px, env(safe-area-inset-right));padding-left:max(20px, env(safe-area-inset-left));gap:8px}.language-toggle{min-width:52px;padding:0 8px}.language-toggle svg{width:14px;height:14px}.wordmark{gap:10px}.brand-logo-window{width:56px;height:38px}.brand-logo-image{width:88px;height:88px;top:-25px;left:-16px}.wordmark-name{font-size:.62rem}.wordmark-role{display:none}.mobile-nav{top:calc(68px + env(safe-area-inset-top));max-height:calc(100dvh - 68px - env(safe-area-inset-top));padding-right:max(20px, env(safe-area-inset-right));padding-bottom:max(26px, env(safe-area-inset-bottom));padding-left:max(20px, env(safe-area-inset-left))}.hero{min-height:max(100svh,1320px);padding-top:calc(68px + env(safe-area-inset-top));padding-right:max(20px, env(safe-area-inset-right));padding-bottom:env(safe-area-inset-bottom);padding-left:max(20px, env(safe-area-inset-left))}.hero-copy{justify-content:flex-start;width:100%;min-height:auto;padding:clamp(34px,7vh,58px) 0 0}.hero-title{margin-top:24px;font-size:clamp(4.3rem,21vw,6.5rem);line-height:.76}.hero-title>span:last-child{margin-left:8vw}.hero-intro,.hero-actions,.hero-facts,.hero-projects{margin-left:0}.hero-facts{grid-template-columns:minmax(0,1fr);width:100%}.hero-facts>div:last-child:nth-child(odd){grid-column:1/-1}.hero-intro{width:min(92%,540px);margin-top:28px;font-size:clamp(1.5rem,7.2vw,2.15rem);line-height:1}.hero-intro em{margin-left:6vw}.hero-actions{margin-top:22px}.primary-action{min-width:174px;min-height:46px;font-size:.67rem}.text-action{font-size:.67rem}.hero-projects{width:min(92%,540px);margin-top:22px}.hero-project-tease{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) 18px;align-items:start;gap:11px 8px;min-height:184px;padding:10px 10px 14px}.hero-project-image{aspect-ratio:16/8.5;grid-column:1/-1;width:100%}.hero-project-copy{grid-column:1;align-self:start}.hero-project-tease>svg{grid-area:2/2;align-self:start}.hero-project-copy strong{font-size:clamp(.85rem,2.5vw,1rem)}.hero-project-copy>span{font-size:.57rem}.portrait-stage{width:100%;top:51%;left:0}.portrait-figure{width:min(125vw,600px);transform:translate3d(calc(-50% + var(--pointer-x) * 10px), calc(var(--pointer-y) * 7px), 0) rotateX(calc(var(--pointer-y) * -2.5deg)) rotateY(calc(var(--pointer-x) * 4deg));bottom:-88px;left:50%}.metric{min-height:150px;padding:28px 20px}.metric strong{font-size:clamp(2.25rem,12vw,3.5rem)}.metric span{font-size:.7rem}.resume-section,.contact{padding-right:max(20px, env(safe-area-inset-right));padding-left:max(20px, env(safe-area-inset-left))}.resume-section{padding-top:104px;padding-bottom:104px}.section-heading h2{font-size:clamp(3.6rem,16vw,5.7rem)}.section-brand-mark{width:320px;top:-78px;left:-78px}.experience-list{padding-left:30px}.experience-list:before{left:10px}.experience-sequence{width:21px;height:21px;font-size:.44rem;left:-30px}.experience-item{grid-template-columns:1fr;gap:18px}.experience-cells{grid-template-columns:minmax(0,1fr)}.experience-cell,.experience-cell:last-child:nth-child(odd){grid-column:auto;min-height:0}.education-record{grid-template-columns:1fr;grid-template-areas:"signature""main";gap:36px;padding:38px 24px 44px}.utm-signature-panel{width:164px;min-height:0;padding:18px}.utm-signature{width:100%}.experience-dates,.education-date{margin:0}.experience-content h3{font-size:clamp(1.6rem,7vw,2.1rem)}.education-record-main{min-height:0;padding:0}.education-record-meta{gap:14px;font-size:.52rem}.education-record-meta span:last-child{text-align:right}.education-degree-title{padding:52px 0 38px}.education-degree-title h3{text-wrap:balance;white-space:normal;font-size:clamp(2.25rem,10.5vw,2.85rem)}.education-degree-title h3 em{margin-left:.08em}.education-school{max-width:280px}.education-programs{grid-template-columns:1fr}.education-programs p{border-bottom:1px solid #1e376533;border-right:0}.education-programs p:last-child{border-bottom:0}.education-year{font-size:.62rem;bottom:24px;right:8px}.experience-cell>span:last-child{font-size:.9rem}.skills-grid{grid-template-columns:1fr}.skills-signal-board{grid-template-columns:minmax(0,1fr);gap:24px;min-height:0;padding:30px 24px}.skills-signal-tags{grid-column:1}.skills-signal-copy>strong{font-size:clamp(1.8rem,9vw,2.65rem)}.skill-group{padding:32px 24px 38px}.skill-group-summary{min-height:0}.skill-group{border-right:0;min-height:auto}.skill-workflows{grid-template-columns:1fr}.skill-workflow,.skill-workflow+.skill-workflow{border-left:0;padding:26px 0 28px}.skill-workflow+.skill-workflow{border-top:1px solid var(--rule)}.skill-workflow dl,.built-skill-link{margin-left:0}.education-detail{grid-template-columns:1fr}.education-detail article{border-right:0;border-bottom:1px solid var(--rule);min-height:auto}.education-detail article:last-child{border-bottom:0}.education-detail-heading{flex-direction:column;align-items:flex-start;gap:10px}.education-detail-heading span{text-align:left}.course-list{grid-template-columns:1fr}.course-list li{border-right:0}.continuing-study-list p{grid-template-columns:70px minmax(0,1fr);gap:14px}.contact{min-height:auto;padding-top:100px;padding-bottom:max(52px, env(safe-area-inset-bottom))}.contact-brand-mark{opacity:.72;width:820px;bottom:240px;left:auto;right:-320px}.contact h2{font-size:clamp(5rem,23vw,7rem)}.contact-links a{grid-template-columns:70px minmax(0,1fr) 20px;gap:12px;min-height:100px}}@media (max-width:440px){.hero{min-height:max(100svh,1320px)}.portrait-stage{top:57%}.portrait-figure{bottom:-100px}.hero-actions{flex-direction:column;align-items:flex-start;gap:8px}.text-action{min-height:44px}.hero-project-tease{min-height:190px}.metrics{grid-template-columns:1fr}.metric,.metric:nth-child(2){border-right:0;border-bottom:1px solid var(--rule)}.metric:nth-child(4){border-bottom:1px solid var(--rule)}.metric:last-child{border-bottom:0}.contact-links a{grid-template-columns:1fr 20px;gap:10px;padding:20px 0}.contact-links span,.contact-links strong{grid-column:1}.contact-links svg{grid-area:1/2/3}}@media (max-width:1320px){.work-hero{grid-template-columns:minmax(0,1fr);gap:70px;min-height:0;padding-top:148px}.work-hero:before{left:50%}.work-hero-copy{width:min(720px,100%)}.work-orbit{justify-self:center;width:min(82vw,690px)}.work-slots{grid-template-columns:minmax(0,1fr);gap:72px}.work-slots-heading{position:relative;top:auto}.work-slots-heading>p:last-child{max-width:620px}.project-slot-trigger{grid-template-columns:52px minmax(0,1fr) minmax(200px,.62fr) 44px}}@media (max-width:820px){.work-gateway{grid-template-columns:minmax(0,1fr);min-height:auto}.work-gateway-link{min-height:240px}}@media (max-width:760px){.work-progress{top:calc(68px + env(safe-area-inset-top))}.work-gateway{padding:100px max(20px, env(safe-area-inset-right)) 100px max(20px, env(safe-area-inset-left));gap:54px}.work-gateway-mark{width:620px;bottom:-120px;right:-230px}.work-gateway-copy h2{font-size:clamp(3.4rem,14.5vw,5.4rem)}.work-gateway-copy>p:last-child{font-size:.92rem}.work-gateway-link{min-height:210px;font-size:clamp(1.8rem,9vw,2.8rem)}.work-hero{padding:calc(68px + 42px) max(20px, env(safe-area-inset-right)) 76px max(20px, env(safe-area-inset-left));gap:68px}.work-hero h1{margin-top:34px;font-size:clamp(4.4rem,21vw,6.6rem)}.work-hero h1 span:last-child,.work-hero-intro,.work-hero-action{margin-left:7vw}.work-hero-intro{max-width:86%;margin-top:34px;font-size:.9rem}.work-orbit{width:min(94vw,470px)}.work-orbit-node{gap:5px;min-width:84px;min-height:44px;padding:0 9px;font-size:.56rem}.work-orbit-node-2{right:-1%}.work-orbit-node-4{left:-1%}.work-orbit-readout{max-width:180px;padding:9px 10px;bottom:16%;right:12%}.work-orbit-readout strong{font-size:.74rem}.work-slots{padding:104px max(20px, env(safe-area-inset-right)) 112px max(20px, env(safe-area-inset-left));gap:58px}.work-slots-heading h2{font-size:clamp(3rem,13.5vw,4.8rem)}.project-slot-trigger{grid-template-columns:36px minmax(0,1fr) 44px;gap:14px;min-height:0;padding:32px 0;transform:none}.project-slot-visual{grid-column:2/-1;width:100%;margin-top:10px;transform:none}.project-slot-toggle{grid-area:1/3}.project-slot-copy strong{font-size:clamp(2.05rem,10vw,3rem)}.project-slot-copy>span:last-child{font-size:.84rem}.project-slot-panel{grid-template-columns:minmax(0,1fr);gap:28px;padding:30px}.work-close{min-height:78svh;padding:104px max(20px, env(safe-area-inset-right)) max(70px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left))}.work-close h2{font-size:clamp(4.2rem,18vw,6.4rem)}.work-close-actions{flex-direction:column;align-items:stretch}.work-close-actions a{justify-content:space-between}}@media (orientation:landscape) and (max-width:1100px) and (max-height:600px){.hero{min-height:1320px}.hero-copy{justify-content:flex-start;width:100%;min-height:auto;padding-top:110px}.hero-title{font-size:clamp(4.3rem,12vw,7rem)}.portrait-stage{width:100%;top:0;left:0}.portrait-figure{width:min(70vw,590px);bottom:-80px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero{--pointer-x:0!important;--pointer-y:0!important}.motion-toggle{display:none}.avatar-rig,.hero-title>span{animation:none!important;transform:none!important}.education-school svg{transform:none!important}html.motion-ready [data-reveal]{opacity:1!important;transform:none!important}[data-scroll-focus]{--scroll-focus:1!important}.work-hero,.work-orbit,.project-slot-trigger{--work-x:0!important;--work-y:0!important;--slot-x:0!important;--slot-y:0!important;transform:none!important}}.scroll-progress{z-index:60;pointer-events:none;height:3px;position:fixed;top:0;left:0;right:0}.scroll-progress span{background:linear-gradient(90deg, var(--cobalt), #6c6cff 60%, #e9bd68);transform-origin:0;will-change:transform;height:100%;display:block;transform:scaleX(0)}body:after{z-index:70;content:"";opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");position:fixed;inset:0}.section-index{align-items:center;gap:10px;display:inline-flex}.section-index:before{content:"";transform-origin:0;width:26px;height:1px;animation:index-rule .9s .2s var(--ease-brand) both;background:currentColor;display:inline-block}@keyframes index-rule{0%{transform:scaleX(0)}to{transform:scaleX(1)}}html.motion-ready .section-heading[data-reveal] h2{clip-path:inset(0 -100vw 100% -20%);transform:translateY(.35em)}html.motion-ready .section-heading[data-reveal].is-visible h2{clip-path:inset(-20% -100vw -20% -20%);transition:clip-path 1s var(--ease-brand), transform 1s var(--ease-brand);transform:none}.ticker{border-bottom:1px solid var(--rule);background:var(--ink);color:var(--paper-light);overflow:hidden}.ticker-track{width:max-content;animation:38s linear infinite ticker-scroll;display:flex}.ticker:hover .ticker-track{animation-play-state:paused}.ticker ul{margin:0;padding:0;list-style:none;display:flex}.ticker li{font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:28px;padding:18px 0 18px 28px;font-size:clamp(1rem,1.6vw,1.45rem);font-weight:480;display:inline-flex}.ticker li:after{color:#8f8fff;content:"✦";font-size:.7em}@keyframes ticker-scroll{0%{transform:translate(0,0)}to{transform:translate(-50%)}}.selected-work{padding:clamp(90px, 10vw, 160px) max(clamp(24px, 6vw, 104px), env(safe-area-inset-right)) clamp(90px, 10vw, 160px) max(clamp(24px, 6vw, 104px), env(safe-area-inset-left));background:radial-gradient(circle at 92% 0%, var(--brand-blue-wash), transparent 42%), var(--paper)}.selected-work-head{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px 40px;margin-bottom:clamp(36px,5vw,64px);display:grid}.selected-work-head .section-index{grid-column:1/-1;margin:0}.selected-work-head h2{font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.065em;margin:0;font-size:clamp(2.8rem,6vw,6.2rem);font-weight:480;line-height:.9}.selected-work-all{border:1px solid var(--ink);letter-spacing:.12em;text-transform:uppercase;min-height:48px;transition:background var(--motion-quick) ease, color var(--motion-quick) ease;align-items:center;gap:10px;padding:0 20px;font-size:.68rem;font-weight:750;display:inline-flex}.selected-work-all:hover,.selected-work-all:focus-visible{background:var(--ink);color:var(--paper-light)}.selected-work-all svg{width:16px}.selected-work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,24px);display:grid}.selected-card{border:1px solid var(--rule);background:var(--paper-light);color:var(--ink);transition:transform .6s var(--ease-brand), box-shadow .6s var(--ease-brand), border-color .3s ease;display:grid;position:relative;overflow:hidden}.selected-card:first-child,.selected-card:nth-child(2){grid-column:span 1}.selected-card.is-featured{border-color:#d2a9658c;grid-area:span 2/span 2;grid-template-rows:1fr auto}.selected-card.is-featured .selected-card-media{aspect-ratio:auto;background:#0a0a0a;min-height:320px}.selected-card.is-featured .selected-card-copy strong{font-size:clamp(1.8rem,3vw,2.8rem)}.selected-card:not(.is-featured):last-child:nth-child(3n+1){grid-column:1/-1}.selected-card:not(.is-featured):last-child:nth-child(3n+1) .selected-card-media{aspect-ratio:16/5}.selected-card-badge{z-index:1;color:#d2a965;letter-spacing:.14em;text-transform:uppercase;background:#0a0a0ab8;border:1px solid #d2a965b3;padding:7px 11px;font-size:.62rem;font-weight:750;position:absolute;top:16px;left:16px}.selected-card-media{aspect-ratio:16/10;background:#0d0d14;display:block;position:relative;overflow:hidden}.selected-card-media img{object-fit:cover;transition:transform 1.2s var(--ease-brand), filter .6s ease}.selected-card-data{background:linear-gradient(135deg, var(--cobalt), #2c2cc4 60%, #12127a);justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.selected-card-data i{color:#fff;letter-spacing:.14em;border:1px solid #ffffff73;padding:10px 12px;font-size:.6rem;font-style:normal;font-weight:750;animation:2.4s ease-in-out infinite data-blink}.selected-card-data i:nth-child(2){animation-delay:.4s}.selected-card-data i:nth-child(3){color:#0b3b1c;background:#b8f5c8;animation-delay:.8s}@keyframes data-blink{0%,to{opacity:.55;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.selected-card-copy{gap:6px;padding:20px 56px 22px 20px;display:grid}.selected-card-copy small{color:var(--cobalt);letter-spacing:.12em;text-transform:uppercase;font-size:.6rem;font-weight:750}.selected-card-copy strong{font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.04em;font-size:clamp(1.4rem,2vw,1.9rem);font-weight:500;line-height:1}.selected-card-copy>span{color:var(--muted-ink);font-size:.86rem}.selected-card>svg{width:22px;height:22px;color:var(--cobalt);transition:transform .5s var(--ease-brand);position:absolute;bottom:24px;right:20px}@media (hover:hover) and (pointer:fine){.selected-card:hover,html.motion-ready .selected-card[data-reveal].is-visible:hover{border-color:var(--cobalt);transform:translateY(-6px);box-shadow:0 30px 60px -36px #0f0f948c}.selected-card:hover .selected-card-media img{filter:saturate(1.15);transform:scale(1.06)}.selected-card:hover>svg{transform:translate(4px,-4px)}}html.motion-ready .selected-card[data-reveal]{transform:translateY(34px)scale(.98)}html.motion-ready .selected-card[data-reveal].is-visible{transition:opacity .9s var(--ease-brand), transform .9s var(--ease-brand), box-shadow .6s var(--ease-brand), border-color .3s ease;transition-delay:calc(var(--reveal-order,0) * 70ms);transform:none}.skills-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.skills-grid-compact .skill-group{transition:background var(--motion-standard) var(--ease-brand)}.skills-grid-compact .skill-group li{transition:color var(--motion-quick) ease, transform var(--motion-standard) var(--ease-brand)}@media (hover:hover) and (pointer:fine){.skills-grid-compact .skill-group:hover{background:var(--brand-blue-wash)}.skills-grid-compact .skill-group li:hover{color:var(--cobalt);transform:translate(6px)}}.hero-project-tease .hero-project-image img,.project-index-image img,.education-record,.skill-workflow,.contact-links a{transition:transform .7s var(--ease-brand), background var(--motion-standard) ease, color var(--motion-standard) ease}@media (hover:hover) and (pointer:fine){.hero-project-tease:hover .hero-project-image img,.project-index-row:hover .project-index-image img{transform:scale(1.07)}.skill-workflow:hover{background:var(--brand-blue-wash)}.contact-links a:hover strong{color:#b3b3ff}}.primary-action{transition:transform var(--motion-standard) var(--ease-brand), box-shadow var(--motion-standard) var(--ease-brand), background var(--motion-quick) ease}.primary-action:hover{box-shadow:0 16px 34px -18px var(--cobalt);transform:translateY(-3px)}.hero-facts>div{animation:fact-in .8s var(--ease-brand) both}.hero-facts>div:first-child{animation-delay:.52s}.hero-facts>div:nth-child(2){animation-delay:.6s}.hero-facts>div:nth-child(3){animation-delay:.68s}@keyframes fact-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@supports (animation-timeline:view()){.selected-card-media img,.case-gallery-frame img{animation:linear both media-parallax;animation-timeline:view();animation-range:entry exit}@keyframes media-parallax{0%{translate:0 -4%}to{translate:0 4%}}}@media (max-width:960px){.selected-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.selected-card.is-featured{grid-row:span 1}.selected-card.is-featured .selected-card-media{aspect-ratio:16/10;min-height:0}.selected-card:not(.is-featured):last-child:nth-child(3n+1){grid-column:auto}.selected-card:not(.is-featured):last-child:nth-child(3n+1) .selected-card-media{aspect-ratio:16/10}}@media (max-width:640px){.selected-work-head,.selected-work-grid,.skills-grid-compact{grid-template-columns:1fr}.selected-card.is-featured{grid-column:auto}}@media (prefers-reduced-motion:reduce){.ticker-track,.selected-card-data i,.hero-facts>div,.section-index:before{animation:none!important}html.motion-ready .section-heading[data-reveal] h2{clip-path:none!important;transform:none!important}}.portrait-stage{contain:layout style}.avatar-layer{width:100%;height:100%;position:absolute;inset:0}.avatar-layer img,.avatar-head-bob img,.avatar-eyes img,img.avatar-layer{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block;position:absolute;inset:0}.avatar-body{transform-origin:50% 58%;will-change:transform;animation:4.6s ease-in-out infinite avatar-breathe}.avatar-arm{transform-origin:84.5% 86%;will-change:transform;animation:7s cubic-bezier(.45,0,.3,1) 1.4s infinite avatar-wave}.avatar-head{transform:translate3d(calc(var(--pointer-x) * 0.22%), 0, 0) rotate(calc(var(--pointer-x) * 2deg + var(--head-tilt,0deg)));transform-origin:49.5% 58.5%;transition:transform .52s var(--ease-brand);will-change:transform}.avatar-head-bob{transform-origin:49.5% 58.5%;animation:4.6s ease-in-out infinite avatar-bob;position:absolute;inset:0}.avatar-eyes{transform:translate3d(calc(var(--pointer-x) * 0.42%), calc(var(--pointer-y) * 0.3%), 0);transition:opacity .16s;position:absolute;inset:0}.avatar-eyes img{animation:5.8s linear infinite avatar-blink}.avatar-blush{opacity:0;pointer-events:none;background:radial-gradient(closest-side,#ff78828c,#0000);border-radius:50%;width:9%;height:4.6%;transition:opacity .26s;position:absolute}.avatar-blush-left{top:39.2%;left:35.6%}.avatar-blush-right{top:37.4%;left:55.8%}.avatar-hit{z-index:4;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:46% 46% 40% 40%;width:46%;height:58%;position:absolute;top:4%;left:24%}.avatar-hit:focus-visible{outline:2px solid var(--cobalt);outline-offset:6px}.avatar-bubble{z-index:5;border:1px solid var(--ink);background:var(--paper-light);color:var(--ink);white-space:nowrap;opacity:0;pointer-events:none;transform-origin:0 100%;transition:opacity .22s ease, transform .42s var(--ease-brand);border-radius:18px 18px 18px 4px;padding:10px 16px;font-size:clamp(.8rem,1vw,.95rem);font-weight:600;position:absolute;top:25%;left:66%;transform:translateY(10px)scale(.9);box-shadow:0 12px 28px -18px #17121499}.avatar-hit:hover~.avatar-bubble,.avatar-hit:focus-visible~.avatar-bubble,.portrait-stage.is-smiling .avatar-bubble{opacity:1;transform:none}.portrait-stage.is-smiling{--head-tilt:-2.5deg}.portrait-stage.is-smiling .avatar-eyes{opacity:0}.portrait-stage.is-smiling .avatar-blush{opacity:1}.portrait-stage.is-smiling .avatar-rig{animation:avatar-hop .62s var(--ease-brand) 2}.portrait-stage.is-smiling .avatar-arm{animation:.42s ease-in-out 4 avatar-wave-fast}.portrait-stage.is-paused .avatar-body,.portrait-stage.is-paused .avatar-arm,.portrait-stage.is-paused .avatar-head-bob,.portrait-stage.is-dormant .avatar-body,.portrait-stage.is-dormant .avatar-arm,.portrait-stage.is-dormant .avatar-head-bob,.portrait-stage.is-dormant .avatar-eyes img{animation-play-state:paused}@keyframes avatar-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.006,1.004)}}@keyframes avatar-bob{0%,to{transform:rotate(0)}30%{transform:rotate(.7deg)}65%{transform:rotate(-.5deg)}}@keyframes avatar-blink{0%,91%,96.6%,to{clip-path:inset(0)}91.05%{clip-path:inset(30.4% 0 0);animation-timing-function:cubic-bezier(.5,0,.9,.6)}92.4%{clip-path:inset(37.9% 0 0)}93.4%{clip-path:inset(37.9% 0 0);animation-timing-function:cubic-bezier(.2,.5,.4,1)}96.5%{clip-path:inset(30.4% 0 0)}}@keyframes avatar-wave{0%,46%,to{transform:rotate(0)}8%{transform:rotate(-6deg)}16%{transform:rotate(5deg)}24%{transform:rotate(-5deg)}32%{transform:rotate(3deg)}40%{transform:rotate(-2deg)}}@keyframes avatar-wave-fast{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}@keyframes avatar-hop{0%,to{transform:translate(0,0)scale(1)}18%{transform:translateY(.4%)scale(1.012,.985)}48%{transform:translateY(-2%)scale(.994,1.01)}}@keyframes avatar-body-hop{0%,to{transform:translate(0,0)scale(1)}15%{transform:translateY(.3%)scale(1.01,.985)}45%{transform:translateY(-1.4%)scale(.995,1.01)}}@media (pointer:coarse){.avatar-hit:hover~.avatar-bubble{opacity:0}.portrait-stage.is-smiling .avatar-bubble{opacity:1}}@media (prefers-reduced-motion:reduce){.avatar-body,.avatar-arm,.avatar-head-bob,.avatar-eyes img,.portrait-stage.is-smiling .avatar-body,.portrait-stage.is-smiling .avatar-arm,.portrait-stage.is-smiling .avatar-head-bob,.portrait-stage.is-smiling .avatar-rig{animation:none!important}.avatar-head{transform:rotate(var(--head-tilt,0deg))}}.site-header:before{content:"";pointer-events:none;background:#f1efe8;height:200px;position:absolute;bottom:100%;left:0;right:0}.hero:before{z-index:-1;content:"";background-image:linear-gradient(#0f0f9412 1px,#0000 1px),linear-gradient(90deg,#0f0f9412 1px,#0000 1px);background-size:56px 56px;animation:24s linear infinite hero-grid-pan;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 80% at 72% 45%,#000 20%,#0000 75%);mask-image:radial-gradient(70% 80% at 72% 45%,#000 20%,#0000 75%)}.hero:after{z-index:-1;aspect-ratio:1;content:"";filter:blur(20px);background:radial-gradient(circle at 40% 40%,#6c6cff4d,#0000 58%),radial-gradient(circle at 70% 70%,#e9bd6838,#0000 55%);border-radius:50%;width:min(62vw,980px);animation:12s ease-in-out infinite alternate hero-glow;position:absolute;top:8%;right:-8%}@keyframes hero-grid-pan{0%{background-position:0 0,0 0}to{background-position:56px 56px,56px 56px}}@keyframes hero-glow{0%{transform:translate(0,0)scale(1)}to{transform:translate(-4%,3%)scale(1.08)}}.hero-status{z-index:6;border:1px solid var(--rule);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;width:min(420px,82%);animation:status-in .9s .7s var(--ease-brand) both;background:#f8f7f2c7;gap:8px;margin-top:clamp(22px,3vh,32px);padding:16px 18px;display:grid;position:relative;box-shadow:0 18px 40px -28px #0f0f9480}.hero-status-row{letter-spacing:.04em;align-items:center;gap:10px;font-size:.78rem;display:flex}.hero-status-row i{background:#1fbf6a;border-radius:50%;width:9px;height:9px;position:relative}.hero-status-row i:after{content:"";border:1px solid #1fbf6a;border-radius:50%;animation:1.8s ease-out infinite status-ping;position:absolute;inset:-5px}.hero-status-place{color:var(--muted-ink);font-size:.72rem}.hero-status-build{border-top:1px solid var(--rule);font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.01em;gap:2px;padding-top:10px;font-size:.95rem;font-weight:520;display:grid}.hero-status-build small{color:var(--cobalt);letter-spacing:.14em;text-transform:uppercase;font-family:inherit;font-size:.58rem;font-weight:750}@keyframes status-in{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes status-ping{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}.avatar-orbit{z-index:0;aspect-ratio:1;width:98%;transform-style:preserve-3d;pointer-events:none;position:absolute;top:-7%;left:8%;transform:rotateX(72deg);container-type:size}.orbit-ring{border:1px solid #0f0f9438;border-radius:50%;position:absolute;inset:6%}.orbit-ring-outer{border-style:dashed;border-color:#0f0f9424;animation:120s linear infinite reverse orbit-spin;inset:0}.orbit-spin{transform-style:preserve-3d;animation:60s linear infinite orbit-spin;position:absolute;inset:0}.orbit-chip{transform:rotateZ(var(--angle)) translateX(47cqw) rotateZ(calc(var(--angle) * -1));transform-style:preserve-3d;position:absolute;top:50%;left:50%}.orbit-chip>span{color:var(--ink);white-space:nowrap;background:#f8f7f2eb;border:1px solid #0f0f9438;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:clamp(.66rem,.8vw,.78rem);font-weight:650;animation:60s linear infinite orbit-counter;display:inline-flex;transform:translate(-50%,-50%)rotate(0)rotateX(-72deg);box-shadow:0 10px 24px -16px #0f0f9499}.orbit-chip>span i{background:var(--cobalt);border-radius:50%;width:7px;height:7px}@keyframes orbit-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes orbit-counter{0%{transform:translate(-50%,-50%)rotate(0)rotateX(-72deg)}to{transform:translate(-50%,-50%)rotate(-360deg)rotateX(-72deg)}}.avatar-smile{opacity:0;transition:opacity .22s;position:absolute;inset:0}.portrait-stage.is-smiling .avatar-smile{opacity:1}@media (max-width:1100px){.hero-status{display:none}}@media (max-width:760px){.avatar-bubble{top:-2%;left:30%}.avatar-orbit{width:112%;top:-16%;left:-9%}.orbit-chip>span{padding:5px 10px;font-size:.6rem}}.skill-bento{grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(12px,1.4vw,20px);display:grid}.bento-card{border:1px solid var(--rule);background:var(--paper-light);isolation:isolate;min-height:320px;transition:transform .6s var(--ease-brand), border-color .3s ease, box-shadow .6s var(--ease-brand);grid-column:span 3;align-content:start;gap:14px;padding:clamp(24px,2.6vw,38px);display:grid;position:relative;overflow:hidden}.bento-card:first-child{background:var(--ink);color:var(--paper-light)}.bento-card:nth-child(4){background:var(--cobalt);color:var(--paper-light)}.bento-glow{z-index:-1;background:radial-gradient(360px circle at var(--mx,50%) var(--my,0%), #6c6cff38, transparent 60%);opacity:0;transition:opacity .4s;position:absolute;inset:0}.bento-card:first-child .bento-glow,.bento-card:nth-child(4) .bento-glow{background:radial-gradient(360px circle at var(--mx,50%) var(--my,0%), #ffffff29, transparent 60%)}.bento-head{justify-content:space-between;align-items:center;display:flex}.bento-icon{width:48px;height:48px;color:var(--cobalt);transition:transform .7s var(--ease-brand);border:1px solid;border-radius:14px;place-items:center;display:grid}.bento-card:first-child .bento-icon,.bento-card:nth-child(4) .bento-icon{color:#c9c9ff}.bento-icon svg{stroke-width:1.6px;width:22px;height:22px}.bento-index{font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.06em;opacity:.16;font-size:clamp(2.4rem,4vw,3.6rem);font-weight:500;line-height:1}.bento-card h3{font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.04em;margin:8px 0 0;font-size:clamp(1.5rem,2.2vw,2.1rem);font-weight:520;line-height:1}.bento-card>p{opacity:.72;max-width:440px;margin:0;font-size:.9rem;line-height:1.55}.bento-chips{flex-wrap:wrap;gap:8px;margin:6px 0 0;padding:0;list-style:none;display:flex}.bento-chips li{transition:background .2s ease, color .2s ease, transform .3s var(--ease-brand);border:1px solid #7f7f7f59;border-radius:999px;padding:7px 12px;font-size:.76rem;font-weight:560}html.motion-ready .bento-card[data-reveal] .bento-chips li{opacity:0;transform:translateY(10px)scale(.92)}html.motion-ready .bento-card[data-reveal].is-visible .bento-chips li{opacity:1;transition:opacity .5s var(--ease-brand), transform .6s var(--ease-brand), background .2s ease, color .2s ease;transition-delay:calc(.24s + var(--chip) * 55ms);transform:none}.bento-count{letter-spacing:.14em;text-transform:uppercase;opacity:.55;align-self:end;margin-top:auto;font-size:.6rem;font-weight:750}@media (hover:hover) and (pointer:fine){.bento-card:hover,html.motion-ready .bento-card[data-reveal].is-visible:hover{border-color:var(--cobalt);transform:translateY(-6px);box-shadow:0 34px 60px -40px #0f0f94b3}.bento-card:hover .bento-glow{opacity:1}.bento-card:hover .bento-icon{transform:rotate(-12deg)scale(1.08)}.bento-chips li:hover{background:var(--cobalt);color:var(--paper-light);border-color:var(--cobalt);transform:translateY(-2px)}.bento-card:nth-child(4) .bento-chips li:hover,.bento-card:first-child .bento-chips li:hover{background:var(--paper-light);color:var(--ink)}}@media (max-width:900px){.bento-card,.bento-card:nth-child(n){grid-column:span 6;min-height:0}}.edu-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:stretch;gap:clamp(16px,2vw,28px);display:grid}.edu-diploma{--px:0;--py:0;background:radial-gradient(circle at 85% 0%, #ffffff24, transparent 45%), linear-gradient(150deg, #13136e 0%, var(--cobalt) 55%, #2b2bc2 100%);min-height:460px;color:var(--paper-light);transform:perspective(1000px) rotateX(calc(var(--py) * -6deg)) rotateY(calc(var(--px) * 8deg));transition:transform .5s var(--ease-brand);isolation:isolate;align-content:start;gap:18px;padding:clamp(26px,3vw,44px);display:grid;position:relative;overflow:hidden}.edu-sheen{z-index:-1;background:linear-gradient(115deg,#0000 40%,#ffffff29 50%,#0000 60%);animation:6s ease-in-out infinite edu-sheen;position:absolute;inset:-50%}.edu-year{z-index:-1;color:#0000;font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.07em;-webkit-text-stroke:1px #ffffff38;font-size:clamp(7rem,14vw,13rem);font-weight:600;line-height:1;position:absolute;bottom:-8%;right:-2%}.edu-diploma-top{justify-content:space-between;align-items:center;gap:16px;display:flex}.edu-logo{width:clamp(140px,14vw,200px);margin:0}.edu-logo img{width:100%;height:auto}.edu-seal{width:92px;height:92px;animation:22s linear infinite edu-seal;position:relative;overflow:visible}.edu-seal text{fill:#ffffffbf;letter-spacing:.18em;font-size:8.4px;font-weight:700}.edu-seal circle{fill:none;stroke:#fff6;stroke-dasharray:3 4}.edu-seal-wrap{flex:none;width:92px;height:92px;position:relative}.edu-cap{color:#ffd98a;pointer-events:none;width:30px;height:30px;margin:auto;position:absolute;inset:0}.edu-meta{letter-spacing:.14em;text-transform:uppercase;opacity:.85;border-top:1px solid #ffffff38;border-bottom:1px solid #ffffff38;justify-content:space-between;padding:14px 0;font-size:.62rem;font-weight:700;display:flex}.edu-diploma h3{font-family:var(--font-bodoni-moda), "Times New Roman", serif;letter-spacing:-.04em;margin:10px 0 0;font-size:clamp(2.2rem,3.6vw,3.6rem);font-weight:500;line-height:.98}.edu-diploma h3 em{color:#ffd98a}.edu-school{width:max-content;transition:gap .3s var(--ease-brand);border-bottom:1px solid #fff6;align-items:center;gap:8px;font-size:.86rem;font-weight:600;display:inline-flex}.edu-school svg{width:16px}.edu-school:hover{gap:14px}.edu-programs{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.edu-programs span{background:#ffffff14;border:1px solid #ffffff59;border-radius:999px;padding:8px 14px;font-size:.78rem;font-weight:560}.edu-side{grid-template-rows:auto 1fr;gap:clamp(16px,2vw,28px);display:grid}.edu-timeline{border:1px solid var(--rule);background:var(--paper-light);gap:22px;margin:0;padding:28px 28px 28px 52px;list-style:none;display:grid;position:relative}.edu-timeline:before{background:linear-gradient(180deg, var(--cobalt), #0f0f9426);content:"";width:1px;transform:scaleY(var(--line,1));transform-origin:top;transition:transform 1.4s var(--ease-brand) .2s;position:absolute;top:36px;bottom:36px;left:28px}html.motion-ready .edu-timeline[data-reveal]:not(.is-visible):before{--line:0}.edu-timeline li{gap:4px;display:grid;position:relative}.edu-timeline li:before{border:2px solid var(--cobalt);background:var(--paper-light);content:"";border-radius:50%;width:11px;height:11px;position:absolute;top:4px;left:-29px}.edu-timeline li:first-child:before{background:var(--cobalt)}.edu-timeline li:not(:first-child):before{animation:2.4s ease-in-out infinite edu-dot}.edu-timeline time{color:var(--cobalt);letter-spacing:.14em;text-transform:uppercase;font-size:.6rem;font-weight:750}.edu-timeline strong{font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.02em;font-size:1.15rem;font-weight:520}.edu-timeline span{color:var(--muted-ink);font-size:.82rem}.edu-threads{border:1px solid var(--rule);background:radial-gradient(circle at 100% 100%, var(--brand-blue-wash), transparent 60%), var(--paper-light);padding:26px 28px}.edu-threads-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px;display:flex}.edu-threads h3{font-family:var(--font-archivo), Arial, sans-serif;margin:0;font-size:1.15rem;font-weight:520}.edu-threads-head span{color:var(--muted-ink);letter-spacing:.12em;text-transform:uppercase;font-size:.66rem;font-weight:650}.edu-threads ul{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.edu-threads li{border:1px solid var(--rule);background:var(--paper);animation:5s ease-in-out infinite chip-float;animation-delay:calc(var(--chip) * -.7s);border-radius:999px;padding:9px 14px;font-size:.8rem;font-weight:560;transition:background .2s,color .2s}.edu-threads li:hover{background:var(--cobalt);color:var(--paper-light)}@keyframes edu-sheen{0%,30%{transform:translate(-30%)}70%,to{transform:translate(30%)}}@keyframes edu-seal{to{transform:rotate(360deg)}}@keyframes edu-dot{0%,to{box-shadow:0 0 #0f0f944d}50%{box-shadow:0 0 0 6px #0f0f9400}}@keyframes chip-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media (max-width:1100px){.edu-layout{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.hero:before,.hero:after,.hero-status,.hero-status-row i:after,.orbit-spin,.orbit-ring-outer,.orbit-chip>span,.edu-sheen,.edu-seal,.edu-threads li,.edu-timeline li:before{animation:none!important}.edu-diploma{transform:none}}.experience-list:before{background:var(--rule)}.experience-list:after{background:linear-gradient(180deg, #6c6cff, var(--cobalt) 70%, #e9bd68);content:"";transform-origin:top;border-radius:3px;width:3px;margin-left:-1px;position:absolute;top:0;bottom:0;left:13px;box-shadow:0 0 14px #6c6cff8c}@supports (animation-timeline:view()){.experience-list:after{animation:linear both exp-fill;animation-timeline:view();animation-range:entry 30% exit 70%}@keyframes exp-fill{0%{transform:scaleY(0)}to{transform:scaleY(1)}}}.experience-sequence{z-index:2;transition:transform .5s var(--ease-brand), box-shadow .5s var(--ease-brand)}.experience-item.is-visible .experience-sequence{box-shadow:0 0 0 6px #0f0f941f}.experience-item:hover .experience-sequence{transform:scale(1.18)}.experience-side{align-content:start;gap:16px;display:grid}.exp-badge{isolation:isolate;border-radius:50%;place-items:center;width:76px;height:76px;display:grid;position:relative}.exp-badge:before{z-index:-2;background:conic-gradient(from 0deg, var(--cobalt), #6c6cff, #e9bd68, var(--cobalt));content:"";border-radius:50%;animation:6s linear infinite badge-spin;position:absolute;inset:0}.exp-badge:after{z-index:-1;background:var(--paper-light);content:"";border-radius:50%;position:absolute;inset:3px}.exp-badge span{color:var(--ink);font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.02em;transition:transform .6s var(--ease-brand);font-size:1.05rem;font-weight:650}.experience-item:hover .exp-badge span{transform:rotateY(360deg)}@keyframes badge-spin{to{transform:rotate(360deg)}}.experience-cell{isolation:isolate}.experience-cell:after{z-index:-1;background:radial-gradient(260px circle at var(--mx,50%) var(--my,0%), #6c6cff2e, transparent 65%);content:"";opacity:0;transition:opacity .3s;position:absolute;inset:0}.experience-cell strong{transition:color .3s}@media (hover:hover) and (pointer:fine){.experience-cell:hover:after{opacity:1}.experience-cell:hover strong{color:var(--cobalt)}}@media (max-width:760px){.exp-badge{width:56px;height:56px}.exp-badge span{font-size:.85rem}}.built-skills-content .skill-workflows{border:0;gap:clamp(14px,1.6vw,22px)}.skill-workflow,.skill-workflow+.skill-workflow,.skill-workflow:last-child:nth-child(odd){border:1px solid var(--rule);background:var(--paper-light);isolation:isolate;transition:transform .6s var(--ease-brand), border-color .3s ease, box-shadow .6s var(--ease-brand);padding:clamp(24px,2.6vw,36px);position:relative;overflow:hidden}.workflow-glow{z-index:-1;background:radial-gradient(320px circle at var(--mx,50%) var(--my,0%), #6c6cff29, transparent 62%);opacity:0;transition:opacity .4s;position:absolute;inset:0}.workflow-numeral{z-index:-1;color:#0000;font-family:var(--font-archivo), Arial, sans-serif;letter-spacing:-.07em;-webkit-text-stroke:1px #0f0f9424;transition:transform .7s var(--ease-brand), -webkit-text-stroke-color .4s ease;font-size:clamp(6rem,10vw,9rem);font-weight:600;line-height:1;position:absolute;bottom:-26px;right:-6px}.skill-workflow-heading small{background:var(--brand-blue-wash);border:1px solid #0f0f9433;border-radius:999px;align-items:center;gap:8px;width:max-content;padding:5px 10px;display:inline-flex}.workflow-led{background:#1fbf6a;border-radius:50%;width:7px;height:7px;animation:1.6s steps(2,end) infinite led-blink;box-shadow:0 0 8px #1fbf6a}@keyframes led-blink{0%,to{opacity:1}50%{opacity:.35}}.workflow-pipe{gap:14px;margin:0;padding-left:26px;display:grid;position:relative}.skill-workflow .workflow-pipe{margin:0}.skill-workflow .workflow-pipe>div{grid-template-columns:1fr;gap:4px;position:relative}.skill-workflow .workflow-pipe dd{margin:0}.workflow-pipe>div:before{border:2px solid var(--cobalt);background:var(--paper-light);content:"";border-radius:50%;width:11px;height:11px;position:absolute;top:3px;left:-26px}.workflow-pipe>div:last-child:before{background:var(--cobalt)}.workflow-pipe:before{background:repeating-linear-gradient(180deg, var(--cobalt) 0 4px, transparent 4px 8px);content:"";opacity:.5;width:1px;position:absolute;top:12px;bottom:18px;left:5px}.workflow-pipe:after{content:"";width:7px;height:7px;animation:2.4s cubic-bezier(.6,0,.4,1) infinite packet;animation-delay:calc(var(--reveal-order,0) * .45s);background:#6c6cff;border-radius:50%;position:absolute;top:12px;left:2px;box-shadow:0 0 10px #6c6cff}@keyframes packet{0%{opacity:0;top:12px}12%{opacity:1}80%{opacity:1}to{opacity:0;top:calc(100% - 20px)}}.workflow-pipe dt{margin-bottom:4px}.built-skill-link{transition:gap .3s var(--ease-brand), color .2s ease}.built-skill-link svg{transition:transform .4s var(--ease-brand)}@media (hover:hover) and (pointer:fine){.skill-workflow:hover,html.motion-ready .skill-workflow[data-reveal].is-visible:hover{border-color:var(--cobalt);transform:translateY(-6px);box-shadow:0 30px 60px -40px #0f0f94b3}.skill-workflow:hover .workflow-glow{opacity:1}.skill-workflow:hover .workflow-numeral{-webkit-text-stroke-color:#0f0f9452;transform:translate(-8px,-8px)}.skill-workflow:hover .built-skill-link svg{transform:translate(3px,-3px)}}@media (max-width:760px){.built-skills-content .skill-workflows,.skill-workflow:last-child:nth-child(odd){grid-template-columns:1fr}.skill-workflow:last-child:nth-child(odd) .built-skill-link{grid-column:auto}}@media (prefers-reduced-motion:reduce){.experience-list:after{animation:none!important;transform:none!important}.exp-badge:before,.workflow-led,.workflow-pipe:after{animation:none!important}}@media (min-width:1101px){.portrait-stage{width:58%;left:42%}.hero-facts{width:min(420px,82%)}.hero-title+.hero-actions{margin-top:clamp(30px,4.5vh,52px)}}.edu-certs{border:1px solid var(--rule);background:radial-gradient(circle at 0% 0%, #1fbf6a1a, transparent 55%), var(--paper-light);padding:26px 28px}.edu-certs ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.edu-certs li{border:1px solid var(--rule);background:var(--paper);transition:transform .4s var(--ease-brand), border-color .3s ease;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.edu-certs li:hover{border-color:#1fbf6a;transform:translate(4px)}.edu-cert-seal{color:#fff;background:#1f8f55;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:700;animation:2.6s ease-in-out infinite edu-dot-green;display:grid}.edu-cert-copy{gap:2px;display:grid}.edu-cert-copy strong{font-family:var(--font-archivo), Arial, sans-serif;font-size:1.02rem;font-weight:560}.edu-cert-copy span{color:var(--muted-ink);font-size:.78rem}.edu-cert-meta{justify-items:end;gap:2px;display:grid}.edu-cert-meta b{color:#1f8f55;letter-spacing:.14em;text-transform:uppercase;font-size:.6rem;font-weight:750}.edu-cert-meta time{color:var(--muted-ink);font-size:.74rem}@keyframes edu-dot-green{0%,to{box-shadow:0 0 #1f8f5559}50%{box-shadow:0 0 0 8px #1f8f5500}}.edu-side{grid-template-rows:auto}@media (prefers-reduced-motion:reduce){.edu-cert-seal{animation:none!important}}.project-preview{color:inherit;display:block;position:relative;overflow:hidden}.project-preview-clip{z-index:1;object-fit:cover;opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity .45s;position:absolute;inset:0}.project-preview.is-playing .project-preview-clip{opacity:1}.project-preview-label{z-index:2;color:#fff;letter-spacing:.12em;text-transform:uppercase;opacity:0;transition:opacity .3s ease, transform .4s var(--ease-brand);background:#0a0a0ad1;align-items:center;gap:6px;padding:8px 12px;font-size:.62rem;font-weight:750;display:inline-flex;position:absolute;bottom:12px;left:12px;transform:translateY(6px)}.project-preview-label svg{width:14px;height:14px}.project-preview.is-playing .project-preview-label,.project-preview:focus-visible .project-preview-label{opacity:1;transform:none}
