@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-leading:initial;--tw-font-weight:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:Arial, Helvetica, sans-serif;--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.mx-auto{margin-inline:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.size-icon-size{width:var(--icon-size);height:var(--icon-size)}.w-\[calc\(100\%_-_2_\*_var\(--space-gutter\)\)\]{width:calc(100% - 2 * var(--space-gutter))}.max-w-content{max-width:var(--content-width)}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.gap-icon{gap:var(--space-icon)}.gap-stack{gap:var(--space-stack)}.text-left{text-align:left}.font-portfolio{font-family:Alata,Arial,Helvetica,sans-serif}.text-body{font-size:var(--type-body)}.text-heading{font-size:var(--type-heading)}.leading-copy{--tw-leading:var(--type-leading);line-height:var(--type-leading)}.font-regular{--tw-font-weight:var(--type-weight);font-weight:var(--type-weight)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.text-ink{color:var(--heading)}.text-muted{color:var(--muted)}.not-italic{font-style:normal}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:absolute:focus{position:absolute}.focus\:top-focus-top:focus{top:var(--space-focus-top)}.focus\:left-offset:focus{left:var(--space-offset)}.focus\:z-10:focus{z-index:10}.focus\:bg-surface:focus{background-color:var(--surface)}.focus\:p-control:focus{padding:var(--space-control)}}@font-face{font-family:Alata;font-style:normal;font-display:swap;font-weight:400;src:url(../media/alata-vietnamese-400-normal.28o3e4yxoml_r.woff2)format("woff2"),url(../media/alata-vietnamese-400-normal.3oyedyad0-mi0.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:Alata;font-style:normal;font-display:swap;font-weight:400;src:url(../media/alata-latin-ext-400-normal.15nxwe6uce7-l.woff2)format("woff2"),url(../media/alata-latin-ext-400-normal.2v5cv8ju1w1mx.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:Alata;font-style:normal;font-display:swap;font-weight:400;src:url(../media/alata-latin-400-normal.2gh7mduxwqkmm.woff2)format("woff2"),url(../media/alata-latin-400-normal.21xpacz7icr7c.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}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-cyrillic-ext-500-normal.2tfs-ajhr_27q.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-500-normal.29wincfdhpbow.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-cyrillic-500-normal.30hm7mcic8nak.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-500-normal.1g2cl4geicio1.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-vietnamese-500-normal.400h8-n7y356b.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-500-normal.2w9-mj8vy__-b.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-latin-ext-500-normal.2yypdhrkbqnza.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-500-normal.3-fgi0nn_mag-.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-latin-500-normal.25_05y-blbp24.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-500-normal.20ixcot5hpnm-.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}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-cyrillic-ext-400-normal.0sqs6uof-0amz.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-ext-400-normal.1n25945oofmoi.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-cyrillic-400-normal.1nbavbgzpe520.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-400-normal.13meln3u2wrw1.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-greek-400-normal.13urx6ctg50nq.woff2)format("woff2"),url(../media/ibm-plex-sans-greek-400-normal.3jezoma1zzezb.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-vietnamese-400-normal.0ai7gdju0gby9.woff2)format("woff2"),url(../media/ibm-plex-sans-vietnamese-400-normal.2u9cx6ke8pzx4.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-latin-ext-400-normal.0ceeqphcbp8x9.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-400-normal.0rj0k8-86v7v_.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-latin-400-normal.1-h52z97c7bce.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-400-normal.0fuh4fyjfo9ap.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{--pendent-glow-color:#ffd86c3d;--pendent-ambient-color:#ffd86c14;--pendent-ambient-spread:80px;--motion-duration-press:.12s;--motion-duration-hover:.16s;--motion-duration-folder-card:.2s;--motion-duration-exit:.16s;--motion-duration-enter:.4s;--motion-ease-interaction:cubic-bezier(.2, 0, .2, 1);--motion-ease-enter:cubic-bezier(.16, 1, .3, 1);--motion-ease-exit:cubic-bezier(.4, 0, 1, 1);--motion-distance-hover:2px;--motion-distance-card-lift:3px;--motion-distance-enter:8px;--motion-scale-hover:1.01;--motion-scale-press:.99;--motion-delay:0s;--motion-stagger:40ms;--motion-stagger-max:.16s}@media (prefers-reduced-motion:reduce){:root{--motion-duration-press:0s;--motion-duration-hover:0s;--motion-duration-folder-card:0s;--motion-duration-exit:0s;--motion-duration-enter:0s;--motion-distance-hover:0px;--motion-distance-card-lift:0px;--motion-distance-enter:0px;--motion-scale-hover:1;--motion-scale-press:1;--motion-delay:0s;--motion-stagger:0s;--motion-stagger-max:0s}}:root{--background:#fdfcf8;--foreground:#171717;--heading:#000;--muted:#6b6b6b;--secondary:#6e6a62;--surface:#fff;--grid-dot:#d9d9d980;--portfolio-border-subtle:#2121212e;--space-icon:.5rem;--space-control:.75rem;--space-stack:14px;--space-gutter:16px;--space-offset:1.5rem;--space-focus-top:1rem;--space-header-top:120px;--space-header-extra:64px;--space-logo-intro:64px;--space-section:64px;--space-section-extra:0px;--space-footer-bottom:72px;--space-lamp-gap:64px;--space-social-gap:16px;--space-card-gap:16px;--space-grid-gap:32px;--space-experience-heading:34px;--content-width:525px;--icon-size:1rem;--social-icon-size:25px;--lamp-width:90px;--lamp-height:216px;--folder-width:107.25px;--folder-height:84.445px;--type-body:16px;--type-heading:24px;--type-folder:13px;--type-section:16px;--type-weight:400;--type-leading:normal;--radius-default:0px;--grid-dot-radius:1.25px;--grid-step:20px;--focus-width:2px;--focus-offset:4px}body{background-color:var(--background);background-image:radial-gradient(circle, var(--grid-dot) var(--grid-dot-radius), transparent var(--grid-dot-radius));background-size:var(--grid-step) var(--grid-step);color:var(--foreground)}.custom-cursor{z-index:9999;opacity:0;pointer-events:none;will-change:transform, opacity;width:0;height:0;display:none;position:fixed;top:0;left:0;transform:translate(-100px,-100px)translate(-50%,-50%)}.custom-cursor__pill{color:#fff;background:#63a7f0;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;transition:width .36s cubic-bezier(.22,1.18,.36,1),height .36s cubic-bezier(.22,1.18,.36,1),transform .16s ease-out;display:flex;transform:translate(-50%,-50%)scale(1)}.custom-cursor[data-hover=true] .custom-cursor__pill{width:var(--cursor-width,36px);height:36px}.custom-cursor[data-small=true] .custom-cursor__pill{width:20.4px;height:20.4px}.custom-cursor__email-icon{filter:brightness(0)invert();flex-shrink:0;width:16px;height:16px;margin-right:6px;display:none}.custom-cursor[data-email=true] .custom-cursor__email-icon{display:block}.custom-cursor[data-pressed=true] .custom-cursor__pill{transform:translate(-50%,-50%)scale(.9)}.custom-cursor__label{text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;opacity:0;flex-shrink:0;max-width:180px;font:500 14px/1.2 IBM Plex Mono,monospace;transition:opacity .12s,transform .12s;overflow:hidden;transform:translateY(4px)}.custom-cursor[data-text=true] .custom-cursor__label{opacity:1;transition-delay:.1s;transform:translateY(0)}@media (pointer:fine) and (prefers-reduced-motion:no-preference){body.has-custom-cursor,body.has-custom-cursor *{cursor:none}.custom-cursor{display:block}body.has-custom-cursor [data-cursor-type=grab]{cursor:grab}body.has-custom-cursor [data-cursor-type=grab]:active{cursor:grabbing}}.site-shell{flex-direction:column;min-height:100vh;display:flex}#main-content{flex:1}.about-page{background-color:#212121;background-image:radial-gradient(circle,#fdfcf821 1px,#0000 1px);background-position:0 0;background-size:20px 20px;flex-direction:column;min-height:100vh;display:flex}body:has(.about-page){background-color:#212121;background-image:radial-gradient(circle,#fdfcf821 1px,#0000 1px);background-position:0 0;background-size:20px 20px}body:has(.about-page) .site-header{z-index:2;color:#fdfcf8;position:absolute;top:0;left:0;right:0}body:has(.about-page) .site-footer{display:none}.site-header__back{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.about-page{color:#fdfcf8}.about-header{box-sizing:border-box;width:min(863px, calc(100% - 2 * var(--space-gutter)));max-width:none;margin-left:calc(50% - 445px);padding-top:243px}.about-header__title,.about-header h1{margin:0;font-family:Alata,Arial,Helvetica,sans-serif;font-size:48px;font-weight:400;line-height:normal}.about-header__description,.about-header p{margin:16px 0 0;font-family:Alata,Arial,Helvetica,sans-serif;font-size:20px;font-weight:400;line-height:normal}.about-page .facts{align-items:flex-start;gap:48px;width:863px;margin:auto 0 auto calc(50% - 445px);display:flex}.about-page .facts__title-frame{flex:0 0 315px;width:315px;height:195px;position:relative}.about-page .facts__title-frame:before{z-index:2;content:"";background:#ae4e47;width:12px;height:12px;position:absolute;top:-3px;left:-3px}.about-page .facts__title-frame:after{z-index:0;content:"";background:#ae4e47;width:315px;height:195px;position:absolute;top:16px;left:14px}.about-page .facts h2{z-index:1;box-sizing:border-box;color:#fdfcf8;text-align:center;text-wrap:balance;background:#212121;border:2px dashed #666;justify-content:center;align-items:center;gap:10px;width:315px;max-width:315px;height:195px;margin:0;padding:0 32px;font-family:Alata,Arial,Helvetica,sans-serif;font-size:24px;font-style:normal;font-weight:400;line-height:normal;display:flex;position:relative}.about-page .facts h2 span{z-index:1;position:relative}.about-page .facts ul{flex-direction:column;flex:500px;gap:12px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.about-page .facts li{align-items:center;gap:12px;display:flex}.about-page .facts li img{object-fit:contain;flex:0 0 47px;width:47px;height:44px;display:block}.about-page .facts li p{color:#fdfcf8;white-space:normal;margin:0;font-family:Alata,Arial,Helvetica,sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:normal}@media (max-width:767px){.about-header{width:calc(100% - 2 * var(--space-gutter));margin-left:var(--space-gutter);padding-top:128px}.about-header h1{font-size:32px}.about-header p{font-size:17px}.about-page .facts{width:calc(100% - 2 * var(--space-gutter));margin-left:var(--space-gutter);flex-direction:column;gap:24px}.about-page .facts h2{width:100%;height:auto;min-height:140px}.about-page .facts li p{white-space:normal}.about-page .facts ul{flex:0 auto;width:100%}.about-page .facts__title-frame{width:100%;height:140px}.about-page .facts__title-frame:after{width:100%;height:140px;top:12px;left:12px}}.about-page .footer-drawing{box-sizing:border-box;width:min(917px, calc(100% - 2 * var(--space-gutter)));margin-top:0;margin-bottom:128px;margin-left:calc(50% - 445px)}.about-page .footer-drawing img{width:100%;height:auto;display:block}@media (max-width:767px){.about-page .footer-drawing{width:calc(100% - 2 * var(--space-gutter));margin-left:var(--space-gutter)}}.hanging-lamp{--lamp-anchor-x:36px;--lamp-anchor-y:0px;top:0;left:calc(50% + (var(--content-width) / 2) + var(--space-lamp-gap));width:var(--lamp-width);height:var(--lamp-height);transform-origin:var(--lamp-anchor-x) var(--lamp-anchor-y);position:absolute}.site-header{width:calc(100% - 2 * var(--space-gutter));max-width:var(--content-width);padding-top:calc(var(--space-header-top) + var(--space-header-extra));padding-bottom:var(--space-logo-intro);margin-left:auto;margin-right:auto}.experience-section{margin-top:calc(var(--space-section) + var(--space-section-extra));color:var(--muted);font-family:Alata,Arial,Helvetica,sans-serif}.experience-section h2{margin:0 0 var(--space-experience-heading);font-size:var(--type-section);font-weight:var(--type-weight);line-height:var(--type-leading)}.hanging-lamp img{width:100%;height:100%;display:block}.pendent{pointer-events:none}.pendent__hit-area{width:100%;height:100%;display:block;position:relative}.pendent__ambient,.pendent__glow{pointer-events:none;opacity:0;position:absolute}.pendent__ambient{inset:calc(var(--pendent-ambient-spread) * -1);z-index:-1;background:var(--pendent-ambient-color)}.pendent__glow{z-index:0;background:var(--pendent-glow-color);inset:30% 10% 0}.pendent__image{object-fit:contain}.social-links__list{align-items:center;gap:var(--space-social-gap);margin:0;padding:0;list-style:none;display:flex}.site-footer{width:calc(100% - 2 * var(--space-gutter));max-width:var(--content-width);padding-bottom:var(--space-footer-bottom);text-align:left;margin-left:auto;margin-right:auto}.social-links__link{color:#6e6a62;letter-spacing:.08em;text-transform:uppercase;width:auto;height:auto;transition:color var(--motion-duration-hover) var(--motion-ease-interaction), opacity var(--motion-duration-hover) var(--motion-ease-interaction);flex-shrink:0;justify-content:center;align-items:center;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}.social-links__link:focus-visible{border-radius:var(--radius-default)}.social-links__link:hover,.social-links__link:focus-visible,.experience-modal__confidential a:hover,.experience-modal__confidential a:focus-visible{color:#63a7f0}a:focus-visible{outline:var(--focus-width) solid currentColor;outline-offset:var(--focus-offset)}.folder-card-grid{grid-template-columns:repeat(4, minmax(0, var(--folder-width)));gap:var(--space-grid-gap);margin:0;padding:0;list-style:none;display:grid}.folder-card{width:var(--folder-width);align-items:center;gap:var(--space-card-gap);color:var(--muted);font:inherit;text-align:center;background:0 0;border:0;flex-direction:column;padding:0;text-decoration:none;display:flex}.folder-card__art{width:var(--folder-width);height:var(--folder-height);transform-origin:bottom;transition:transform var(--motion-duration-folder-card) var(--motion-ease-interaction);flex:none;display:block;position:relative}.folder-card__svg{width:var(--folder-width);height:var(--folder-height);display:block;overflow:visible}.folder-card__front{transform-box:fill-box;transform-origin:bottom;transition:transform var(--motion-duration-folder-card) var(--motion-ease-interaction)}.folder-card__back{transform-box:fill-box;transform-origin:top;transform:scaleY(1.06)}@keyframes folder-card-bounce{0%{transform:translateY(calc(var(--motion-distance-card-lift) * -1)) scale(var(--motion-scale-hover))}35%{transform:translateY(-8px)scale(1.04)}65%{transform:translateY(-1px)scale(.99)}to{transform:translateY(calc(var(--motion-distance-card-lift) * -1)) scale(var(--motion-scale-hover))}}@media (min-width:768px){.folder-card{cursor:pointer}.folder-card:hover,.folder-card:focus-visible{transform:none}.folder-card:hover .folder-card__art,.folder-card:focus-visible .folder-card__art{transform:translateY(calc(var(--motion-distance-card-lift) * -1)) scale(var(--motion-scale-hover));animation:folder-card-bounce .48s var(--motion-ease-enter)}.folder-card:hover .folder-card__front,.folder-card:focus-visible .folder-card__front{transform:translateY(3px)}}@media (prefers-reduced-motion:reduce){.folder-card:hover,.folder-card:focus-visible{transform:none}.folder-card__art{transition:none;animation:none;transform:none}.folder-card__front{transition:none;transform:none}}.folder-card__title{font-size:var(--type-folder);line-height:var(--type-leading)}.tooltip{flex-direction:column;align-items:center;display:inline-flex;position:relative}.tooltip__content{z-index:2;color:var(--secondary,#6e6a62);opacity:0;pointer-events:none;transition:opacity var(--motion-duration-folder-card) var(--motion-ease-interaction), transform var(--motion-duration-folder-card) var(--motion-ease-interaction);white-space:nowrap;background:#fdfcf8;border:1px solid #21212124;border-radius:6px;padding:6px 10px;font-family:IBM Plex Mono,monospace;font-size:11px;line-height:1.2;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,-4px);box-shadow:0 4px 12px #0000001a}.tooltip:hover .tooltip__content,.tooltip:focus-within .tooltip__content{opacity:1;transform:translate(-50%)}.tooltip:hover .tooltip__content{top:var(--tooltip-y);left:var(--tooltip-x);transform:translate(12px,12px)}@media (prefers-reduced-motion:reduce){.tooltip__content{transition:none;transform:translate(-50%)}}.experience-modal{z-index:30;width:100%;max-width:none;height:100%;max-height:none;color:inherit;background:0 0;border:0;justify-content:center;align-items:center;gap:24px;margin:0;padding:24px;position:fixed;inset:0}.experience-modal[open]{display:flex}.experience-modal::backdrop{background:0 0}.desktop-window{color:#212121;background:#fdfcf8;border:1px solid #2121212e;border-radius:22px;width:55vw;max-width:calc(100vw - 48px);height:70vh;max-height:70vh;overflow:hidden;box-shadow:0 3px 8px #00000029,0 24px 60px #00000038}.desktop-window__titlebar{background:#f4f2eb;border-bottom:1px solid #21212124;justify-content:center;align-items:center;height:44px;display:flex;position:relative}.experience-modal .desktop-window__titlebar h2{color:#6b6b6b;text-align:center;margin:0;font-family:Alata,Arial,Helvetica,sans-serif;font-size:13px;font-style:normal;font-weight:400;line-height:normal}.desktop-window__controls{align-items:center;gap:7px;height:44px;display:flex;position:absolute;top:0;left:16px}.desktop-window__controls span{background:#d8d5cc;border:1px solid #2121212e;border-radius:50%;width:10px;height:10px;display:block}.desktop-window__controls span:first-child{background:#e58d82}.desktop-window__controls span:nth-child(2){background:#e7c56b}.desktop-window__controls span:nth-child(3){background:#91bd88}.desktop-window__body{grid-template-columns:260px minmax(0,1fr);height:calc(70vh - 44px);max-height:calc(70vh - 44px);display:grid;position:relative;overflow:hidden}.desktop-window__sidebar{background:#ebe9e2;padding:24px 16px;overflow-y:auto}.desktop-window__sidebar nav>p{text-transform:uppercase;letter-spacing:.08em;opacity:.65;margin:0 0 14px;font-size:12px}.desktop-window__sidebar ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.desktop-window__sidebar ul,.desktop-window__sidebar li{width:100%}.sidebar-item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;opacity:.65;background:0 0;border:0;border-radius:8px;align-self:stretch;align-items:center;gap:12px;padding:8px 12px;display:flex}.sidebar-item:hover,.sidebar-item:focus-visible,.sidebar-item[aria-current=page]{opacity:1}.sidebar-item:hover,.sidebar-item:focus-visible{background:#eae5dc}.sidebar-item[aria-current=page]{background:#e6dfd2}.sidebar-item__icon{flex:0 0 20px;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.desktop-window__content{padding:48px;position:relative;overflow-y:auto}.experience-modal h2{color:#1a1a18;margin:0;font-family:Alata,Arial,Helvetica,sans-serif;font-size:18px;font-style:normal;font-weight:400;line-height:normal}.experience-modal__tags{flex-wrap:wrap;gap:8px;margin:0 0 8px;padding:0;list-style:none;display:flex}.tag{border:1px solid var(--secondary,#6e6a62);color:var(--secondary,#6e6a62);text-transform:uppercase;border-radius:4px;justify-content:center;align-items:center;gap:10px;padding:4px;font-family:IBM Plex Mono,monospace;font-size:11px;font-style:normal;font-weight:500;line-height:normal;display:flex}.experience-modal__tags+h2{margin-top:0}.experience-modal__summary{color:var(--secondary,#6e6a62);margin:0;font-family:IBM Plex Sans,Arial,Helvetica,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:150%}.experience-modal__hero{object-fit:cover;background:#212121;width:calc(100% + 96px);max-width:none;height:auto;max-height:none;margin:-48px -48px 28px;display:block}.experience-modal .desktop-window__content{padding:0}.experience-modal .experience-modal__hero{width:100%;margin:0}.experience-modal__content{flex-direction:column;width:100%;display:flex}.experience-modal__details{flex-direction:column;align-self:stretch;align-items:flex-start;gap:0;padding:32px 64px;display:flex}.experience-modal__menu-toggle{display:none}.experience-modal__hero-section{flex-direction:column;align-self:stretch;align-items:flex-start;gap:0;margin-bottom:16px;display:flex}.experience-modal__metadata{border-top:1px solid var(--portfolio-border-subtle);border-bottom:1px solid var(--portfolio-border-subtle);grid-template-columns:repeat(3,minmax(0,1fr));align-self:stretch;column-gap:24px;margin:0 0 16px;padding:8px 0;display:grid}.experience-modal__metadata>div{flex-direction:column;gap:4px;min-width:0;display:flex}.experience-modal__metadata dt{color:var(--secondary,#6e6a62);font-family:Alata,Arial,Helvetica,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:150%}.experience-modal__metadata dd{color:var(--secondary,#6e6a62);margin:0;font-family:IBM Plex Sans,Arial,Helvetica,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:150%}.experience-modal h3{margin:0 0 8px;font-size:20px}.experience-modal__story p{color:#6e6a62;white-space:pre-line;margin:0;font-family:IBM Plex Sans,Arial,Helvetica,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:150%}.experience-modal__confidential{color:#000;text-align:left;background:#f2f2f2;justify-content:flex-start;align-self:stretch;align-items:center;gap:10px;margin:32px 0 0;padding:16px 24px;font-family:Alata,Arial,Helvetica,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:150%;display:flex}.experience-modal__confidential a{color:inherit;text-underline-offset:2px;text-decoration:underline}@media (min-width:768px) and (max-width:1599px){.desktop-window{width:70vw}}@media (min-width:768px) and (max-width:1199px){.desktop-window{width:80vw}}@media (max-width:767px){.experience-modal{align-items:center;padding:12px;overflow:hidden}.desktop-window{border-radius:16px;width:calc(100vw - 24px);height:auto;max-height:calc(100vh - 24px)}.desktop-window__body{grid-template-columns:1fr;height:auto;min-height:0;max-height:calc(100vh - 68px);overflow:hidden}.desktop-window__sidebar{z-index:2;box-sizing:border-box;background:#ebe9e2;width:100%;padding:28px 20px 72px;display:none;position:absolute;inset:0;overflow-y:auto}.experience-modal:has(.experience-modal__menu-toggle[aria-expanded=true]) .desktop-window__sidebar{display:block}.desktop-window__sidebar nav>p{margin-bottom:16px}.desktop-window__sidebar ul{gap:12px;margin:0;padding:0;list-style:none;display:grid}.desktop-window__sidebar li{min-width:0}.desktop-window__content{padding:28px 20px 32px;overflow-y:auto}.experience-modal .desktop-window__content{padding:0}.experience-modal__details{padding:28px 20px 32px}.experience-modal h2{font-size:26px}.experience-modal__hero{width:100%;max-height:none;margin:0}.experience-modal__metadata{gap:20px}.experience-modal__menu-toggle{z-index:3;color:#1a1a18;min-height:40px;font:inherit;cursor:pointer;background:#fdfcf8;border:1px solid #1a1a18;align-items:center;padding:8px 12px;display:inline-flex;position:absolute;bottom:16px;left:16px}}@media (max-width:389px){.experience-modal__details{padding:24px 16px 28px}.experience-modal h2{font-size:24px}.experience-modal__summary,.experience-modal__story p{font-size:15px}.experience-modal__metadata{column-gap:12px}}@media (max-width:767px){:root{--space-header-top:80px;--space-logo-intro:48px;--space-section:48px;--space-footer-bottom:48px}.hanging-lamp{display:none}.folder-card-grid{grid-template-columns:repeat(2, minmax(0, var(--folder-width)));gap:24px}}@media (max-width:390px){:root{--space-header-top:64px;--space-logo-intro:40px;--space-section:48px;--space-footer-bottom:40px;--type-heading:22px;--type-body:15px}.folder-card-grid{gap:16px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
