@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/space-grotesk-latin.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin.woff2) format("woff2")}:root{font-family:Space Grotesk,sans-serif;color:#eee9df;background:#181918;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--background: #181918;--cream: #eee9df;--gold: #d1b27d;--muted: #b5b2a9;--line: #53524c;--mono: "IBM Plex Mono", monospace;--gutter: clamp(28px, 5vw, 100px);--frame-inset: 16px;--frame-radius: 12px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}::selection{color:var(--background);background:var(--gold)}:focus-visible{outline:2px solid currentColor;outline-offset:6px}p,h1,h2,h3{margin:0}h1,h2,h3{font-weight:400}p{text-wrap:pretty}main:focus{outline:none}section{scroll-margin-top:0}.site-shell{padding:var(--frame-inset)}.viewport-frame{position:fixed;inset:var(--frame-inset);z-index:50;border:1px solid #827a6a;border-radius:var(--frame-radius);box-shadow:0 0 0 100vmax var(--background);pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:26px;left:32px;padding:14px 20px;color:var(--background);background:var(--cream);transform:translateY(-180%)}.skip-link:focus{transform:none}.arrow{display:inline-block;flex:none;vertical-align:middle}.arrow--down{transform:rotate(135deg)}.arrow--right{transform:rotate(45deg)}.site-header{position:fixed;z-index:30;top:36px;left:40px;right:40px;display:flex;justify-content:center;pointer-events:none}.site-header>*{pointer-events:auto}.primary-nav{display:flex;padding:5px;border:1px solid var(--line);border-radius:7px;background:var(--background);box-shadow:0 4px 24px #00000012}.primary-nav>a{display:flex;align-items:center;min-height:44px;padding:12px 22px;border-radius:3px;font:400 12px/1.3 var(--mono);text-transform:uppercase;white-space:nowrap;transition:background .2s,color .2s}.primary-nav>a:hover{background:#33342f}.primary-nav>a[aria-current]{color:#111;background:var(--gold)}.menu-toggle{display:none}.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4%;min-height:max(780px,calc(100svh - 32px));padding:145px var(--gutter) 90px;overflow:hidden;isolation:isolate}.hero-copy{position:relative;z-index:1}.hero-role,.studio-role{font-size:clamp(21px,1.9vw,32px);line-height:1.35;letter-spacing:-.035em}.hero-role{color:var(--gold)}.hero-name{margin:0 0 42px;color:var(--cream);font-size:clamp(90px,9vw,180px);font-weight:400;letter-spacing:-.07em;line-height:.9}.hero-name>span{display:block}.about-copy{max-width:48ch}.about-copy .education{margin-top:22px;color:var(--muted);font-size:clamp(15px,1.15vw,19px);line-height:1.6}.personal-links{display:flex;gap:30px;flex-wrap:wrap;margin-top:26px}.personal-links>a{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:15px}.personal-links>a:hover{color:var(--gold)}.personal-links .arrow{width:16px;height:16px}.hero-object{width:100%;height:clamp(460px,65vh,800px);align-self:center}.game-cartridges{position:relative;width:100%;height:100%;max-width:680px;margin-inline:auto}.cartridges-canvas,.cartridges-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;pointer-events:none}.cartridges-canvas{visibility:hidden}.cartridges-canvas[data-renderer=webgl]{visibility:visible}.cartridges-canvas[data-renderer=webgl]+.cartridges-fallback{visibility:hidden}.page-section{padding:112px var(--gutter)}.section-heading{font-size:clamp(42px,4.6vw,82px);line-height:1.1;letter-spacing:-.055em;margin-bottom:62px}.experience-section{--section-accent: var(--background);--muted: #3f3b32;--line: #18191870;--experience-columns: repeat(2, minmax(0, 1fr));--experience-gap: 12%;color:var(--background);background:var(--gold);border-radius:8px}.experience-section ::selection{color:var(--gold);background:var(--background)}.experience-grid,.technology-section,.certifications{display:grid;grid-template-columns:var(--experience-columns);column-gap:var(--experience-gap)}.experience-entry{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:28px}.experience-entry h3,.technology-section h3,.certifications h3{color:var(--section-accent);font-size:clamp(28px,2.2vw,40px);font-weight:400;letter-spacing:-.035em;line-height:1.25}.experience-entry h3{margin-bottom:26px}.experience-entry p{flex:1;max-width:44ch;color:var(--muted);font-size:clamp(18px,1.45vw,23px);line-height:1.6}.technology-section{row-gap:28px;margin-top:68px;padding-top:32px;border-top:1px solid var(--line)}.technology-list{margin:0;padding:0}.technology-list>div{display:grid;grid-template-columns:240px minmax(0,1fr);gap:22px;padding:22px 0;border-bottom:1px solid var(--line);align-items:baseline}.technology-list>div:first-child{padding-top:0}.technology-list>div:last-child{padding-bottom:0;border-bottom:0}.technology-list dt{color:var(--section-accent);font-size:clamp(18px,1.35vw,22px);line-height:1.4;letter-spacing:-.02em;white-space:nowrap}.technology-list dd{margin:0;color:inherit;font-size:clamp(16px,1.2vw,20px);line-height:1.8;text-wrap:pretty}.certifications{row-gap:22px;margin-top:62px;padding-top:28px;border-top:1px solid var(--line)}.certifications p{font-size:clamp(20px,1.6vw,27px);line-height:1.5;text-wrap:balance}.certifications p>span{display:block;margin-top:8px;color:var(--section-accent);font-size:clamp(16px,1.1vw,20px);line-height:1.5}.projects-section{background:var(--background)}.project-row{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;column-gap:7%;border-top:1px solid var(--line);padding:36px 0;transition:border-color .25s,color .25s}.project-row:last-child{border-bottom:1px solid var(--line)}.project-row h3{max-width:17ch;font-size:clamp(26px,2.5vw,45px);line-height:1.15;letter-spacing:-.04em}.project-subtitle{display:block;margin-top:10px;color:var(--muted);font-size:clamp(14px,1.15vw,18px);line-height:1.5}.project-row p{max-width:40ch;color:var(--muted);font-size:clamp(17px,1.3vw,21px);line-height:1.55}.project-row>.arrow{width:28px;height:28px;transition:transform .25s}.project-row:hover{color:var(--gold);border-top-color:var(--gold)}.project-row:hover>.arrow{transform:translate(4px,-4px)}.studio-section{padding:106px var(--gutter) 80px;background:var(--gold);color:var(--background);border-radius:8px}.studio-intro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12%;row-gap:42px;align-items:start}.studio-intro h2{grid-column:1 / -1;font-size:clamp(48px,5.7vw,104px);line-height:1.03;letter-spacing:-.06em}.studio-description{max-width:40ch}.studio-link{display:inline-flex;justify-self:start;align-items:center;min-height:44px;gap:14px;font-size:clamp(24px,2.3vw,38px);line-height:1.35;letter-spacing:-.035em;text-underline-offset:5px}.studio-link .arrow{width:.8em;height:.8em}.studio-link:hover{text-decoration:underline}.studio-game{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:65px;padding-top:36px;border-top:1px solid #18191870}.studio-game h3{font-size:clamp(34px,3.5vw,62px);letter-spacing:-.05em;line-height:1.1}.project-status{border:1px solid #18191880;border-radius:30px;padding:8px 16px;white-space:nowrap;font:400 12px/1.3 var(--mono)}.contact-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:8%;align-items:start;padding:112px var(--gutter) 86px;background:var(--background)}.contact-section h2{font-size:clamp(42px,4.6vw,82px);line-height:1.1;letter-spacing:-.055em}.email-group{display:grid;gap:28px;min-width:0}.email-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px}.contact-label{margin-bottom:4px;color:var(--gold);font:400 11px/1.6 var(--mono);letter-spacing:.025em;text-transform:uppercase}.email-link{display:inline-block;font-size:clamp(19px,1.75vw,31px);letter-spacing:-.025em;line-height:1.5;min-height:44px;padding:4px 0;overflow-wrap:anywhere;text-underline-offset:.2em}.email-link:hover{color:var(--gold);text-decoration:underline}.copy-email{display:grid;place-items:center;width:44px;height:44px;padding:0;color:var(--muted);background:transparent;border:0;border-radius:50%;transition:color .2s,background .2s}.copy-email:hover{color:var(--cream);background:#33342f}.copy-status{color:var(--gold);max-width:43ch;font-size:14px}.copy-status:empty{display:none}.site-footer{margin:0 var(--gutter);padding:28px 0 22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:24px;font:400 12px/1.5 var(--mono);color:var(--muted)}[data-reveal]{transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1)}[data-reveal=waiting]{opacity:0;transform:translateY(25px)}[data-reveal=visible]{opacity:1;transform:none}[data-motion=running] .hero-name>span{animation:name-arrive .9s cubic-bezier(.2,.75,.2,1) both}[data-motion=running] .hero-name>span:last-child{animation-delay:.1s}[data-motion=running] .hero-role{animation:copy-arrive .8s ease both}[data-motion=running] .hero-object{animation:form-arrive .8s ease both}[data-motion=paused] [data-reveal]{opacity:1;transform:none;transition:none}@keyframes name-arrive{0%{opacity:0;transform:translateY(35px)}to{opacity:1;transform:none}}@keyframes copy-arrive{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes form-arrive{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media (max-width: 1500px){.technology-list>div{grid-template-columns:1fr;gap:8px}}@media (min-width: 1900px){.primary-nav>a{font-size:14px;padding:14px 28px}.personal-links>a{font-size:18px}.hero{gap:10%}}@media (max-width: 1100px){.primary-nav>a{padding:12px 16px;font-size:11px}.hero{gap:2%;padding-top:140px}.hero-name{font-size:10vw}.hero-role,.studio-role{font-size:22px}.contact-section{grid-template-columns:1fr;gap:30px}.project-row{column-gap:5%}}@media (max-width: 900px){.site-header{top:28px;left:32px;right:32px;justify-content:flex-end}.menu-toggle{display:flex;align-items:center;gap:26px;min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:5px;background:var(--background);color:var(--cream);font:400 13px/1 var(--mono)}.primary-nav{position:absolute;top:56px;left:0;right:0;display:none;padding:8px;max-height:calc(100dvh - 110px);overflow-y:auto;box-shadow:0 18px 50px #0008}.primary-nav.is-open{display:flex;flex-direction:column}.primary-nav>a{min-height:50px;padding:16px 18px;font-size:13px}.hero{min-height:0;grid-template-columns:1.1fr 1fr;gap:0 3%;padding-top:132px}.hero-copy{display:contents}.hero-name{grid-column:1;grid-row:1;font-size:12vw;margin:0;align-self:center}.hero-object{grid-column:2;grid-row:1;height:370px}.about-copy{grid-column:1 / -1;grid-row:2;max-width:54ch;margin-top:28px}.about-copy .education{font-size:16px}.personal-links{grid-column:1 / -1;grid-row:3}.experience-section{--experience-gap: 8%}.studio-intro{grid-template-columns:1fr;gap:38px}.studio-description{max-width:40ch}.studio-intro h2{font-size:clamp(40px,5.7vw,64px)}}@media (max-width: 600px){:root{--gutter: 22px;--frame-inset: 10px;--frame-radius: 8px}.site-header{top:24px;left:26px;right:26px}.hero{padding-top:110px;padding-bottom:65px;grid-template-columns:1.2fr 1fr;gap:0}.hero-role,.studio-role{font-size:clamp(19px,5.3vw,25px)}.hero-name{font-size:clamp(58px,15vw,90px);letter-spacing:-.07em;line-height:.95}.hero-object{height:245px;width:115%;margin-left:-5%}.about-copy{margin-top:24px}.about-copy .education{margin-top:20px;font-size:14px}.personal-links{margin-top:22px;gap:26px}.personal-links>a{font-size:14px}.page-section{padding:72px var(--gutter)}.section-heading{font-size:40px;margin-bottom:38px}.experience-section{--experience-columns: minmax(0, 1fr)}.experience-grid{row-gap:42px}.experience-entry{padding-top:23px}.experience-entry h3{margin-bottom:20px}.experience-entry p{font-size:17px}.technology-section{margin-top:42px;padding-top:26px;gap:26px}.technology-list>div{grid-template-columns:1fr;gap:8px;padding:20px 0}.certifications{margin-top:42px;padding-top:23px}.project-row{grid-template-columns:1fr auto;gap:18px 20px;padding:28px 0}.project-row h3{font-size:29px}.project-row p{grid-column:1;grid-row:2;font-size:16px}.project-title{grid-column:1}.project-row>.arrow{grid-column:2;grid-row:1;width:24px;height:24px}.studio-section{padding:72px var(--gutter) 45px}.studio-intro{gap:28px}.studio-intro h2{font-size:clamp(40px,10vw,60px)}.studio-link{font-size:24px}.studio-game{margin-top:34px;padding-top:28px;align-items:start;flex-direction:column;gap:18px}.studio-game h3{font-size:36px}.project-status{font-size:11px;padding:7px 12px}.contact-section{padding:72px var(--gutter) 50px;gap:25px}.contact-section h2{font-size:40px}.email-group{gap:22px}.email-link{font-size:clamp(16px,4.3vw,22px);letter-spacing:-.035em}.email-row{gap:8px}.site-footer{font-size:10px;gap:12px;padding:18px 0 14px}}@media (max-width: 370px){.hero-name{font-size:54px}.hero-object{height:215px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}[data-reveal=waiting]{opacity:1;transform:none}}
