@font-face{font-family:Mona;src:url(/fonts/MonaSans-Variable.woff2)format("woff2");font-weight:200 900;font-display:swap}@font-face{font-family:JetBrains;src:url(/fonts/JetBrainsMono-Variable.woff2)format("woff2");font-weight:100 800;font-display:swap}:root{color-scheme:dark;--paper:#f4f1ec;--background:#111113;--surface:#19191d;--muted:#a4a3ad;--line:#35353b;--accent:#a6aaff;--blue:#4965ff;--font-body:Mona, Arial, sans-serif;--font-mono:JetBrains, monospace;font-family:var(--font-body);background:var(--background);color:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0}::selection{background:var(--accent);color:var(--background)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait}img,svg{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}p{line-height:1.65}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:6px}a:hover .arrow{transform:translate(3px,-3px)}.arrow{flex-shrink:0;transition:transform .2s}.arrow-down{rotate:135deg}.arrow-right{rotate:45deg}.shell{width:min(1320px,100% - 112px);margin-inline:auto}.eyebrow{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;font-size:11px;line-height:1.6}.muted{color:#90909b}.skip-link{background:var(--paper);color:var(--background);z-index:100;padding:12px 20px;position:absolute;top:16px;left:20px;transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:112px;display:flex}.wordmark{letter-spacing:-3px;border-bottom:3px solid var(--blue);align-items:center;padding-bottom:5px;font-size:35px;font-weight:850;line-height:1;display:flex}.site-header nav{align-items:center;gap:40px;font-size:13px;font-weight:550;display:flex}.site-header nav>a{align-items:center;gap:8px;min-height:44px;display:flex}.site-header nav>a:hover{color:var(--accent)}.site-header nav .nav-contact{background:#4965ff12;border:1px solid #626ede;margin-left:16px;padding:0 16px;transition:background .2s,border-color .2s}.site-header nav .nav-contact:hover{border-color:var(--accent);background:#4965ff25}.nav-contact .arrow{width:18px;margin-left:12px}.hero{isolation:isolate;grid-template-columns:1.55fr 1fr;column-gap:30px;padding-top:72px;padding-bottom:85px;display:grid;position:relative}.hero:before{content:"";z-index:-2;pointer-events:none;background:radial-gradient(at 75% 46%,#4965ff20,#0000 66%);position:absolute;inset:-30px -55px -15px 28%}.hero:after{content:"";background:linear-gradient(90deg, var(--blue), #bd7dad 35%, var(--line) 70%);width:100%;height:1px;position:absolute;bottom:0;left:0}.hero-copy>.eyebrow{color:var(--accent)}.name-accent{color:#919dff}.hero h1{letter-spacing:-.07em;z-index:2;margin-top:30px;font-size:clamp(65px,7.5vw,112px);font-weight:760;line-height:.97;position:relative}.hero-description{color:#b7b6bf;max-width:415px;margin-top:36px;font-size:16px}.button{border:1px solid #0000;justify-content:center;align-items:center;gap:32px;min-height:54px;padding:16px 23px;font-size:13px;font-weight:650;transition:background .2s,transform .2s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button-light{background:var(--paper);color:var(--background)}.button-light:hover{background:#fff}.hero .button{background:var(--blue);color:#fff;margin-top:26px;box-shadow:5px 5px #26294b}.hero .button:hover{background:#3d54db}.button .arrow{width:18px;height:18px}.hero-art{isolation:isolate;align-self:center;width:90%;max-width:365px;margin:30px 0 0 auto;position:relative}.portrait-frame{aspect-ratio:4/4.7;border:7px solid var(--blue);background:var(--blue);z-index:1;transition:rotate .5s,box-shadow .5s;position:relative;rotate:5deg;box-shadow:12px 14px #262c64,15px 17px #9a7bac}.portrait-frame img{object-fit:cover;object-position:50% 38%;width:100%;height:100%}.hero-art:before{content:"";z-index:-1;background:linear-gradient(155deg,#353b82,#212440 65%);border:1px solid #7472a4;width:116%;height:90%;position:absolute;top:10%;left:-15%;rotate:-7deg}@media (hover:hover) and (prefers-reduced-motion:no-preference){.hero-art:hover .portrait-frame{rotate:2deg;box-shadow:17px 19px #262c64,20px 22px #9a7bac}}.work-section{padding-top:70px;padding-bottom:70px}.section-heading{justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:70px;display:flex}.section-heading:after{content:"";background:var(--blue);width:74px;height:6px;margin-bottom:8px}.section-heading h2,.experience-intro h2{letter-spacing:-.055em;margin-top:23px;font-size:clamp(40px,4.5vw,65px);font-weight:650;line-height:1.08}.section-heading>p{color:var(--muted);max-width:320px;padding-bottom:6px;font-size:13px}.project{border-bottom:1px solid var(--line);grid-template-columns:1.2fr 1fr;align-items:center;gap:64px;padding:55px 0 70px;display:grid}.project:first-child{padding-top:0}.project-reverse{grid-template-columns:1fr 1.2fr}.project-reverse .project-visual{grid-area:1/2}.project-reverse .project-copy{grid-area:1/1}.project-visual{background:var(--project-surface);isolation:isolate;border:1px solid color-mix(in srgb, var(--project-accent) 35%, transparent);min-width:0;box-shadow:8px 8px 0 color-mix(in srgb, var(--project-surface) 60%, #111113);padding:45px 22px;position:relative}.project-visual:before{content:"";opacity:.22;z-index:-1;background-image:linear-gradient(var(--project-accent) 1px, transparent 1px), linear-gradient(90deg, var(--project-accent) 1px, transparent 1px);background-size:40px 40px;position:absolute;inset:0;mask-image:linear-gradient(120deg,#000,#0000 85%)}.browser-preview{background:#faf9f6;border:1px solid #4d4c60;border-radius:7px;transition:rotate .35s,transform .35s;display:block;overflow:hidden;rotate:-4deg;box-shadow:12px 24px 35px #0005}.browser-preview:hover{transform:translateY(-5px)}.browser-preview:focus-visible{rotate:0deg}.project-reverse .browser-preview{rotate:3deg}.project-reverse .browser-preview:hover{rotate:0deg}.browser-bar{color:#d1d0d9;height:29px;font:8px var(--font-mono);background:#202026;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;display:flex}.browser-dots{gap:4px;display:flex}.browser-dots i{background:#72717e;border-radius:50%;width:5px;height:5px;display:block}.browser-bar .arrow{width:11px;height:11px}.browser-preview img{width:100%;height:auto;display:block}.project-copy .eyebrow{color:var(--project-accent);letter-spacing:.03em;font-size:9px}.project h3{letter-spacing:-.05em;margin-top:19px;font-size:clamp(34px,3.7vw,53px);font-weight:650;line-height:1.09}.project-description{color:#b6b5be;max-width:430px;margin-top:19px;font-size:14px}.tags{flex-wrap:wrap;gap:7px;margin:23px 0;padding:0;list-style:none;display:flex}.tags li{font:9px var(--font-mono);color:#cbc9d3;border:1px solid #45444d;border-radius:3px;padding:6px 9px}.project-link{border-bottom:1px solid var(--project-accent);align-items:center;gap:32px;padding:9px 0;font-size:13px;font-weight:650;display:inline-flex}.project-link .arrow{color:var(--project-accent);width:20px}.extra-links{color:var(--muted);flex-wrap:wrap;gap:21px;margin-top:17px;font-size:11px;display:flex}.extra-links a{align-items:center;gap:7px;min-height:26px;display:flex}.extra-links a:hover{color:var(--project-accent)}.experience-section{border-block:1px solid var(--line);background:linear-gradient(110deg,#202238,#18181c 48%);padding:95px 0}.experience-grid{grid-template-columns:.85fr 1.4fr;gap:100px;display:grid}.experience-intro>p:not(.eyebrow){color:var(--muted);max-width:255px;margin-top:24px;font-size:14px}.job{border-bottom:1px solid var(--line);margin-bottom:35px;padding-bottom:38px}.job-meta{color:#aaa8b5;font:10px var(--font-mono);justify-content:space-between;gap:15px;line-height:1.7;display:flex}.job h3{letter-spacing:-.04em;margin-top:16px;font-size:25px;font-weight:600}.job-company{margin-top:9px;font-size:13px}.job-company>span{color:var(--muted);font-size:11px}.job ul{gap:11px;margin:22px 0 0;padding:0;list-style:none;display:grid}.job li{color:#b1afba;padding-left:17px;font-size:12px;line-height:1.75;position:relative}.job li:before{content:"↳";color:#8e89a0;font-size:10px;position:absolute;left:0}.education>.eyebrow{color:var(--muted);justify-content:space-between;gap:14px;font-size:10px;display:flex}.education h3{letter-spacing:-.03em;margin:18px 0 9px;font-size:20px;font-weight:550}.education>p:not(.eyebrow){color:#b1afba;font-size:12px}.education .education-location{color:var(--muted);margin-top:4px}.contact-section{grid-template-columns:1fr 1fr;gap:75px;padding-block:110px;display:grid}.contact-copy h2{letter-spacing:-.055em;color:#a6aaff;margin-top:24px;font-size:clamp(42px,4.8vw,69px);font-weight:650;line-height:1.08}.contact-copy>p:not(.eyebrow){color:var(--muted);margin-top:28px;font-size:14px}.social-links{flex-wrap:wrap;gap:15px 25px;max-width:380px;margin-top:30px;display:flex}.social-links a{align-items:center;gap:12px;min-height:44px;font-size:12px;display:flex}.social-links .arrow{width:14px;height:14px;color:var(--accent)}.social-links a:hover{color:var(--accent)}.contact-form-wrap{padding-top:9px}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.field{flex-direction:column;gap:10px;margin-bottom:23px;display:flex}.field label{font-size:11px;font-weight:550}.field label span{color:var(--accent)}.field input,.field textarea{width:100%;color:var(--paper);background:#1b1b20;border:1px solid #43414c;border-radius:3px;min-height:49px;padding:15px;font-size:12px;transition:border-color .2s}.field input::placeholder,.field textarea::placeholder{color:#8e8b9a;opacity:1}.field input:hover,.field textarea:hover{border-color:#8b7c9b}.field textarea{resize:vertical;min-height:148px;line-height:1.65}.form-actions{justify-content:space-between;align-items:center;gap:20px;display:flex}.form-note{color:var(--muted);font-size:10px}.form-status{min-height:24px;margin-top:16px;font-size:12px}.form-status[data-state=success]{color:#a8d8b5}.form-status[data-state=error]{color:#ffadbc}.site-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-block:29px;display:flex}.site-footer .wordmark{font-size:28px}.site-footer p{font:9px var(--font-mono);color:var(--muted)}.site-footer>a:last-child{align-items:center;gap:22px;min-height:44px;font-size:10px;display:flex}.site-footer>a:last-child span{color:var(--accent);font-size:20px}.message-page{min-height:70vh;padding-block:100px;position:relative}.message-page h1{letter-spacing:-.06em;margin:28px 0;font-size:clamp(54px,8vw,108px);line-height:1}.message-page>p:not(.eyebrow){color:var(--muted);margin-bottom:28px}@media (prefers-reduced-motion:no-preference){.hero-copy{animation:.8s both hero-in}.hero-art{animation:1s .12s both hero-in}@keyframes hero-in{0%{opacity:0;translate:0 18px}to{opacity:1;translate:0}}}@media (width>=1500px){.hero{padding-top:90px}.hero-art{max-width:400px}.project{gap:90px}.project-visual{padding-block:95px}}@media (width<=1100px){.shell{width:calc(100% - 72px)}.hero h1{font-size:8.1vw}.hero-art{width:86%}.project{gap:38px}.project-visual{padding:65px 20px}.section-heading>p{max-width:255px;font-size:12px}.experience-grid{gap:65px}.contact-section{gap:44px}.hero-description{max-width:350px;font-size:14px}}@media (width<=760px){.shell{width:calc(100% - 40px)}.site-header{min-height:85px}.wordmark{font-size:30px}.site-header nav{gap:20px;font-size:11px}.site-header nav .nav-contact{margin-left:0;padding-inline:10px}.nav-contact .arrow{width:15px;margin-left:0}.hero{grid-template-columns:1fr;gap:0;padding-top:42px}.hero h1{letter-spacing:-.065em;margin-top:25px;font-size:clamp(58px,12vw,87px);line-height:1}.hero-description{max-width:380px;margin-top:30px;font-size:14px}.hero .button{margin-top:23px}.hero-art{width:64%;max-width:280px;margin:64px 20px 0 auto}.portrait-frame{aspect-ratio:4/4.5;border-width:7px;box-shadow:10px 12px #262c64,12px 14px #9a7bac}.work-section{padding-top:75px}.section-heading{margin-bottom:38px;display:block}.section-heading:after{width:48px;height:4px;margin-top:22px;display:block}.section-heading h2,.experience-intro h2{margin-top:18px;font-size:43px}.section-heading>p{max-width:none;margin-top:22px;font-size:12px}.eyebrow{font-size:10px}.project,.project-reverse{grid-template-columns:1fr;gap:35px;padding:45px 0}.project-reverse .project-visual,.project-reverse .project-copy{grid-area:auto}.project-visual{padding:64px 24px}.project h3{max-width:400px;margin-top:16px;font-size:40px}.project-description{max-width:100%;font-size:14px}.project-copy .eyebrow{font-size:8px}.tags li{font-size:9px}.experience-section{padding-block:65px}.experience-grid{grid-template-columns:1fr;gap:36px}.experience-intro{position:relative}.experience-intro h2{font-size:48px}.experience-intro h2 br:nth-child(2){display:none}.experience-intro>p:not(.eyebrow){max-width:280px;font-size:13px}.job-meta{font-size:9px}.job h3{font-size:23px}.job-company>span{margin-top:3px;display:block}.job li{font-size:12px}.contact-section{grid-template-columns:1fr;gap:33px;padding-block:65px}.contact-copy h2{font-size:clamp(40px,10.7vw,62px)}.contact-copy>p:not(.eyebrow){font-size:13px}.social-links{gap:9px 22px;max-width:none;margin-top:24px}.social-links a{gap:7px;font-size:11px}.social-links .arrow{width:12px}.contact-form-wrap{padding-top:0}.site-footer{flex-wrap:wrap;gap:15px;padding-block:20px}.site-footer p{font-size:8px}.site-footer>a:last-child{gap:10px;font-size:9px}.site-footer .wordmark{font-size:23px}.message-page{padding-block:70px}}@media (width<=380px){.shell{width:calc(100% - 32px)}.site-header nav{gap:13px;font-size:10px}.hero h1{font-size:15vw}.section-heading h2{font-size:38px}.form-row{grid-template-columns:1fr;gap:0}.form-actions{gap:10px}.button{gap:20px;padding-inline:18px}.social-links{column-gap:17px}.social-links a{font-size:10px}.job-meta{font-size:8px}.education>.eyebrow{font-size:9px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.browser-preview:hover,.button:hover{transform:none}}@media print{:root{color-scheme:light;color:#111;background:#fff}.site-header,.hero-art,.work-section,.contact-section,.site-footer,.hero .button{display:none}.shell{width:100%}.hero{padding-top:0;display:block}.hero h1{font-size:42px}.hero-description{color:#333}.experience-section{background:#fff;border:0;padding:30px 0}.experience-grid{display:block}.experience-intro{margin-bottom:25px}.experience-intro h2{font-size:28px}.experience-intro h2 br{display:none}.experience-intro>p:not(.eyebrow){max-width:none}.resume{color:#111}.job{break-inside:avoid}.job li,.job-meta,.job-company>span,.education>p{color:#333!important}.muted{color:#444}}body{overflow-x:clip}.portrait-frame{overflow:hidden}.portrait-frame img{transform-origin:50% 55%;transform:scale(1.15)}@media (width<=760px){.field input,.field textarea{font-size:16px}}.section-heading h2,.experience-intro h2,.contact-copy h2{margin-top:0}.button:disabled{opacity:.65;transform:none}
