:root{--ink:#1d1f21;--muted:#6e7074;--paper:#fff;--blue:#455ce9;--line:#d7d8da;--hero:#d5d7d4;--ease:cubic-bezier(.76, 0, .24, 1);color:var(--ink);background:var(--paper);font-synthesis:none;-webkit-font-smoothing:antialiased;font-family:Inter,Helvetica Neue,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable;scroll-padding-top:42px}body{min-width:280px;margin:0}body.menu-open{overflow:hidden}button,input,textarea,select{font:inherit}button{color:inherit;cursor:pointer;background:0 0;border:0}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}img{height:auto}button,a{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}[hidden]{display:none!important}::selection{background:var(--blue);color:#fff}:focus-visible{outline:2px solid var(--blue);outline-offset:6px}.contact-section :focus-visible,.menu-panel :focus-visible{outline-color:#a8b4ff}.skip-link{z-index:120;color:#fff;background:var(--ink);padding:14px 20px;position:fixed;top:20px;left:20px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.page-width{width:min(1200px,100% - 96px);margin-inline:auto}.eyebrow,.section-number{color:var(--muted);letter-spacing:.045em;font-size:12px;font-weight:400}main{overflow-x:clip}.section-shell{--section-bg:#fff;--previous-section-bg:var(--hero);isolation:isolate;padding-block:96px;position:relative}.stack-section,.collaboration-section{--section-bg:#f2f3f4;--previous-section-bg:#fff}.coding-section{--previous-section-bg:#f2f3f4}.section-shell:before{content:"";z-index:-2;inset-block:0;background:var(--section-bg);pointer-events:none;width:100vw;position:absolute;left:50%;transform:translate(-50%)}.section-shell:after{content:"";z-index:-1;background:var(--previous-section-bg);width:100vw;height:68px;transform:translateX(-50%) scaleY(var(--section-curve-scale,.65));transform-origin:50% 0;pointer-events:none;border-radius:0 0 50% 50%;position:absolute;top:-32px;left:50%}.hero+.about-section:after{top:0}.section-top{justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:58px;padding-top:30px;display:flex;position:relative}.section-top:before{content:"";background:var(--line);transform-origin:0;height:1px;position:absolute;top:0;left:0;right:0}.section-name{letter-spacing:-.045em;font-size:clamp(60px,7vw,96px);font-weight:400;line-height:1.2}.section-content{position:relative}.section-number{font-variant-numeric:tabular-nums;flex-shrink:0}.section-title{letter-spacing:-.045em;font-size:clamp(32px,3.7vw,48px);font-weight:400;line-height:1.35}.section-title,.contact-heading h2{white-space:pre-line}.section-description{color:var(--muted);font-size:17px;line-height:1.9}.hero{--hero-gutter:max(36px, 3.8vw);min-height:max(680px,100svh);color:var(--ink);background:var(--hero);position:relative;overflow:hidden}.hero-header{top:max(36px,min(2.8vw,5svh));left:var(--hero-gutter);right:var(--hero-gutter);z-index:3;justify-content:space-between;align-items:center;display:flex;position:absolute}.wordmark{align-items:baseline;gap:10px;font-size:17px;font-weight:400;line-height:1.5;display:inline-flex}.wordmark small{letter-spacing:.03em;font-size:11px}.hero-nav{align-items:center;gap:34px;font-size:14px;display:flex}.hero-nav a{padding-block:8px;position:relative}.hero-nav a:after{content:"";opacity:0;background:currentColor;border-radius:50%;width:4px;height:4px;transition:opacity .2s,transform .2s;position:absolute;bottom:-4px;left:calc(50% - 2px);transform:scale(0)}.hero-nav a:hover:after,.hero-nav a:focus-visible:after{opacity:1;transform:scale(1)}.hero-portrait{width:min(68vw,99svh);aspect-ratio:var(--portrait-aspect);translate:-50%;transform:translateY(var(--portrait-shift,0px));position:absolute;bottom:-2%;left:50%}.hero-portrait img{object-fit:contain;object-position:center;width:100%;height:100%}.hero-intro{z-index:2;left:var(--hero-gutter);text-align:left;width:28%;position:absolute;top:30%}.hero-greeting{letter-spacing:-.045em;white-space:pre-line;font-size:max(30px,min(2.7vw,5svh));font-weight:400;line-height:1.4}.hero-title{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero-marquee{z-index:2;user-select:none;pointer-events:none;width:100%;position:absolute;bottom:2.5%;left:0;right:0;overflow:hidden}.hero-marquee-track{white-space:nowrap;width:max-content;transform:translate3d(var(--marquee-x,0px), 0, 0);align-items:center;display:flex}.hero-marquee-item{letter-spacing:-.07em;flex:none;padding-right:.12em;font-size:max(100px,min(19vw,35svh));font-weight:400;line-height:1.05}.hero-marquee-divider{margin-inline:.2em;display:inline-block}.menu-toggle{z-index:100;background:var(--ink);color:#fff;width:74px;height:74px;transition:transform .45s var(--ease), background .3s, opacity .25s;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex;position:fixed;top:25px;right:25px}.menu-icon{flex-direction:column;align-items:center;gap:5px;display:flex}.menu-icon>span{width:23px;height:1px;transition:transform .4s var(--ease);background:currentColor}.menu-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}html:not(.has-scrolled) body:not(.menu-open) .menu-toggle{opacity:0;visibility:hidden;pointer-events:none;transform:scale(.45)}body.menu-open .menu-toggle{background:var(--blue)}body.menu-open .menu-icon>span:first-child{transform:translateY(3px)rotate(45deg)}body.menu-open .menu-icon>span:nth-child(2){transform:translateY(-3px)rotate(-45deg)}.menu-backdrop{z-index:70;opacity:0;pointer-events:none;transition:opacity .6s var(--ease);background:#00000047;position:fixed;inset:0}body.menu-open .menu-backdrop{opacity:1;pointer-events:auto}.menu-panel{z-index:80;color:#fff;background:var(--ink);width:min(560px,48vw);transition:transform .6s var(--ease);flex-direction:column;padding:clamp(80px,11vh,120px) 72px 38px;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(calc(100% + 110px))}.menu-edge{z-index:-1;background:var(--ink);transform-origin:100%;width:100px;height:100%;transition:transform .6s var(--ease);border-radius:100% 0 0 100%;position:absolute;top:0;left:-99px}body.menu-open .menu-panel{transform:translate(0)}body.menu-settled .menu-edge{transform:scaleX(.03)}.menu-panel>.eyebrow{color:#a2a3a6;border-bottom:1px solid #45464a;margin-bottom:18px;padding-bottom:24px}.menu-navigation{user-select:none;flex-direction:column;flex:auto;align-items:flex-start;gap:2px;min-height:0;margin-left:-26px;padding-left:26px;display:flex;overflow-y:auto}.menu-link{--menu-scale:1;letter-spacing:-.035em;cursor:pointer;flex:none;align-items:center;width:100%;height:1.95em;min-height:1.95em;padding:0;font-size:clamp(30px,3.1vw,44px);font-weight:400;line-height:1.1;display:flex;position:relative}.menu-link-label{white-space:nowrap;font-size:calc(1em * var(--menu-scale));flex:none;transition:font-size .14s ease-out;display:block}.menu-link[aria-current=location]{--menu-scale:1.16}.menu-link:before{content:"";opacity:0;background:#fff;border-radius:50%;width:6px;height:6px;transition:transform .2s,opacity .2s;position:absolute;top:calc(50% - 3px);left:-25px;transform:scale(0)}.menu-link[aria-current=location]:before{opacity:1;transform:scale(1)}.menu-footer{color:#b6b7ba;border-top:1px solid #45464a;flex-wrap:wrap;align-items:center;gap:16px;margin-top:22px;padding-top:20px;font-size:12px;display:flex}.menu-footer button,.menu-footer a{color:#fff;padding-block:9px}.menu-footer button[aria-pressed=true]{border-bottom:1px solid #fff}.menu-signature{color:#a2a3a6;margin-left:auto}html:not(.js-ready) .menu-toggle,html:not(.js-ready) .menu-panel,html:not(.js-ready) .menu-backdrop{display:none}.hero-greeting-arrow{width:max(42px,min(3.3vw,6svh));height:max(42px,min(3.3vw,6svh));margin-bottom:max(25px,min(2vw,3.5svh))}.hero-role{letter-spacing:.015em;margin-top:max(21px,min(1.65vw,3svh));font-size:max(15px,min(1.15vw,2.1svh));line-height:1.5}.language-control{position:relative}.language-toggle{border:1px solid #0000;border-radius:50%;place-items:center;width:44px;height:44px;transition:border-color .2s,background .2s;display:grid}.language-toggle svg{width:25px;height:25px}.language-toggle:hover,.language-toggle[aria-expanded=true]{background:#ffffff73;border-color:#c9c8c4}.language-menu{z-index:5;border:1px solid var(--line);background:#fff;border-radius:12px;width:190px;padding:7px;animation:.18s ease-out menu-reveal;position:absolute;top:54px;right:0;box-shadow:0 12px 36px #1d1f211a}.language-menu button{text-align:left;border-radius:7px;justify-content:space-between;align-items:center;width:100%;padding:13px 12px;font-size:14px;display:flex}.language-menu button:hover,.language-menu button:focus-visible{outline-offset:-2px;background:#f2f3f4}.language-check{opacity:0}.language-menu [aria-checked=true] .language-check{opacity:1}@keyframes menu-reveal{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.about-personality{grid-template-columns:1.5fr 1fr;align-items:center;gap:80px;display:grid}.about-main-copy>.eyebrow{margin-bottom:23px}.about-lead{max-width:610px;color:var(--muted);font-size:18px;line-height:1.95}.personal-facts{gap:17px;margin-top:25px;font-size:13px;display:flex}.personal-facts>[aria-hidden]{color:#afb1b5}.personality-art{width:min(100%,330px);color:var(--blue);justify-self:end}.personality-art svg{width:100%}.personality-orbit{stroke:currentColor;stroke-width:1px}.personality-spark{fill:currentColor;transform-origin:160px 150px;transition:transform .9s var(--ease)}.personality-art:hover .personality-spark{transform:rotate(45deg)}.personality-art>span{text-align:center;letter-spacing:.15em;color:var(--muted);font-size:11px;display:block}.about-gaming{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:center;gap:80px;margin-top:55px;padding-block:44px;display:grid}.gaming-wordmark{grid-template-columns:48px 1fr;align-items:center;gap:7px 25px;display:grid}.gaming-wordmark svg{grid-row:1/3;width:48px}.gaming-wordmark>span{letter-spacing:-.05em;font-size:clamp(25px,3.2vw,44px);line-height:1.2}.gaming-wordmark>small{color:var(--muted);letter-spacing:.08em;font-size:10px}.about-gaming h3{margin-bottom:12px;font-size:21px;font-weight:400}.about-gaming .section-description{font-size:14px}.background-notes{grid-template-columns:1fr 1fr;gap:80px;margin:25px 0 0;display:grid}.background-notes>div{grid-template-columns:58px 1fr;gap:15px;display:grid}.background-notes dt{color:var(--muted);font-size:11px;line-height:1.9}.background-notes dd{color:var(--muted);margin:0;font-size:12px;line-height:1.9}.section-introduction{justify-content:space-between;align-items:end;gap:60px;margin-bottom:48px;display:flex}.section-introduction>.section-description{max-width:350px;font-size:15px}.skill-group{border-bottom:1px solid var(--line)}.skill-group>summary{cursor:pointer;grid-template-columns:45px minmax(0,1fr) minmax(180px,.8fr) 34px;align-items:center;gap:20px;padding-block:27px;list-style:none;display:grid}.skill-group>summary::-webkit-details-marker{display:none}.skill-group>summary:focus-visible{outline:2px solid var(--blue);outline-offset:-3px}.skill-index{color:var(--muted);font-size:11px}.skill-title{letter-spacing:-.035em;font-size:clamp(24px,2.5vw,34px);line-height:1.3;transition:color .2s}.skill-summary{color:var(--muted);font-size:13px}.skill-expand{width:30px;height:30px;transition:transform .35s var(--ease), background .2s;border:1px solid #b9bbbf;border-radius:50%;position:relative}.skill-expand:before,.skill-expand:after{content:"";background:currentColor;width:12px;height:1px;position:absolute;top:14px;left:8px}.skill-expand:after{transform:rotate(90deg)}.skill-group[open] .skill-expand{background:var(--ink);border-color:var(--ink);color:#fff;transform:rotate(45deg)}.skill-group[open] .skill-title,.skill-group>summary:hover .skill-title{color:var(--blue)}.skill-detail{grid-template-columns:1fr 1fr;gap:48px;padding:0 54px 33px 65px;display:grid}.skill-detail p{max-width:430px;color:var(--muted);font-size:14px;line-height:1.9}.skill-detail li{border-bottom:1px solid #c7c9cd;padding-bottom:3px;font-size:14px;line-height:1.65}.skill-group[open] .skill-detail{animation:.35s ease-out detail-reveal}@keyframes detail-reveal{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.tool-studio{flex-direction:column;min-width:0;padding:36px;display:flex}.coding-studio{background:var(--ink);color:#f5f5f5}.design-studio{background:#efeeeb}.studio-heading{justify-content:space-between;align-items:center;gap:16px;min-height:44px;margin-bottom:28px;display:flex}.coding-studio .eyebrow{color:#a5a7aa}.studio-symbol{letter-spacing:-.1em;font-family:ui-monospace,monospace;font-size:31px;font-weight:300}.studio-design-mark{width:38px;height:38px}.tool-studio h3{margin-bottom:27px;font-size:21px;font-weight:400;line-height:1.4}.tool-studio li{letter-spacing:-.03em;border-top:1px solid #d0cfcb;align-items:baseline;gap:23px;padding-block:14px;font-size:clamp(21px,2.1vw,29px);display:flex}.coding-studio li{border-color:#414346}.tool-index{letter-spacing:0;color:var(--muted);font-size:10px}.coding-studio .tool-index{color:#a5a7aa}.studio-description{color:var(--muted);max-width:400px;margin-top:auto;font-size:13px;line-height:1.9}.coding-studio .studio-description{color:#b9bbbe}.coding-usage{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:36px;padding-top:32px;display:grid}.usage-value{letter-spacing:-.045em;font-size:clamp(30px,4vw,52px);line-height:1.15}.coding-usage p{color:var(--muted);margin-top:10px;font-size:13px}.coding-usage small{color:var(--muted);margin-top:8px;font-size:11px;line-height:1.7;display:block}.collaboration-intro{grid-template-columns:1fr 1.15fr;align-items:center;gap:70px;display:grid}.collaboration-intro .section-description{margin-top:25px;font-size:16px}.conversation-graphic{min-width:0;margin:0}.conversation-caption{justify-content:space-between;align-items:center;display:flex}.conversation-signal{background:var(--blue);border-radius:50%;width:7px;height:7px}.conversation-graphic svg{width:100%;overflow:visible}.conversation-return{stroke:#cacdd2;stroke-width:1px;stroke-dasharray:4 6}.conversation-guide{stroke:#d2d7e8;stroke-width:2px}.conversation-trace{stroke:var(--blue);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.conversation-point{fill:var(--blue);stroke:#f2f3f4;stroke-width:4px}.conversation-pulse{fill:var(--blue);opacity:.08;transform-box:fill-box;transform-origin:50%}html.js-ready .conversation-trace{stroke-dasharray:1;stroke-dashoffset:1px}html.js-ready .conversation-graphic.is-entered .conversation-trace{animation:1.6s ease-in-out forwards conversation-draw}.conversation-graphic.is-in-view .conversation-pulse{animation:3s ease-out infinite conversation-pulse;animation-delay:var(--point-delay)}.conversation-labels{justify-content:space-between;gap:10px;margin-top:5px;font-size:12px;display:flex}.conversation-graphic figcaption{color:var(--muted);margin-top:25px;font-size:12px;line-height:1.8}@keyframes conversation-draw{to{stroke-dashoffset:0}}@keyframes conversation-pulse{0%,70%,to{opacity:.06;transform:scale(.6)}30%{opacity:.17;transform:scale(1.1)}}.collaboration-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;margin-top:58px;display:grid}.collaboration-steps>div{border-top:1px solid var(--line);padding-top:22px}.collaboration-steps .eyebrow{margin-bottom:22px;display:block}.collaboration-steps h3{margin-bottom:10px;font-size:22px;font-weight:400;line-height:1.5}.collaboration-steps p{color:var(--muted);font-size:14px;line-height:1.9}.colleague-note{align-items:baseline;gap:32px;margin-top:44px;display:flex}.colleague-note p{color:var(--muted);font-size:13px;line-height:1.8}.colleague-note>.eyebrow{flex-shrink:0}.contact-section{color:#f5f5f5;background:var(--ink);margin-top:54px;padding-top:120px;position:relative}.contact-curve{z-index:1;background:var(--ink);width:100%;height:60px;position:absolute;top:-59px;left:0;overflow:hidden}.contact-curve path{fill:#f2f3f4}.contact-curve svg{transform-origin:50% 0;width:100%;height:100%;transition:transform .8s var(--ease)}.contact-curve.is-entered svg{transform:scaleY(.55)}.contact-heading h2{letter-spacing:-.045em;font-size:clamp(54px,6.9vw,96px);font-weight:400;line-height:1.3}.contact-heading .eyebrow{color:#a2a3a6;margin-bottom:24px}.contact-rows{border-top:1px solid #45464a;margin-block:64px 75px}.contact-row{min-height:96px;transition:padding .3s var(--ease), color .2s;border-bottom:1px solid #45464a;grid-template-columns:140px minmax(0,1fr) 32px;align-items:center;gap:30px;padding:25px 0;display:grid}a.contact-row:hover{color:#bac4ff;padding-inline:14px}.contact-label{color:#a2a3a6;letter-spacing:.03em;font-size:11px}.contact-value{letter-spacing:-.025em;overflow-wrap:anywhere;font-size:clamp(20px,2.5vw,31px);line-height:1.5}div.contact-row .contact-value{user-select:all}.download-arrow{justify-self:end;width:28px;height:28px;transition:transform .25s}.resume-download:hover .download-arrow{transform:translateY(3px)}.site-footer{color:#b6b7ba;border-top:1px solid #45464a;justify-content:space-between;align-items:center;gap:20px;padding-block:24px;font-size:11px;display:flex}.site-footer a{color:#fff;padding-block:8px}html.motion-ready [data-section-motion]>.section-top:before{transform:scaleX(var(--section-reveal,1));transition:transform .24s ease-out}html.motion-ready [data-section-motion]>.section-top .section-name{opacity:var(--section-reveal,1);transform:translateY(calc(var(--section-shift,0px) * .7));transition:opacity .24s ease-out,transform .24s ease-out}html.motion-ready [data-section-motion]>.section-content{opacity:calc(.3 + .7 * var(--section-reveal,1));transform:translateY(var(--section-shift,0px));transition:opacity .24s ease-out,transform .24s ease-out}[data-visual].is-entered{animation:.55s cubic-bezier(.22,1,.36,1) both visual-enter}@keyframes visual-enter{0%{transform:translateY(18px)}to{transform:translateY(0)}}@media (width<=1100px){.page-width{width:calc(100% - 72px)}.hero{--hero-gutter:36px}.about-personality,.about-gaming,.background-notes{gap:45px}.collaboration-intro{gap:40px}.menu-panel{width:min(560px,55vw);padding-inline:56px}}@media (width<=820px){html{scroll-padding-top:28px}.page-width{width:calc(100% - 48px)}.section-shell{padding-block:78px}.section-top{margin-bottom:38px;padding-top:19px}.section-name{font-size:clamp(54px,8vw,72px)}.section-title{font-size:clamp(32px,4.8vw,41px)}.hero{--hero-gutter:24px}.hero-header{top:25px}.hero-nav{gap:20px;padding-right:75px}.hero-portrait{width:min(90vw,90svh)}.hero-intro{width:39%;top:20%}.hero-greeting{font-size:clamp(30px,4.5vw,37px)}.hero-role{font-size:15px}.hero-greeting-arrow{width:33px;height:33px;margin-bottom:20px}.menu-toggle{width:62px;height:62px;top:17px;right:20px}html:not(.has-scrolled) body:not(.menu-open) .menu-toggle{opacity:1;visibility:visible;pointer-events:auto;transform:scale(1)}.about-personality{grid-template-columns:1.6fr 1fr;gap:28px}.about-lead{font-size:16px}.about-gaming,.background-notes{gap:28px}.gaming-wordmark{grid-template-columns:1fr;gap:12px}.gaming-wordmark svg{grid-row:auto;width:36px}.section-introduction{display:block}.section-introduction>.section-description{max-width:560px;margin-top:22px}.skill-group>summary{grid-template-columns:28px minmax(0,1fr) 30px;gap:15px}.skill-summary{grid-area:2/2}.skill-expand{grid-area:1/3/3}.skill-detail{gap:30px;padding-left:43px;padding-right:0}.tool-studios{gap:18px}.tool-studio{padding:25px}.collaboration-intro{grid-template-columns:1fr;gap:35px}.conversation-graphic{width:100%;max-width:640px}.collaboration-intro .section-description{max-width:630px}.collaboration-steps{gap:25px}.collaboration-steps h3{font-size:20px}.contact-section{padding-top:84px}.contact-heading h2{font-size:clamp(48px,7.4vw,66px)}.contact-row{grid-template-columns:100px minmax(0,1fr) 28px;gap:20px}}@media (width<=600px){.page-width{width:calc(100% - 40px)}.section-shell{padding-block:60px}.section-shell:after{height:45px;top:-21px}.section-top{margin-bottom:34px;padding-top:18px}.eyebrow,.section-number{font-size:11px}.section-name{font-size:44px;line-height:1.25}html[lang=en] .section-name{font-size:clamp(30px,8.7vw,34px)}.section-title{font-size:clamp(26px,7.2vw,32px);line-height:1.38}.section-description{font-size:14px;line-height:1.9}.hero{--hero-gutter:20px;min-height:max(640px,100svh)}.hero-header{top:22px}.wordmark{font-size:15px}.hero-nav{gap:0;padding-right:68px}.hero-contact-link{display:none}html:not(.js-ready) .hero-contact-link{font-size:12px;display:block}html:not(.js-ready) .hero-nav{padding-right:0}.language-toggle{width:38px;height:38px}.language-toggle svg{width:23px;height:23px}.language-menu{width:175px;top:49px}.hero-portrait{width:auto;height:62%}.hero-intro{width:calc(100% - 40px);top:13%}.hero-greeting{font-size:clamp(30px,8vw,38px)}.hero-greeting-arrow{width:27px;height:27px;margin-bottom:14px}.hero-role{margin-top:13px;font-size:14px}.hero-marquee{bottom:3%}.hero-marquee-item{font-size:clamp(76px,24vw,120px)}.menu-toggle{width:58px;height:58px;top:16px;right:18px}.menu-panel{width:100%;padding:104px 43px 30px}.menu-edge{width:80px;left:-79px}.menu-panel>.eyebrow{margin-bottom:19px;padding-bottom:19px}.menu-link{font-size:clamp(31px,8.9vw,43px)}.menu-link:before{width:5px;height:5px;left:-20px}.menu-footer{gap:16px;margin-top:21px;padding-top:14px;font-size:10px}.about-personality{grid-template-columns:1fr;gap:28px;position:relative}.about-main-copy>.eyebrow{margin-bottom:26px;padding-right:88px}.about-main-copy .section-title{margin-bottom:20px}.about-lead{font-size:15px}.personality-art{width:84px;position:absolute;top:-14px;right:-6px}.personality-art>span{display:none}.personal-facts{margin-top:22px;font-size:12px}.about-gaming{grid-template-columns:1fr;gap:25px;margin-top:30px;padding-block:28px}.gaming-wordmark{grid-template-columns:40px 1fr;gap:6px 19px}.gaming-wordmark svg{grid-row:1/3;width:37px}.gaming-wordmark>span{font-size:31px}.gaming-wordmark>small{font-size:9px}.about-gaming h3{font-size:20px}.about-gaming .section-description{font-size:13px}.background-notes{grid-template-columns:1fr;gap:16px;margin-top:22px}.background-notes>div{grid-template-columns:42px 1fr;gap:12px}.background-notes dd{font-size:11px}.section-introduction{margin-bottom:32px}.section-introduction>.section-description{margin-top:20px;font-size:14px}.skill-group>summary{grid-template-columns:22px minmax(0,1fr) 28px;gap:9px 10px;padding-block:23px}.skill-title{font-size:24px}html[lang=en] .skill-title{font-size:21px}.skill-summary{font-size:11px}.skill-expand{width:27px;height:27px}.skill-expand:before,.skill-expand:after{width:11px;top:12px;left:7px}.skill-detail{grid-template-columns:1fr;gap:19px;padding:0 0 26px 32px}.skill-detail p,.skill-detail li{font-size:13px}.skill-detail ul{gap:9px 16px}.tool-studios{grid-template-columns:1fr;gap:20px}.tool-studio{padding:26px}.studio-heading{margin-bottom:20px}.tool-studio h3{margin-bottom:25px;font-size:21px}.tool-studio li{font-size:26px}.tool-studio ul{margin-bottom:25px}.studio-description{font-size:12px}.coding-usage{grid-template-columns:1fr 1fr;gap:20px}.usage-value{font-size:30px}.coding-usage p{font-size:12px}.coding-usage small{font-size:10px}.collaboration-intro{gap:34px}.collaboration-intro .section-description{margin-top:22px;font-size:14px}.conversation-labels,.conversation-graphic figcaption{font-size:11px}.conversation-graphic figcaption{margin-top:18px}.collaboration-steps{grid-template-columns:1fr;gap:23px;margin-top:34px}.collaboration-steps>div{padding-top:18px}.collaboration-steps .eyebrow{margin-bottom:13px}.collaboration-steps h3{font-size:22px}.collaboration-steps p{font-size:13px}.colleague-note{margin-top:30px;display:block}.colleague-note p{margin-top:11px;font-size:12px}.contact-section{margin-top:35px;padding-top:70px}.contact-curve{height:40px;top:-39px}.contact-heading h2{font-size:clamp(39px,11vw,54px);line-height:1.4}.contact-rows{margin-block:38px 44px}.contact-row{grid-template-columns:minmax(0,1fr) 28px;gap:8px 14px;min-height:96px;padding-block:21px}.contact-label{grid-column:1;font-size:9px}.contact-value{grid-column:1;font-size:clamp(17px,5vw,21px)}.download-arrow{grid-area:1/2/3;width:26px;height:26px}a.contact-row:hover{padding-inline:5px}.site-footer{gap:12px;padding-block:19px;font-size:10px}.site-footer>span:nth-child(2){display:none}}@media (width<=360px){.section-top{gap:14px}.section-name{font-size:42px}.hero-greeting{font-size:29px}.menu-panel{padding-inline:33px}.menu-link{font-size:32px}.tool-studio{padding:22px}}@media (height<=650px) and (width>=601px){.menu-panel{padding-top:73px;padding-bottom:23px}.menu-panel>.eyebrow{margin-bottom:12px;padding-bottom:13px}.menu-link{font-size:31px}.menu-footer{margin-top:12px;padding-top:10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-visual].is-entered,.conversation-graphic .conversation-pulse{animation:none}.contact-curve.is-entered svg,.hero-portrait,.hero-marquee-track{transform:none}html.js-ready .conversation-trace{stroke-dashoffset:0}html.motion-ready [data-section-motion]>.section-top:before{transform:none}html.motion-ready [data-section-motion]>.section-top .section-name,html.motion-ready [data-section-motion]>.section-content{opacity:1;transform:none}.section-shell:after{transform:translate(-50%)scaleY(.65)}}@media print{html{scroll-behavior:auto}body{color:#000;background:#fff}.page-width{width:100%}.menu-toggle,.menu-panel,.menu-backdrop,.skip-link,.hero-nav,.site-footer,.contact-curve,.hero-greeting-arrow{display:none!important}.hero-header{top:15px}.hero{min-height:300px}.hero-portrait{width:40%;height:280px;top:20px;bottom:auto;left:70%;transform:none}.hero-intro{width:40%;top:85px;left:0}.hero-greeting{font-size:22px}.hero-role{font-size:12px}.hero-marquee{bottom:10px}.hero-marquee-item{font-size:60px}.hero-marquee-track{transform:none}.section-shell{padding-block:30px}.section-shell:before,.section-shell:after{display:none}.section-top{margin-bottom:22px}.section-name{font-size:38px}.section-title{font-size:30px}html.motion-ready [data-section-motion]>.section-top:before{transform:none}html.motion-ready [data-section-motion]>.section-top .section-name,html.motion-ready [data-section-motion]>.section-content{opacity:1;transform:none}html.js-ready .conversation-trace{stroke-dashoffset:0}.conversation-pulse{animation:none}.contact-section{color:#000;background:#fff;margin-top:25px;padding-top:25px}.contact-heading h2{font-size:35px}.contact-rows{margin-block:30px}.contact-row{border-color:#aaa}.tool-studio,.collaboration-steps>div{break-inside:avoid}}[data-page-section][tabindex="-1"]:focus-visible{outline:none}.attention-row{transition:background-color .4s,color .4s,border-color .4s}.attention-row.is-attention{--muted:#bfc2c8;--blue:#a7b6ff;--line:#414449;color:#fff;background:#17191c;border-color:#17191c}.about-personality{min-height:235px;margin-bottom:34px}.about-main-copy .section-title{margin-bottom:0}.personality-art{width:min(100%,235px)}.about-rows{border-top:1px solid var(--line)}.about-row{border-bottom:1px solid var(--line);grid-template-columns:50px minmax(205px,.8fr) minmax(0,1.4fr);align-items:center;gap:34px;min-height:166px;padding:35px 28px;display:grid}.row-icon{width:45px;height:45px}.about-row-heading h3{letter-spacing:-.045em;font-size:clamp(26px,2.7vw,36px);font-weight:400;line-height:1.25}.row-keywords{color:var(--muted);letter-spacing:.03em;margin-top:12px;font-size:11px;line-height:1.8}.row-description{color:var(--muted);font-size:17px;line-height:1.95}.skill-scroll{--skill-top:72px}.skill-stage{width:100%}.skill-scroll.is-sticky{height:var(--skill-runway)}.skill-scroll.is-sticky .skill-stage{top:var(--skill-top);position:sticky}.skill-groups{border-top:1px solid var(--line)}.skill-card{border-bottom:1px solid var(--line)}.skill-card h4{margin:0;font-weight:400}.skill-heading{text-align:left;grid-template-columns:34px 1fr .85fr;align-items:center;gap:20px;width:100%;padding:22px 28px;display:grid}.skill-title{color:inherit;font-size:clamp(25px,2.8vw,36px)}.skill-summary{color:var(--muted);font-size:14px;line-height:1.5}.skill-body{grid-template-rows:1fr;display:grid}.skill-body-clip{min-height:0;overflow:hidden}.skill-detail{min-height:var(--skill-detail-height,0px);grid-template-columns:1.05fr 1fr;gap:45px;padding:6px 35px 30px 82px;display:grid}.skill-detail .skill-outcome{color:inherit;letter-spacing:-.035em;margin-bottom:18px;font-size:27px;line-height:1.5}.skill-detail .skill-description{color:var(--muted);font-size:18px;line-height:1.85}.skill-detail ul{flex-wrap:wrap;align-content:start;gap:13px 23px;display:flex}.skill-detail li{border-color:var(--line);padding-bottom:8px;font-size:19px;line-height:1.4}.skill-detail li.skill-featured{letter-spacing:-.035em;width:auto;font-size:30px}.skill-card.is-expanded .skill-title{font-weight:500}.skill-ready .skill-body{visibility:hidden;transition:grid-template-rows .4s var(--ease), visibility .4s;grid-template-rows:0fr}.skill-ready .skill-card.is-expanded .skill-body{visibility:visible;grid-template-rows:1fr}.skill-ready .skill-card:not(.is-expanded) .skill-summary{opacity:.65}.tool-studios{grid-template-columns:1.1fr 1fr;gap:25px;display:grid}.tool-studio{color:var(--ink);background:#f2f3f4;padding:32px}.design-studio{margin-top:0}.design-studio ul{flex:1;grid-template-rows:repeat(2,minmax(100px,1fr));display:grid}.studio-heading{margin-bottom:10px}.studio-heading .eyebrow{color:var(--muted)}.studio-symbol,.studio-design-mark{display:none}.tool-studio h3{margin-bottom:25px;font-size:27px}.tool-studio ul{margin-bottom:21px}.tool-studio li{border-color:var(--line);grid-template-columns:22px minmax(0,1fr) 40px;align-items:center;gap:18px;min-height:84px;padding:22px 0;font-size:clamp(23px,2.15vw,29px);display:grid}.tool-studio .tool-index{color:var(--muted)}.tool-icon{width:40px;height:40px;mask:var(--tool-icon) center / contain no-repeat;-webkit-mask:var(--tool-icon) center / contain no-repeat;background:currentColor;justify-self:end}.tool-studio .studio-description{max-width:none;color:var(--muted);font-size:15px}.collaboration-steps{border-top:1px solid var(--line);margin-top:48px;display:block}.collaboration-steps>.collaboration-row{border-top:0;border-bottom:1px solid var(--line);grid-template-columns:30px minmax(205px,.75fr) minmax(0,1.2fr) 95px;align-items:center;gap:25px;min-height:156px;padding:30px 28px;display:grid}.collaboration-steps .eyebrow{margin:0}.collaboration-steps h3{margin:0;font-size:27px}.collaboration-steps p{font-size:17px;line-height:1.9}.like-animation{width:90px;height:90px;color:var(--blue);justify-self:end;position:relative}.like-main{transform-origin:20% 80%;width:82px;height:82px}.like-float{opacity:0;width:27px;height:27px;position:absolute;top:33px;left:34px}.like-rays{opacity:.4}.like-animation.is-playing .like-main{animation:1.7s ease-in-out both like-pop}.like-animation.is-playing .like-float{animation:1.5s ease-out both like-rise;animation-delay:var(--like-delay)}.like-animation.is-playing .like-rays{animation:1.7s ease-out both like-spark}@keyframes like-pop{0%,to{transform:rotate(0)scale(1)}20%{transform:rotate(-17deg)scale(.85)}38%{transform:rotate(8deg)scale(1.16)}58%{transform:rotate(-6deg)scale(.97)}78%{transform:rotate(0)scale(1.04)}}@keyframes like-rise{0%{opacity:0;transform:translate(0)scale(.6)}25%{opacity:.8}to{opacity:0;transform:translate(var(--like-x), -70px) scale(1.05)}}@keyframes like-spark{0%,to{opacity:.4}40%{opacity:1}}.contact-row.is-attention{background:#08090b;padding-inline:18px}.contact-row.is-attention .contact-label{color:#c2c5ca}@media (width<=820px){.tool-studios{grid-template-columns:1fr;gap:24px}.tool-studio{padding:28px}.design-studio ul{flex:initial;display:block}.about-row{grid-template-columns:40px minmax(160px,.8fr) 1.2fr;gap:22px;padding:30px 20px}.row-description{font-size:16px}.skill-heading{grid-template-columns:25px 1fr;gap:12px;padding:18px 22px}.skill-summary{grid-column:2;font-size:12px}.skill-detail{gap:28px;padding:4px 25px 24px 59px}.skill-detail .skill-outcome{font-size:23px}.skill-detail .skill-description{font-size:16px}.skill-detail li{font-size:17px}.skill-detail li.skill-featured{font-size:24px}.collaboration-steps>.collaboration-row{grid-template-columns:25px 1fr 85px;gap:18px;padding:26px 22px}.collaboration-row>p{grid-column:2}.like-animation{grid-area:1/3/3;width:75px;height:75px}.like-main{width:72px;height:72px}.collaboration-steps h3{font-size:25px}}@media (width<=600px){html[lang=en] .menu-link{font-size:clamp(26px,7.3vw,33px)}.about-personality{grid-template-columns:1fr auto;gap:15px;min-height:126px;margin-bottom:25px}.about-main-copy>.eyebrow{margin-bottom:20px;padding-right:0;font-size:9px}.about-main-copy .section-title{font-size:25px}.personality-art{width:76px;position:static}.about-row{grid-template-columns:34px 1fr;gap:14px 17px;min-height:0;padding:25px 17px}.row-icon{width:31px;height:31px}.about-row-heading h3{font-size:28px}.row-keywords{margin-top:7px;font-size:9px}.row-description{grid-column:2;font-size:15px;line-height:1.85}.skill-heading{grid-template-columns:22px 1fr;gap:10px;padding:17px}.skill-title,html[lang=en] .skill-title{font-size:22px}.skill-summary{display:none}.skill-detail{grid-template-columns:1fr;gap:18px;padding:0 19px 24px 49px}.skill-detail .skill-outcome{margin-bottom:12px;font-size:22px;line-height:1.4}.skill-detail .skill-description{font-size:15px;line-height:1.7}.skill-detail ul{gap:8px 14px}.skill-detail li,.skill-detail li.skill-featured{padding-bottom:4px;font-size:17px}.skill-detail li.skill-featured{font-size:21px}.tool-studio{padding:24px 20px}.tool-studio h3{font-size:24px}.tool-studio li{grid-template-columns:16px minmax(0,1fr) 31px;gap:12px;min-height:88px;padding:22px 0;font-size:23px}.tool-icon{width:31px;height:31px}.tool-studio .studio-description{font-size:13px}.collaboration-steps>.collaboration-row{grid-template-columns:20px 1fr;gap:13px;min-height:0;padding:26px 17px}.collaboration-steps h3{font-size:25px}.collaboration-steps p{grid-column:2;font-size:15px}.colleague-row>h3{padding-right:52px}.colleague-row{position:relative}.like-animation{width:51px;height:60px;position:absolute;top:25px;right:14px}.like-main{width:52px;height:52px}.like-float{width:20px;height:20px;top:25px;left:20px}.contact-row.is-attention{padding-inline:12px}}@media (prefers-reduced-motion:reduce){.skill-ready .skill-body,.attention-row{transition:none}.like-animation.is-playing .like-main,.like-animation.is-playing .like-float,.like-animation.is-playing .like-rays{animation:none}.like-float{display:none}}@media print{.skill-scroll.is-sticky{height:auto}.skill-scroll.is-sticky .skill-stage{position:static}.skill-ready .skill-body{visibility:visible;grid-template-rows:1fr}.skill-detail{min-height:0}.attention-row.is-attention{color:#000;--muted:#555;background:0 0}.like-float{display:none}}.about-ready{overflow-anchor:none}.about-row{min-height:0;padding:0;display:block}.about-row-header{grid-template-columns:50px minmax(205px,.8fr) minmax(0,1.4fr);align-items:center;gap:34px;min-height:166px;padding:35px 28px;display:grid}.about-disclosure-toggle{font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;text-align:left}.about-disclosure-toggle:focus-visible{outline-offset:8px;border-radius:2px;outline:2px solid}.about-detail[hidden]{display:none}.about-detail-content{padding:0 28px 35px 112px}.detail-caption{border-bottom:1px solid var(--line);align-items:baseline;gap:14px;padding-bottom:17px;display:flex}.detail-caption>span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.detail-caption h4{letter-spacing:-.035em;margin:0;font-size:21px;font-weight:400}.game-columns{grid-template-columns:1fr 1.15fr;gap:44px;display:grid}.game-list{padding:0;list-style:none}.game-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:59px;padding:10px 0;display:flex}.game-name{font-size:15px;line-height:1.5}.game-name>small{color:var(--muted);margin-top:2px;font-size:10px;display:block}.game-hours{font-variant-numeric:tabular-nums;letter-spacing:-.035em;white-space:nowrap;font-size:22px}.game-hours small{color:var(--muted);margin-left:5px;font-size:11px}.game-covers{grid-template-columns:1fr 1fr;gap:20px 16px;padding-top:20px;display:grid}.game-covers figure{min-width:0;margin:0}.game-cover-image{aspect-ratio:460/215;background:#292c31;overflow:hidden}.game-cover-image img{object-fit:cover;width:100%;height:100%;transition:transform .45s;display:block}@media (hover:hover){.game-covers figure:hover img{transform:scale(1.045)}}.game-covers figcaption{justify-content:space-between;align-items:baseline;gap:8px;padding-top:9px;font-size:12px;line-height:1.5;display:flex}.game-covers figcaption small{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px}.game-footnote{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:baseline;gap:20px;margin-top:30px;padding-top:18px;font-size:11px;line-height:1.7;display:flex}.game-footnote a{text-underline-offset:4px;color:inherit;text-decoration:underline}.internship{border-top:1px solid var(--line);grid-template-columns:165px 1fr;gap:30px;padding:30px 0;display:grid}.internship:last-child{padding-bottom:0}.internship-date{color:var(--muted);font-variant-numeric:tabular-nums;align-items:baseline;gap:12px;font-size:12px;line-height:1.8;display:flex}.internship-marker{border:1px solid;border-radius:50%;flex-shrink:0;width:6px;height:6px}.internship-body h4{letter-spacing:-.03em;margin:0;font-size:clamp(20px,2vw,26px);font-weight:400;line-height:1.45}.internship-role{color:var(--muted);margin-top:8px;font-size:13px}.internship-intro{margin-top:22px;font-size:16px;line-height:1.8}.internship-tasks{margin-top:22px;padding:0;list-style:none}.internship-tasks li{grid-template-columns:90px 1fr;gap:18px;margin-top:13px;font-size:14px;line-height:1.85;display:grid}.internship-tasks strong{font-weight:400}.internship-tasks li>span{color:var(--muted)}.internship-tags{color:var(--muted);flex-wrap:wrap;gap:8px 18px;margin-top:22px;padding:0;font-size:11px;list-style:none;display:flex}html[lang=en] .internship-tasks{grid-template-columns:none}html[lang=en] .internship-tasks li{grid-template-columns:120px 1fr}.about-ready .is-attention .about-detail-content{animation:.4s both about-enter}.about-ready .is-attention :is(.game-list li,.game-covers figure,.internship){animation:.4s both about-enter;animation-delay:calc(var(--entry,0) * 35ms)}@keyframes about-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=1100px){.about-row-header{grid-template-columns:40px minmax(160px,.8fr) 1.2fr;gap:22px;padding:30px 20px}.about-detail-content{padding:0 20px 30px 82px}.game-columns{gap:28px}.internship{grid-template-columns:1fr;gap:13px}}@media (width<=820px){.about-detail-content{padding-left:20px}.game-columns{grid-template-columns:1fr 1fr;gap:24px}.game-covers figcaption{display:block}.game-covers figcaption small{margin-top:3px;display:block}}@media (width<=600px){.about-row-header{grid-template-columns:34px 1fr;gap:14px 17px;min-height:0;padding:25px 17px}.about-detail-content{padding:0 17px 25px}.game-columns{grid-template-columns:1fr;gap:32px}.game-list li{min-height:58px}.game-covers{gap:18px 12px}.game-footnote{margin-top:25px;display:block}.game-footnote a{margin-top:12px;display:inline-block}.internship{gap:12px;padding-block:24px}.internship-tasks li,html[lang=en] .internship-tasks li{grid-template-columns:1fr;gap:3px;margin-top:17px}.internship-intro{font-size:15px}}@media (prefers-reduced-motion:reduce){.about-ready .about-detail-content,.about-ready :is(.game-list li,.game-covers figure,.internship){animation:none!important}.game-cover-image img{transition:none}}@media print{.about-detail[hidden]{display:block}.about-row{break-inside:auto}}
