@import url(https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=Space+Grotesk:wght@500;600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0}button,input,textarea{font-family:inherit}::selection{background:#3157ff;color:#fff}.project-switcher{grid-gap:4px;background:var(--paper-strong);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 8%,#0000);display:grid;gap:4px;justify-items:center;left:12px;padding:12px 6px 8px;position:fixed;top:calc(50svh + 38px);transform:translateY(-50%);width:58px;z-index:18}.project-switcher-label{color:var(--muted);font-size:10px;font-weight:500;margin-bottom:5px}.project-switcher a{border-radius:5px;color:var(--muted);display:grid;height:44px;place-items:center;position:relative;width:44px}.project-switcher a:focus-visible,.project-switcher a:hover{background:var(--paper);color:var(--ink)}.project-switcher a[aria-current=page]{background:color-mix(in srgb,var(--cobalt) 12%,var(--paper-strong));box-shadow:inset 3px 0 var(--cobalt);color:var(--cobalt)}.project-switcher .project-switcher-all{border-radius:0 0 5px 5px;border-top:1px solid var(--line);margin-top:5px}.project-switcher-name{background:var(--paper-strong);border:1px solid var(--line);border-radius:4px;color:var(--ink);font-size:13px;left:calc(100% + 15px);line-height:1.4;max-width:230px;padding:8px 12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);visibility:hidden;width:-webkit-max-content;width:max-content}.project-switcher a:focus-visible .project-switcher-name,.project-switcher a:hover .project-switcher-name{visibility:visible}.project-picker{display:none}@media (min-width:1000px) and (min-height:560px){.project-themed .page-shell{width:min(calc(100% - 180px),1180px)}}@media (max-height:559px),(max-width:999px){.project-switcher{display:none}.project-picker{align-items:center;background:var(--paper-strong);border:1px solid var(--line);border-radius:3px;display:flex;gap:12px;margin:12px auto 0;padding:7px 12px;position:-webkit-sticky;position:sticky;top:76px;width:min(calc(100% - 28px),1180px);z-index:16}.project-picker label{color:var(--muted);font-size:12px}.project-picker select{background:var(--paper-strong);border:0;color:var(--ink);flex:1 1;font:inherit;font-size:14px;min-height:36px;min-width:0;padding:4px 0}.project-picker select:focus-visible{outline:2px solid var(--cobalt);outline-offset:2px}}:root{--ink:#141824;--muted:#5d6270;--paper:#f0f3ef;--paper-strong:#fafbf8;--line:#14182429;--cobalt:#3157ff;--orange:#ff633d;--yellow:#f2ca52;--orchid:#bd4de0;--shadow:0 24px 70px #1b202f1c;--glass-blur:12px;--glass-panel:color-mix(in srgb,var(--paper-strong) 82%,#0000)}:root[data-theme=dark]{--ink:#f7f7f1;--muted:#b5b7c2;--paper:#11141d;--paper-strong:#1b1f2b;--line:#f7f7f129;--shadow:0 24px 70px #00000047}*{box-sizing:border-box}body,html{background:#f0f3ef;background:var(--paper)}body{color:#141824;color:var(--ink);max-width:100%;overflow-x:hidden}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid #3157ff;outline:2px solid var(--cobalt);outline-offset:4px}button{font:inherit}.app-shell{isolation:isolate;min-height:100vh;overflow:clip;position:relative}.paint-backdrop{--scroll-y:0px;z-index:0}.page-scene,.paint-backdrop{inset:0;overflow:hidden;pointer-events:none;position:fixed}.page-scene{color:#3157ff;color:var(--cobalt);z-index:1}.scene-art{display:block;opacity:.55;position:absolute}.scene-faint{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:.55}.scene-panel{fill:color-mix(in srgb,#f0f3ef 76%,#3157ff);fill:color-mix(in srgb,var(--paper) 76%,var(--cobalt));stroke:currentColor;stroke-width:3}.scene-dot{fill:#3157ff;fill:var(--cobalt)}.scene-dot-warm{fill:#ff633d;fill:var(--orange)}.scene-paper{fill:#f0f3ef;fill:var(--paper)}.scene-route{bottom:22vh;right:1vw;width:min(55vw,720px)}.scene-road{fill:none;stroke:#fafbf8;stroke:var(--paper-strong);stroke-width:22;stroke-linecap:round}.scene-route-line{fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round;stroke-dasharray:11 12}.scene-point circle{fill:#3157ff;fill:var(--cobalt)}.scene-point text{fill:#fff;font:700 22px Space Grotesk,sans-serif}.scene-circuit{bottom:-3vh;left:-5vw;width:min(42vw,520px)}.scene-camera{right:4vw;top:17vh;width:min(25vw,260px)}.scene-record{right:-5vw;top:17vh;width:min(37vw,440px)}.scene-wave{bottom:8vh;left:-3vw;width:min(36vw,410px)}.scene-wave-lines{fill:none;stroke:currentColor;stroke-width:9;stroke-linecap:round}@media (max-width:700px){.scene-art{opacity:.38}.scene-route{bottom:10vh;right:-110px;width:390px}.scene-circuit{left:-120px;width:330px}.scene-camera{right:-28px;top:18vh;width:150px}.scene-record{right:-85px;top:22vh;width:260px}.scene-wave{left:-90px;width:240px}}.paint{opacity:.9;position:absolute;will-change:transform}.paint:after,.paint:before{background:inherit;border-radius:inherit;content:"";position:absolute}.paint-cobalt{background:#3157ff;background:var(--cobalt);border-radius:72% 28% 63% 37%/51% 43% 57% 49%;height:25vw;min-height:260px;min-width:440px;right:-20vw;top:8vh;transform:translate3d(0,calc(var(--scroll-y)*-.11),0) rotate(-12deg);width:42vw}.paint-cobalt:before{border-radius:66% 34% 48% 52%/58% 52% 48% 42%;height:66%;left:-9%;top:10%;transform:rotate(-24deg);width:39%}.paint-cobalt:after{border-radius:46% 54% 70% 30%;height:15%;left:-20%;top:64%;width:10%}.paint-orange{background:#ff633d;background:var(--orange);border-radius:43% 57% 65% 35%/56% 41% 59% 44%;height:19vw;left:-17vw;min-height:220px;min-width:380px;top:76vh;transform:translate3d(0,calc(var(--scroll-y)*-.17),0) rotate(17deg);width:34vw}.paint-orange:before{border-radius:53% 47% 62% 38%/45% 56% 44% 55%;height:57%;right:-7%;top:9%;transform:rotate(20deg);width:31%}.paint-orange:after{height:15%;right:-20%;top:33%;width:10%}.paint-yellow{background:#f2ca52;background:var(--yellow);border-radius:65% 35% 57% 43%/47% 58% 42% 53%;height:17vw;min-height:190px;min-width:320px;right:-10vw;top:165vh;transform:translate3d(0,calc(var(--scroll-y)*-.08),0) rotate(-8deg);width:29vw}.paint-yellow:before{height:28%;left:-12%;top:60%;transform:rotate(-35deg);width:20%}.paint-yellow:after{height:11%;left:-23%;top:76%;width:7%}.paint-orchid{background:#bd4de0;background:var(--orchid);border-radius:61% 39% 46% 54%/48% 62% 38% 52%;height:21vw;left:-19vw;min-height:230px;min-width:400px;top:275vh;transform:translate3d(0,calc(var(--scroll-y)*-.13),0) rotate(13deg);width:36vw}.paint-orchid:before{height:31%;right:-8%;top:9%;transform:rotate(33deg);width:19%}.paint-orchid:after{height:14%;right:-19%;top:6%;width:8%}.paint-cobalt-small{background:#3157ff;background:var(--cobalt);border-radius:43% 57% 60% 40%/64% 37% 63% 36%;height:10vw;min-height:120px;min-width:190px;right:-5vw;top:390vh;transform:translate3d(0,calc(var(--scroll-y)*-.06),0) rotate(-19deg);width:16vw}.paint-speckles{border-radius:50%;height:9px;opacity:.75;position:absolute;width:9px}.paint-speckles-one{background:#ff633d;background:var(--orange);box-shadow:33px -21px 0 5px #ff633d,82px 17px 0 -1px #ff633d,-21px 33px 0 2px #ff633d;box-shadow:33px -21px 0 5px var(--orange),82px 17px 0 -1px var(--orange),-21px 33px 0 2px var(--orange);right:9vw;top:62vh;transform:translateY(calc(var(--scroll-y)*-.2))}.paint-speckles-two{background:#bd4de0;background:var(--orchid);box-shadow:42px 19px 0 4px #bd4de0,91px -12px 0 1px #bd4de0,-27px -28px 0 2px #bd4de0;box-shadow:42px 19px 0 4px var(--orchid),91px -12px 0 1px var(--orchid),-27px -28px 0 2px var(--orchid);left:7vw;top:228vh;transform:translateY(calc(var(--scroll-y)*-.15))}[data-glass-hidden]{--glass-filter:none}.section-heading h2,:where(.hero-copy,.page-intro,.contact-copy)>h1{--glass-blur:5px}.site-header{-webkit-backdrop-filter:blur(12px);-webkit-backdrop-filter:var(--glass-filter,blur(var(--glass-blur)));backdrop-filter:blur(12px);backdrop-filter:var(--glass-filter,blur(var(--glass-blur)));background:color-mix(in srgb,#f0f3ef 88%,#0000);background:color-mix(in srgb,var(--paper) 88%,#0000);border-bottom:1px solid #14182429;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:20}.nav-shell{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr auto 1fr;margin:0 auto;min-height:76px;width:min(1180px,calc(100% - 40px))}.brand,.nav-shell{align-items:center}.brand{color:#141824;color:var(--ink);display:inline-flex;font:700 18px/1 Space Grotesk,sans-serif;gap:11px;letter-spacing:-.04em;text-decoration:none}.brand strong{color:#3157ff;color:var(--cobalt)}.brand-mark{background:#3157ff;background:var(--cobalt);color:#fff;display:grid;font:700 12px/1 Space Grotesk,sans-serif;height:34px;letter-spacing:-.08em;place-items:center;transform:rotate(-4deg);width:34px}.main-nav{align-items:center;display:flex;gap:28px}.main-nav a{color:#5d6270;color:var(--muted);font-size:13px;font-weight:600;letter-spacing:.06em;position:relative;text-decoration:none;text-transform:uppercase}.main-nav a.active,.main-nav a:hover{color:#141824;color:var(--ink)}.main-nav a.active{font-weight:700}.nav-actions{align-items:center;display:flex;gap:8px;justify-self:end}.menu-button,.nav-actions a,.nav-actions button{background:color-mix(in srgb,#fafbf8 75%,#0000);background:color-mix(in srgb,var(--paper-strong) 75%,#0000);border:1px solid #14182429;border:1px solid var(--line);border-radius:50%;color:#141824;color:var(--ink);cursor:pointer;display:grid;height:38px;place-items:center;transition:transform .16s ease;width:38px}.menu-button:hover,.nav-actions a:hover,.nav-actions button:hover{background:#fafbf8;background:var(--paper-strong);transform:translateY(-2px)}.menu-button{display:none}.page-shell{margin:0 auto;min-height:75vh;position:relative;width:min(1180px,calc(100% - 40px));z-index:2}.eyebrow{align-items:center;color:#5d6270;color:var(--muted);display:inline-flex;font-size:12px;font-weight:600;gap:9px;letter-spacing:.12em;line-height:1.4;text-transform:uppercase}.status-dot{background:#2da66d;border-radius:50%;box-shadow:0 0 0 5px #2da66d24;height:8px;width:8px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Space Grotesk,sans-serif}.education-photo figcaption,.education-result,.education-resume,.footer-links,.hpair-photo figcaption,.section-heading :is(h2,.eyebrow),.site-footer>:is(p,small),.timeline-period,:where(.education-entry)>:is(.education-period,h2,p),:where(.hero-copy,.page-intro,.contact-copy)>:is(h1,p,.eyebrow),:where(.hpair-story-copy)>:is(h2,p,.text-link){isolation:isolate;max-width:100%;position:relative;width:-webkit-fit-content;width:fit-content}.timeline-period{align-self:start}.education-photo figcaption:before,.education-result:before,.education-resume:before,.footer-links:before,.hpair-photo figcaption:before,.section-heading :is(h2,.eyebrow):before,.site-footer>:is(p,small):before,.timeline-period:before,:where(.education-entry)>:is(.education-period,h2,p):before,:where(.hero-copy,.page-intro,.contact-copy)>:is(h1,p,.eyebrow):before,:where(.hpair-story-copy)>:is(h2,p,.text-link):before{-webkit-backdrop-filter:blur(12px);-webkit-backdrop-filter:var(--glass-filter,blur(var(--glass-blur)));backdrop-filter:blur(12px);backdrop-filter:var(--glass-filter,blur(var(--glass-blur)));background:color-mix(in srgb,#f0f3ef 12%,#0000);background:color-mix(in srgb,var(--paper) 12%,#0000);content:"";inset:-18px -24px;-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,#0000,#000 48px,#000 calc(100% - 48px),#0000),linear-gradient(180deg,#0000,#000 36px,#000 calc(100% - 36px),#0000);mask-image:linear-gradient(90deg,#0000,#000 48px,#000 calc(100% - 48px),#0000),linear-gradient(180deg,#0000,#000 36px,#000 calc(100% - 36px),#0000);pointer-events:none;position:absolute;z-index:-1}.architecture-diagram,.button-secondary,.case-study-grid article,.case-study-media,.contribution-card,.coursework-list,.experience-recommendation,.leetcode-card,.project-card,.project-filters button,.publication-card,.recognition-grid article,.resume-sheet,.timeline-content{-webkit-backdrop-filter:blur(12px);-webkit-backdrop-filter:var(--glass-filter,blur(var(--glass-blur)));backdrop-filter:blur(12px);backdrop-filter:var(--glass-filter,blur(var(--glass-blur)))}.hero-section{grid-gap:48px;align-items:center;display:grid;gap:48px;grid-template-columns:minmax(0,1fr) 350px;padding:70px 0 80px}.hero-copy{grid-column:1;grid-row:1;min-width:0}.hero-highlights{grid-column:2;grid-row:1}.hero-copy h1{text-wrap:balance;font-size:clamp(58px,6.8vw,94px);letter-spacing:-.075em;line-height:.95;margin:22px 0 26px;max-width:100%}.hero-copy h1 strong{color:#3157ff;color:var(--cobalt);font-weight:700}.hero-lede{color:#5d6270;color:var(--muted);font-size:clamp(18px,2vw,23px);line-height:1.55;max-width:660px}.hero-identity{font-weight:600;line-height:1.6}.hero-identity span{color:#5d6270;color:var(--muted);display:block;font-size:14px;font-weight:400}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}.button{align-items:center;border:1px solid #141824;border:1px solid var(--ink);border-radius:2px;display:inline-flex;font-weight:600;gap:10px;justify-content:center;min-height:50px;padding:0 20px;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease}.button:hover{box-shadow:5px 5px 0 #141824;box-shadow:5px 5px 0 var(--ink);transform:translate(-2px,-2px)}.button-primary{background:#141824;background:var(--ink);color:#fafbf8;color:var(--paper-strong)}.button-secondary{background:color-mix(in srgb,#fafbf8 82%,#0000);background:var(--glass-panel);color:#141824;color:var(--ink)}.contact-menu{position:relative;z-index:5}.contact-menu summary{cursor:pointer;list-style:none}.contact-menu summary::-webkit-details-marker{display:none}.contact-menu[open] summary svg{transform:rotate(180deg)}.contact-menu-options{background:#fafbf8;background:var(--paper-strong);border:1px solid #14182429;border:1px solid var(--line);box-shadow:0 24px 70px #1b202f1c;box-shadow:var(--shadow);left:0;min-width:230px;padding:6px;position:absolute;top:calc(100% + 8px)}.contact-menu-options a{align-items:center;display:flex;font-size:14px;font-weight:600;gap:10px;padding:12px;text-decoration:none}.contact-menu-options a:focus-visible,.contact-menu-options a:hover{background:#f0f3ef;background:var(--paper)}.hero-highlights{align-self:center;justify-self:end;margin-right:32px;width:min(300px,calc(100% - 32px))}.experience-highlights{margin:0 0 110px}.experience-highlights-heading{align-items:center;display:flex;gap:20px;justify-content:space-between;margin-bottom:18px}.experience-highlights-heading h2{font-size:25px;letter-spacing:-.04em;margin:0}.experience-highlights-list{background:color-mix(in srgb,#fafbf8 82%,#0000);background:var(--glass-panel);border-top:1px solid #14182429;border-top:1px solid var(--line)}.experience-highlight{grid-gap:18px;align-items:center;border-bottom:1px solid #14182429;border-bottom:1px solid var(--line);display:grid;gap:18px;grid-template-columns:100px minmax(200px,1fr) 150px 18px;padding:22px 18px;transition:background .16s ease}.experience-highlight:hover{background:#fafbf8;background:var(--paper-strong)}.experience-highlight h3{font-size:17px;letter-spacing:-.025em;margin:0 0 5px}.experience-highlight p{line-height:1.5;margin:0}.experience-highlight-role p{color:#5d6270;color:var(--muted);font-size:13px}.experience-highlight-date{font-size:12px}.experience-highlight-date,.experience-highlight>svg{color:#5d6270;color:var(--muted)}.company-logo{display:grid;flex:none;height:42px;padding:0;place-items:center;width:78px}.company-logo img{display:block;height:100%;object-fit:contain;width:100%}.company-logo img.company-logo-dark,:root[data-theme=dark] .company-logo img.company-logo-light{display:none}:root[data-theme=dark] .company-logo img.company-logo-dark{display:block}.company-logo-deloitte,.company-logo-trakto,.company-logo-viciquest{padding:0;width:36px}.company-logo-deloitte img{height:36px;width:36px}:root[data-theme=dark] .company-logo-niyo img{filter:invert(1)}.company-row .company-logo{margin-right:2px}.company-row .company-name{color:#141824;color:var(--ink)}.experience-highlights-list{background:color-mix(in srgb,#fafbf8 96%,#0000);background:color-mix(in srgb,var(--paper-strong) 96%,#0000)}.hero-highlights-stack{display:grid;perspective:900px}.hero-polaroid{background:#fafbf8;box-shadow:0 12px 28px #1418242b;color:#171b26;display:block;grid-area:1/1;padding:6px 6px 0;position:relative;transform-origin:center}.hero-polaroid.is-front{animation:polaroid-front .65s ease both;transform:rotate(-3deg);z-index:2}.hero-polaroid.is-behind{animation:polaroid-behind .65s ease both;pointer-events:none;transform:translate(16px,-12px) rotate(5deg) scale(.96);z-index:1}.hero-polaroid.is-behind .hero-highlights-caption{opacity:0}.hero-polaroid.is-behind-2{animation-name:polaroid-behind-second;transform:translate(24px,-20px) rotate(8deg) scale(.92);z-index:0}@keyframes polaroid-front{0%{transform:translate(16px,-12px) rotate(5deg) rotateY(-12deg) scale(.96)}45%{transform:translate(30px,-15px) rotate(8deg) rotateY(-12deg)}to{transform:rotate(-3deg)}}@keyframes polaroid-behind{0%{transform:rotate(-3deg)}to{transform:translate(16px,-12px) rotate(5deg) scale(.96)}}@keyframes polaroid-behind-second{0%{transform:rotate(-3deg)}to{transform:translate(24px,-20px) rotate(8deg) scale(.92)}}.hero-polaroid-image{aspect-ratio:762/678;overflow:hidden;position:relative}.hero-polaroid-image img{display:block;height:100%;object-fit:cover;object-position:center 75%;width:100%}.hero-highlight-recommendation img{object-fit:contain;object-position:center}.hero-highlight-graduation img{object-position:center 30%}.hero-highlight-open{background:#fafbf8;background:var(--paper-strong);border-radius:50%;color:#141824;color:var(--ink);display:grid;height:28px;place-items:center;position:absolute;right:10px;top:10px;width:28px}.hero-highlights-caption{min-height:60px;padding:12px 4px}.hero-highlights-caption strong{display:block;font:600 14px/1.3 Space Grotesk,sans-serif}.hero-highlights-caption>span{color:#646a76;display:block;font-size:11px;margin-top:4px}.hero-highlights-controls{align-items:center;display:flex;justify-content:center;margin-top:12px}.hero-highlights-controls button{background:#0000;border:0;color:#141824;color:var(--ink);cursor:pointer;display:grid;height:28px;padding:0;place-items:center;width:24px}.hero-highlight-dot:after{background:#5d6270;background:var(--muted);border-radius:50%;content:"";height:6px;opacity:.4;width:6px}.hero-highlight-dot[aria-pressed=true]:after{background:#3157ff;background:var(--cobalt);opacity:1}.hero-highlights-controls button:focus-visible{outline:2px solid #3157ff;outline:2px solid var(--cobalt);outline-offset:2px}@media (pointer:coarse){.hero-highlights-controls button{height:44px;width:32px}}.contribution-card,.section-block{margin:50px 0 140px}.section-heading{margin-bottom:45px;max-width:760px}.contribution-heading h2,.section-heading h2{font-size:clamp(36px,5vw,66px);letter-spacing:-.055em;line-height:.98;margin:14px 0 0}.split-heading{align-items:end;display:flex;gap:35px;justify-content:space-between;max-width:none}.text-link{align-items:center;display:inline-flex;font-weight:600;gap:8px}.certificate-link:hover,.footer-links a:hover,.project-links a:hover,.text-link:hover{color:#3157ff;color:var(--cobalt)}.featured-projects{border-top:1px solid #14182429;border-top:1px solid var(--line)}.featured-project{grid-gap:28px;align-items:center;border-bottom:1px solid #14182429;border-bottom:1px solid var(--line);display:grid;gap:28px;grid-template-columns:78px 1fr auto;min-height:190px;padding:28px 18px;position:relative;text-decoration:none;transition:padding .22s ease}.featured-project:before{background:var(--accent);content:"";inset:0 auto 0 0;position:absolute;transform:scaleY(0);transition:transform .22s ease;width:6px}.featured-project:hover{padding-left:34px}.featured-project:hover:before{transform:scaleY(1)}.contact-links,.featured-projects,.skill-groups{isolation:isolate;position:relative}.contact-links:before,.featured-projects:before,.skill-groups:before{--glass-blur:5px;-webkit-backdrop-filter:blur(12px);-webkit-backdrop-filter:var(--glass-filter,blur(var(--glass-blur)));backdrop-filter:blur(12px);backdrop-filter:var(--glass-filter,blur(var(--glass-blur)));background:color-mix(in srgb,#f0f3ef 55%,#0000);background:color-mix(in srgb,var(--paper) 55%,#0000);content:"";inset:-55px -75px;-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,#0000,#000 90px,#000 calc(100% - 90px),#0000),linear-gradient(180deg,#0000,#000 70px,#000 calc(100% - 70px),#0000);mask-image:linear-gradient(90deg,#0000,#000 90px,#000 calc(100% - 90px),#0000),linear-gradient(180deg,#0000,#000 70px,#000 calc(100% - 70px),#0000);pointer-events:none;position:absolute;z-index:-1}.featured-project h3{font-size:clamp(24px,3vw,38px);letter-spacing:-.04em;margin:4px 0 10px}.featured-project p{color:#5d6270;color:var(--muted);line-height:1.55;margin:0;max-width:700px}.project-index{color:#141824;color:var(--ink);font:700 22px/1 Space Grotesk,sans-serif}.project-year{color:#5d6270;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.1em}.project-arrow{transition:transform .18s ease}.featured-project:hover .project-arrow{transform:translate(4px,-4px)}.accent-cobalt{--accent:var(--cobalt)}.accent-orange{--accent:var(--orange)}.accent-yellow{--accent:var(--yellow)}.accent-orchid{--accent:var(--orchid)}.skills-section{grid-gap:clamp(50px,9vw,130px);align-items:start;display:grid;gap:clamp(50px,9vw,130px);grid-template-columns:1fr 1fr}.skill-groups{border-top:1px solid #14182429;border-top:1px solid var(--line)}.skill-group{grid-gap:24px;border-bottom:1px solid #14182429;border-bottom:1px solid var(--line);display:grid;gap:24px;grid-template-columns:90px 1fr;padding:26px 0}.skill-group>span{color:#3157ff;color:var(--cobalt);font:600 14px/1.5 Space Grotesk,sans-serif;text-transform:uppercase}.skill-group p{line-height:1.7;margin:0}.activity-section{grid-gap:18px;display:grid;gap:18px;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);margin:50px 0 140px}.activity-section.full-year{grid-template-columns:1fr}@keyframes contribution-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes leetcode-slide-down{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}.activity-section.full-year .leetcode-card{animation:leetcode-slide-down .42s ease}.contribution-shell{min-width:0;position:relative;transition:transform .18s ease}.contribution-shell:has(.contribution-card-link:hover){transform:translateY(-4px)}.contribution-shell .contribution-card{margin:0}.contribution-range{align-items:center;color:#5d6270;color:var(--muted);display:flex;font-size:13px;gap:8px;padding:12px;position:absolute;right:calc(clamp(24px, 5vw, 58px) - 12px);top:calc(clamp(24px, 5vw, 58px) + clamp(0px, 2.45vw - 20px, 12px) - 12px);z-index:3}.contribution-range select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fafbf8;background-color:var(--paper-strong);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23141824' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:16px;border:1px solid #14182429;border:1px solid var(--line);border-radius:2px;color:#141824;color:var(--ink);cursor:pointer;font:inherit;min-height:40px;padding:0 32px 0 12px}.contribution-range select:focus-visible{outline:3px solid #3157ff;outline:3px solid var(--cobalt);outline-offset:3px}:root[data-theme=dark] .contribution-range select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23f7f7f1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.contribution-card{--contribution-level-1:#9be9a8;--contribution-level-2:#40c463;--contribution-level-3:#30a14e;--contribution-level-4:#216e39;background:color-mix(in srgb,#fafbf8 82%,#0000);background:var(--glass-panel);border:1px solid #14182429;border:1px solid var(--line);box-shadow:0 24px 70px #1b202f1c;box-shadow:var(--shadow);color:#141824;color:var(--ink);padding:clamp(24px,5vw,58px)}:root[data-theme=dark] .contribution-card{--contribution-level-1:#0e4429;--contribution-level-2:#006d32;--contribution-level-3:#26a641;--contribution-level-4:#39d353}.contribution-card-link{color:#141824;color:var(--ink);display:block;text-decoration:none;transition:box-shadow .18s ease}.contribution-card-link:hover{box-shadow:0 24px 70px #1b202f1c;box-shadow:var(--shadow)}.contribution-card-link:focus-visible{outline:3px solid #3157ff;outline:3px solid var(--cobalt);outline-offset:5px}.activity-section:has(.contribution-card.is-compact):has(.leetcode-card.is-compact){align-items:start;grid-template-columns:repeat(2,minmax(0,1fr))}.contribution-card.is-compact,.leetcode-card.is-compact{background:#fafbf8;background:var(--paper-strong);box-shadow:none;padding:26px}.is-compact :is(.contribution-heading h2,h2){font-size:28px}.is-compact .contribution-heading{margin-bottom:14px}.is-compact .leetcode-username{display:none}.activity-profile-description{color:#5d6270;color:var(--muted);font-size:14px;line-height:1.6;margin:14px 0 22px}.contribution-heading{margin-bottom:24px}.contribution-heading h2{margin-top:0}.contribution-heading h2,.leetcode-card h2{font-size:clamp(32px,3.6vw,48px)}.contribution-shell.has-range .contribution-heading{padding-right:160px}.contribution-heading .eyebrow,.contribution-status{color:#5d6270;color:var(--muted)}.contribution-status{font-size:14px}.github-activity{animation:contribution-fade-in .36s ease;margin-bottom:30px}.contribution-summary{align-items:baseline;color:#5d6270;color:var(--muted);display:flex;flex-wrap:wrap;font-size:14px;gap:6px}.contribution-summary strong{color:#141824;color:var(--ink);font-size:22px}.contribution-summary>span{font-size:12px;margin-left:auto}.contribution-scroll{--contribution-size:12px;overflow-x:auto;overscroll-behavior-x:contain;padding:4px 0 10px}.contribution-scroll.range-3{--contribution-size:18px}.contribution-note{color:#5d6270;color:var(--muted);font-size:12px;line-height:1.5;margin:10px 0 0}.contribution-scroll-hint{display:none}.contribution-months{grid-gap:4px;color:#5d6270;color:var(--muted);display:grid;font-size:11px;gap:4px;grid-auto-columns:var(--contribution-size);min-height:20px;width:-webkit-max-content;width:max-content}.contribution-months span{white-space:nowrap}.contribution-grid{grid-gap:4px;display:grid;gap:4px;grid-auto-columns:var(--contribution-size);grid-template-rows:repeat(7,var(--contribution-size));width:-webkit-max-content;width:max-content}.contribution-grid .contribution-cell{height:var(--contribution-size);width:var(--contribution-size)}.contribution-cell{background:color-mix(in srgb,#141824 8%,#fafbf8);background:color-mix(in srgb,var(--ink) 8%,var(--paper-strong));border-radius:2px;display:block;height:12px;width:12px}.contribution-cell.level-1{background:var(--contribution-level-1)}.contribution-cell.level-2{background:var(--contribution-level-2)}.contribution-cell.level-3{background:var(--contribution-level-3)}.contribution-cell.level-4{background:var(--contribution-level-4)}.contribution-legend{align-items:center;color:#5d6270;color:var(--muted);display:flex;font-size:11px;gap:4px;justify-content:flex-end;margin-top:8px}.contribution-legend>span:first-child{margin-right:4px}.contribution-legend>span:last-child{margin-left:4px}.contribution-footer{align-items:center;color:#5d6270;color:var(--muted);display:flex;font-size:14px;gap:30px;justify-content:space-between}.contribution-footer .text-link,.leetcode-card{color:#141824;color:var(--ink)}.leetcode-card{align-items:flex-start;background:color-mix(in srgb,#fafbf8 82%,#0000);background:var(--glass-panel);border:1px solid #14182429;border:1px solid var(--line);box-shadow:0 24px 70px #1b202f1c;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;padding:clamp(24px,4vw,48px);text-decoration:none;transition:transform .18s ease}.leetcode-card:hover{transform:translateY(-4px)}.leetcode-card h2{font-family:Space Grotesk,sans-serif;letter-spacing:-.055em;line-height:.98;margin:0}.leetcode-username{color:#5d6270;color:var(--muted);display:inline-block;font-size:13px;margin-top:12px}.leetcode-stats{margin:34px 0;width:100%}.leetcode-dial{margin:0 auto;position:relative;width:min(200px,100%)}.leetcode-dial svg{display:block;width:100%}.leetcode-dial path{fill:none;stroke-width:9;stroke-linecap:round}.leetcode-dial-track{stroke:color-mix(in srgb,#141824 12%,#0000);stroke:color-mix(in srgb,var(--ink) 12%,#0000)}.leetcode-dial-progress{stroke:#ff633d;stroke:var(--orange)}.leetcode-solved{grid-gap:4px;bottom:8px;color:#5d6270;color:var(--muted);display:grid;font-size:13px;gap:4px;justify-items:center;left:0;margin:0;position:absolute;right:0}.leetcode-solved strong{color:#141824;color:var(--ink);font:700 40px/1 Space Grotesk,sans-serif;letter-spacing:-.05em}.leetcode-meter{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.leetcode-rank{color:#5d6270;color:var(--muted);display:flex;font-size:14px;gap:16px;justify-content:space-between;margin:28px 0 0}.leetcode-rank strong{color:#141824;color:var(--ink);font-family:Space Grotesk,sans-serif}.leetcode-link{font-size:14px;margin-top:auto}.recognition-grid{border-left:1px solid #14182429;border-left:1px solid var(--line);border-top:1px solid #14182429;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.recognition-grid article{background:color-mix(in srgb,#fafbf8 82%,#0000);background:var(--glass-panel);border-bottom:1px solid #14182429;border-bottom:1px solid var(--line);border-right:1px solid #14182429;border-right:1px solid var(--line);padding:34px}.recognition-copy>span{color:#ff633d;color:var(--orange);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.recognition-grid h3{font-size:27px;letter-spacing:-.04em;margin:18px 0 10px}.recognition-grid p{color:#5d6270;color:var(--muted);line-height:1.6;margin-bottom:0}.recognition-copy p{max-width:55ch}.recognition-actions{display:flex;flex-wrap:wrap;gap:0 24px}.page-intro{max-width:930px;padding:65px 0 60px}.education-intro{padding-bottom:38px}.education-layout{grid-gap:48px;align-items:center;border-block:1px solid #14182429;border-block:1px solid var(--line);display:grid;gap:48px;grid-template-columns:minmax(0,1fr) 200px;margin-bottom:70px;padding:28px 0}.education-entry{padding:0}.education-period{color:#5d6270;color:var(--muted);font-size:13px;font-weight:600}.education-entry h2{font-size:clamp(26px,3vw,38px);letter-spacing:-.04em;margin:12px 0 8px}.education-entry p{color:#5d6270;color:var(--muted);line-height:1.6;margin:0}.education-results{display:flex;flex-wrap:wrap;gap:16px 28px;margin-top:22px}.education-result{align-items:baseline;display:flex;gap:9px}.education-result strong{color:#141824;color:var(--ink);font:700 30px/1 Space Grotesk,sans-serif;letter-spacing:-.05em}.education-result span{color:#5d6270;color:var(--muted);font-size:12px;font-weight:600}.education-coursework,.education-publication{margin-bottom:64px}.education-section-heading{margin-bottom:22px}.education-section-heading h2{font-size:32px;letter-spacing:-.045em;margin:8px 0 0}.education-page .coursework-list,.education-page .publication-card{background:color-mix(in srgb,#fafbf8 96%,#0000);background:color-mix(in srgb,var(--paper-strong) 96%,#0000)}.education-academic-resume{align-items:center;border-top:1px solid #14182429;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:26px;padding-top:20px}.education-academic-resume>span{color:#5d6270;color:var(--muted);font-size:13px}.education-academic-resume .text-link{margin-top:0}.education-school{grid-gap:20px;align-items:center;background:color-mix(in srgb,#fafbf8 96%,#0000);background:color-mix(in srgb,var(--paper-strong) 96%,#0000);border-block:1px solid #14182429;border-block:1px solid var(--line);display:grid;gap:20px;grid-template-columns:140px minmax(0,1fr) auto;margin-bottom:100px;padding:26px}.education-school-label{color:#5d6270;color:var(--muted);font-size:14px}.education-school h2{font-size:20px;letter-spacing:-.035em;margin:0 0 6px}.education-school p{color:#5d6270;color:var(--muted);font-size:14px;line-height:1.5;margin:0}.coursework-list,.publication-card{background:color-mix(in srgb,#fafbf8 82%,#0000);background:var(--glass-panel);border:1px solid #14182429;border:1px solid var(--line)}.coursework-row{grid-gap:18px;display:grid;gap:18px;grid-template-columns:minmax(160px,.7fr) minmax(0,2fr);padding:20px clamp(22px,3vw,34px)}.coursework-row+.coursework-row{border-top:1px solid #14182429;border-top:1px solid var(--line)}.coursework-row h3{color:#3157ff;color:var(--cobalt);font-size:15px;margin:0}.coursework-row p{line-height:1.6;margin:0}.publication-card{padding:clamp(24px,4vw,40px)}.publication-card h3{font-size:clamp(22px,3vw,30px);letter-spacing:-.03em;line-height:1.2;margin:14px 0;max-width:850px}.publication-card p{color:#5d6270;color:var(--muted);line-height:1.6;max-width:850px}.publication-card .publication-journal{font-size:13px;font-weight:600;margin:0}.publication-actions{display:flex;flex-wrap:wrap;gap:8px 24px}.publication-card .text-link{margin-top:8px}.resume-downloads{display:flex;flex-wrap:wrap;gap:12px}.education-photo{margin:0}.education-photo img{aspect-ratio:3/4;display:block;height:auto;object-fit:cover;object-position:center 30%;width:100%}.education-photo figcaption{color:#5d6270;color:var(--muted);font-size:13px;line-height:1.5;margin-top:12px}.hpair-backdrop{--japan-sun:#f6d9cb;--japan-mountain:#cdd8de;--japan-snow:#f7f8f2;--japan-pagoda:#ee795f;--japan-roof:#343c59;--japan-branch:#635359;--japan-blossom:#edb6bd;inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:0}:root[data-theme=dark] .hpair-backdrop{--japan-sun:#5e4552;--japan-mountain:#3d5060;--japan-snow:#7a929c;--japan-pagoda:#d27362;--japan-roof:#9ba7bf;--japan-branch:#d1aeb5;--japan-blossom:#b87589}.hpair-intro{max-width:none;min-height:520px;padding:75px 0 100px;position:relative}.hpair-intro>:is(h1,p,.eyebrow){z-index:1}.hpair-intro>h1{max-width:780px}.hpair-intro>p{max-width:650px}.reading-progress{height:3px;inset:0 0 auto;pointer-events:none;position:fixed;z-index:40}.reading-progress span{background:#3157ff;background:var(--cobalt);display:block;height:100%;transform:scaleX(0);transform:scaleX(var(--reading-progress,0));transform-origin:left;width:100%}.scroll-prompt{background:color-mix(in srgb,#fafbf8 90%,#0000);background:color-mix(in srgb,var(--paper-strong) 90%,#0000);border:0;border-radius:50%;bottom:22px;color:#3157ff;color:var(--cobalt);display:grid;height:44px;left:50%;opacity:0;padding:0;place-items:center;pointer-events:none;position:fixed;transform:translateX(-50%);transition:opacity .35s ease;width:44px;z-index:15}.scroll-prompt.is-visible{cursor:pointer;opacity:.8;pointer-events:auto}.scroll-prompt:focus-visible{outline:2px solid #3157ff;outline:2px solid var(--cobalt);outline-offset:4px}.scroll-prompt.is-visible .scroll-prompt-arrow{animation:scroll-nudge 1.15s ease-in-out infinite}@keyframes scroll-nudge{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.hpair-fuji{bottom:0;left:-7vw;max-height:calc(100svh - 120px);width:min(76vw,1200px)}.hpair-fuji,.hpair-scene{height:auto;position:absolute}.hpair-scene{bottom:-18px;max-height:calc(100svh - 90px);pointer-events:none;right:-4vw;width:min(57vw,740px)}.hpair-pagoda{bottom:0;height:auto;max-height:calc(100svh - 100px);position:absolute;right:-2vw;width:min(31vw,420px)}.hpair-petal{animation:hpair-petal-fall var(--petal-duration) var(--petal-delay) linear infinite;background:var(--japan-blossom);border-radius:80% 0 80% 25%;height:calc(var(--petal-size)*1.4);opacity:0;position:absolute;top:-30px;width:var(--petal-size)}@keyframes hpair-petal-fall{0%{opacity:0;transform:translate3d(0,-20px,0) rotate(0deg)}10%,85%{opacity:.4}to{opacity:0;transform:translate3d(var(--petal-drift),calc(100svh + 60px),0) rotate(230deg)}}.hpair-story{grid-gap:clamp(30px,5vw,70px);align-items:start;border-top:1px solid #14182429;border-top:1px solid var(--line);display:grid;gap:clamp(30px,5vw,70px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-bottom:150px;padding-top:65px}.hpair-story-copy h2{font-size:clamp(28px,3.4vw,42px);letter-spacing:-.04em;line-height:1.1;margin:0 0 20px}.hpair-story-copy p{color:#5d6270;color:var(--muted);font-size:17px;line-height:1.7}.hpair-story-copy .text-link{margin-top:8px}.hpair-photos{justify-self:end;width:min(100%,500px)}.hpair-photo-stack{display:grid;padding:10px 16px 0 0;perspective:900px}.hpair-photo{grid-area:1/1;margin:0;position:relative;transform-origin:center}.hpair-photo.is-front{animation:polaroid-front .65s ease both;transform:rotate(-3deg);z-index:2}.hpair-photo.is-behind{animation:polaroid-behind .65s ease both;transform:translate(16px,-12px) rotate(5deg) scale(.96);z-index:1}.hpair-photo img{aspect-ratio:3/2;display:block;object-fit:cover;width:100%}.hpair-photo figcaption{color:#5d6270;color:var(--muted);font-size:13px;line-height:1.5;margin-top:12px}.photo-postcard{background:#fafbf8;box-shadow:0 12px 28px #14182424;color:#171b26;padding:6px 6px 0}figure.photo-postcard figcaption{color:#5d6270;font-size:13px;line-height:1.5;margin:0;padding:14px 4px 18px;width:auto}.photo-postcard figcaption:before{content:none}.education-photo.photo-postcard{transform:rotate(-1deg)}@media (max-width:800px){.page-intro.hpair-intro{min-height:0;padding:65px 0 70px}.hpair-fuji{left:-24vw;width:108vw}.hpair-scene{bottom:0;right:-10%;width:min(95vw,520px)}.hpair-pagoda{right:-5vw;width:min(48vw,260px)}.hpair-petal:nth-of-type(n+5){display:none}}@media (prefers-reduced-motion:reduce){.hpair-petal{display:none}}@media (max-width:700px){.education-layout{gap:20px;grid-template-columns:minmax(0,1fr) 140px}.coursework-row{gap:8px;grid-template-columns:1fr}.education-photo{max-width:160px}.hpair-story{grid-template-columns:1fr;padding-top:45px}.hpair-photos{justify-self:center;order:-1}.education-photo.photo-postcard{transform:none}}.contact-copy h1,.page-intro h1{font-size:clamp(58px,8vw,112px);letter-spacing:-.075em;line-height:.9;margin:22px 0 26px}.page-intro:not(.hpair-intro):not(.case-study-intro) h1{font-size:clamp(48px,6.5vw,82px);line-height:.98}.page-intro>p{color:#5d6270;color:var(--muted);font-size:21px;line-height:1.6;max-width:700px}.timeline{margin:0 0 150px;position:relative}.timeline-item{grid-gap:34px;display:grid;gap:34px;grid-template-columns:110px 180px 1fr;padding:0 0 95px;position:relative}.timeline-item-past:before{background:linear-gradient(180deg,#0000,#14182429 18%,#14182429 82%,#0000);background:linear-gradient(to bottom,#0000,var(--line) 18%,var(--line) 82%,#0000);bottom:0;content:"";left:54px;position:absolute;top:-95px;width:1px}.timeline-marker{display:flex;justify-content:center;position:relative;width:110px;z-index:1}.timeline-marker span{-webkit-backdrop-filter:blur(12px);-webkit-backdrop-filter:var(--glass-filter,blur(var(--glass-blur)));backdrop-filter:blur(12px);backdrop-filter:var(--glass-filter,blur(var(--glass-blur)));background:var(--accent);background-clip:padding-box;border:8px solid color-mix(in srgb,#fafbf8 25%,#0000);border:8px solid color-mix(in srgb,var(--paper-strong) 25%,#0000);border-radius:50%;color:#fff;display:grid;font:700 13px/1 Space Grotesk,sans-serif;height:58px;place-items:center;width:58px}.timeline-period{color:#5d6270;color:var(--muted);font-size:13px;font-weight:600;padding-top:17px;text-transform:uppercase}.timeline-content{background:color-mix(in srgb,#fafbf8 82%,#0000);background:var(--glass-panel);border:1px solid #14182429;border:1px solid var(--line);box-shadow:0 24px 70px #1b202f1c;box-shadow:var(--shadow);padding:32px;position:relative}.timeline-content-clickable{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.timeline-content-clickable:has(.experience-card-link:focus-visible){transform:translateY(-6px)}@media (hover:hover){.timeline-content-clickable:hover{box-shadow:0 28px 65px color-mix(in srgb,#141824 15%,#0000);box-shadow:0 28px 65px color-mix(in srgb,var(--ink) 15%,#0000);transform:translateY(-6px)}}.experience-card-arrow{color:var(--accent);flex:none}.experience-card-link:after{content:"";inset:0;position:absolute;z-index:1}.experience-card-link:focus-visible{outline:none}.timeline-content-clickable:has(.experience-card-link:focus-visible){outline:2px solid #3157ff;outline:2px solid var(--cobalt);outline-offset:4px}.timeline-content .certificate-link{background:#fafbf8;background:var(--paper-strong);border:1px solid #14182429;border:1px solid var(--line);padding:9px 12px;position:relative;z-index:2}.timeline-current{padding:0 0 110px;position:relative}.current-work-stack{grid-gap:72px;display:grid;gap:72px;position:relative}.current-work-stack:before{background:linear-gradient(180deg,#0000,#14182429 14%,#14182429 76%,#0000);background:linear-gradient(to bottom,#0000,var(--line) 14%,var(--line) 76%,#0000);bottom:-110px;content:"";left:54px;position:absolute;top:-58px;width:1px}.current-experience{grid-gap:34px;display:grid;gap:34px;grid-template-columns:110px 180px 1fr;position:relative}.current-work-stack.has-concurrent-work .current-experience:first-child:before{background:linear-gradient(180deg,#0000,#14182429 14%,#14182429 72%,#0000);background:linear-gradient(to bottom,#0000,var(--line) 14%,var(--line) 72%,#0000);bottom:-72px;content:"";left:63px;position:absolute;top:-58px;width:1px}.company-row{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:auto minmax(0,1fr) auto}.company-name{color:var(--accent);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.company-row .experience-card-arrow{grid-column:3;grid-row:1}.employment-type{color:#5d6270;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.timeline-content h2{font-size:clamp(30px,4vw,46px);letter-spacing:-.05em;margin:8px 0 14px}.timeline-summary{color:#141824;color:var(--ink);font-size:18px;line-height:1.55}.timeline-content ul{border-top:1px solid #14182429;border-top:1px solid var(--line);color:#5d6270;color:var(--muted);margin:24px 0;padding:24px 0 0 20px}.timeline-content li{line-height:1.55;margin-bottom:11px;padding-left:6px}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag-list span{background:color-mix(in srgb,#f0f3ef 70%,#0000);background:color-mix(in srgb,var(--paper) 70%,#0000);border:1px solid #14182429;border:1px solid var(--line);color:#5d6270;color:var(--muted);font-size:12px;padding:7px 10px}.certificate-link{align-items:center;color:var(--accent);display:inline-flex;font-size:13px;font-weight:700;gap:7px;margin-top:24px}.experience-story-link{display:flex;width:-webkit-fit-content;width:fit-content}.experience-story article p+p{margin-top:14px}.experience-diagram{background:#0000}.experience-diagram-content{grid-gap:clamp(20px,4vw,48px);align-items:center;display:grid;gap:clamp(20px,4vw,48px);grid-template-columns:minmax(0,2fr) minmax(160px,.7fr)}.experience-recommendation{grid-gap:clamp(28px,5vw,70px);align-items:center;background:color-mix(in srgb,#fafbf8 82%,#0000);background:var(--glass-panel);border:1px solid #14182429;border:1px solid var(--line);display:grid;gap:clamp(28px,5vw,70px);grid-template-columns:minmax(0,1fr) minmax(220px,360px);margin-bottom:60px;padding:clamp(24px,4vw,40px)}.experience-recommendation h2{font-size:clamp(26px,3vw,36px);letter-spacing:-.04em;margin:14px 0}.experience-recommendation p{color:#5d6270;color:var(--muted);line-height:1.6}.recommendation-image{display:block}.recommendation-image figure{margin:0;transform:rotate(1deg)}.recommendation-image img{display:block;height:auto;width:100%}@media (max-width:900px){.activity-section:has(.contribution-card.is-compact):has(.leetcode-card.is-compact){grid-template-columns:1fr}.experience-diagram-content,.experience-recommendation{grid-template-columns:1fr}.recommendation-image{max-width:360px}}.projects-intro{padding-bottom:50px}.project-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}.project-filters button{background:color-mix(in srgb,#fafbf8 82%,#0000);background:var(--glass-panel);border:1px solid #14182429;border:1px solid var(--line);color:#5d6270;color:var(--muted);cursor:pointer;padding:10px 15px}.project-filters button.active,.project-filters button:hover{background:#141824;background:var(--ink);border-color:#141824;border-color:var(--ink);color:#fafbf8;color:var(--paper-strong)}.project-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:48px}.project-contact{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;padding-top:30px}.project-contact p{color:#5d6270;color:var(--muted);font-size:18px;margin:0}.projects-contact{margin-bottom:140px}.project-card{background:color-mix(in srgb,#fafbf8 82%,#0000);background:var(--glass-panel);border:1px solid #14182429;border:1px solid var(--line);cursor:pointer;display:flex;flex-direction:column;min-height:480px;overflow:hidden;padding:clamp(26px,4vw,42px);transition:transform .18s ease,box-shadow .18s ease}.project-card:hover{box-shadow:0 24px 70px #1b202f1c;box-shadow:var(--shadow);transform:translateY(-5px)}.project-card:focus-visible{outline:3px solid #3157ff;outline:3px solid var(--cobalt);outline-offset:4px}.project-card-top{color:#5d6270;color:var(--muted);display:flex;font-size:12px;justify-content:space-between}.project-number{color:var(--accent);font:700 22px/1 Space Grotesk,sans-serif}.project-gesture{flex-shrink:0;height:90px;margin:24px 0 12px;position:relative}.project-gesture span{background:var(--accent);display:block;position:absolute}.project-card h2{font-size:clamp(30px,4vw,48px);letter-spacing:-.055em;line-height:1;margin:10px 0 14px}.project-card>p{color:#5d6270;color:var(--muted);line-height:1.6}.project-card .tag-list{margin-top:auto;padding-top:30px}.project-links{border-top:1px solid #14182429;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:20px;margin-top:25px;padding-top:20px}.case-study-back,.project-links a{align-items:center;display:inline-flex;font-size:13px;font-weight:600;gap:7px}.case-study-back{margin-top:40px}.case-study-intro{padding-bottom:40px}.case-study-intro .tag-list{margin:28px 0}.case-study-actions{display:flex;flex-wrap:wrap;gap:12px}.architecture-diagram{background:color-mix(in srgb,#fafbf8 82%,#0000);background:var(--glass-panel);border:1px solid #14182429;border:1px solid var(--line);margin-bottom:60px;padding:clamp(24px,4vw,40px)}.project-journey>h2{font-size:22px;letter-spacing:-.03em;margin:0 0 8px}.project-journey>p{color:#5d6270;color:var(--muted);line-height:1.6;margin:0}.project-journey ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:32px 0 0;padding:0}.project-journey li{border-top:2px solid #14182429;border-top:2px solid var(--line);min-width:0;padding:26px 20px 0 0;position:relative}.project-journey li:last-child{border-top-color:#0000}.project-journey li:before{background:#fafbf8;background:var(--paper-strong);border:2px solid #3157ff;border:2px solid var(--cobalt);border-radius:50%;content:"";height:12px;left:0;position:absolute;top:-7px;width:12px}.project-journey h3{font-size:16px;margin:0 0 8px}.project-journey li p{color:#5d6270;color:var(--muted);font-size:14px;line-height:1.5;margin:0}@media (max-width:700px){.project-journey ol{gap:0;grid-template-columns:1fr;margin-top:24px}.project-journey li{border-left:2px solid #14182429;border-left:2px solid var(--line);border-top:0;padding:0 0 24px 24px}.project-journey li:last-child{border-left-color:#0000;padding-bottom:0}.project-journey li:before{left:-7px;top:3px}}.architecture-image{margin:0 auto;position:relative;width:min(100%,540px)}.architecture-image img{display:block;height:auto;width:100%}.architecture-heading{align-items:baseline;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:28px}.architecture-heading p{color:#5d6270;color:var(--muted);font-size:14px;margin:0}.architecture-layers{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(3,minmax(0,1fr))}.architecture-layer{background:color-mix(in srgb,#fafbf8 70%,#0000);background:color-mix(in srgb,var(--paper-strong) 70%,#0000);border:1px solid #14182429;border:1px solid var(--line);min-width:0;padding:20px;position:relative}.architecture-layer:not(:last-child):after{color:#3157ff;color:var(--cobalt);content:"→";font-size:18px;position:absolute;right:-26px;top:50%}.architecture-number{color:#3157ff;color:var(--cobalt);font-size:12px;font-weight:700}.architecture-layer h2{font-size:22px;letter-spacing:-.04em;margin:12px 0 4px}.architecture-layer p{color:#5d6270;color:var(--muted);font-size:12px;margin:0 0 18px}.architecture-layer ul{grid-gap:0;display:grid;gap:0;list-style:none;margin:0;padding:0}.architecture-layer li{border-top:1px solid #14182429;border-top:1px solid var(--line);font-size:13px;line-height:1.4;padding:9px 0}.diagram-scroll{container-type:inline-size;min-width:0}.spotify-diagram{display:block;height:auto;min-width:0;width:100%}.diagram-mobile-evaluation,.diagram-mobile-flow{display:none}.diagram-mobile-flow{gap:26px;list-style:none;margin:0;padding:0}.diagram-mobile-flow li,.diagram-mobile-node{grid-gap:5px;background:#fafbf8;background:var(--paper-strong);border:1px solid #14182429;border:1px solid var(--line);border-radius:6px;display:grid;gap:5px;min-width:0;padding:14px 16px;position:relative}.diagram-mobile-flow li:not(:last-child):after{color:#3157ff;color:var(--cobalt);content:"↓";font-size:18px;left:50%;position:absolute;top:calc(100% + 2px);transform:translateX(-50%)}.diagram-mobile-flow strong,.diagram-mobile-node strong{font-size:15px;font-weight:600}.diagram-mobile-flow span,.diagram-mobile-node span{color:#5d6270;color:var(--muted);font-size:13px;line-height:1.5}.diagram-mobile-evaluation{gap:26px}.diagram-mobile-branches{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.diagram-mobile-branches .diagram-mobile-node:before,.diagram-mobile-evaluation>.diagram-mobile-node:last-child:before{bottom:calc(100% + 2px);color:#3157ff;color:var(--cobalt);content:"↓";font-size:18px;left:50%;position:absolute;transform:translateX(-50%)}@container (max-width: 520px){.spotify-diagram{display:none}.diagram-mobile-evaluation,.diagram-mobile-flow{display:grid}}.diagram-node rect{fill:#fafbf8;fill:var(--paper-strong);stroke:#14182429;stroke:var(--line);stroke-width:1.5}.diagram-node-accent rect{stroke:#3157ff;stroke:var(--cobalt)}.diagram-title{fill:#141824;fill:var(--ink);font:600 16px Space Grotesk,sans-serif}.diagram-subtitle{fill:#5d6270;fill:var(--muted);font:13px IBM Plex Sans,sans-serif}.diagram-connectors{fill:none;stroke:#5d6270;stroke:var(--muted);stroke-width:1.5}.spotify-diagram marker path{fill:#5d6270;fill:var(--muted)}.case-study-process p{color:#5d6270;color:var(--muted);font-size:14px;line-height:1.6}.case-study-process-grid{grid-gap:clamp(24px,4vw,48px);display:grid;gap:clamp(24px,4vw,48px);grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr))}.case-study-process-grid.experience-diagrams-single{grid-template-columns:minmax(0,1fr)}.case-study-process-grid article{min-width:0}.case-study-process-grid h2{font-size:20px;letter-spacing:-.03em;margin:0 0 20px}@media (max-width:900px){.case-study-process-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.timeline-content-clickable:has(.experience-card-link:focus-visible),.timeline-content-clickable:hover{transform:none}}.case-study-gallery{border-bottom:1px solid #14182429;border-bottom:1px solid var(--line);margin:-32px 0 60px}.case-study-gallery summary{align-items:center;color:#141824;color:var(--ink);cursor:pointer;display:flex;font-weight:600;gap:16px;isolation:isolate;justify-content:space-between;list-style:none;padding:18px 12px;position:relative}.case-study-gallery summary::-webkit-details-marker{display:none}.case-study-gallery summary:focus-visible{outline:2px solid #3157ff;outline:2px solid var(--cobalt);outline-offset:4px}.case-study-gallery summary:before{-webkit-backdrop-filter:blur(12px);-webkit-backdrop-filter:var(--glass-filter,blur(var(--glass-blur)));backdrop-filter:blur(12px);backdrop-filter:var(--glass-filter,blur(var(--glass-blur)));background:color-mix(in srgb,#fafbf8 60%,#0000);background:color-mix(in srgb,var(--paper-strong) 60%,#0000);content:"";inset:-20px -28px;-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,#0000,#000 48px,#000 calc(100% - 48px),#0000),linear-gradient(180deg,#0000,#000 38px,#000 calc(100% - 38px),#0000);mask-image:linear-gradient(90deg,#0000,#000 48px,#000 calc(100% - 48px),#0000),linear-gradient(180deg,#0000,#000 38px,#000 calc(100% - 38px),#0000);pointer-events:none;position:absolute;z-index:-1}.case-study-gallery summary span{color:#5d6270;color:var(--muted);font-size:13px;font-weight:400;margin-left:auto}.case-study-gallery summary:after{color:#3157ff;color:var(--cobalt);content:"+";display:grid;flex:0 0 32px;font-size:28px;height:32px;line-height:1;place-items:center}.case-study-gallery[open] summary:after{content:"−"}.case-study-gallery figure{margin:0}.project-photos{padding:44px clamp(24px,5vw,60px) 24px}.project-photos .hpair-photos{margin-inline:auto;width:min(100%,620px)}.project-photos .hpair-photo-stack{grid-template-columns:minmax(0,1fr);padding:10px 26px 0 0;place-items:center}.project-photos .hpair-photo{max-width:100%;padding:5px 5px 0;width:-webkit-fit-content;width:fit-content}.project-photos .hpair-photo.is-front{z-index:4}.project-photos .hpair-photo.is-behind{pointer-events:none;z-index:3}.project-photos .hpair-photo.is-behind-2{animation-name:polaroid-behind-second;transform:translate(24px,-20px) rotate(8deg) scale(.92);z-index:2}.project-photos .hpair-photo.is-behind-3{animation:none;transform:translate(30px,-25px) rotate(10deg) scale(.88);z-index:1}.project-photos .hpair-photo img{aspect-ratio:auto;height:auto;max-height:350px;max-width:100%;object-fit:contain;width:auto}.project-photos .hero-highlights-controls{background:#fafbf8;background:var(--paper-strong);border-radius:30px;margin:24px auto 0;padding:3px 10px;width:-webkit-fit-content;width:fit-content}.project-photo-link{background:#0000;border:0;cursor:zoom-in;display:block;max-width:100%;padding:0;position:relative}.gallery-photo-open{background:#fafbf8;border-radius:50%;color:#171b26;display:grid;height:28px;place-items:center;position:absolute;right:8px;top:8px;width:28px}.case-study-gallery img{background:#fafbf8;display:block;object-fit:contain;width:100%}.case-study-gallery figcaption{color:#5d6270;color:var(--muted);font-size:13px;margin-top:10px}.photo-viewer{background:#0000;border:0;margin:auto;max-height:calc(100svh - 24px);max-width:calc(100vw - 28px);overflow:auto;padding:0;width:-webkit-fit-content;width:fit-content}.photo-viewer::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c1017c7}.photo-viewer-content{margin:auto;max-width:100%;width:-webkit-fit-content;width:fit-content}.photo-viewer-toolbar{display:flex;justify-content:flex-end;margin-bottom:12px}.photo-viewer button{background:#fafbf8;border:0;border-radius:50%;color:#171b26;cursor:pointer;display:grid;height:44px;padding:0;place-items:center;width:44px}.photo-viewer button:focus-visible{outline:3px solid #3157ff;outline:3px solid var(--cobalt);outline-offset:3px}.viewer-polaroid{background:#fafbf8;box-shadow:0 16px 70px #0006;color:#171b26;margin:0;max-width:100%;padding:5px 5px 0;width:-webkit-fit-content;width:fit-content}.viewer-polaroid img{display:block;height:auto;max-height:calc(100svh - 220px);max-width:min(calc(100vw - 48px),1100px);object-fit:contain;width:auto}.viewer-polaroid figcaption{font-size:14px;line-height:1.45;max-width:100%;padding:12px 8px 16px}.photo-viewer-controls{align-items:center;color:#fafbf8;display:flex;font-size:14px;gap:22px;justify-content:center;margin-top:16px}.case-study-media{grid-gap:clamp(24px,5vw,64px);align-items:center;background:color-mix(in srgb,#fafbf8 82%,#0000);background:var(--glass-panel);border:1px solid #14182429;border:1px solid var(--line);display:grid;gap:clamp(24px,5vw,64px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-bottom:60px;padding:clamp(24px,4vw,40px)}.case-study-media figure{margin:0}.case-study-media img{display:block;max-height:420px;object-fit:contain;width:100%}.case-study-media figcaption{color:#5d6270;color:var(--muted);font-size:12px;margin-top:10px}.case-study-flow ol{grid-gap:0;display:grid;gap:0;list-style:none;margin:18px 0 0;padding:0}.case-study-flow li{border-top:1px solid #14182429;border-top:1px solid var(--line);font-weight:600;padding:13px 0}.case-study-flow li:last-child{border-bottom:1px solid #14182429;border-bottom:1px solid var(--line)}.case-study-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:150px}.case-study-grid article{background:color-mix(in srgb,#fafbf8 82%,#0000);background:var(--glass-panel);border:1px solid #14182429;border:1px solid var(--line);box-shadow:0 24px 70px #1b202f1c;box-shadow:var(--shadow);padding:clamp(24px,3vw,34px)}.case-study-grid h2{font-size:22px;letter-spacing:-.03em;margin:0 0 14px}.case-study-grid p{color:#5d6270;color:var(--muted);line-height:1.6;margin:0}.resume-intro .button{margin-top:22px;width:-webkit-fit-content;width:fit-content}.resume-sheet{background:color-mix(in srgb,#fafbf8 82%,#0000);background:var(--glass-panel);border:1px solid #14182429;border:1px solid var(--line);box-shadow:0 24px 70px #1b202f1c;box-shadow:var(--shadow);margin:0 0 150px;padding:clamp(30px,6vw,70px)}.resume-sheet-header{grid-gap:60px;align-items:end;border-bottom:4px solid #141824;border-bottom:4px solid var(--ink);display:grid;gap:60px;grid-template-columns:1fr 1fr;padding-bottom:42px}.resume-sheet-header h2{font-size:clamp(40px,6vw,72px);letter-spacing:-.06em;margin:9px 0 0}.resume-sheet-header p{color:#5d6270;color:var(--muted);font-size:18px;line-height:1.6;margin:0}.resume-columns{grid-gap:70px;display:grid;gap:70px;grid-template-columns:1.6fr .8fr;padding:50px 0}.resume-columns h3{color:#3157ff;color:var(--cobalt);font-size:14px;letter-spacing:.09em;margin:0 0 28px;text-transform:uppercase}.resume-role{border-bottom:1px solid #14182429;border-bottom:1px solid var(--line);margin-bottom:26px;padding:0 0 26px}.resume-role>div{display:flex;gap:20px;justify-content:space-between}.resume-role strong{font-family:Space Grotesk,sans-serif;font-size:19px}.resume-role span{color:#5d6270;color:var(--muted);font-size:12px;text-transform:uppercase}.resume-role p{color:#141824;color:var(--ink);font-weight:600;margin:5px 0 9px}.resume-role small{color:#5d6270;color:var(--muted);font-size:14px;line-height:1.55}.resume-aside{border-left:1px solid #14182429;border-left:1px solid var(--line);padding-left:38px}.resume-aside div{margin-bottom:28px}.resume-aside strong{font-family:Space Grotesk,sans-serif}.resume-aside p{color:#5d6270;color:var(--muted);line-height:1.55;margin:6px 0 0}.contact-page{grid-gap:clamp(50px,10vw,140px);align-items:center;display:grid;gap:clamp(50px,10vw,140px);grid-template-columns:1.25fr .75fr;min-height:calc(100vh - 77px);padding:100px 0 130px}.page-shell-contact{min-height:0}.page-shell-contact .contact-page{gap:clamp(16px,3vh,36px);min-height:calc(100svh - 141px);padding:clamp(12px,2vh,24px) 0}.page-shell-contact .contact-copy h1{font-size:clamp(38px,5.5vw,72px)}.page-shell-contact .contact-copy p{font-size:clamp(16px,1.5vw,19px);margin-bottom:0}.page-shell-contact .contact-copy .button{margin-top:10px}.page-shell-contact .contact-links>a{padding:clamp(10px,1.5vh,16px) 2px}.contact-copy h1{max-width:780px}.contact-copy p{color:#5d6270;color:var(--muted);font-size:21px;line-height:1.6;max-width:620px}.contact-copy .button{margin-top:25px;width:-webkit-fit-content;width:fit-content}.contact-links{border-top:1px solid #14182429;border-top:1px solid var(--line)}.contact-links>a{grid-gap:18px;align-items:center;border-bottom:1px solid #14182429;border-bottom:1px solid var(--line);display:grid;gap:18px;grid-template-columns:auto 1fr auto;padding:24px 2px;text-decoration:none}.contact-links>a:hover>svg:last-child{transform:translate(4px,-4px)}.contact-links svg{transition:transform .18s ease}.contact-links span{overflow:hidden;text-overflow:ellipsis}.contact-links small{color:#5d6270;color:var(--muted);display:block;font-size:11px;letter-spacing:.1em;margin-bottom:3px;text-transform:uppercase}.site-footer{grid-gap:28px;align-items:center;border-top:1px solid #14182429;border-top:1px solid var(--line);color:#5d6270;color:var(--muted);display:grid;font-size:13px;gap:28px;grid-template-columns:1fr auto auto;margin:0 auto;min-height:150px;position:relative;width:min(1180px,calc(100% - 40px));z-index:2}.site-footer.site-footer-contact{display:flex;gap:12px;justify-content:space-between;min-height:64px;padding:12px 0}.site-footer-contact .footer-links{display:none}.site-footer p{margin:0}.footer-links{display:flex;gap:18px}@media (max-width:900px){.activity-section{grid-template-columns:1fr}.nav-shell{display:flex}.brand{margin-right:auto}.menu-button{display:grid;order:3}.main-nav{background:#fafbf8;background:var(--paper-strong);border:1px solid #14182429;border:1px solid var(--line);box-shadow:0 24px 70px #1b202f1c;box-shadow:var(--shadow);display:none;left:20px;padding:18px;position:absolute;right:20px;top:76px}.main-nav.is-open{grid-gap:4px;display:grid;gap:4px}.main-nav a{padding:14px 8px}.nav-actions{order:2}.nav-actions a{display:none}.hero-section{gap:30px;grid-template-columns:1fr;padding-top:55px}.hero-highlights{grid-column:1;grid-row:2;justify-self:center;margin-right:0;margin-top:0;width:min(300px,calc(100% - 56px))}.experience-highlight{gap:10px 18px;grid-template-columns:96px minmax(0,1fr) 18px}.experience-highlight-role{grid-column:2;grid-row:1}.experience-highlight-date{grid-column:2;grid-row:2}.experience-highlight>.company-logo{grid-row:1/3}.experience-highlight>svg{grid-column:3;grid-row:1/3}.contact-page,.skills-section{grid-template-columns:1fr}.current-experience,.timeline-item{gap:22px;grid-template-columns:95px 1fr}.timeline-period{grid-column:2;padding:0 0 8px}.current-experience>.timeline-content,.timeline-item>.timeline-content{grid-column:2}.current-work-stack:before{left:54px}.current-work-stack.has-concurrent-work .current-experience:first-child:before{left:63px}.architecture-layers,.case-study-grid,.case-study-media,.project-grid{grid-template-columns:1fr}.architecture-layer:not(:last-child):after{bottom:-27px;right:50%;top:auto;transform:rotate(90deg)}.resume-columns{gap:45px;grid-template-columns:1fr}.resume-aside{border-left:0;padding:0}.site-footer{grid-template-columns:auto 1fr auto;padding:30px 0}.site-footer small{grid-column:2}}@media (max-width:620px){.site-footer-contact p{display:none}.contribution-scroll.range-3{--contribution-size:14px}.activity-section{margin-bottom:95px}.contribution-shell.has-range .contribution-heading{padding-right:110px}.contribution-heading h2{font-size:clamp(23px,6.8vw,28px)}.contribution-range{left:auto;right:12px;top:6px}.contribution-scroll-hint{display:block}.contribution-summary>span{flex-basis:100%;margin-left:0}.nav-shell,.page-shell,.site-footer{width:min(100% - 28px,1180px)}.nav-shell{gap:8px}.nav-actions{gap:4px}.paint{opacity:.2}.paint-speckles{opacity:.45}.hero-section{gap:28px;grid-template-columns:1fr;padding:42px 0 60px}.hero-highlights{grid-column:1;grid-row:2;justify-self:center;margin-right:0;width:min(300px,calc(100% - 56px))}.scroll-prompt{left:auto;right:16px;transform:none}.contact-copy h1,.hero-copy h1,.page-intro h1{font-size:clamp(48px,16vw,70px)}.contact-copy p,.hero-lede,.page-intro>p{font-size:17px}.hero-actions .button{font-size:14px;padding-inline:12px}.hero-actions{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-top:24px}.hero-actions>.button-primary{grid-column:1/-1}.hero-actions .contact-menu{width:auto}.hero-actions .contact-menu summary{width:100%}.hero-actions .contact-menu:last-child .contact-menu-options{left:auto;right:0}.contact-menu-options{right:0}.contribution-card,.section-block{margin-bottom:95px}.contribution-footer,.split-heading{align-items:flex-start;flex-direction:column}.featured-project{gap:12px;grid-template-columns:45px 1fr;min-height:210px;padding-inline:5px}.featured-project:hover{padding-left:10px}.project-arrow{display:none}.skills-section{gap:10px}.skill-group{gap:12px;grid-template-columns:65px 1fr}.recognition-grid{grid-template-columns:1fr}.page-intro{padding:48px 0 40px}.education-layout{gap:22px;grid-template-columns:1fr;margin-bottom:44px}.education-layout .education-photo{justify-self:start;width:150px}.education-photo.photo-postcard{padding:7px 7px 0}.education-photo.photo-postcard figcaption{font-size:11px;padding:9px 2px 12px}.education-section-heading h2{font-size:28px}.education-coursework,.education-publication{margin-bottom:44px}.education-school{gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:20px}.education-school-label{grid-column:1/-1}.education-school .education-period{align-self:start;font-size:11px;padding-top:4px}.education-school h2{font-size:18px}.experience-highlights{margin-bottom:75px}.experience-highlight{gap:6px 12px;grid-template-columns:66px minmax(0,1fr) 18px;padding:18px 12px}.experience-highlight .company-logo{height:34px;padding:5px;width:66px}.experience-highlight .company-logo-deloitte,.experience-highlight .company-logo-trakto,.experience-highlight .company-logo-viciquest{height:36px;padding:0;width:36px}.experience-highlight h3{font-size:16px}.current-experience,.timeline-item{gap:12px;grid-template-columns:48px minmax(0,1fr)}.timeline-item{padding-bottom:60px}.timeline-marker{width:48px}.timeline-marker span{border-width:6px;height:46px;width:46px}.timeline-content{padding:24px 20px}.current-work-stack:before,.timeline-item-past:before{left:23px}.current-work-stack{gap:60px}.current-work-stack.has-concurrent-work .current-experience:first-child:before{bottom:-60px;left:32px;top:-48px}.project-card{min-height:440px}.resume-sheet{padding:24px}.resume-sheet-header{gap:20px;grid-template-columns:1fr}.resume-role>div{flex-direction:column;gap:6px}.contact-page{min-height:auto;padding-top:75px}.site-footer{grid-template-columns:auto 1fr}.footer-links,.site-footer small{grid-column:1/-1}}@media (max-width:620px) and (max-height:650px){.page-shell-contact .contact-page{gap:8px;min-height:calc(100svh - 125px);padding:8px 0}.page-shell-contact .contact-copy h1{font-size:32px;line-height:.95;margin:12px 0}.page-shell-contact .contact-copy p{font-size:15px;line-height:1.4}.page-shell-contact .contact-copy .button{margin-top:6px;min-height:44px;padding:10px 16px}.page-shell-contact .contact-links>a{min-height:44px;padding:6px 2px}.site-footer.site-footer-contact{min-height:48px;padding:8px 0}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.paint,.paint-speckles{transform:none!important}}.project-themed{--line:color-mix(in srgb,var(--ink) 15%,#0000);--glass-panel:color-mix(in srgb,var(--paper-strong) 85%,#0000);--shadow:0 24px 70px color-mix(in srgb,var(--ink) 9%,#0000);background:var(--paper);color:var(--ink)}.app-shell[data-project=home-security-system]{--paper:#f0f5ed;--paper-strong:#fafcf7;--ink:#172c21;--muted:#56695b;--cobalt:#16783e;--scene-accent:#3a9153}.app-shell[data-project=spotifycares-support-agent]{--paper:#eef3ed;--paper-strong:#fafcf9;--ink:#18241b;--muted:#57675b;--cobalt:#147d3c;--scene-accent:#1ed760}.app-shell[data-project=route-planner]{--paper:#f3f4ed;--paper-strong:#fcfcf7;--ink:#1a303c;--muted:#596c71;--cobalt:#2c7197;--scene-accent:#4387a9}.app-shell[data-project=loan-verification-copilot]{--paper:#eef3f4;--paper-strong:#fafcfc;--ink:#1b3039;--muted:#576c74;--cobalt:#236d77;--scene-accent:#4a9394}.app-shell[data-project=code-reviewer]{--paper:#f3f1f7;--paper-strong:#fcfbfe;--ink:#292236;--muted:#6b6079;--cobalt:#7655b0;--scene-accent:#9678c3}.app-shell[data-project=proactive-intrusion-detection]{--paper:#f6f2e9;--paper-strong:#fdfbf6;--ink:#352a20;--muted:#776858;--cobalt:#a4562d;--scene-accent:#c67c41}:root[data-theme=dark] .app-shell[data-project=home-security-system]{--paper:#111e17;--paper-strong:#1b2c21;--ink:#eaf4e9;--muted:#adbfaf;--cobalt:#80cb93;--scene-accent:#45945a}:root[data-theme=dark] .app-shell[data-project=spotifycares-support-agent]{--paper:#121512;--paper-strong:#202620;--ink:#f2f7ef;--muted:#b0beb1;--cobalt:#1ed760}:root[data-theme=dark] .app-shell[data-project=route-planner]{--paper:#14212a;--paper-strong:#1d303a;--ink:#edf3ed;--muted:#a7bec6;--cobalt:#83bdd4}:root[data-theme=dark] .app-shell[data-project=loan-verification-copilot]{--paper:#142126;--paper-strong:#1e3035;--ink:#e9f3f3;--muted:#a7bdc1;--cobalt:#83c4c5}:root[data-theme=dark] .app-shell[data-project=code-reviewer]{--paper:#1a1622;--paper-strong:#292232;--ink:#f2edf7;--muted:#bcb0cc;--cobalt:#c5a8f0}:root[data-theme=dark] .app-shell[data-project=proactive-intrusion-detection]{--paper:#211b15;--paper-strong:#30271e;--ink:#f5eddf;--muted:#c5b7a2;--cobalt:#e7b17b}.project-themed .button-primary{background:var(--ink);border-color:var(--ink);color:var(--paper-strong)}.project-themed .case-study-intro h1{max-width:880px}.project-themed .case-study-intro>p{max-width:720px}.project-scene{color:var(--scene-accent)}.project-scene .scene-art{opacity:1}.scene-pi-board{right:-5vw;top:18vh;transform:rotate(12deg);width:min(38vw,470px)}.pcb-shadow{fill:var(--ink);opacity:.05}.pcb-board{fill:#3a8b49;stroke:#26733a;stroke-width:2}.pcb-mount{fill:#dcc178;stroke:#f4df9b;stroke-width:3}.pcb-traces{fill:none;stroke:#84bf79;stroke-width:3;opacity:.65}.pcb-chip{fill:#253b2a;stroke:#172c21;stroke-width:2}.pcb-chip-detail{fill:#344e37;stroke:#628267}.pcb-legs{fill:none;stroke:#c5cfb5;stroke-width:5}.pcb-header{fill:#213222}.pcb-pins{fill:#d9c07c}.pcb-port{fill:#b8c4b4;stroke:#869784;stroke-width:2}.pcb-port-detail{fill:none;stroke:#81917b;stroke-width:4}.pcb-camera-socket{fill:#d5d9bc}.pcb-led{fill:#e1ed6b}.project-scene .scene-circuit{bottom:-2vh;left:-5vw;opacity:.35;width:min(48vw,650px)}:root[data-theme=dark] .scene-pi-board{opacity:.55}.project-scene .scene-record{right:-7vw;top:17vh;transform:rotate(-12deg);width:min(42vw,540px)}.record-disc{fill:#26332a}.record-groove{fill:none;stroke:#536658;stroke-width:1.5}.record-label{fill:#1ed760}.record-sound{fill:none;stroke:#173622;stroke-width:10;stroke-linecap:round}.project-scene .scene-wave{bottom:3vh;left:auto;opacity:.18;right:1vw;width:min(32vw,440px)}.project-scene .scene-wave-lines{stroke:var(--scene-accent);stroke-width:10}:root[data-theme=dark] .record-disc{fill:#243629}:root[data-theme=dark] .record-groove{stroke:#405e49}.project-scene .scene-route{bottom:15vh;opacity:.75;right:2vw;width:min(55vw,730px)}.project-scene .scene-point text{fill:var(--paper-strong)}.map-blocks{fill:color-mix(in srgb,var(--scene-accent) 10%,var(--paper))}.project-scene .scene-road{stroke:var(--paper-strong);stroke-width:20}.project-scene .scene-route-line{stroke:var(--cobalt);stroke-width:4;stroke-dasharray:none}.map-waypoint{fill:var(--paper-strong);stroke:var(--cobalt);stroke-width:4}.scene-map-contours{bottom:-3vh;left:-8vw;opacity:.35!important;width:min(38vw,470px)}.scene-documents{opacity:.7!important;right:-3vw;top:19vh;transform:rotate(7deg);width:min(37vw,430px)}.document-back{fill:color-mix(in srgb,var(--scene-accent) 15%,var(--paper))}.document-back,.document-page{stroke:var(--scene-accent);stroke-width:2}.document-page{fill:var(--paper-strong)}.document-fold,.document-lines{fill:none;stroke:var(--scene-accent);stroke-width:3;stroke-linecap:round}.document-lines{opacity:.45}.verification-seal{fill:var(--scene-accent)}.verification-check{fill:none;stroke:var(--paper-strong);stroke-width:8;stroke-linecap:round;stroke-linejoin:round}.scene-audit{bottom:10vh;left:-3vw;opacity:.35!important;width:min(38vw,480px)}.audit-chain{fill:var(--paper-strong);stroke:var(--scene-accent);stroke-width:2}.audit-checks{fill:none;stroke:var(--scene-accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.scene-code-window{opacity:.65!important;right:-5vw;top:21vh;transform:rotate(7deg);width:min(43vw,530px)}.code-window{fill:var(--paper-strong);stroke:var(--scene-accent);stroke-width:2}.code-divider{stroke:var(--scene-accent);stroke-width:1;opacity:.4}.code-window-dots{fill:var(--scene-accent)}.code-line{stroke:var(--scene-accent);stroke-width:7;stroke-linecap:round;opacity:.5}.code-gutter{stroke:var(--scene-accent);stroke-width:3;opacity:.3}.code-removed{fill:#eab4b1;opacity:.35}.code-added{fill:#95c6a5;opacity:.35}.code-remove-line{stroke:#b26b70;stroke-width:5;stroke-linecap:round}.code-add-line{stroke:#4c8e68;stroke-width:5;stroke-linecap:round}.scene-code-brackets{fill:none;stroke:var(--scene-accent);stroke-width:12;stroke-linecap:round;stroke-linejoin:round;bottom:4vh;left:-4vw;opacity:.3!important;width:min(29vw,330px)}.scene-research{opacity:.7!important;right:-3vw;top:24vh;width:min(45vw,560px)}.research-grid{fill:none;stroke:var(--scene-accent);stroke-width:1;opacity:.18}.research-signal{fill:none;stroke:var(--cobalt);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.research-reconstruction{fill:none;stroke:var(--scene-accent);stroke-width:3;stroke-dasharray:7 6;opacity:.6}.research-anomaly{fill:var(--paper);stroke:var(--cobalt);stroke-width:3}.scene-search-tree{bottom:0;left:-3vw;opacity:.4!important;width:min(35vw,400px)}@media (max-width:700px){.scene-pi-board{right:-110px;top:20vh;width:250px}.project-scene .scene-circuit{left:-145px;opacity:.22;width:350px}.project-scene .scene-record{opacity:.65;right:-160px;top:19vh;width:310px}.project-scene .scene-wave{left:auto;opacity:.15;right:-90px;width:250px}.project-scene .scene-route{bottom:auto;opacity:.5;right:16px;top:26vh;width:min(calc(100vw - 32px),420px)}.scene-map-contours{left:-125px;width:280px}.scene-documents{opacity:.5!important;right:-140px;top:20vh;width:265px}.scene-audit{left:-130px;width:290px}.scene-code-window{opacity:.4!important;right:-190px;top:24vh;width:340px}.scene-code-brackets{left:-100px;width:210px}.scene-research{opacity:.45!important;right:-200px;top:25vh;width:340px}.scene-search-tree{left:-125px;width:250px}}
/*# sourceMappingURL=main.cf50ffb4.css.map*/