@font-face{font-family:Red Hat Display;font-style:normal;font-weight:300;font-display:swap;src:url(../media/47014bac4dc99411-s.016-d2kaju6xe.woff2)format("woff2");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:Red Hat Display;font-style:normal;font-weight:300;font-display:swap;src:url(../media/dd2bea5a9e261d65-s.p.149kaybwww0~e.woff2)format("woff2");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:Red Hat Display Fallback;src:local(Arial);ascent-override:102.68%;descent-override:30.76%;line-gap-override:0.0%;size-adjust:99.15%}.red_hat_display_bdd3d1c2-module__SusJ3q__className{font-family:Red Hat Display,Red Hat Display Fallback;font-style:normal;font-weight:300}.red_hat_display_bdd3d1c2-module__SusJ3q__variable{--font-red-hat:"Red Hat Display", "Red Hat Display Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:300;font-display:swap;src:url(../media/43fa41482cbf5ee5-s.0~btz4rqmgych.woff2)format("woff2");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-weight:300;font-display:swap;src:url(../media/51430d34a2dfca2f-s.0.5.ezl_0i0ce.woff2)format("woff2");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-weight:300;font-display:swap;src:url(../media/3b8d31b6d618cd27-s.06sjesqvmxwcw.woff2)format("woff2");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-weight:300;font-display:swap;src:url(../media/7a2e4ff4560f5ac3-s.0cign27nilu.e.woff2)format("woff2");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-weight:300;font-display:swap;src:url(../media/e9d5b069f63ab620-s.p.17tf8b5td.v-i.woff2)format("woff2");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 Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_76304232-module__6b0vVq__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal;font-weight:300}.ibm_plex_mono_76304232-module__6b0vVq__variable{--font-ibm-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
*{box-sizing:border-box;margin:0;padding:0}body{color:#fefefe;font-family:var(--font-red-hat), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;background:#050505;margin:0;padding:0;font-size:16px;font-weight:300;line-height:1.6}body.theme-transitions{transition:background-color .4s,color .4s}body.light-theme{color:#2a2a2a;background:#f5f5f0}section{max-width:700px;margin:0 auto;padding:8vh 6vw}section.landing{justify-content:center;align-items:center;min-height:80vh;padding:12vh 6vw;display:flex}section.identity{padding-top:4vh;padding-bottom:12vh}section.dreamers,section.made,section.blog{padding-top:12vh;padding-bottom:12vh}section.education{padding-top:8vh;padding-bottom:8vh}section.contact{padding-top:8vh;padding-bottom:20vh}h1{letter-spacing:-.2px;margin-bottom:.5em;font-size:22px;font-weight:400}h2{opacity:.7;margin-bottom:3em;font-size:17px;font-weight:400}h3{opacity:.9;margin-bottom:.8em;font-size:16px;font-weight:400}p{margin-bottom:1em}a{color:inherit;border-bottom:1px solid;text-decoration:none}a:hover{opacity:.7}a:focus{opacity:1;outline-offset:4px;outline:1px solid}.poem-fragment{font-family:var(--font-ibm-mono), "Courier New", monospace;opacity:.95;font-size:15px;font-weight:300;line-height:1.8}.shard-source{opacity:.5;margin-top:2em;font-size:11px;font-style:italic}.shard-source a{border-bottom:1px solid}.bio{opacity:.85;margin-bottom:.3em;font-size:14px}.location{opacity:.65;font-size:13px}.temporal{opacity:.4;font-size:11px}.dreamers .intro{opacity:.8;max-width:500px;margin-bottom:4em}.poem-preview{margin-bottom:2em}.poem-preview h3{margin-bottom:1em}.poem-preview .excerpt{font-family:var(--font-ibm-mono), "Courier New", monospace;opacity:.85;font-weight:300;line-height:1.8}.poem{margin-bottom:5em}.poem h3{margin-bottom:1.5em}.poem-body{font-family:var(--font-ibm-mono), "Courier New", monospace;opacity:.95;font-size:15px;font-weight:300;line-height:1.8}.project{margin-bottom:7em}.project h3{margin-bottom:.5em}.role{opacity:.6;margin-bottom:1em;font-size:12px}.description{opacity:.85;margin-bottom:1em;line-height:1.7}.tech{opacity:.5;margin-top:1em;font-size:11px}.collaborators{opacity:.5;font-size:11px;font-style:italic}.note{opacity:.5;margin-top:.5em;font-size:11px;font-style:italic}.note.incomplete{opacity:.4}.writing-piece{margin-bottom:4em}.type{opacity:.5;margin-bottom:.8em;font-size:11px}.blog-page{padding-top:8vh}.back-link{opacity:.6;border:none;margin-bottom:3em;font-size:13px;display:inline-block}.back-link:hover,.education{opacity:1}.education-item{margin-bottom:2em}.education-item .degree{margin-bottom:.3em;font-size:15px}.education-item .institution{opacity:.85;margin-bottom:.3em;font-size:13px}.contact p{margin-bottom:.5em}.expandable-section{position:relative}.indicators-container{gap:2em;margin:2em 0 1em;display:flex}.expand-indicator,.modal-trigger{opacity:.15;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:11px;transition:opacity .3s}.expandable-section:hover .expand-indicator,.expandable-section:hover .modal-trigger{opacity:.6}.expand-indicator:hover,.modal-trigger:hover{opacity:1!important}.expanded-content{opacity:0;max-height:0;margin:0;transition:max-height .5s,opacity .5s,margin .5s;overflow:hidden}.expanded-content.active{opacity:1;max-height:3000px;margin-top:2em;margin-bottom:2em}.expand-indicator.hidden{display:none}.modal-overlay{z-index:1000;background:#000000bf;width:100%;height:100%;padding:6vh 6vw;display:none;position:fixed;top:0;left:0;overflow-y:auto}.modal-overlay.active{justify-content:center;align-items:flex-start;display:flex}.modal-close{cursor:pointer;opacity:.5;z-index:1001;color:#fefefe;background:0 0;border:none;padding:0;font-size:32px;line-height:1;transition:opacity .3s;position:absolute;top:1.5rem;right:1.5rem}.modal-close:hover{opacity:1}.modal-close:focus{opacity:1;outline-offset:4px;outline:1px solid}.modal-content{background:#050505;border:1px solid #ffffff1a;width:100%;max-width:800px;padding:4em 3em;position:relative}body.light-theme .modal-content{background:#f5f5f0;border:1px solid #0000001a}.modal-content h2{margin-bottom:2em}.modal-content h3{margin-top:2em;margin-bottom:1em}.poem-full{margin-bottom:5em}.poem-full h3{margin-bottom:1.5em}.poem-full .poem-body{font-family:var(--font-ibm-mono), "Courier New", monospace;opacity:.95;font-size:15px;font-weight:300;line-height:1.8}.media-placeholder{text-align:center;border:1px solid #ffffff1a;margin:3em 0;padding:3em 2em}.media-placeholder p{opacity:.5}.project-detail{margin-top:3em}.project-detail h2{letter-spacing:.5px;text-transform:uppercase;opacity:.6;margin-top:4em;margin-bottom:2em;font-size:14px;font-weight:400}.project-detail h2:first-of-type{margin-top:2em}.project-detail h3{margin-bottom:1.5em}.project-detail p{opacity:.85;margin-bottom:1.5em;line-height:1.7}.project-detail blockquote{opacity:.9;border-left:1px solid #fff3;margin:2em 0 3em;padding-left:1.5em;font-style:italic;line-height:1.8}body.light-theme .project-detail blockquote{border-left:1px solid #0003}.project-detail blockquote p{margin-bottom:0}.project-detail img{border:1px solid #ffffff0d;width:100%;height:auto;margin:3em 0;display:block}body.light-theme .project-detail img{border:1px solid #0000000d}img{max-width:100%;height:auto}.project-detail em{opacity:.9;font-style:italic}.project-detail strong{opacity:1;font-weight:400}.project-detail hr{border:none;border-top:1px solid #ffffff1a;margin:4em 0}body.light-theme .project-detail hr{border-top:1px solid #0000001a}.project-detail hr+p,.project-detail hr+p strong{opacity:.5;margin-bottom:.3em;font-size:11px}.process-note{margin-bottom:3em}.process-note h3{margin-bottom:1em}.skip-to-content{z-index:999;color:#fefefe;background:#050505;border:1px solid #fefefe;padding:1em;position:absolute;top:0;left:-9999px}.skip-to-content:focus{top:1em;left:50%;transform:translate(-50%)}body.light-theme .skip-to-content{color:#2a2a2a;background:#f5f5f0;border:1px solid #2a2a2a}.tags{flex-wrap:wrap;gap:.8em;margin:1em 0;display:flex}.tag{opacity:.4;border:1px solid;border-radius:2px;padding:.3em .8em;font-size:10px;transition:opacity .3s}.tag:hover{opacity:.7;cursor:pointer}.tag.active{opacity:1}.writing-previews{flex-direction:column;gap:2em;display:flex}.blog-item{cursor:pointer;border:none;margin-bottom:2em;transition:opacity .3s;display:block}.blog-item h3{margin-bottom:.3em}.blog-item:hover{opacity:.7}.blog-item.hidden{display:none}.view-all{opacity:.6;cursor:pointer;margin-top:2em;font-size:13px;transition:opacity .3s;display:inline-block}.view-all:hover{opacity:1}.writing-single{margin-top:3em}.modal-content.video-modal{background:#000;border:none;width:90vw;max-width:1400px;padding:0}.video-container{width:100%}.modal-video{width:100%;max-height:80vh;display:block}.modal-iframe{aspect-ratio:16/9;border:none;width:100%;display:block}@media (max-width:600px){body{font-size:14px}section{padding:6vh 8vw}.poem-fragment{font-size:14px}.modal-content{padding:3em 1em}.modal-close{font-size:28px;top:1rem;right:1rem}}
