@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-tight-cyrillic-ext-wght-normal.0w8gz_62q057x.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-tight-cyrillic-wght-normal.0g1ekm25gll2~.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-tight-greek-ext-wght-normal.0in20b.lpo-~c.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-tight-greek-wght-normal.0fgbh09l1ttn5.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-tight-vietnamese-wght-normal.0h8wfr0tmdygv.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-tight-latin-ext-wght-normal.035jzek1jo55a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-tight-latin-wght-normal.0myywcmxkjmcm.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-condensed-vietnamese-600-normal.17zh7b4yimff..woff2)format("woff2"),url(../media/barlow-condensed-vietnamese-600-normal.03_zk9r0~c.y~.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-condensed-latin-ext-600-normal.0bd01ktc-mkpn.woff2)format("woff2"),url(../media/barlow-condensed-latin-ext-600-normal.16-oclc9t_by2.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-condensed-latin-600-normal.0pz_xtwodby3w.woff2)format("woff2"),url(../media/barlow-condensed-latin-600-normal.056_m4wg.kgv6.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--background:#e8e9ec;--surface:#f5f5f7;--surface-strong:#d9dbe0;--foreground:#121317;--muted:#5e626b;--border:#b8bbc2;--border-strong:#121317;--accent:#8c2f4d;--software:var(--accent);--music:var(--accent);--gaming:var(--accent);--shell:min(90vw, 96rem);--space-section:clamp(3.25rem, 5.5vw, 6rem);--font-display:"Inter Tight Variable", Inter, Arial, Helvetica, sans-serif;--font-body:"Inter Tight Variable", Inter, Arial, Helvetica, sans-serif;--font-ui:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-role:"Barlow Condensed", "Arial Narrow", Arial, sans-serif;--type-hero:clamp(3.8rem, 7.5vw, 8rem);--type-section:clamp(2.45rem, 4.25vw, 4.6rem);--type-item:clamp(1.7rem, 2.7vw, 2.9rem);--type-body:clamp(1rem, .2vw + .96rem, 1.06rem);--type-ui:.96rem;--type-ui-small:.72rem;--weight-display:850;--weight-body:430;--weight-ui:700;--tracking-display:-.04em;--word-spacing-display:.04em;--tracking-body:-.012em;--tracking-ui:.025em;--action-border:var(--foreground);--action-foreground:var(--foreground);--action-hover-background:var(--foreground);--action-hover-foreground:var(--background);--action-hover-border:var(--foreground);--site-header-height:3.75rem}*{box-sizing:border-box}html{scrollbar-gutter:stable;scroll-behavior:smooth;max-width:100%;overflow-x:clip}body{background:var(--background);max-width:100%;color:var(--foreground);font-family:var(--font-body);font-size:var(--type-body);font-weight:var(--weight-body);letter-spacing:var(--tracking-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}::selection{background:var(--accent);color:#fff}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.type-display{font-family:var(--font-display);font-weight:var(--weight-display);letter-spacing:var(--tracking-display);word-spacing:var(--word-spacing-display);text-wrap:balance;margin-bottom:0}.type-display--hero{font-size:var(--type-hero);line-height:.82}.type-display--section{font-size:var(--type-section);text-wrap:wrap;line-height:.9}.type-display--item{font-size:var(--type-item);line-height:.96}.type-body{font-family:var(--font-body);font-size:var(--type-body);font-weight:var(--weight-body);letter-spacing:var(--tracking-body);line-height:1.65}.type-ui{font-family:var(--font-ui);font-size:var(--type-ui);font-weight:var(--weight-ui);letter-spacing:var(--tracking-ui);line-height:1.35}.type-ui--small{font-size:var(--type-ui-small)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.site-frame{flex-direction:column;min-height:100svh;display:flex}main{flex:1;min-width:0}.shell{width:var(--shell);margin-inline:auto}.skip-link{z-index:200;border:2px solid var(--foreground);background:var(--accent);color:#fff;font-family:var(--font-ui);font-size:var(--type-ui-small);padding:8px 10px;position:fixed;top:10px;left:10px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:40;border-bottom:2px solid var(--foreground);background:color-mix(in srgb, var(--background) 96%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0}.site-header__inner{min-height:var(--site-header-height);justify-content:space-between;align-items:center;gap:clamp(1.5rem,4vw,4rem);display:flex}.brand{flex:none;align-items:center;display:inline-flex}.brand__logo{width:2.5rem;height:2.5rem;display:block}.site-nav{counter-reset:primary-nav;text-transform:uppercase;justify-content:flex-end;align-items:center;gap:clamp(.7rem,1.8vw,1.55rem);display:flex}.site-nav a{counter-increment:primary-nav;align-items:center;gap:.4rem;min-width:0;padding:.35rem 0 .45rem;transition:color .13s,opacity .13s;display:flex;position:relative}.site-nav a:before{color:var(--foreground);font-size:var(--type-ui-small);content:counter(primary-nav, decimal-leading-zero);transition:color .13s}.site-nav a:after{background:var(--accent);content:"";transform-origin:50%;height:2px;transition:transform .14s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.site-nav a:hover,.site-nav a:hover:before,.site-nav a[aria-current=page]{color:var(--foreground)}.site-nav a[aria-current=page]:before{color:var(--accent)}.site-nav a:hover:after,.site-nav a[aria-current=page]:after{transform:scaleX(1)}.menu-toggle{cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;padding:0;display:none}.menu-toggle svg,.mobile-menu__close svg{fill:none;stroke:currentColor;stroke-linecap:square;stroke-width:2px;width:22px;height:22px}.mobile-menu{z-index:100;visibility:hidden;pointer-events:none;transition:visibility 0s linear .22s;position:fixed;inset:0}.mobile-menu.is-open{visibility:visible;pointer-events:auto;transition-delay:0s}.mobile-menu__backdrop{opacity:0;cursor:pointer;background:#12131794;border:0;width:100%;height:100%;padding:0;transition:opacity .18s;position:absolute;inset:0}.mobile-menu.is-open .mobile-menu__backdrop{opacity:1}.mobile-menu__drawer{inset-block:0;width:min(88vw,360px);padding:max(16px, env(safe-area-inset-top)) 18px max(20px, env(safe-area-inset-bottom));border-right:3px solid var(--foreground);background:var(--background);flex-direction:column;transition:transform .22s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;left:0;transform:translate(-100%)}.mobile-menu.is-open .mobile-menu__drawer{transform:translate(0)}.mobile-menu__header{justify-content:flex-end;min-height:44px;display:flex}.mobile-menu__title{display:none}.mobile-menu__close{border:2px solid var(--foreground);background:var(--surface);cursor:pointer;place-items:center;width:40px;height:40px;padding:0;display:grid}.mobile-menu__nav{counter-reset:mobile-nav;border-top:2px solid var(--foreground);margin-top:18px;display:grid}.mobile-menu__nav a{border-bottom:1px solid var(--foreground);counter-increment:mobile-nav;align-items:center;gap:12px;min-height:58px;padding:12px 8px;display:flex}.mobile-menu__nav a:before{color:var(--muted);font-size:var(--type-ui-small);content:counter(mobile-nav, decimal-leading-zero)}.mobile-menu__nav a:after{color:var(--accent);content:"↗";margin-left:auto}.mobile-menu__nav a:hover,.mobile-menu__nav a[aria-current=page]{background:var(--foreground);color:var(--background)}.not-found{flex-direction:column;justify-content:center;align-items:flex-start;min-height:68vh;padding-block:100px;display:flex}.not-found h1{letter-spacing:-.07em;margin-bottom:16px;font-size:clamp(3.5rem,10vw,9rem);font-weight:900;line-height:.82}.not-found>p:not(.eyebrow){max-width:52ch;color:var(--foreground);font-size:var(--type-body);margin-bottom:24px;line-height:1.65}.site-footer{background:var(--foreground);color:var(--background);margin-top:auto}.site-footer__inner{justify-content:space-between;align-items:flex-end;gap:32px;min-height:116px;padding-block:28px;display:flex}.site-footer__identity{font-family:var(--font-ui);gap:5px;display:grid}.site-footer__identity strong{color:#fff;font-size:var(--type-ui);letter-spacing:var(--tracking-ui)}.site-footer__identity span{color:#b8bac1;font-size:var(--type-ui-small);letter-spacing:var(--tracking-ui);text-transform:uppercase}.site-footer__links{color:#c8c9cf;font-family:var(--font-ui);font-size:var(--type-ui-small);font-weight:var(--weight-ui);text-transform:uppercase;flex-wrap:wrap;justify-content:flex-end;gap:10px 16px;display:flex}.site-footer__links a:hover{color:#fff;text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:4px;text-decoration-thickness:2px}@media (max-width:980px){:root{--shell:min(92vw, 72rem)}.site-nav{gap:.8rem}.site-nav a{padding-inline:0}}@media (max-width:820px){:root{--site-header-height:60px;--shell:min(90vw, 46rem)}.site-header__inner{min-height:var(--site-header-height);align-items:center}.brand{min-width:0;margin-left:auto}.site-nav--desktop{display:none}.menu-toggle{order:-1;display:grid}.site-footer__inner{flex-direction:column;align-items:flex-start}.site-footer__links{justify-content:flex-start}}@media (max-width:540px){.site-footer__inner{gap:20px;min-height:0;padding-block:24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-timeline:auto!important}}
.inline-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.button,.text-link{font-family:var(--font-ui);font-size:var(--type-ui-small);font-weight:var(--weight-ui);letter-spacing:var(--tracking-ui);text-transform:uppercase}.button{border:2px solid var(--action-border);min-height:36px;color:var(--action-foreground);text-align:center;background:0 0;border-radius:0;justify-content:center;align-items:center;gap:7px;padding:7px 10px;transition:background .12s,border-color .12s,box-shadow .12s,color .12s;display:inline-flex}.button--primary{border-color:var(--accent);background:var(--accent);color:#fff}.button--primary:hover,.button--secondary:hover{border-color:var(--action-hover-border);background:var(--action-hover-background);color:var(--action-hover-foreground);box-shadow:0 2px 0 var(--accent)}.action-size--large{min-height:64px;font-size:var(--type-ui);text-transform:none;gap:12px;padding:14px 18px}.text-link{min-height:34px;color:var(--foreground);align-items:center;gap:7px;padding:6px 2px;transition:color .12s;display:inline-flex}.action-link__indicator{color:var(--accent);flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.button .action-link__indicator{color:currentColor}.text-link:hover{color:var(--accent)}.page-cta{background:var(--surface-strong);padding-block:clamp(3.5rem,6vw,6rem)}.page-cta__inner{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(1.25rem,2.5vw,2.5rem);display:grid}.page-cta .type-display--section{max-width:none}.page-cta .button{white-space:nowrap}@media (max-width:820px){.page-cta__inner{grid-template-columns:1fr}.page-cta .button{justify-self:start}}.section-heading{min-width:0;margin-bottom:0}.interactive-row{min-width:0;color:var(--foreground);transition:background .12s,box-shadow .12s,color .12s}.interactive-row__leading,.interactive-row__body,.interactive-row__trailing{min-width:0}.interactive-row--pillar{border-top:2px solid var(--foreground);grid-template-columns:minmax(11rem,.48fr) minmax(0,1.3fr) auto;align-items:center;gap:clamp(1.25rem,3vw,3rem);padding:clamp(1.3rem,2.4vw,2.1rem) clamp(12px,1vw,16px);display:grid}.interactive-row--pillar:hover,.interactive-row--pillar:focus-visible{background:var(--foreground);color:#fff;box-shadow:-7px 0 0 var(--accent)}:where(.interactive-row--pillar .interactive-row__body) p{max-width:62ch;color:inherit;margin-bottom:0}.interactive-row__action{color:var(--accent);font-size:var(--type-ui-small);text-transform:uppercase;white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.interactive-row--pillar:hover .interactive-row__action,.interactive-row--pillar:focus-visible .interactive-row__action{color:#fff}.interactive-row__action>span:last-child{color:var(--accent)}.link-list{border-top:2px solid var(--foreground)}.interactive-row--link{border-bottom:1px solid var(--foreground);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:68px;padding:14px 8px;display:grid}.interactive-row--link:hover,.interactive-row--link:focus-visible{background:var(--foreground);color:#fff;box-shadow:-5px 0 0 var(--accent)}.interactive-row__icon{color:currentColor;place-items:center;width:20px;height:20px;display:grid}.interactive-row__copy{gap:3px;min-width:0;display:grid}.interactive-row__copy strong{overflow-wrap:anywhere;font-size:var(--type-body)}.interactive-row__copy small{color:inherit}.interactive-row--link .interactive-row__trailing{color:var(--accent);font-family:var(--font-ui);font-size:var(--type-ui)}.record-list{gap:10px;display:grid}.record-card{border:2px solid var(--foreground);background:var(--surface);grid-template-columns:minmax(10rem,.34fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);min-width:0;padding:clamp(1.4rem,2.5vw,2.25rem);transition:background .12s,box-shadow .12s;display:grid}.record-card:hover,.record-card:focus-within{background:var(--surface-strong);box-shadow:inset 5px 0 0 var(--accent)}.record-card__meta,.record-card__content{min-width:0}.record-card__meta{color:var(--foreground);text-transform:uppercase}.record-card__meta p{margin-bottom:.35rem}.record-card__meta>:first-child{color:var(--foreground);font-weight:800}.record-card__content .type-display--item{overflow-wrap:anywhere;margin-bottom:12px}.record-card__content>p{color:var(--foreground);line-height:1.65}.record-card__lead{color:var(--foreground);font-size:var(--type-body);margin-bottom:20px;font-weight:650;line-height:1.55}.record-card__lead p,.record-card__lead:last-child{margin-bottom:0}.record-card__footer{margin-top:18px}.record-card[id]{scroll-margin-top:calc(var(--site-header-height) + 20px)}.contact-links .source-copy__body{max-width:none}.contact-links .link-list{max-width:64rem}.project-tabs__list{border:2px solid var(--foreground);background:var(--background);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:relative}.project-tabs__list:before{background:var(--foreground);box-shadow:inset 0 -4px 0 var(--accent);content:"";pointer-events:none;transition:transform .32s cubic-bezier(.22,1,.36,1);position:absolute;inset:0 50% 0 0}.project-tabs__list[data-active-tab=personal]:before{transform:translate(100%)}.project-tabs__tab{z-index:1;min-width:0;min-height:50px;color:var(--foreground);font-family:var(--font-body);font-size:var(--type-body);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:10px;padding:10px 16px;font-weight:700;transition:color .16s;display:flex;position:relative}.project-tabs__tab+.project-tabs__tab{border-left:1px solid var(--foreground)}.project-tabs__tab small{min-width:23px;font-family:var(--font-ui);font-size:var(--type-ui-small);border:1px solid;padding:2px 5px;line-height:1}.project-tabs__tab:hover:not([aria-selected=true]){color:var(--accent)}.project-tabs__tab[aria-selected=true]{color:var(--background)}.project-tabs__viewport{transition:height .32s cubic-bezier(.22,1,.36,1);overflow:hidden}.project-tabs__track{will-change:transform;align-items:flex-start;width:100%;transition:transform .42s cubic-bezier(.22,1,.36,1);display:flex}.project-tabs__track[data-active-tab=personal]{transform:translate(-100%)}.project-tabs__panel{flex:0 0 100%;min-width:0;padding-top:18px}.projects-page .record-card{grid-template-columns:minmax(170px,.34fr) minmax(0,1fr)}.projects-page .record-card,.projects-page .project-tabs__list{animation:none!important}.button svg,.text-link svg,.interactive-row__icon svg{fill:none;stroke:currentColor;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.9px;flex:0 0 16px;width:16px;height:16px}.action-size--large svg{flex-basis:24px;width:24px;height:24px}.button .social-icon__fill,.text-link .social-icon__fill,.interactive-row__icon .social-icon__fill{fill:currentColor;stroke:none}@media (max-width:820px){.record-card{grid-template-columns:1fr;gap:.9rem}.record-card__meta{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.record-card__meta p{margin-bottom:0}.interactive-row--pillar{grid-template-columns:1fr;gap:.9rem}.interactive-row--pillar .interactive-row__trailing{justify-self:start}}@media (max-width:540px){.button,.text-link{overflow-wrap:anywhere;max-width:100%}.interactive-row--link{min-height:62px;padding-block:13px}.project-tabs__tab{gap:6px;min-height:46px;padding:8px;font-size:.85rem;line-height:1.2}.project-tabs__tab small{min-width:20px;padding:2px 4px;font-size:.62rem}.projects-page .record-card{grid-template-columns:1fr;gap:16px;padding:20px}}
.home-page{background:var(--background);overflow:clip}.home-hero{border-bottom:3px solid var(--foreground);background:var(--background);min-height:clamp(300px,40svh,430px);display:grid}.home-hero__content{grid-template-columns:minmax(0,1fr) minmax(240px,.52fr);align-items:center;gap:clamp(2rem,5vw,5rem);padding-block:clamp(1.4rem,2.5vw,2.4rem);display:grid}.home-hero__copy{text-align:left;min-width:0;animation:.46s 80ms both hero-copy}.home-hero__copy:before{background:var(--accent);content:"";width:14px;height:14px;margin-bottom:clamp(.8rem,1.5vw,1.2rem);display:block}.home-hero .type-display--hero{max-width:8ch;margin-bottom:clamp(1.25rem,2vw,1.75rem)}.home-hero__role{max-width:none;color:var(--foreground);font-family:var(--font-role);letter-spacing:.035em;white-space:nowrap;flex-wrap:nowrap;gap:.35em;margin:0;font-size:clamp(.96rem,.5vw + .84rem,1.18rem);font-weight:600;line-height:1.25;display:flex}.home-hero__role-career{white-space:nowrap}.photo-carousel{place-self:center end;width:min(100%,320px);min-width:0}.photo-carousel__viewport{aspect-ratio:1;border:3px solid var(--foreground);background:var(--surface);position:relative;overflow:hidden}.photo-carousel__image{object-fit:cover;animation:.22s both carousel-fade}.photo-carousel__image--portrait{object-position:center 42%}.photo-carousel__image--red-stage{object-position:center 43%}.photo-carousel__toolbar{justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.photo-carousel__dots,.photo-carousel__controls{align-items:center;display:flex}.photo-carousel__dots{gap:5px}.photo-carousel__dots button,.photo-carousel__controls button{color:var(--foreground);font:inherit;cursor:pointer;padding:0}.photo-carousel__dots button{background:var(--border-strong);border:0;width:20px;height:3px;transition:width .15s,background .15s}.photo-carousel__dots button.is-active{background:var(--accent);width:38px}.photo-carousel__controls{gap:5px}.photo-carousel__controls button{border:2px solid var(--foreground);background:0 0;place-items:center;width:34px;height:34px;transition:background .12s,box-shadow .12s,color .12s;display:grid}.photo-carousel__controls button:hover{background:var(--foreground);color:var(--background);box-shadow:0 2px 0 var(--accent)}.photo-carousel__controls svg{fill:none;stroke:currentColor;stroke-linecap:square;stroke-linejoin:miter;stroke-width:2px;width:17px;height:17px}.about-section{scroll-margin-top:calc(var(--site-header-height) + 1rem);gap:clamp(2rem,4vw,3.5rem);padding-block:clamp(3.75rem,6vw,6rem);display:grid}.about-section__title{white-space:nowrap;max-width:none}.about-section__cards{border-bottom:2px solid var(--foreground);display:grid}.creator-section{--action-border:#fff;--action-foreground:#fff;--action-hover-background:#fff;--action-hover-foreground:var(--foreground);--action-hover-border:#fff;background:var(--foreground);color:#fff}.creator-section__inner{gap:clamp(1.75rem,3vw,2.5rem);padding-block:clamp(3.75rem,6vw,6rem);display:grid}.creator-section .type-display--section{white-space:nowrap;max-width:none}.creator-section__copy{gap:1.25rem;width:100%;display:grid}.creator-section__copy p{color:#fff;margin-bottom:0}.creator-section .text-link{color:#fff;width:fit-content}.creator-section .text-link:hover{color:var(--accent)}@keyframes hero-copy{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes carousel-fade{0%{opacity:0}to{opacity:1}}@media (max-width:980px){.home-hero{min-height:0}.home-hero__content{grid-template-columns:minmax(0,1fr) minmax(220px,.58fr)}}@media (max-width:820px){.home-hero__content{grid-template-columns:1fr;align-items:start;padding-block:2.5rem 3rem}.home-hero .type-display--hero{max-width:100%}.home-hero__role{white-space:normal;flex-wrap:wrap;row-gap:0;max-width:100%}.photo-carousel{justify-self:start;width:min(76vw,360px)}.about-section{padding-block:3.75rem}.creator-section .type-display--section{white-space:normal}}@media (max-width:540px){.home-hero__content{padding-block:2rem 2.5rem}.home-hero__copy:before{width:11px;height:11px}.photo-carousel{width:min(86vw,330px)}.about-section__title,.collaboration-section .type-display--section{white-space:normal}}@media (prefers-reduced-motion:reduce){.home-hero__copy,.photo-carousel__image,.interactive-row{animation:none!important}}
.content-section{scroll-margin-top:var(--site-header-height);padding-block:clamp(3.5rem,6vw,6.5rem);position:relative}.section-surface{color:var(--foreground)}.section-surface--base{background:var(--background)}.section-surface--surface{background:var(--surface)}.section-surface--strong{background:var(--surface-strong)}.section-surface--dark{--action-border:#fff;--action-foreground:#fff;--action-hover-background:#fff;--action-hover-foreground:var(--foreground);--action-hover-border:#fff;background:var(--foreground);color:#fff}.content-section:last-of-type{margin-bottom:0}.source-copy{scroll-margin-top:calc(var(--site-header-height) + 1rem);grid-template-columns:1fr;gap:clamp(1.75rem,3.5vw,3rem);display:grid}.source-copy__heading{margin-bottom:0}.source-copy__heading .type-display{padding-top:16px;position:relative}.source-copy__heading .type-display:before{background:var(--accent);content:"";width:36px;height:6px;position:absolute;top:0;left:0}.source-copy__heading--page,.content-section--no-heading .source-copy{max-width:none}.source-copy__body{min-width:0}.content-section--no-heading .source-copy__body{max-width:74ch}.source-copy__body>.type-display--item{margin-bottom:1.25rem}.source-copy__body>p{max-width:72ch;color:inherit;font-size:var(--type-body);line-height:1.72}.source-copy__body>p:last-of-type{margin-bottom:0}.section-surface--dark .source-copy__heading .type-display,.section-surface--dark .source-copy__body,.section-surface--dark .source-copy__body>p,.section-surface--dark .text-link{color:#fff}.source-copy__body .inline-actions{margin-top:24px}.project-company-link{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:4px;font-weight:800;text-decoration-thickness:2px}.projects-page{padding-bottom:var(--space-section)}.software-anchor{scroll-margin-top:calc(var(--site-header-height) + 1rem)}.original-experience .record-card__content ul{color:var(--foreground);margin:18px 0 0;padding-left:1.1rem}.original-experience .record-card__content li{margin-bottom:10px;line-height:1.6}.original-experience .record-card__content li:last-child{margin-bottom:0}.tournament-table-wrap{border:2px solid var(--foreground);background:var(--surface);overflow-x:auto}.tournament-table{border-collapse:collapse;width:100%;min-width:900px;color:var(--foreground);text-align:left}.tournament-table th,.tournament-table td{border-bottom:1px solid var(--foreground);vertical-align:top;padding:16px 18px}.tournament-table th{background:var(--foreground);color:#fff;text-transform:uppercase}.tournament-table td{font-size:var(--type-body);line-height:1.5}.tournament-table tbody tr{transition:background .12s}.tournament-table tbody tr:hover{background:var(--surface-strong)}.tournament-table tbody tr:last-child td{border-bottom:0}.tournament-table__event{font-weight:800}.tournament-event__content{align-items:center;gap:8px;display:inline-flex}.tournament-badge{border:1px solid var(--accent);color:var(--foreground);text-transform:uppercase;justify-content:center;align-items:center;margin-left:0;padding:2px 6px;line-height:1;display:inline-flex}.tournament-cards{display:none}.team-list{flex-wrap:wrap;gap:8px;display:flex}.team-list span{border:1px solid var(--foreground);background:var(--surface);font-family:var(--font-ui);font-size:var(--type-ui-small);font-weight:var(--weight-ui);padding:7px 9px}@media (max-width:820px){.content-section{padding-block:3.5rem}.source-copy{gap:1.5rem}.source-copy__body>p{margin-bottom:16px;line-height:1.65}.source-copy__body .inline-actions{margin-top:20px}.original-experience .record-card__content ul{margin-top:16px}.projects-page{padding-top:0}}@media (max-width:700px){.tournament-table-wrap{display:none}.tournament-cards{gap:10px;margin:0;padding:0;list-style:none;display:grid}.tournament-cards article{border:2px solid var(--foreground);background:var(--surface);min-width:0;box-shadow:inset 4px 0 0 var(--accent);padding:20px}.tournament-card__heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.tournament-card__heading h3{overflow-wrap:anywhere;min-width:0;font-family:var(--font-display);font-size:var(--type-body);font-weight:var(--weight-display);letter-spacing:-.025em;margin-bottom:0;line-height:1.25}.tournament-card__heading .tournament-badge{flex:none;margin-left:0}.tournament-cards dl{gap:10px;margin:0;display:grid}.tournament-cards dl>div{grid-template-columns:minmax(82px,.38fr) minmax(0,1fr);gap:12px;display:grid}.tournament-cards dt{color:var(--foreground);text-transform:uppercase}.tournament-cards dd{overflow-wrap:anywhere;min-width:0;color:var(--foreground);margin:0;line-height:1.45}}@media (max-width:360px){.tournament-cards article{padding:18px}.tournament-cards dl>div{grid-template-columns:1fr;gap:3px}}
.menu-toggle,.mobile-menu__close{transition:background .12s,box-shadow .12s,color .12s}.menu-toggle:hover,.mobile-menu__close:hover{background:var(--foreground);color:var(--background);box-shadow:0 2px 0 var(--accent)}.mobile-menu{isolation:isolate}.mobile-menu__backdrop{z-index:0}.mobile-menu__drawer{z-index:1;overscroll-behavior:contain;min-height:100dvh;overflow-y:auto}@media (max-width:820px){.site-header__inner{justify-content:space-between}.menu-toggle{order:-1}.brand{margin-left:auto}}@media (max-width:540px){.menu-toggle{width:40px;height:40px}.mobile-menu__drawer{width:min(90vw,350px);padding-inline:16px}}@supports (scrollbar-gutter:stable){html{scrollbar-gutter:stable}}
